Files
cli/vendor/ar_archive_writer/tests/import_library.def

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