50 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang -v -o /dev/null -fxray-instrument -fxray-modes=xray-fdr %s -### \
 | |
| // RUN:     2>&1 | FileCheck --check-prefix FDR %s
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument -fxray-modes=xray-basic %s \
 | |
| // RUN:     -### 2>&1 | FileCheck --check-prefix BASIC %s
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument -fxray-modes=all -### %s \
 | |
| // RUN:     2>&1 | FileCheck --check-prefixes FDR,BASIC %s
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument \
 | |
| // RUN:     -fxray-modes=xray-fdr,xray-basic -### %s 2>&1 | \
 | |
| // RUN:     FileCheck --check-prefixes FDR,BASIC %s
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument \
 | |
| // RUN:     -fxray-modes=xray-fdr -fxray-modes=xray-basic -### %s 2>&1 | \
 | |
| // RUN:     FileCheck --check-prefixes FDR,BASIC %s
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument -### %s \
 | |
| // RUN:     2>&1 | FileCheck --check-prefixes FDR,BASIC %s
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument -fxray-modes=none -### %s \
 | |
| // RUN:     2>&1 | FileCheck --check-prefixes NONE %s
 | |
| //
 | |
| // We also should support overriding the modes in an additive manner.
 | |
| //
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument -fxray-modes=none,xray-fdr \
 | |
| // RUN:     -### %s \
 | |
| // RUN:     2>&1 | FileCheck --check-prefixes FDR %s
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument -fxray-modes=xray-fdr,none \
 | |
| // RUN:     -### %s \
 | |
| // RUN:     2>&1 | FileCheck --check-prefixes NONE %s
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument -fxray-modes=none,all \
 | |
| // RUN:     -### %s \
 | |
| // RUN:     2>&1 | FileCheck --check-prefixes FDR,BASIC %s
 | |
| //
 | |
| // We also should support having the individual modes be concatenated.
 | |
| //
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument -fxray-modes=none \
 | |
| // RUN:     -fxray-modes=xray-fdr \
 | |
| // RUN:     -### %s \
 | |
| // RUN:     2>&1 | FileCheck --check-prefixes FDR %s
 | |
| //
 | |
| // Order also matters.
 | |
| //
 | |
| // RUN: %clang -v -o /dev/null -fxray-instrument -fxray-modes=xray-fdr \
 | |
| // RUN:     -fxray-modes=none \
 | |
| // RUN:     -### %s \
 | |
| // RUN:     2>&1 | FileCheck --check-prefixes NONE %s
 | |
| 
 | |
| // BASIC: libclang_rt.xray-basic
 | |
| // FDR: libclang_rt.xray-fdr
 | |
| // NONE-NOT: libclang_rt.xray-basic
 | |
| // NONE-NOT: libclang_rt.xray-fdr
 | |
| // REQUIRES: linux || freebsd
 | |
| // REQUIRES: amd64 || x86_64 || x86_64h || arm || aarch64 || arm64
 |