|  | // 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 (...) { | 
|  | } | 
|  | } |