From: Manuel López-Ibáñez Date: Thu, 28 Aug 2008 00:00:49 +0000 (+0000) Subject: re PR c++/37217 (-Wconversion causes ICE with __builtin_strcmp with one char compare) X-Git-Tag: releases/gcc-4.4.0~2850 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1bfb8f513f3d5af5a967b6860b0eb642e738de0c;p=thirdparty%2Fgcc.git re PR c++/37217 (-Wconversion causes ICE with __builtin_strcmp with one char compare) 2008-08-27 Manuel Lopez-Ibanez PR 37217 * c-common.c (conversion_warning): Check for null operands. testsuite/ * gcc.dg/pr37217.c: New. From-SVN: r139682 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 63b1981daae6..4175e0232511 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 d06c96940f41..e0a0829ec58e 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 d5d73d74a0c1..707ccb7431d5 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 000000000000..989eda2cd88b --- /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)) ; +}