aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2011-08-06 14:50:05 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2011-08-06 07:50:05 -0700
commit8f2b8cdefe723ec391bdcd8ce4e1931bd71418b6 (patch)
treead27e76f44aa0719461204554210e68193b8c6ab /gcc
parent7ac1b8a01eb777ddc4e7985a7b68523a6fb5d824 (diff)
downloadgcc-8f2b8cdefe723ec391bdcd8ce4e1931bd71418b6.zip
gcc-8f2b8cdefe723ec391bdcd8ce4e1931bd71418b6.tar.gz
gcc-8f2b8cdefe723ec391bdcd8ce4e1931bd71418b6.tar.bz2
Add testcases for PRs 47727/47372/47715.
2011-08-06 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/47727 * gcc.dg/pr47727.c: New. PR target/47372 * gcc.dg/pr47372-1.c: New. * gcc.dg/pr47372-2.c: Likewise. PR target/47715 * gcc.dg/tls/pr47715-5.c: New. From-SVN: r177513
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog10
-rw-r--r--gcc/testsuite/gcc.dg/pr47372-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/pr47372-2.c17
-rw-r--r--gcc/testsuite/gcc.dg/pr47727.c12
-rw-r--r--gcc/testsuite/gcc.dg/tls/pr47715-5.c11
5 files changed, 62 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ecdd2d2..94f6f08 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,14 @@
2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
+ PR middle-end/47727
+ * gcc.dg/pr47727.c: New.
+
+ PR target/47372
+ * gcc.dg/pr47372-1.c: New.
+ * gcc.dg/pr47372-2.c: Likewise.
+
+2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
PR middle-end/47449
* gcc.target/i386/pr47449.c: New.
@@ -17,6 +26,7 @@
* gcc.dg/tls/pr47715-2.c: Likewise.
* gcc.dg/tls/pr47715-3.c: Likewise.
* gcc.dg/tls/pr47715-4.c: Likewise.
+ * gcc.dg/tls/pr47715-5.c: Likewise.
2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
diff --git a/gcc/testsuite/gcc.dg/pr47372-1.c b/gcc/testsuite/gcc.dg/pr47372-1.c
new file mode 100644
index 0000000..a2e5c5b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr47372-1.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target fpic } */
+/* { dg-options "-O2 -fPIC -g" } */
+
+typedef struct FILE FILE;
+int _fwalk(int (*)(FILE *));
+int __sflush(FILE *);
+int
+fflush(FILE *fp)
+{
+ return (_fwalk(__sflush));
+}
diff --git a/gcc/testsuite/gcc.dg/pr47372-2.c b/gcc/testsuite/gcc.dg/pr47372-2.c
new file mode 100644
index 0000000..8addcdc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr47372-2.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target fpic } */
+/* { dg-options "-O2 -fPIC -g" } */
+
+typedef unsigned short ush;
+typedef ush Pos;
+extern ush prev[];
+void fill_window( unsigned more, unsigned m)
+{
+ unsigned n;
+ for (n = 0; n < (unsigned)(1<<15); n++) {
+ (prev+0x8000)[n] = (Pos)(m >= 0x8000 ? m-0x8000 : 0);
+ }
+ for (n = 0; n < 0x8000; n++) {
+ prev[n] = (Pos)(m >= 0x8000 ? m-0x8000 : 0);
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/pr47727.c b/gcc/testsuite/gcc.dg/pr47727.c
new file mode 100644
index 0000000..1ce7c36
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr47727.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+typedef void (*func_ptr) (void);
+static func_ptr __CTOR_END__[1] = { (func_ptr) 0 };
+static void __attribute__((used))
+__do_global_ctors_aux (void)
+{
+ func_ptr *p;
+ for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--)
+ (*p) ();
+}
diff --git a/gcc/testsuite/gcc.dg/tls/pr47715-5.c b/gcc/testsuite/gcc.dg/tls/pr47715-5.c
new file mode 100644
index 0000000..ca3410d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tls/pr47715-5.c
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-require-effective-target tls } */
+
+extern __thread int __libc_errno __attribute__ ((tls_model ("initial-exec")));
+;
+int *
+__errno_location (void)
+{
+ return &__libc_errno;
+}