]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
This commit was manufactured by cvs2svn to create branch
authorNo Author <no-author@gcc.gnu.org>
Sun, 22 Feb 2004 11:18:47 +0000 (11:18 +0000)
committerNo Author <no-author@gcc.gnu.org>
Sun, 22 Feb 2004 11:18:47 +0000 (11:18 +0000)
'gcc-3_3-branch'.

From-SVN: r78254

gcc/testsuite/g++.dg/template/spec11.C [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/20040218-1.c [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.dg/template/spec11.C b/gcc/testsuite/g++.dg/template/spec11.C
new file mode 100644 (file)
index 0000000..36d93a9
--- /dev/null
@@ -0,0 +1,20 @@
+// { dg-do compile }
+
+// Origin: jhbrown@bluefinrobotics.com
+
+// PR c++/13635: ICE explicit specialization of member function template
+
+template <class foo>
+class bar {
+public:
+        template <class baz>
+        int func(baz *x);
+};
+
+template <>
+template <class baz>
+int bar<double>::func(baz *x) { return 5;}
+
+template <>
+template <>
+int bar<double>::func(int *x) { return 5;}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040218-1.c b/gcc/testsuite/gcc.c-torture/execute/20040218-1.c
new file mode 100644 (file)
index 0000000..4d1541a
--- /dev/null
@@ -0,0 +1,37 @@
+/* PR target/14209.  Bug in cris.md, shrinking access size of
+   postincrement.
+   Origin: <hp@axis.com>.  */
+
+long int xb (long int *y) __attribute__ ((__noinline__));
+long int xw (long int *y) __attribute__ ((__noinline__));
+short int yb (short int *y) __attribute__ ((__noinline__));
+
+long int xb (long int *y)
+{
+  long int xx = *y & 255;
+  return xx + y[1];
+}
+
+long int xw (long int *y)
+{
+  long int xx = *y & 65535;
+  return xx + y[1];
+}
+
+short int yb (short int *y)
+{
+  short int xx = *y & 255;
+  return xx + y[1];
+}
+
+int main (void)
+{
+  long int y[] = {-1, 16000};
+  short int yw[] = {-1, 16000};
+
+  if (xb (y) != 16255
+      || xw (y) != 81535
+      || yb (yw) != 16255)
+    abort ();
+  exit (0);
+}