29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Modula-2
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Modula-2
		
	
	
	
; RUN: llvm-dlltool -m i386:x86-64 --input-def %s --output-lib %t.a
 | 
						|
; RUN: llvm-nm %t.a | FileCheck %s
 | 
						|
 | 
						|
LIBRARY test.dll
 | 
						|
EXPORTS
 | 
						|
TestFunction==AltTestFunction
 | 
						|
; When creating an import library, the DLL internal function name of
 | 
						|
; the implementation of a function isn't visible at all.
 | 
						|
ImpLibName = Implementation
 | 
						|
; A different import library name and implementation name can be mixed
 | 
						|
; with exposing it via a different name in the DLL than in code.
 | 
						|
ImpLibName2 = Implementation2 == AltTestFunction2
 | 
						|
; The fact that a DLL export entry is a forward to a different DLL doesn't
 | 
						|
; matter for the import library
 | 
						|
ImpLibName3 = kernel32.Sleep
 | 
						|
 | 
						|
; CHECK:      U AltTestFunction
 | 
						|
; CHECK-NEXT: W TestFunction
 | 
						|
; CHECK:      U __imp_AltTestFunction
 | 
						|
; CHECK-NEXT: W __imp_TestFunction
 | 
						|
; CHECK:      T ImpLibName
 | 
						|
; CHECK-NEXT: T __imp_ImpLibName
 | 
						|
; CHECK:      U AltTestFunction2
 | 
						|
; CHECK-NEXT: W ImpLibName2
 | 
						|
; CHECK:      U __imp_AltTestFunction2
 | 
						|
; CHECK-NEXT: W __imp_ImpLibName2
 | 
						|
; CHECK:      T ImpLibName3
 | 
						|
; CHECK-NEXT: T __imp_ImpLibName3
 |