diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-09-30 00:48:50 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-09-30 00:48:50 +0000 |
commit | a91de375f2785352fa26407ef85a4347bccea98e (patch) | |
tree | 8d42f3d0cd42c6387dc7fc3fa077af01b61a994e /clang/test/Misc/warning-flags.c | |
parent | b189b5c5359e2bd2143bacde3d73459fd84186bf (diff) | |
download | bcm5719-llvm-a91de375f2785352fa26407ef85a4347bccea98e.tar.gz bcm5719-llvm-a91de375f2785352fa26407ef85a4347bccea98e.zip |
Promote a warning on ill-formed code (redeclaration missing an exception
specification) to an error. No compiler other than Clang seems to allow this,
and it doesn't seem like a useful thing to accept as an extension in general.
The current behavior was added for PR5957, where the problem was specifically
related to mismatches of the exception specification on the implicitly-declared
global operator new and delete. To retain that workaround, we downgrade the
error to an ExtWarn when the declaration is of a replaceable global allocation
function.
Now that this is an error, stop trying (and failing) to recover from a missing
computed noexcept specification. That recovery didn't work, and led to crashes
in code like the added testcase.
llvm-svn: 248867
Diffstat (limited to 'clang/test/Misc/warning-flags.c')
-rw-r--r-- | clang/test/Misc/warning-flags.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/test/Misc/warning-flags.c b/clang/test/Misc/warning-flags.c index f61e966612b..bd97c4ae808 100644 --- a/clang/test/Misc/warning-flags.c +++ b/clang/test/Misc/warning-flags.c @@ -18,7 +18,7 @@ This test serves two purposes: The list of warnings below should NEVER grow. It should gradually shrink to 0. -CHECK: Warnings without flags (90): +CHECK: Warnings without flags (89): CHECK-NEXT: ext_excess_initializers CHECK-NEXT: ext_excess_initializers_in_char_array_initializer CHECK-NEXT: ext_expected_semi_decl_list @@ -80,7 +80,6 @@ CHECK-NEXT: warn_maynot_respond CHECK-NEXT: warn_method_param_redefinition CHECK-NEXT: warn_missing_case_for_condition CHECK-NEXT: warn_missing_dependent_template_keyword -CHECK-NEXT: warn_missing_exception_specification CHECK-NEXT: warn_missing_whitespace_after_macro_name CHECK-NEXT: warn_mt_message CHECK-NEXT: warn_no_constructor_for_refconst |