mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
[WinEH] Create an llvm.x86.seh.exceptioninfo intrinsic
This intrinsic is like framerecover plus a load. It recovers the EH registration stack allocation from the parent frame and loads the exception information field out of it, giving back a pointer to an EXCEPTION_POINTERS struct. It's designed for clang to use in SEH filter expressions instead of accessing the EXCEPTION_POINTERS parameter that is available on x64. This required a minor change to MC to allow defining a label variable to another absolute framerecover label variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239567 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -526,13 +526,12 @@ bool WinCOFFObjectWriter::ExportSymbol(const MCSymbol &Symbol,
|
||||
if (!Symbol.isTemporary())
|
||||
return true;
|
||||
|
||||
// Absolute temporary labels are never visible.
|
||||
if (!Symbol.isInSection())
|
||||
// Temporary variable symbols are invisible.
|
||||
if (Symbol.isVariable())
|
||||
return false;
|
||||
|
||||
// For now, all non-variable symbols are exported,
|
||||
// the linker will sort the rest out for us.
|
||||
return !Symbol.isVariable();
|
||||
// Absolute temporary labels are never visible.
|
||||
return !Symbol.isAbsolute();
|
||||
}
|
||||
|
||||
bool WinCOFFObjectWriter::IsPhysicalSection(COFFSection *S) {
|
||||
|
Reference in New Issue
Block a user