diff options
author | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2008-08-28 00:00:49 +0000 |
---|---|---|
committer | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2008-08-28 00:00:49 +0000 |
commit | 1bfb8f513f3d5af5a967b6860b0eb642e738de0c (patch) | |
tree | 00b3ce510ba3cb580887d6c03dc392d1719a90bf | |
parent | e9527cfd9665e3cb0887682ccb0d17d040732799 (diff) | |
download | gcc-1bfb8f513f3d5af5a967b6860b0eb642e738de0c.zip gcc-1bfb8f513f3d5af5a967b6860b0eb642e738de0c.tar.gz gcc-1bfb8f513f3d5af5a967b6860b0eb642e738de0c.tar.bz2 |
re PR c++/37217 (-Wconversion causes ICE with __builtin_strcmp with one char compare)
2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 37217
* c-common.c (conversion_warning): Check for null operands.
testsuite/
* gcc.dg/pr37217.c: New.
From-SVN: r139682
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-common.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr37217.c | 10 |
4 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 63b1981d..4175e02 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + PR 37217 + * c-common.c (convesion_warning): Check for null operands. + +2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + PR c/31673 * c-decl.c (check_for_loop_decls): Improve error message. Give hint. diff --git a/gcc/c-common.c b/gcc/c-common.c index d06c969..e0a0829 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 d5d73d7..707ccb7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + PR 37217 + * gcc.dg/pr37217.c: New. + +2008-08-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + PR c/31673 * gcc.dg/c90-fordecl-1.c: Update. diff --git a/gcc/testsuite/gcc.dg/pr37217.c b/gcc/testsuite/gcc.dg/pr37217.c new file mode 100644 index 0000000..989eda2 --- /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)) ; +} |