'gcc-3_4-branch'.
From-SVN: r91379
--- /dev/null
+// PR c++/18545
+
+struct A;
+
+A foo() // { dg-error "" }
+{
+ A a; // { dg-error "" }
+ return a;
+}
--- /dev/null
+// PR c++/18445
+
+struct a
+{
+ int what();
+};
+void g(void*);
+template<class T>
+void f()
+{
+ a ex;
+ g(ex.what); // { dg-error "" }
+}
--- /dev/null
+/* PR rtl-optimization/17825 */
+#ifdef __i386__
+register unsigned int reg __asm ("esi");
+#elif defined __x86_64__
+register unsigned int reg __asm ("r14");
+#else
+unsigned int reg;
+#endif
+
+struct S
+{
+ unsigned int h[8];
+} *b;
+unsigned int c;
+void foo (int);
+
+void
+bar (void)
+{
+ unsigned int j, k, l, m;
+
+ j = (reg & 0xffff) | ((b->h[2] & 0xffff) << 16);
+ k = c & 0xffff;
+ if (k == 0)
+ foo (0);
+ l = (j / k) & 0xffff;
+ m = (j % k) & 0xffff;
+ reg = (reg & 0xffff0000) | l;
+ b->h[2] = (b->h[2] & 0xffff0000) | m;
+}
--- /dev/null
+extern int abs (int);
+extern void abort (void);
+
+void
+check (int *p)
+{
+ int i;
+ for (i = 0; i < 5; ++i)
+ if (p[i])
+ abort ();
+ for (; i < 10; ++i)
+ if (p[i] != i + 1)
+ abort ();
+}
+
+int
+main (void)
+{
+ int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
+ int i;
+
+ for (i = -5; i < 0; i++)
+ a[abs (i - 10) - 11] = 0;
+ check (a);
+ return 0;
+}
--- /dev/null
+/* PR optimization/18577 */
+/* Origin: Falk Hueffner <falk@debian.org> */
+
+/* { dg-do run } */
+/* { dg-options "-O2 -funroll-all-loops" } */
+
+static float tfcos12[3];
+__attribute__((noinline)) double f(double x) { return x; }
+int g;
+
+int main(void)
+{
+ int i, j;
+ for (i = 0; i < 1; i++)
+ tfcos12[i] = 0.5;
+
+ for (i = 0; i < 1; i++)
+ {
+ tfcos12[i] = 0.5 * f(i);
+ for (j = 0; j < 12; j++)
+ g++;
+ }
+
+ return 0;
+}