MaskRay 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, ---------------- ldionne wrote: > 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`? OK. Using `BoolFOption` is fine as we can express the `ExperimentalLibrary` logic in the tablegen file. I just feel that the boilerplate is a bit higher than `OptInCC1FFlag`. ================ Comment at: clang/lib/Driver/ToolChain.cpp:1016 CmdArgs.push_back("-lc++"); + if (Args.hasArg(options::OPT_fexperimental_library)) + CmdArgs.push_back("-lc++experimental"); ---------------- ldionne wrote: > MaskRay wrote: > > There may be an archive ordering problem. > I'm not sure I follow -- what problem are you concerned about? https://lld.llvm.org/ELF/warn_backrefs.html When these -l options are used to link archives (.a), they should be added in a dependency order. -lc++experimental presumably uses symbols from -lc++abi and must precede -lc++abi. -lc++abi uses symbols from -lunwind and must precede -lunwind. For macOS and Windows, the order usually doesn't matter. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121141/new/ https://reviews.llvm.org/D121141 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits