]> granicus.if.org Git - clang/commitdiff
Make InitHeaderSearch::AddPath and HeaderSearchOptions::AddPath consistent
authorBob Wilson <bob.wilson@apple.com>
Tue, 21 Jun 2011 21:53:08 +0000 (21:53 +0000)
committerBob Wilson <bob.wilson@apple.com>
Tue, 21 Jun 2011 21:53:08 +0000 (21:53 +0000)
use an "IgnoreSysRoot" argument.  HeaderSearchOptions had been using the
opposite form with "IsSysRootRelative", which made for much confusion when
looking at true/false values in calls in AddPath.  No functional change.

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

include/clang/Frontend/HeaderSearchOptions.h
lib/Frontend/CompilerInvocation.cpp
lib/Frontend/InitHeaderSearch.cpp

index 920436a5ae0c0dd0bcc54939405968a0bf94daf9..deb08265f1b3f92f8c4b017484988a4e4010e1a4 100644 (file)
@@ -39,15 +39,15 @@ public:
     unsigned IsUserSupplied : 1;
     unsigned IsFramework : 1;
     
-    /// IsSysRootRelative - This is true if an absolute path should be treated
-    /// relative to the sysroot, or false if it should always be the absolute
+    /// IgnoreSysRoot - This is false if an absolute path should be treated
+    /// relative to the sysroot, or true if it should always be the absolute
     /// path.
-    unsigned IsSysRootRelative : 1;
+    unsigned IgnoreSysRoot : 1;
 
     Entry(llvm::StringRef path, frontend::IncludeDirGroup group,
-          bool isUserSupplied, bool isFramework, bool isSysRootRelative)
+          bool isUserSupplied, bool isFramework, bool ignoreSysRoot)
       : Path(path), Group(group), IsUserSupplied(isUserSupplied),
-        IsFramework(isFramework), IsSysRootRelative(isSysRootRelative) {}
+        IsFramework(isFramework), IgnoreSysRoot(ignoreSysRoot) {}
   };
 
   /// If non-empty, the directory to use as a "virtual system root" for include
@@ -96,9 +96,9 @@ public:
 
   /// AddPath - Add the \arg Path path to the specified \arg Group list.
   void AddPath(llvm::StringRef Path, frontend::IncludeDirGroup Group,
-               bool IsUserSupplied, bool IsFramework, bool IsSysRootRelative) {
+               bool IsUserSupplied, bool IsFramework, bool IgnoreSysRoot) {
     UserEntries.push_back(Entry(Path, Group, IsUserSupplied, IsFramework,
-                                IsSysRootRelative));
+                                !IgnoreSysRoot));
   }
 };
 
index cf1feb7f6f2c59967333476b5121914b98762050..12e51a61e1f08222b8c86a23f43b4997ae7195fa 100644 (file)
@@ -1340,7 +1340,7 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args) {
   for (arg_iterator it = Args.filtered_begin(OPT_I, OPT_F),
          ie = Args.filtered_end(); it != ie; ++it)
     Opts.AddPath((*it)->getValue(Args), frontend::Angled, true,
-                 /*IsFramework=*/ (*it)->getOption().matches(OPT_F), true);
+                 /*IsFramework=*/ (*it)->getOption().matches(OPT_F), false);
 
   // Add -iprefix/-iwith-prefix/-iwithprefixbefore options.
   llvm::StringRef Prefix = ""; // FIXME: This isn't the correct default prefix.
@@ -1352,24 +1352,24 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args) {
       Prefix = A->getValue(Args);
     else if (A->getOption().matches(OPT_iwithprefix))
       Opts.AddPath(Prefix.str() + A->getValue(Args),
-                   frontend::System, false, false, true);
+                   frontend::System, false, false, false);
     else
       Opts.AddPath(Prefix.str() + A->getValue(Args),
-                   frontend::Angled, false, false, true);
+                   frontend::Angled, false, false, false);
   }
 
   for (arg_iterator it = Args.filtered_begin(OPT_idirafter),
          ie = Args.filtered_end(); it != ie; ++it)
-    Opts.AddPath((*it)->getValue(Args), frontend::After, true, false, true);
+    Opts.AddPath((*it)->getValue(Args), frontend::After, true, false, false);
   for (arg_iterator it = Args.filtered_begin(OPT_iquote),
          ie = Args.filtered_end(); it != ie; ++it)
-    Opts.AddPath((*it)->getValue(Args), frontend::Quoted, true, false, true);
+    Opts.AddPath((*it)->getValue(Args), frontend::Quoted, true, false, false);
   for (arg_iterator it = Args.filtered_begin(OPT_cxx_isystem, OPT_isystem,
          OPT_iwithsysroot), ie = Args.filtered_end(); it != ie; ++it)
     Opts.AddPath((*it)->getValue(Args),
                  ((*it)->getOption().matches(OPT_cxx_isystem) ?
                    frontend::CXXSystem : frontend::System),
-                 true, false, (*it)->getOption().matches(OPT_iwithsysroot));
+                 true, false, !(*it)->getOption().matches(OPT_iwithsysroot));
 
   // FIXME: Need options for the various environment variables!
 }
index 238ff7fdc8accf0fe8fce03d38df76c0f6d59f17..40036fe41982790434665efd1d9eee4d98998ba9 100644 (file)
@@ -1094,7 +1094,7 @@ void clang::ApplyHeaderSearchOptions(HeaderSearch &HS,
   for (unsigned i = 0, e = HSOpts.UserEntries.size(); i != e; ++i) {
     const HeaderSearchOptions::Entry &E = HSOpts.UserEntries[i];
     Init.AddPath(E.Path, E.Group, false, E.IsUserSupplied, E.IsFramework,
-                 !E.IsSysRootRelative);
+                 E.IgnoreSysRoot);
   }
 
   // Add entries from CPATH and friends.