forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			23 lines
		
	
	
		
			935 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			935 B
		
	
	
	
		
			C
		
	
	
	
| // RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=address -emit-llvm -O3 -fdebug-pass-manager -fexperimental-new-pass-manager -o - %s 2>&1 | FileCheck %s
 | |
| // RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=thread -emit-llvm -O3 -fdebug-pass-manager -fexperimental-new-pass-manager -o - %s 2>&1 | FileCheck %s
 | |
| // RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=memory -emit-llvm -O3 -fdebug-pass-manager -fexperimental-new-pass-manager -o - %s 2>&1 | FileCheck %s
 | |
| 
 | |
| // This is regression test for PR42877
 | |
| 
 | |
| typedef struct a *b;
 | |
| struct a {
 | |
|   int c;
 | |
| };
 | |
| int d;
 | |
| b e;
 | |
| static void f(b g) {
 | |
|   for (d = g->c;;)
 | |
|     ;
 | |
| }
 | |
| void h() { f(e); }
 | |
| 
 | |
| // CHECK: Running pass: {{.*}}SanitizerPass on {{.*}}sanitizer-module-constructor.c
 | |
| // CHECK-NOT: Running pass: LoopSimplifyPass on {{.*}}san.module_ctor
 | |
| // CHECK: Running analysis: DominatorTreeAnalysis on {{.*}}san.module_ctor
 | |
| // CHECK: Running pass: LoopSimplifyPass on {{.*}}san.module_ctor
 |