64 lines
1.9 KiB
Modula-2
64 lines
1.9 KiB
Modula-2
; This must match get_members() in import_library.rs
|
|
LIBRARY MyLibrary
|
|
EXPORTS
|
|
NormalFunc
|
|
NormalData DATA
|
|
NormalConstant CONSTANT
|
|
PrivateFunc PRIVATE
|
|
FuncWithOrdinal @1
|
|
FuncWithNoName @2 NONAME
|
|
RenamedFunc=InternalName
|
|
ReexportedFunc=OtherModule.OtherName
|
|
ReexportedViaOrd=OtherModule.#42
|
|
FuncWithImportName==ImportName
|
|
|
|
|
|
; These are Arm64EC mangled names, since we currently don't support converting
|
|
; the non-Arm64EC format to Arm64EC. They are taken from ManglerTest.cpp
|
|
|
|
; Basic C++ name.
|
|
?foo@@$$hYAHXZ
|
|
|
|
; Regression test: https://github.com/llvm/llvm-project/issues/115231
|
|
?GetValue@?$Wrapper@UA@@@@$$hQEBAHXZ
|
|
|
|
; Symbols from:
|
|
; ```
|
|
; namespace A::B::C::D {
|
|
; struct Base {
|
|
; virtual int f() { return 0; }
|
|
; };
|
|
; }
|
|
; struct Derived : public A::B::C::D::Base {
|
|
; virtual int f() override { return 1; }
|
|
; };
|
|
; A::B::C::D::Base* MakeObj() { return new Derived(); }
|
|
; ```
|
|
; void * __cdecl operator new(unsigned __int64)
|
|
??2@$$hYAPEAX_K@Z
|
|
; public: virtual int __cdecl A::B::C::D::Base::f(void)
|
|
?f@Base@D@C@B@A@@$$hUEAAHXZ
|
|
; public: __cdecl A::B::C::D::Base::Base(void)
|
|
??0Base@D@C@B@A@@$$hQEAA@XZ
|
|
; public: virtual int __cdecl Derived::f(void)
|
|
?f@Derived@@$$hUEAAHXZ
|
|
; public: __cdecl Derived::Derived(void)
|
|
??0Derived@@$$hQEAA@XZ
|
|
; struct A::B::C::D::Base * __cdecl MakeObj(void)
|
|
?MakeObj@@$$hYAPEAUBase@D@C@B@A@@XZ
|
|
|
|
; Symbols from:
|
|
; ```
|
|
; template <typename T> struct WW { struct Z{}; };
|
|
; template <typename X> struct Wrapper {
|
|
; int GetValue(typename WW<X>::Z) const;
|
|
; };
|
|
; struct A { };
|
|
; template <typename X> int Wrapper<X>::GetValue(typename WW<X>::Z) const
|
|
; { return 3; }
|
|
; template class Wrapper<A>;
|
|
; ```
|
|
; public: int __cdecl Wrapper<struct A>::GetValue(struct WW<struct
|
|
; A>::Z)const
|
|
?GetValue@?$Wrapper@UA@@@@$$hQEBAHUZ@?$WW@UA@@@@@Z
|