-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[DebugInfo] Add explicit visibility macros to CodeView template functions #113102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -32,6 +32,19 @@ class SimpleTypeSerializer { | |
| ArrayRef<uint8_t> serialize(const FieldListRecord &Record) = delete; | ||
| }; | ||
|
|
||
| // Needed by RandomAccessVisitorTest.cpp | ||
| #define TYPE_RECORD(EnumName, EnumVal, Name) \ | ||
| class Name##Record; \ | ||
| extern template LLVM_TEMPLATE_ABI ArrayRef<uint8_t> \ | ||
| llvm::codeview::SimpleTypeSerializer::serialize(Name##Record &Record); | ||
| #define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName) | ||
| #define MEMBER_RECORD(EnumName, EnumVal, Name) | ||
| #define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName) | ||
| #include "llvm/DebugInfo/CodeView/CodeViewTypes.def" | ||
| #undef TYPE_RECORD | ||
| #undef TYPE_RECORD_ALIAS | ||
| #undef MEMBER_RECORD | ||
| #undef MEMBER_RECORD_ALIAS | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Likewise |
||
| } // end namespace codeview | ||
| } // end namespace llvm | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -495,7 +495,8 @@ class ClassRecord : public TagRecord { | |
| }; | ||
|
|
||
| // LF_UNION | ||
| struct UnionRecord : public TagRecord { | ||
| class UnionRecord : public TagRecord { | ||
| public: | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why the change here? The use of
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes it wasn't usable in the XMACRO to forward declare classes used for the function declarations it creates |
||
| UnionRecord() = default; | ||
| explicit UnionRecord(TypeRecordKind Kind) : TagRecord(Kind) {} | ||
| UnionRecord(uint16_t MemberCount, ClassOptions Options, TypeIndex FieldList, | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would double check that this works with modular builds, this seems like it could cause some issues.