1
0
mirror of https://github.com/c64scene-ar/llvm-6502.git synced 2025-03-26 23:32:29 +00:00

MC: rework static_assert to be MSVC compatible

Visual Studio does not permit referencing a structure member as a static field
for sizeof calculations.  Resort to a pointer cast which is compatible across
Visual Studio and other compilers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206445 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Saleem Abdulrasool 2014-04-17 06:17:20 +00:00
parent c30a52807f
commit c0b8743f35

@ -632,10 +632,8 @@ void WinCOFFObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm,
const MCAsmLayout &Layout) {
// "Define" each section & symbol. This creates section & symbol
// entries in the staging area.
// FIXME: this used to be
// sizeof(COFF::AuxiliaryFile::FileName) == COFF::SymbolSize
// but VS2013 can't compile that.
static_assert(sizeof(COFF::AuxiliaryFile) == COFF::SymbolSize,
static_assert(sizeof(((COFF::AuxiliaryFile *)0)->FileName) == COFF::SymbolSize,
"size mismatch for COFF::AuxiliaryFile::FileName");
for (auto FI = Asm.file_names_begin(), FE = Asm.file_names_end();
FI != FE; ++FI) {