aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2007-06-04 22:07:37 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-06-04 22:07:37 +0200
commit8de7ef2a878969f8c5c627d3e9867ded91aa64fc (patch)
treeb6cae2ac774e24ef00beddf1b18217127bdf44b5 /gcc
parentbd075cf29816461981294496d85a6a5e409065d2 (diff)
downloadgcc-8de7ef2a878969f8c5c627d3e9867ded91aa64fc.zip
gcc-8de7ef2a878969f8c5c627d3e9867ded91aa64fc.tar.gz
gcc-8de7ef2a878969f8c5c627d3e9867ded91aa64fc.tar.bz2
re PR c/32191 (ICE with complex __float128)
PR c/32191 * gcc/c-common.c (c_define_builtins): Call targetm.init_builtins () before build_common_builtin_nodes (). testsuite/ChangeLog: PR c/32191 * gcc.dg/pr32191.c: New test. From-SVN: r125314
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c-common.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr32191.c9
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9c1ef3f..33ab7dc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-06-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR c/32191
+ * gcc/c-common.c (c_define_builtins): Call targetm.init_builtins ()
+ before build_common_builtin_nodes ().
+
2007-06-04 Steve Ellcey <sje@cup.hp.com>
PR target/31733
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 2d893ff..41547e1 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -3491,9 +3491,10 @@ c_define_builtins (tree va_list_ref_type_node, tree va_list_arg_type_node)
#include "builtins.def"
#undef DEF_BUILTIN
+ targetm.init_builtins ();
+
build_common_builtin_nodes ();
- targetm.init_builtins ();
if (flag_mudflap)
mudflap_init ();
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8dd9991..5f3e62f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-06-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR c/32191
+ * gcc.dg/pr32191.c: New test.
+
2007-05-28 Tobias Burnus <burnus@net-b.de>
PR fortran/32124
diff --git a/gcc/testsuite/gcc.dg/pr32191.c b/gcc/testsuite/gcc.dg/pr32191.c
new file mode 100644
index 0000000..b76b5886
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr32191.c
@@ -0,0 +1,9 @@
+/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
+/* { dg-options "-std=c99" } */
+
+typedef _Complex float __attribute__((mode(TC))) _Complex128;
+
+_Complex128 foo (_Complex128 x, _Complex128 y)
+{
+ return x * y;
+}