mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	Since llvm-cov shows the source file in its output, be careful about potentially matching the check lines themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218138 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			30 lines
		
	
	
		
			918 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			918 B
		
	
	
	
		
			C++
		
	
	
	
	
	
// RUN: llvm-cov show %S/Inputs/showExpansions.covmapping -instr-profile %S/Inputs/showExpansions.profdata -dump -show-expansions -filename-equivalence %s 2>&1 | FileCheck %s
 | 
						|
 | 
						|
#define DO_SOMETHING_ELSE() \
 | 
						|
  do {                      \
 | 
						|
  } while (0)
 | 
						|
#define ANOTHER_THING() \
 | 
						|
  do {                  \
 | 
						|
    if (0) {            \
 | 
						|
    }                   \
 | 
						|
  } while (0)
 | 
						|
 | 
						|
#define DO_SOMETHING(x)    \
 | 
						|
  do {                     \
 | 
						|
    if (x)                 \
 | 
						|
      DO_SOMETHING_ELSE(); \
 | 
						|
    else                   \
 | 
						|
      ANOTHER_THING();     \
 | 
						|
  } while (0)
 | 
						|
// CHECK-DAG: Expansion at line [[@LINE-4]], 7 -> 24
 | 
						|
// CHECK-DAG: Expansion at line [[@LINE-3]], 7 -> 20
 | 
						|
 | 
						|
int main(int argc, const char *argv[]) {
 | 
						|
  for (int i = 0; i < 100; ++i)
 | 
						|
    DO_SOMETHING(i); // CHECK-DAG: Expansion at line [[@LINE]], 5 -> 17
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
// llvm-cov doesn't work on big endian yet
 | 
						|
// XFAIL: powerpc64-, s390x, mips-, mips64-, sparc
 |