forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			34 lines
		
	
	
		
			896 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			896 B
		
	
	
	
		
			C++
		
	
	
	
// RUN: %clang_cl %s -o %t.exe -fuse-ld=lld -Z7
 | 
						|
// RUN: grep DE[B]UGGER: %s | sed -e 's/.*DE[B]UGGER: //' > %t.script
 | 
						|
// RUN: %cdb -cf %t.script %t.exe | FileCheck %s --check-prefixes=DEBUGGER,CHECK
 | 
						|
 | 
						|
// Check that global constants have debug info.
 | 
						|
 | 
						|
const float TestPi = 3.14;
 | 
						|
struct S {
 | 
						|
  static const char TestCharA = 'a';
 | 
						|
};
 | 
						|
enum TestEnum : int {
 | 
						|
  ENUM_POS = 2147000000,
 | 
						|
  ENUM_NEG = -2147000000,
 | 
						|
};
 | 
						|
void useConst(int) {}
 | 
						|
int main() {
 | 
						|
  useConst(TestPi);
 | 
						|
  useConst(S::TestCharA);
 | 
						|
  useConst(ENUM_NEG);
 | 
						|
  // DEBUGGER: g
 | 
						|
  // DEBUGGER: ?? TestPi
 | 
						|
  // CHECK: float 3.140000105
 | 
						|
  // DEBUGGER: ?? S::TestCharA
 | 
						|
  // CHECK: char 0n97 'a'
 | 
						|
  // DEBUGGER: ?? ENUM_NEG
 | 
						|
  // CHECK: TestEnum ENUM_NEG (0n-2147000000)
 | 
						|
  // Unused constants shouldn't show up in the globals stream.
 | 
						|
  // DEBUGGER: ?? ENUM_POS
 | 
						|
  // CHECK: Couldn't resolve error at 'ENUM_POS'
 | 
						|
  // DEBUGGER: q
 | 
						|
  __debugbreak();
 | 
						|
  return 0;
 | 
						|
}
 |