re PR target/31628 (stdcall function is miscompiled)
authorH.J. Lu <hongjiu.lu@intel.com>
Fri, 18 May 2007 19:29:45 +0000 (19:29 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 18 May 2007 19:29:45 +0000 (12:29 -0700)
2007-05-18  H.J. Lu  <hongjiu.lu@intel.com>

PR target/31628
* gcc.target/i386/pr31628.c: New.

From-SVN: r124831

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr31628.c [new file with mode: 0644]

index 9a3b27e3a9f192d3e20600d9e3a5cb8d07022df6..1386babeda1f7d2ce45dab32ff7b9702481b3577 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/31628
+       * gcc.target/i386/pr31628.c: New.
+
 2007-05-18  Uros Bizjak  <ubizjak@gmail.com>
 
        PR middle-end/31344
diff --git a/gcc/testsuite/gcc.target/i386/pr31628.c b/gcc/testsuite/gcc.target/i386/pr31628.c
new file mode 100644 (file)
index 0000000..e3fb7f6
--- /dev/null
@@ -0,0 +1,24 @@
+/* { dg-do run } */
+/* { dg-require-effective-target ilp32 } */
+/* { dg-options "-fPIC -O2" } */
+
+typedef int tt, *lptt;
+
+int __attribute__((__stdcall__)) bar(lptt);
+
+int __attribute__((__stdcall__)) bar(tt *x)
+{
+  return 0;
+}
+
+int
+foo (void)
+{
+  return bar (0);
+}
+
+int
+main()
+{
+  return foo ();
+}