r289494 - Revert "[Modules] Make header inclusion order from umbrella dirs deterministic"

Bruno Cardoso Lopes via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 12 15:22:31 PST 2016


Author: bruno
Date: Mon Dec 12 17:22:30 2016
New Revision: 289494

URL: http://llvm.org/viewvc/llvm-project?rev=289494&view=rev
Log:
Revert "[Modules] Make header inclusion order from umbrella dirs deterministic"

Reverts commit r289478.

This broke
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/2070
(and maybe
http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules-2/builds/2246)

Modified:
    cfe/trunk/lib/Frontend/FrontendActions.cpp

Modified: cfe/trunk/lib/Frontend/FrontendActions.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/FrontendActions.cpp?rev=289494&r1=289493&r2=289494&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/FrontendActions.cpp (original)
+++ cfe/trunk/lib/Frontend/FrontendActions.cpp Mon Dec 12 17:22:30 2016
@@ -233,7 +233,6 @@ collectModuleHeaderIncludes(const LangOp
     llvm::sys::path::native(UmbrellaDir.Entry->getName(), DirNative);
 
     vfs::FileSystem &FS = *FileMgr.getVirtualFileSystem();
-    SmallVector<std::pair<std::string, const FileEntry *>, 8> Headers;
     for (vfs::recursive_directory_iterator Dir(FS, DirNative, EC), End;
          Dir != End && !EC; Dir.increment(EC)) {
       // Check whether this entry has an extension typically associated with 
@@ -264,20 +263,13 @@ collectModuleHeaderIncludes(const LangOp
            ++It)
         llvm::sys::path::append(RelativeHeader, *It);
 
-      Headers.push_back(std::make_pair(RelativeHeader.str(), Header));
+      // Include this header as part of the umbrella directory.
+      Module->addTopHeader(Header);
+      addHeaderInclude(RelativeHeader, Includes, LangOpts, Module->IsExternC);
     }
 
     if (EC)
       return EC;
-
-    // Sort header paths and make the header inclusion order deterministic
-    // across different OSs and filesystems.
-    llvm::array_pod_sort(Headers.begin(), Headers.end());
-    for (auto &H : Headers) {
-      // Include this header as part of the umbrella directory.
-      Module->addTopHeader(H.second);
-      addHeaderInclude(H.first, Includes, LangOpts, Module->IsExternC);
-    }
   }
 
   // Recurse into submodules.




More information about the cfe-commits mailing list