40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			LLVM
		
	
	
	
| ; If the binary looks up libraries using an rpath, we can't test this
 | |
| ; without copying the whole lib dir or polluting the build dir.
 | |
| ; REQUIRES: static-libs
 | |
| ; REQUIRES: x86-registered-target
 | |
| 
 | |
| ; The above also applies if the binary is built with libc++.
 | |
| ; UNSUPPORTED: libcxx-used
 | |
| 
 | |
| ; This test is really flaky on Windows. On Windows, executables and DLLs cannot
 | |
| ; be deleted or written while they are loaded. The OS unlocks the file some
 | |
| ; time after the process terminates, so if 'rm' runs too quickly, it will fail
 | |
| ; with "access denied".
 | |
| ; UNSUPPORTED: system-windows
 | |
| 
 | |
| ; Temporary bitcode file
 | |
| ; RUN: opt -o %t.input %s
 | |
| 
 | |
| ; workaround for https://openradar.appspot.com/FB8914243
 | |
| ; RUN: rm -f %t.bin--
 | |
| ; RUN: rm -f %t.bin--x86_64
 | |
| ; RUN: rm -f %t.bin--x86_64-unknown
 | |
| ; RUN: rm -f %t.bin--x86_64-instcombine
 | |
| 
 | |
| ; RUN: cp llvm-opt-fuzzer %t.bin--
 | |
| ; RUN: not %t.bin-- %t.input 2>&1 | FileCheck -check-prefix=EMPTY %s
 | |
| ; EMPTY: -mtriple must be specified
 | |
| 
 | |
| ; RUN: cp llvm-opt-fuzzer %t.bin--x86_64
 | |
| ; RUN: not %t.bin--x86_64 %t.input 2>&1 | FileCheck -check-prefix=PASSES %s
 | |
| ; PASSES: at least one pass should be specified
 | |
| 
 | |
| ; RUN: cp llvm-opt-fuzzer %t.bin--x86_64-unknown
 | |
| ; RUN: not %t.bin--x86_64-unknown %t.input 2>&1 | FileCheck -check-prefix=UNKNOWN %s
 | |
| ; UNKNOWN: Unknown option: unknown
 | |
| 
 | |
| ; RUN: cp llvm-opt-fuzzer %t.bin--x86_64-instcombine
 | |
| ; RUN: %t.bin--x86_64-instcombine %t.input 2>&1 | FileCheck -check-prefix=CORRECT %s
 | |
| ; CORRECT: Injected args: -mtriple=x86_64 -passes=instcombine
 | |
| ; CORRECT: Running
 |