[TableGen] Fix std::array initializer to avoid warnings with older tool chains. NFC
authorMikael Holmen <mikael.holmen@ericsson.com>
Mon, 3 Jun 2019 06:38:01 +0000 (06:38 +0000)
committerMikael Holmen <mikael.holmen@ericsson.com>
Mon, 3 Jun 2019 06:38:01 +0000 (06:38 +0000)
A std::array is implemented as a template with an array inside a struct.
Older versions of clang, like 3.6, require an extra set of curly braces
around std::array initializations to avoid warnings.

The C++ language was changed regarding this by CWG 1270. So more modern
tool chains does not complain even if leaving out one level of braces.

llvm-svn: 362360

llvm/utils/TableGen/DAGISelMatcherGen.cpp

index 3d3ae9c..1f0db4f 100644 (file)
@@ -692,7 +692,7 @@ void MatcherGen::EmitResultLeafAsOperand(const TreePatternNode *N,
     }
 
     if (Def->getName() == "undef_tied_input") {
-      std::array<MVT::SimpleValueType, 1> ResultVTs = { N->getSimpleType(0) };
+      std::array<MVT::SimpleValueType, 1> ResultVTs = {{ N->getSimpleType(0) }};
       std::array<unsigned, 0> InstOps;
       auto IDOperandNo = NextRecordedOperandNo++;
       AddMatcher(new EmitNodeMatcher("TargetOpcode::IMPLICIT_DEF",