mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-14 23:48:56 +00:00
MIR Serialization: initialize the fields without the default initializers in yaml::MachineFunction
My commit r239790 which introduced serialization for simple machine function attributes didn't initialize them when parsing because I have misread the documentation for YAML IO's mapOptional method. The mapOptional method doesn't actually set the values to the values returned by the default constructor for that type when the key value pair is missing, it just doesn't modify those values, so they still contain the value that was set during initialization by the default constructor. But the fields in yaml::MachineFunction with types like unsigned and bool are not initialized by default, and thus they can still be uninitialized after mapOptional during parsing. This commit adds default initialization for those fields to prevent this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240054 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1be642839d
commit
5f0fc6da46
@ -29,6 +29,12 @@ struct MachineFunction {
|
||||
unsigned Alignment;
|
||||
bool ExposesReturnsTwice;
|
||||
bool HasInlineAsm;
|
||||
|
||||
MachineFunction() {
|
||||
Alignment = 0;
|
||||
ExposesReturnsTwice = false;
|
||||
HasInlineAsm = false;
|
||||
}
|
||||
};
|
||||
|
||||
template <> struct MappingTraits<MachineFunction> {
|
||||
|
Loading…
Reference in New Issue
Block a user