re PR c++/28250 (ICE with invalid catch)
PR c++/28250 PR c++/28257 PR c++/28259 PR c++/28267 * toplev.c (compile_file): Return early on errorcount or sorrycount. * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise. (cgraph_optimize): Likewise. PR c++/28250 * g++.dg/eh/catch4.C: New test. PR c++/28257 * g++.dg/other/qual1.C: New test. PR c++/28259 * g++.dg/inherit/error2.C: New test. PR c++/28267 * g++.dg/other/new1.C: New test. * g++.dg/warn/pr23075.C: Remove obsolete test. * g++.old-deja/g++.brendan/crash52.C: Remove dg-warning marker. * g++.old-deja/g++.jason/report.C: Remove dg-warning marker. From-SVN: r115866
This commit is contained in:
parent
d2b815074b
commit
413803d3d8
|
@ -1,3 +1,13 @@
|
|||
2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||
|
||||
PR c++/28250
|
||||
PR c++/28257
|
||||
PR c++/28259
|
||||
PR c++/28267
|
||||
* toplev.c (compile_file): Return early on errorcount or sorrycount.
|
||||
* cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
|
||||
(cgraph_optimize): Likewise.
|
||||
|
||||
2006-08-01 Stuart Hastings <stuart@apple.com>
|
||||
|
||||
* rtl.h (UINTVAL) New.
|
||||
|
|
|
@ -1018,6 +1018,9 @@ cgraph_finalize_compilation_unit (void)
|
|||
static struct cgraph_node *first_analyzed;
|
||||
static struct cgraph_varpool_node *first_analyzed_var;
|
||||
|
||||
if (errorcount || sorrycount)
|
||||
return;
|
||||
|
||||
finish_aliases_1 ();
|
||||
|
||||
if (!flag_unit_at_a_time)
|
||||
|
@ -1466,6 +1469,9 @@ ipa_passes (void)
|
|||
void
|
||||
cgraph_optimize (void)
|
||||
{
|
||||
if (errorcount || sorrycount)
|
||||
return;
|
||||
|
||||
#ifdef ENABLE_CHECKING
|
||||
verify_cgraph ();
|
||||
#endif
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||
|
||||
PR c++/28250
|
||||
* g++.dg/eh/catch4.C: New test.
|
||||
|
||||
PR c++/28257
|
||||
* g++.dg/other/qual1.C: New test.
|
||||
|
||||
PR c++/28259
|
||||
* g++.dg/inherit/error2.C: New test.
|
||||
|
||||
PR c++/28267
|
||||
* g++.dg/other/new1.C: New test.
|
||||
|
||||
* g++.dg/warn/pr23075.C: Remove obsolete test.
|
||||
* g++.old-deja/g++.brendan/crash52.C: Remove dg-warning marker.
|
||||
* g++.old-deja/g++.jason/report.C: Remove dg-warning marker.
|
||||
|
||||
2006-07-31 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/28523
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
// PR c++/28250
|
||||
// { dg-do compile }
|
||||
|
||||
void foo()
|
||||
{
|
||||
try { throw; }
|
||||
catch () {} // { dg-error "type-specifier" }
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
// PR c++/28259
|
||||
// { dg-do compile }
|
||||
|
||||
struct A
|
||||
{
|
||||
virtual A* foo();
|
||||
};
|
||||
|
||||
struct B : virtual A; // { dg-error "before" }
|
||||
|
||||
struct C : A
|
||||
{
|
||||
virtual B* foo();
|
||||
};
|
||||
|
||||
B* C::foo() { return 0; }
|
|
@ -0,0 +1,14 @@
|
|||
// PR c++/28267
|
||||
// { dg-do compile }
|
||||
|
||||
struct A
|
||||
{
|
||||
A();
|
||||
void* operator new(__SIZE_TYPE__, int = X); // { dg-error "not declared" }
|
||||
void operator delete(void*, int);
|
||||
};
|
||||
|
||||
void foo()
|
||||
{
|
||||
new A;
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
// PR c++/28257
|
||||
// { dg-do compile }
|
||||
|
||||
struct A
|
||||
{
|
||||
int i;
|
||||
void foo()
|
||||
{
|
||||
int A::i = i; // { dg-error "extra qualification|not a static member" }
|
||||
}
|
||||
};
|
|
@ -7,8 +7,3 @@ foo (void)
|
|||
{
|
||||
return; // { dg-error "with no value" }
|
||||
} // { dg-bogus "control reaches end" }
|
||||
|
||||
int
|
||||
bar (void)
|
||||
{
|
||||
} // { dg-warning "control reaches end" }
|
||||
|
|
|
@ -10,5 +10,4 @@ public:
|
|||
|
||||
A &f(A &a) {// { dg-error "" } new decl.*
|
||||
std::cout << "Blah\n";
|
||||
} // { dg-warning "" } no return
|
||||
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ bar2 baz (X::Y y) // { dg-error "" } in this context
|
|||
bar2 wa [5];
|
||||
wa[0] = baz(f);
|
||||
undef2 (1); // { dg-error "" } implicit declaration
|
||||
} // { dg-warning "" } no return
|
||||
}
|
||||
|
||||
int ninny ()
|
||||
{
|
||||
|
@ -71,4 +71,4 @@ int ninny ()
|
|||
int darg (char X::*p)
|
||||
{
|
||||
undef3 (1); // { dg-error "" } implicit declaration
|
||||
} // { dg-warning "" } no return
|
||||
}
|
||||
|
|
|
@ -1006,7 +1006,7 @@ compile_file (void)
|
|||
what's left of the symbol table output. */
|
||||
timevar_pop (TV_PARSE);
|
||||
|
||||
if (flag_syntax_only)
|
||||
if (flag_syntax_only || errorcount || sorrycount)
|
||||
return;
|
||||
|
||||
lang_hooks.decls.final_write_globals ();
|
||||
|
|
Loading…
Reference in New Issue