diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2007-05-08 08:48:15 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2007-05-08 08:48:15 +0200 |
commit | ac97d816a6cbc700f4808223e21d6bdb50e4dd66 (patch) | |
tree | 5881c9067dbb45fa22999e8262e913a2198ee7e2 /gcc | |
parent | 9b4fc32c635972f5d8c365ed6b17f120a1cf70b7 (diff) | |
download | gcc-ac97d816a6cbc700f4808223e21d6bdb50e4dd66.zip gcc-ac97d816a6cbc700f4808223e21d6bdb50e4dd66.tar.gz gcc-ac97d816a6cbc700f4808223e21d6bdb50e4dd66.tar.bz2 |
re PR target/31854 (internal compiler error: in cgraph_local_info, at cgraph.c:618)
PR target/31854
* config/i386/i386.c (ix86_function_regparm): Process local
functions only when TREE_CODE (decl) equals FUNCTION_DECL.
From-SVN: r124538
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr31854.c | 10 |
4 files changed, 25 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 22b09d4..a537835 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-05-08 Uros Bizjak <ubizjak@gmail.com> + + PR target/31854 + * config/i386/i386.c (ix86_function_regparm): Process local + functions only when TREE_CODE (decl) equals FUNCTION_DECL. + 2007-05-07 Mike Stump <mrs@apple.com> * doc/invoke.texi (Warning Options): Document that -Wempty-body diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index a393654..7e2accf 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -2792,7 +2792,8 @@ ix86_function_regparm (tree type, tree decl) return 2; /* Use register calling convention for local functions when possible. */ - if (decl && flag_unit_at_a_time && !profile_flag) + if (decl && TREE_CODE (decl) == FUNCTION_DECL + && flag_unit_at_a_time && !profile_flag) { struct cgraph_local_info *i = cgraph_local_info (decl); if (i && i->local) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 894e2ca..6ba856d9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-05-08 Uros Bizjak <ubizjak@gmail.com> + + PR target/31854 + * gcc.target/i386/pr31854.c: New test. + 2007-05-07 Janis Johnson <janis187@us.ibm.com> * gcc.dg/pch/pch.exp: XFAIL largefile on Solaris 10 x86. @@ -12,8 +17,8 @@ 2007-05-07 Uros Bizjak <ubizjak@gmail.com> - * gcc.dg/dfp/convert-bfp-fold.c: Remove extra assignment to - sf variable. Rearrange conversions from binary float to decimal float. + * gcc.dg/dfp/convert-bfp-fold.c: Remove extra assignment to 'sf' + variable. Rearrange conversions from binary float to decimal float. 2007-05-07 Mark Mitchell <mark@codesourcery.com> diff --git a/gcc/testsuite/gcc.target/i386/pr31854.c b/gcc/testsuite/gcc.target/i386/pr31854.c new file mode 100644 index 0000000..d5dca57 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr31854.c @@ -0,0 +1,10 @@ +/* { dg-do compile { target dfp } } */ +/* { dg-options "-O -std=gnu99" } */ + +_Decimal128 d128; +long double tf; + +void foo (void) +{ + d128 = tf; +} |