diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-09-15 23:52:53 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-09-15 23:52:53 +0200 |
commit | 8586aeeb9cf8ca7a2cd3dfd6cb589dbc070abd0f (patch) | |
tree | 442faf97b50015de3052a61cf9357c79ecc13982 /gcc | |
parent | 6a7a3f311b79f95e4a8bb19ffae268d4b5e6f565 (diff) | |
download | gcc-8586aeeb9cf8ca7a2cd3dfd6cb589dbc070abd0f.zip gcc-8586aeeb9cf8ca7a2cd3dfd6cb589dbc070abd0f.tar.gz gcc-8586aeeb9cf8ca7a2cd3dfd6cb589dbc070abd0f.tar.bz2 |
re PR libmudflap/36397 (ICE with pointer cast and -fmudflap)
PR libmudflap/36397
* tree-mudflap.c (mf_xform_derefs_1): Handle VIEW_CONVERT_EXPR.
* testsuite/libmudflap.c/pass64-frag.c: New test.
From-SVN: r140374
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-mudflap.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eeab0fe..ab5a315 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-09-15 Jakub Jelinek <jakub@redhat.com> + + PR libmudflap/36397 + * tree-mudflap.c (mf_xform_derefs_1): Handle VIEW_CONVERT_EXPR. + 2008-09-14 Andreas Schwab <schwab@suse.de> * tree-call-cdce.c (check_target_format): Accept Motorola formats. diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c index 3f77b2c..0b3eba5 100644 --- a/gcc/tree-mudflap.c +++ b/gcc/tree-mudflap.c @@ -773,6 +773,13 @@ mf_xform_derefs_1 (gimple_stmt_iterator *iter, tree *tp, base = TREE_OPERAND (var, 0); break; } + else if (TREE_CODE (var) == VIEW_CONVERT_EXPR) + { + var = TREE_OPERAND (var, 0); + if (CONSTANT_CLASS_P (var) + && TREE_CODE (var) != STRING_CST) + return; + } else { gcc_assert (TREE_CODE (var) == VAR_DECL |