mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
Fixed warning: dereferencing type-punned pointer will break strict-aliasing rules.
No need in reinterpret_cast<StringTableOffset &> here, as struct coff_symbol Name is a unin with the member StringTableOffset Offset. This union member could be accessed directly. llvm-svn: 305029
This commit is contained in:
parent
49a8606a40
commit
14c364c502
@ -285,11 +285,13 @@ ObjectFactory::createImportDescriptor(std::vector<uint8_t> &Buffer) {
|
||||
IMAGE_SYM_CLASS_EXTERNAL,
|
||||
0},
|
||||
};
|
||||
reinterpret_cast<StringTableOffset &>(SymbolTable[0].Name).Offset =
|
||||
// TODO: Name.Offset.Offset here and in the all similar places below
|
||||
// suggests a names refactoring. Maybe StringTableOffset.Value?
|
||||
SymbolTable[0].Name.Offset.Offset =
|
||||
sizeof(uint32_t);
|
||||
reinterpret_cast<StringTableOffset &>(SymbolTable[5].Name).Offset =
|
||||
SymbolTable[5].Name.Offset.Offset =
|
||||
sizeof(uint32_t) + ImportDescriptorSymbolName.length() + 1;
|
||||
reinterpret_cast<StringTableOffset &>(SymbolTable[6].Name).Offset =
|
||||
SymbolTable[6].Name.Offset.Offset =
|
||||
sizeof(uint32_t) + ImportDescriptorSymbolName.length() + 1 +
|
||||
NullImportDescriptorSymbolName.length() + 1;
|
||||
append(Buffer, SymbolTable);
|
||||
@ -354,8 +356,7 @@ ObjectFactory::createNullImportDescriptor(std::vector<uint8_t> &Buffer) {
|
||||
IMAGE_SYM_CLASS_EXTERNAL,
|
||||
0},
|
||||
};
|
||||
reinterpret_cast<StringTableOffset &>(SymbolTable[0].Name).Offset =
|
||||
sizeof(uint32_t);
|
||||
SymbolTable[0].Name.Offset.Offset = sizeof(uint32_t);
|
||||
append(Buffer, SymbolTable);
|
||||
|
||||
// String Table
|
||||
@ -437,8 +438,7 @@ NewArchiveMember ObjectFactory::createNullThunk(std::vector<uint8_t> &Buffer) {
|
||||
IMAGE_SYM_CLASS_EXTERNAL,
|
||||
0},
|
||||
};
|
||||
reinterpret_cast<StringTableOffset &>(SymbolTable[0].Name).Offset =
|
||||
sizeof(uint32_t);
|
||||
SymbolTable[0].Name.Offset.Offset = sizeof(uint32_t);
|
||||
append(Buffer, SymbolTable);
|
||||
|
||||
// String Table
|
||||
|
Loading…
Reference in New Issue
Block a user