Fix buildbots with merge that didn't happen for 4050b01ba9ece02721ec496383baee219ca8cc2b.
authorGreg Clayton <gclayton@fb.com>
Thu, 5 Mar 2020 03:28:24 +0000 (19:28 -0800)
committerGreg Clayton <gclayton@fb.com>
Thu, 5 Mar 2020 03:28:24 +0000 (19:28 -0800)
llvm/lib/DebugInfo/GSYM/GsymCreator.cpp

index f7d7afe..7d9b72c 100644 (file)
@@ -29,7 +29,13 @@ uint32_t GsymCreator::insertFile(StringRef Path,
                                  llvm::sys::path::Style Style) {
   llvm::StringRef directory = llvm::sys::path::parent_path(Path, Style);
   llvm::StringRef filename = llvm::sys::path::filename(Path, Style);
-  FileEntry FE(insertString(directory), insertString(filename));
+  // We must insert the strings first, then call the FileEntry constructor.
+  // If we inline the insertString() function call into the constructor, the
+  // call order is undefined due to parameter lists not having any ordering
+  // requirements.
+  const uint32_t Dir = insertString(directory);
+  const uint32_t Base = insertString(filename);
+  FileEntry FE(Dir, Base);
 
   std::lock_guard<std::recursive_mutex> Guard(Mutex);
   const auto NextIndex = Files.size();