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:
Alex Lorenz 2015-06-18 20:57:41 +00:00
parent 1be642839d
commit 5f0fc6da46

View File

@ -29,6 +29,12 @@ struct MachineFunction {
unsigned Alignment;
bool ExposesReturnsTwice;
bool HasInlineAsm;
MachineFunction() {
Alignment = 0;
ExposesReturnsTwice = false;
HasInlineAsm = false;
}
};
template <> struct MappingTraits<MachineFunction> {