OSDN Git Service

MIR Serialization: initialize the fields without the default initializers in yaml...
authorAlex Lorenz <arphaman@gmail.com>
Thu, 18 Jun 2015 20:57:41 +0000 (20:57 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Thu, 18 Jun 2015 20:57:41 +0000 (20:57 +0000)
commit5f0fc6da46bd7ac978c9d78ae09bead2811bad37
tree4a3491dacc8c49dc4ce9b0d8349f8658e8ec0c85
parent1be642839d4f24df8da6e9d7d5fd73218a42e1ea
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
include/llvm/CodeGen/MIRYamlMapping.h