// RUN: %clang_cc1 -fcxx-exceptions -ast-dump -ast-dump-filter Test %s | FileCheck -strict-whitespace %s namespace n { void function() {} int Variable; } using n::function; using n::Variable; void TestFunction() { void (*f)() = &function; // CHECK: DeclRefExpr{{.*}} (UsingShadow{{.*}}function Variable = 4; // CHECK: DeclRefExpr{{.*}} (UsingShadow{{.*}}Variable } // CHECK: FunctionDecl {{.*}} TestCatch1 void TestCatch1() { // CHECK: CXXTryStmt // CHECK-NEXT: CompoundStmt try { } // CHECK-NEXT: CXXCatchStmt // CHECK-NEXT: VarDecl {{.*}} x // CHECK-NEXT: CompoundStmt catch (int x) { } } // CHECK: FunctionDecl {{.*}} TestCatch2 void TestCatch2() { // CHECK: CXXTryStmt // CHECK-NEXT: CompoundStmt try { } // CHECK-NEXT: CXXCatchStmt // CHECK-NEXT: NULL // CHECK-NEXT: CompoundStmt catch (...) { } }