+2008-06-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_expand_pending_functions): Give up at
+ syntax errors.
+ (cgraph_analyze_function): Likewise.
+
2008-06-16 Jan Hubicka <jh@suse.cz>
* cgraph.h (cgraph_mark_if_needed): New function.
{
bool output = false;
- if (flag_unit_at_a_time)
+ if (flag_unit_at_a_time || errorcount || sorrycount)
return false;
cgraph_output_pending_asms ();
cgraph_lower_function (node);
node->analyzed = true;
- if (!flag_unit_at_a_time)
+ if (!flag_unit_at_a_time && !sorrycount && !errorcount)
{
bitmap_obstack_initialize (NULL);
tree_register_cfg_hooks ();
+2008-06-16 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/asm-wide-1.c: Do not require extra errors we output
+ confused by earlier errors.
+ * gcc.target/i386/sseregparm-2.c: Remove markers for errors not
+ output at parsing time.
+ * gcc.target/i386/sseregparm-8.c: Move here compile time errors
+ from gcc.target/i386/sseregparm-2.c.
+ * gcc.dg/weak/weak-6.c: Do not require extra errors we output
+ confused by earlier errors.
+ * gcc.dg/weak/weak-7.c: Likewise.
+
2008-06-18 Daniel Kraft <d@domob.eu>
PR fortran/36517, fortran/36492
/* { dg-error "output" "output" { target *-*-* } 16 } */
/* { dg-error "output" "output" { target *-*-* } 18 } */
/* { dg-error "output" "output" { target *-*-* } 20 } */
-/* { dg-warning "match" "match" { target *-*-* } 21 } */
-/* { dg-error "register" "register" { target *-*-* } 23 } */
-/* { dg-error "register" "register" { target *-*-* } 25 } */
extern void * foo (void);
void * foo (void) { return (void *)foo; } /* { dg-error "precede" } */
-/* { dg-error "function pointer" "pointer conversion" { target *-*-* } 5 } */
#pragma weak foo
extern void * foo (void);
void * foo (void) { return (void *)foo; } /* { dg-error "precede" } */
-/* { dg-error "function pointer" "pointer conversion" { target *-*-* } 5 } */
extern void * foo (void) __attribute__((weak));
extern float f;
void test(void)
{
- f = essef(f); /* { dg-error "SSE" } */
- d = essed(d); /* { dg-error "SSE" } */
- f = ssef(f); /* { dg-error "SSE" } */
- d = ssed(d); /* { dg-error "SSE" } */
+ f = essef(f);
+ d = essed(d);
+ f = ssef(f);
+ d = ssed(d);
}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-mno-sse" } */
+/* { dg-require-effective-target ilp32 } */
+
+float essef(float) __attribute__((sseregparm));
+double essed(double) __attribute__((sseregparm));
+float __attribute__((sseregparm)) ssef(float f);
+double __attribute__((sseregparm)) ssed(double d);
+extern double d;
+extern float f;
+void test(void)
+{
+ f = essef(f); /* { dg-error "SSE" } */
+ d = essed(d); /* { dg-error "SSE" } */
+ f = ssef(f); /* { dg-error "SSE" } */
+ d = ssed(d); /* { dg-error "SSE" } */
+}