diff options
| author | Michael Buch <michaelbuch12@gmail.com> | 2025-10-15 15:18:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-15 15:18:25 +0100 |
| commit | be93399e619848c96b101172e68c29336fa589fe (patch) | |
| tree | 5beb09b68213f2d48ca32d4f3bc1d0b84f419895 /clang/lib/Frontend/CompilerInvocation.cpp | |
| parent | c4eaf56122d791d06c0a6f6be0224d8491d3beed (diff) | |
| download | llvm-be93399e619848c96b101172e68c29336fa589fe.zip llvm-be93399e619848c96b101172e68c29336fa589fe.tar.gz llvm-be93399e619848c96b101172e68c29336fa589fe.tar.bz2 | |
[clang][Basic] Add helper APIs to get language version codes from LangOptions (#163348)
Motivated by this discussion:
https://github.com/llvm/llvm-project/pull/163208#discussion_r2426842999
We will soon want to emit language version codes into debug-info.
Instead of replicating the `LangOptions -> version code` mapping we
thought we'd try to share some of the logic with the Clang frontend.
This patch teaches `LangStandard` about language versions (currently just C++ and C).
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
| -rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 292adce..5bd15f5 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -4012,13 +4012,13 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args, auto Diag = Diags.Report(diag::note_drv_use_standard); Diag << Std.getName() << Std.getDescription(); unsigned NumAliases = 0; -#define LANGSTANDARD(id, name, lang, desc, features) +#define LANGSTANDARD(id, name, lang, desc, features, version) #define LANGSTANDARD_ALIAS(id, alias) \ if (KindValue == LangStandard::lang_##id) ++NumAliases; #define LANGSTANDARD_ALIAS_DEPR(id, alias) #include "clang/Basic/LangStandards.def" Diag << NumAliases; -#define LANGSTANDARD(id, name, lang, desc, features) +#define LANGSTANDARD(id, name, lang, desc, features, version) #define LANGSTANDARD_ALIAS(id, alias) \ if (KindValue == LangStandard::lang_##id) Diag << alias; #define LANGSTANDARD_ALIAS_DEPR(id, alias) |
