diff options
author | Chris Lattner <sabre@nondot.org> | 2009-02-28 19:37:57 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-02-28 19:37:57 +0000 |
commit | f306f86d2b85e820f5d1f397e4441d52373823d6 (patch) | |
tree | 265ba9d6bdb788ba4c9599c3d7a5fbcd592fec29 | |
parent | 56627e67a8dea1a85861dd0b97e40ee090826931 (diff) |
Fix a crash in test/Parser/control-scope.c that testrunner didn't
notice because it was a negative test with a fix suggested by
Jean-Daniel Dupas. Convert the test from a negative to a positive
test to catch stuff like this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65708 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Sema/SemaDecl.cpp | 2 | ||||
-rw-r--r-- | test/Parser/control-scope.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 98b8dbc9c0..c9b5405fbe 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -3497,7 +3497,7 @@ Sema::DeclTy *Sema::ActOnEnumConstant(Scope *S, DeclTy *theEnumDecl, else Diag(IdLoc, diag::err_redefinition) << Id; Diag(PrevDecl->getLocation(), diag::note_previous_definition); - Val->Destroy(Context); + if (Val) Val->Destroy(Context); return 0; } } diff --git a/test/Parser/control-scope.c b/test/Parser/control-scope.c index 3d588d63b4..4beed7eecd 100644 --- a/test/Parser/control-scope.c +++ b/test/Parser/control-scope.c @@ -1,8 +1,8 @@ -// RUN: not clang %s -std=c90 && +// RUN: clang %s -std=c90 -verify && // RUN: clang %s -std=c99 int f (int z) { - if (z + sizeof (enum {a})) - return 1 + sizeof (enum {a}); + if (z + sizeof (enum {a})) // expected-note {{previous definition is here}} + return 1 + sizeof (enum {a}); // expected-error {{redefinition of enumerator 'a'}} return 0; } |