28 lines
		
	
	
		
			802 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			802 B
		
	
	
	
		
			C++
		
	
	
	
// REQUIRES: xcore-registered-target
 | 
						|
 | 
						|
// RUN: %clang_cc1 -triple xcore-unknown-unknown -fno-signed-char -fno-common -emit-llvm -o - -x c++ %s | FileCheck %s
 | 
						|
 | 
						|
// CHECK: target triple = "xcore-unknown-unknown"
 | 
						|
 | 
						|
 | 
						|
// C++ constants are not placed into the ".cp.rodata" section.
 | 
						|
// CHECK: @cgx = external constant i32
 | 
						|
extern const int cgx;
 | 
						|
int fcgx() { return cgx;}
 | 
						|
// CHECK: @g1 = global i32 0, align 4
 | 
						|
int g1;
 | 
						|
// CHECK: @cg1 = constant i32 0, align 4
 | 
						|
extern const int cg1 = 0;
 | 
						|
 | 
						|
// Regression test for a bug in lib/CodeGen/CodeGenModule.cpp which called
 | 
						|
// getLanguageLinkage() via a null 'VarDecl*'. This was an XCore specific
 | 
						|
// conditional call to GV->setSection(".cp.rodata").
 | 
						|
class C {
 | 
						|
public:
 | 
						|
  ~C(){};
 | 
						|
};
 | 
						|
C c;
 | 
						|
 | 
						|
// CHECK: "no-frame-pointer-elim"="false"
 | 
						|
// CHECK-NOT: "no-frame-pointer-elim-non-leaf"
 |