We occasionally need to handle the NULL case when stripping trees, so this patch introduces a variant of STRIP_ANY_LOCATION_WRAPPER to do so.
gcc/ChangeLog: * tree.h (STRIP_ANY_LOCATION_WRAPPER_SAFE): New macro. --- gcc/tree.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gcc/tree.h b/gcc/tree.h index 9a0bd60..98acc8b 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -492,6 +492,14 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int, (EXP) = TREE_OPERAND ((EXP), 0); \ } while (0) +/* As STRIP_ANY_LOCATION_WRAPPER, but handle NULL_TREE. */ + +#define STRIP_ANY_LOCATION_WRAPPER_SAFE(EXP) \ + do { \ + if ((EXP) && location_wrapper_p (EXP)) \ + (EXP) = TREE_OPERAND ((EXP), 0); \ + } while (0) + /* Nonzero if TYPE represents a vector type. */ #define VECTOR_TYPE_P(TYPE) (TREE_CODE (TYPE) == VECTOR_TYPE) -- 1.8.5.3