[PATCH] D134018: [clang] [Driver] Add an option to disable default config filenames

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 16 00:34:41 PDT 2022


MaskRay accepted this revision.
MaskRay added a comment.
This revision is now accepted and ready to land.

LGTM.



================
Comment at: clang/lib/Driver/Driver.cpp:1027
 
-  // If config file is not specified explicitly, try to deduce configuration
-  // from executable name. For instance, an executable 'armv7l-clang' will
-  // search for config file 'armv7l-clang.cfg'.
-  if (CfgFileName.empty() && !ClangNameParts.TargetPrefix.empty())
-    CfgFileName = ClangNameParts.TargetPrefix + '-' + ClangNameParts.ModeSuffix;
+  if (!CLOptions || !CLOptions->hasArg(options::OPT_no_default_config)) {
+    // If config file is not specified explicitly, try to deduce configuration
----------------
mgorny wrote:
> MaskRay wrote:
> > `&&` ?
> `&&` would mean dereferencing null pointer ;-).
oh, i misread. sorry. the two `if` can be merged


================
Comment at: clang/test/Driver/config-file3.c:49
+// NO-DEFAULT-CONFIG-NOT: Configuration file:
+//
 //--- Invocation qqq-clang-g++ tries to find config file qqq.cfg if qqq-clang-g++.cfg is not found.
----------------
mgorny wrote:
> MaskRay wrote:
> > The convention doesn't use otherwise empty `// `. The file does not obey the convention but your new lines can drop the empty `//`
> Do you mean the extra space or the entire empty line?
I mean `^// *$`, which typically makes the test harder to browse.

(Think of `{` `}` in vim. If every line has `//`, `{` `}` isn't effective at all.)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D134018/new/

https://reviews.llvm.org/D134018



More information about the cfe-commits mailing list