diff options
author | Jan Hubicka <jh@suse.cz> | 2008-06-18 16:07:00 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-06-18 14:07:00 +0000 |
commit | fdd7f24186c7cd637e24c657367f270afb3ec431 (patch) | |
tree | 878438cf2cf81bfdb9c8550a7066b87ba738e0eb | |
parent | d28480827e3674794d7d6793148c737d491bc9ba (diff) | |
download | gcc-fdd7f24186c7cd637e24c657367f270afb3ec431.zip gcc-fdd7f24186c7cd637e24c657367f270afb3ec431.tar.gz gcc-fdd7f24186c7cd637e24c657367f270afb3ec431.tar.bz2 |
cgraphunit.c (cgraph_expand_pending_functions): Give up at syntax errors.
* cgraphunit.c (cgraph_expand_pending_functions): Give up at
syntax errors.
(cgraph_analyze_function): Likewise.
* 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.
From-SVN: r136895
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cgraphunit.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/asm-wide-1.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/weak/weak-6.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/weak/weak-7.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/sseregparm-2.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/sseregparm-8.c | 17 |
8 files changed, 41 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 743b89b..e6caaeb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 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. * cgraphunit.c (cgraph_mark_if_needed): New function. * c-decl.c (duplicate_decl): Use it. diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index dec2213..b03913d 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -496,7 +496,7 @@ cgraph_assemble_pending_functions (void) { bool output = false; - if (flag_unit_at_a_time) + if (flag_unit_at_a_time || errorcount || sorrycount) return false; cgraph_output_pending_asms (); @@ -857,7 +857,7 @@ cgraph_analyze_function (struct cgraph_node *node) 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 (); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ff03e2f..6d2a795 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,15 @@ +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 diff --git a/gcc/testsuite/gcc.dg/asm-wide-1.c b/gcc/testsuite/gcc.dg/asm-wide-1.c index 5cc6b07..a42271f 100644 --- a/gcc/testsuite/gcc.dg/asm-wide-1.c +++ b/gcc/testsuite/gcc.dg/asm-wide-1.c @@ -30,6 +30,3 @@ f (void) /* { 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 } */ diff --git a/gcc/testsuite/gcc.dg/weak/weak-6.c b/gcc/testsuite/gcc.dg/weak/weak-6.c index 711003c..3a660f7 100644 --- a/gcc/testsuite/gcc.dg/weak/weak-6.c +++ b/gcc/testsuite/gcc.dg/weak/weak-6.c @@ -3,5 +3,4 @@ extern void * foo (void); void * foo (void) { return (void *)foo; } /* { dg-error "precede" } */ -/* { dg-error "function pointer" "pointer conversion" { target *-*-* } 5 } */ #pragma weak foo diff --git a/gcc/testsuite/gcc.dg/weak/weak-7.c b/gcc/testsuite/gcc.dg/weak/weak-7.c index 7c4a4dc..031f830 100644 --- a/gcc/testsuite/gcc.dg/weak/weak-7.c +++ b/gcc/testsuite/gcc.dg/weak/weak-7.c @@ -3,5 +3,4 @@ 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)); diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-2.c b/gcc/testsuite/gcc.target/i386/sseregparm-2.c index 84bf589..cca98ca 100644 --- a/gcc/testsuite/gcc.target/i386/sseregparm-2.c +++ b/gcc/testsuite/gcc.target/i386/sseregparm-2.c @@ -10,8 +10,8 @@ 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" } */ + f = essef(f); + d = essed(d); + f = ssef(f); + d = ssed(d); } diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-8.c b/gcc/testsuite/gcc.target/i386/sseregparm-8.c new file mode 100644 index 0000000..3a9d345 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/sseregparm-8.c @@ -0,0 +1,17 @@ +/* { 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" } */ +} |