diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 63b1981daae..4175e023251 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-08-27 Manuel Lopez-Ibanez + + PR 37217 + * c-common.c (convesion_warning): Check for null operands. + 2008-08-27 Manuel Lopez-Ibanez PR c/31673 diff --git a/gcc/c-common.c b/gcc/c-common.c index d06c96940f4..e0a0829ec58 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -1568,7 +1568,7 @@ conversion_warning (tree type, tree expr) for (i = 0; i < expr_num_operands; i++) { tree op = TREE_OPERAND (expr, i); - if (DECL_P (op) && DECL_ARTIFICIAL (op)) + if (op && DECL_P (op) && DECL_ARTIFICIAL (op)) return; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d5d73d74a0c..707ccb7431d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-08-27 Manuel Lopez-Ibanez + + PR 37217 + * gcc.dg/pr37217.c: New. + 2008-08-27 Manuel Lopez-Ibanez PR c/31673 diff --git a/gcc/testsuite/gcc.dg/pr37217.c b/gcc/testsuite/gcc.dg/pr37217.c new file mode 100644 index 00000000000..989eda2cd88 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr37217.c @@ -0,0 +1,10 @@ +/* PR 37217 ICE with -Wconversion */ +/* { dg-do compile } */ +/* { dg-options "-Wconversion" } */ +typedef struct Tcl_ResolvedVarInfo { + char *re_guts; +} regex_t; +void TclReComp(regex_t *re) +{ + if (re->re_guts == ((void *)0)) ; +}