From: Ted Kremenek Date: Mon, 14 Feb 2011 17:00:16 +0000 (+0000) Subject: Handle 'UsingDirective' in CFGRecStmtDeclVisitor. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b8b07b171041561eb28024d5b4d07227c971c0f9;p=clang Handle 'UsingDirective' in CFGRecStmtDeclVisitor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125491 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h b/include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h index f20a49a6fc..38fc216c04 100644 --- a/include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h +++ b/include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h @@ -66,6 +66,7 @@ public: DISPATCH_CASE(Record) // FIXME: Refine. VisitStructDecl? DISPATCH_CASE(CXXRecord) DISPATCH_CASE(Enum) + DISPATCH_CASE(UsingDirective) default: assert(false && "Subtype of ScopedDecl not handled."); } @@ -85,6 +86,7 @@ public: DEFAULT_DISPATCH(ObjCMethod) DEFAULT_DISPATCH(ObjCProtocol) DEFAULT_DISPATCH(ObjCCategory) + DEFAULT_DISPATCH(UsingDirective) void VisitCXXRecordDecl(CXXRecordDecl *D) { static_cast(this)->VisitRecordDecl(D); diff --git a/test/Analysis/misc-ps-region-store.cpp b/test/Analysis/misc-ps-region-store.cpp index e87fba41f9..1dba09d76d 100644 --- a/test/Analysis/misc-ps-region-store.cpp +++ b/test/Analysis/misc-ps-region-store.cpp @@ -225,3 +225,18 @@ void Foo3::Bar() { Baz(); value_(); } + +//===---------------------------------------------------------------------===// +// Handle misc. C++ constructs. +//===---------------------------------------------------------------------===// + +namespace fum { + int i = 3; +}; + +void test_namespace() { + // Previously triggered a crash. + using namespace fum; + int x = i; +} +