|  | // RUN: %clang_cc1 -analyze -analyzer-checker=debug.AnalysisOrder -analyzer-config debug.AnalysisOrder:Bind=true -analyzer-config debug.AnalysisOrder:RegionChanges=true %s 2>&1 | FileCheck %s | 
|  |  | 
|  | struct Super { | 
|  | virtual void m(); | 
|  | }; | 
|  | struct Sub : Super { | 
|  | virtual void m() {} | 
|  | }; | 
|  |  | 
|  | void testTemporaries() { | 
|  | // This triggers RegionChanges once for zero-initialization of the structure. | 
|  | Sub().m(); | 
|  | } | 
|  |  | 
|  | void seeIfCheckBindWorks() { | 
|  | // This should trigger checkBind. The rest of the code shouldn't. | 
|  | // This also triggers checkRegionChanges after that. | 
|  | // Note that this function is analyzed first, so the messages would be on top. | 
|  | int x = 1; | 
|  | } | 
|  |  | 
|  | // seeIfCheckBindWorks(): | 
|  | // CHECK: Bind | 
|  | // CHECK-NEXT: RegionChanges | 
|  |  | 
|  | // testTemporaries(): | 
|  | // CHECK-NEXT: RegionChanges | 
|  |  | 
|  | // Make sure there's no further output. | 
|  | // CHECK-NOT: Bind | 
|  | // CHECK-NOT: RegionChanges |