re PR middle-end/17564 (New treatment of function pointers when used with equality...
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Mon, 13 Dec 2004 04:08:39 +0000 (04:08 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Mon, 13 Dec 2004 04:08:39 +0000 (04:08 +0000)
PR middle-end/17564
* gcc.c-torture/execute/20041212-1.c: New test.

From-SVN: r92076

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20041212-1.c [new file with mode: 0644]

index 05eed5a..8dd7e1c 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/17564
+       * gcc.c-torture/execute/20041212-1.c: New test.
+
 2004-12-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
        PR fortran/18869
diff --git a/gcc/testsuite/gcc.c-torture/execute/20041212-1.c b/gcc/testsuite/gcc.c-torture/execute/20041212-1.c
new file mode 100644 (file)
index 0000000..ea2d0fb
--- /dev/null
@@ -0,0 +1,15 @@
+/* A function pointer compared with a void pointer should not be canonicalized.
+   See PR middle-end/17564.  */
+void *f (void) __attribute__ ((__noinline__));
+void *
+f (void)
+{
+  return f;
+}
+int
+main (void)
+{
+  if (f () != f)
+    abort ();
+  exit (0);
+}