[PATCH] D119051: Extend the C++03 definition of POD to include defaulted functions
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 9 09:37:49 PDT 2022
aaron.ballman added a comment.
Oh wow that's an awful lot of pings without any response; I'm very sorry you had that experience, so thank you for tagging me to try to get this unstuck!
The precommit CI test failures definitely look relevant and should be fixed up.
================
Comment at: clang/include/clang/Basic/LangOptions.def:219
BENIGN_LANGOPT(AccessControl , 1, 1, "C++ access control")
+LANGOPT(DefaultedSMFArePOD, 1, 0, "Defaulted Special Members are allowed on POD types")
LANGOPT(CharIsSigned , 1, 1, "signed char")
----------------
================
Comment at: clang/include/clang/Driver/Options.td:1116
PosFlag<SetTrue>>;
+defm defaulted_smf_are_pod : BoolFOption<"defaulted-smf-are-pod",
+ LangOpts<"DefaultedSMFArePOD">, DefaultFalse,
----------------
Lol, well that's going to be fun when said out loud -- I come up with "defaulted smurfs are pod". :-D
================
Comment at: clang/include/clang/Driver/Options.td:1118-1119
+ LangOpts<"DefaultedSMFArePOD">, DefaultFalse,
+ NegFlag<SetFalse, [], "Defaulted Special Member Functions are not considered POD for ABI and < C++11 language tests">,
+ PosFlag<SetTrue, [CC1Option], "Defaulted Special Member Functions are considered POD for ABI and < C++11 language tests">>;
def falign_functions : Flag<["-"], "falign-functions">, Group<f_Group>;
----------------
================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:5592
+ StringRef Ver = A->getValue();
+ CmdArgs.push_back(Args.MakeArgString("-fclang-abi-compat=" + Ver));
+ unsigned Num;
----------------
Are we going to get duplicates passed to -cc1, as we also do: https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChains/Clang.cpp#L5645
================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:5594
+ unsigned Num;
+ if (!Ver.consumeInteger(10, Num) && Num <= 13)
+ DefaultedSMFArePOD = false;
----------------
Is Clang 13 still the correct thing to test for here, or should this be 16 these days?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119051/new/
https://reviews.llvm.org/D119051
More information about the cfe-commits
mailing list