mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36073 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			24 lines
		
	
	
		
			638 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			638 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
; Linking these two translation units causes there to be two LLVM values in the
 | 
						|
; symbol table with the same name and same type.  When this occurs, the symbol
 | 
						|
; table class is DROPPING one of the values, instead of renaming it like a nice
 | 
						|
; little symbol table.  This is causing llvm-link to die, at no fault of its
 | 
						|
; own.
 | 
						|
 | 
						|
; RUN: llvm-upgrade %s | llvm-as > %t.out2.bc
 | 
						|
; RUN: echo "%T1 = type opaque  @GVar = external global %T1*" | llvm-as > %t.out1.bc
 | 
						|
; RUN: llvm-link %t.out1.bc %t.out2.bc
 | 
						|
 | 
						|
	%T1 = type opaque
 | 
						|
	%T2 = type int
 | 
						|
 | 
						|
%GVar = global %T2 * null
 | 
						|
 | 
						|
implementation
 | 
						|
 | 
						|
void %foo(%T2 * %X) {
 | 
						|
	%X = cast %T2* %X to %T1 *
 | 
						|
	ret void
 | 
						|
}
 | 
						|
 | 
						|
 |