re PR middle-end/26869 (Segfault in find_lattice_value() for complex operands.)
authorRichard Guenther <rguenther@suse.de>
Mon, 24 Apr 2006 08:21:41 +0000 (08:21 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 24 Apr 2006 08:21:41 +0000 (08:21 +0000)
2006-04-24  Richard Guenther  <rguenther@suse.de>

PR middle-end/26869
* tree-complex.c (update_parameter_components): Don't handle
unused parameters which have no default def.

* gcc.dg/torture/pr26869.c: New testcase.

From-SVN: r113219

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr26869.c [new file with mode: 0644]
gcc/tree-complex.c

index 0f66eac78ce578666ed78d61c2c675b49237f3ec..171808d73cd6c51146980b44275e821f988028b0 100644 (file)
@@ -1,3 +1,9 @@
+2006-04-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/26869
+       * tree-complex.c (update_parameter_components): Don't handle
+       unused parameters which have no default def.
+
 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
        Richard Guenther  <rguenther@suse.de>
 
index 326c31d6a5bf7c9f0c19cae906a1d12b97e9079f..3c6b413274c088c34ae41e2e2e0d370197c227ef 100644 (file)
@@ -1,3 +1,8 @@
+2006-04-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/26869
+       * gcc.dg/torture/pr26869.c: New testcase.
+
 2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
        Richard Guenther  <rguenther@suse.de>
 
diff --git a/gcc/testsuite/gcc.dg/torture/pr26869.c b/gcc/testsuite/gcc.dg/torture/pr26869.c
new file mode 100644 (file)
index 0000000..6743319
--- /dev/null
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+
+_Complex float f (_Complex float b, _Complex float c)
+{
+  _Complex float a = 1.0 + 0.0i;
+  return a / c;
+}
index 0529131301a16829aebd8ec8ae3978e55d4f9d22..65466bbadb3c0138b774857f3301cca9b7d63596 100644 (file)
@@ -652,6 +652,8 @@ update_parameter_components (void)
 
       type = TREE_TYPE (type);
       ssa_name = default_def (parm);
+      if (!ssa_name)
+       continue;
 
       r = build1 (REALPART_EXPR, type, ssa_name);
       i = build1 (IMAGPART_EXPR, type, ssa_name);