]> granicus.if.org Git - llvm/commitdiff
WholeProgramDevirt: Fixed compilation error under MSVS2015.
authorGeorge Rimar <grimar@accesssoftek.com>
Fri, 10 Mar 2017 10:31:56 +0000 (10:31 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Fri, 10 Mar 2017 10:31:56 +0000 (10:31 +0000)
It was introduced in:

r296945
WholeProgramDevirt: Implement exporting for single-impl devirtualization.
---------------------
r296939
WholeProgramDevirt: Add any unsuccessful llvm.type.checked.load devirtualizations to the list of llvm.type.test users.
---------------------

Microsoft Visual Studio Community 2015
Version 14.0.23107.0 D14REL
Does not compile that code without additional brackets, showing multiple error like below:

WholeProgramDevirt.cpp(1216): error C2958: the left bracket '[' found at 'c:\access_softek\llvm\lib\transforms\ipo\wholeprogramdevirt.cpp(1216)' was not matched correctly
WholeProgramDevirt.cpp(1216): error C2143: syntax error: missing ']' before '}'
WholeProgramDevirt.cpp(1216): error C2143: syntax error: missing ';' before '}'
WholeProgramDevirt.cpp(1216): error C2059: syntax error: ']'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297451 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/WholeProgramDevirt.cpp

index 51d30f3c244d34d8c41f638ba72b4fe188a3e143..b5d87b167407e8f9449cfe3609a6f9c0f0f5ff26 100644 (file)
@@ -1211,25 +1211,34 @@ bool DevirtModule::run() {
         if (!FS)
           continue;
         // FIXME: Only add live functions.
-        for (FunctionSummary::VFuncId VF : FS->type_test_assume_vcalls())
-          for (Metadata *MD : MetadataByGUID[VF.GUID])
+        for (FunctionSummary::VFuncId VF : FS->type_test_assume_vcalls()) {
+          for (Metadata *MD : MetadataByGUID[VF.GUID]) {
             CallSlots[{MD, VF.Offset}].CSInfo.SummaryHasTypeTestAssumeUsers =
                 true;
-        for (FunctionSummary::VFuncId VF : FS->type_checked_load_vcalls())
-          for (Metadata *MD : MetadataByGUID[VF.GUID])
+          }
+        }
+        for (FunctionSummary::VFuncId VF : FS->type_checked_load_vcalls()) {
+          for (Metadata *MD : MetadataByGUID[VF.GUID]) {
             CallSlots[{MD, VF.Offset}]
                 .CSInfo.SummaryTypeCheckedLoadUsers.push_back(FS);
+          }
+        }
         for (const FunctionSummary::ConstVCall &VC :
-             FS->type_test_assume_const_vcalls())
-          for (Metadata *MD : MetadataByGUID[VC.VFunc.GUID])
+             FS->type_test_assume_const_vcalls()) {
+          for (Metadata *MD : MetadataByGUID[VC.VFunc.GUID]) {
             CallSlots[{MD, VC.VFunc.Offset}]
-                .ConstCSInfo[VC.Args].SummaryHasTypeTestAssumeUsers = true;
+                .ConstCSInfo[VC.Args]
+                .SummaryHasTypeTestAssumeUsers = true;
+          }
+        }
         for (const FunctionSummary::ConstVCall &VC :
-             FS->type_checked_load_const_vcalls())
-          for (Metadata *MD : MetadataByGUID[VC.VFunc.GUID])
+             FS->type_checked_load_const_vcalls()) {
+          for (Metadata *MD : MetadataByGUID[VC.VFunc.GUID]) {
             CallSlots[{MD, VC.VFunc.Offset}]
                 .ConstCSInfo[VC.Args]
                 .SummaryTypeCheckedLoadUsers.push_back(FS);
+          }
+        }
       }
     }
   }