[PATCH] D121141: [Clang] Add `-funstable` flag to enable unstable and experimental features: follow-up fixes

Louis Dionne via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 15 08:44:12 PDT 2022


ldionne added inline comments.


================
Comment at: clang/include/clang/Driver/Options.td:1186
 
-defm unstable : BoolFOption<"unstable",
-  LangOpts<"Unstable">, DefaultFalse,
-  PosFlag<SetTrue, [CC1Option, CoreOption], "Enable unstable and experimental features">,
+defm experimental_library : BoolFOption<"experimental-library",
+  LangOpts<"ExperimentalLibrary">, DefaultFalse,
----------------
MaskRay wrote:
> This can be simplified with `OptInCC1FFlag` (both driver/CC1 for the pos form, but driver-only for the neg form).
> You'll need to set CoreOption to make the option available to clang-cl.
I was looking for documentation on `OptInCC1FFlag`, and I found:

```
// A boolean option which is opt-in in CC1. The positive option exists in CC1 and
// Args.hasArg(OPT_ffoo) can be used to check that the flag is enabled.
// This is useful if the option is usually disabled.
// Use this only when the option cannot be declared via BoolFOption.
multiclass OptInCC1FFlag<string name, string pos_prefix, string neg_prefix="",
```

It says to use `BoolFOption` is we can. So should I stick with `BoolFOption`?


================
Comment at: clang/lib/Driver/ToolChain.cpp:1016
     CmdArgs.push_back("-lc++");
+    if (Args.hasArg(options::OPT_fexperimental_library))
+      CmdArgs.push_back("-lc++experimental");
----------------
MaskRay wrote:
> There may be an archive ordering problem. 
I'm not sure I follow -- what problem are you concerned about?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D121141



More information about the cfe-commits mailing list