Author: Yusra Syeda Date: 2023-10-27T17:22:49-04:00 New Revision: 703895b131720682a3ca596a96a7c94fb281c0e4
URL: https://github.com/llvm/llvm-project/commit/703895b131720682a3ca596a96a7c94fb281c0e4 DIFF: https://github.com/llvm/llvm-project/commit/703895b131720682a3ca596a96a7c94fb281c0e4.diff LOG: [clang] Language to String function (#69487) This PR adds a function which converts the language to string. This is intended to be used by the z/OS target, see the patch here: https://github.com/llvm/llvm-project/pull/68926 --------- Co-authored-by: Yusra Syeda <yusra.sy...@ibm.com> Added: Modified: clang/include/clang/Basic/LangStandard.h clang/lib/Basic/LangStandards.cpp Removed: ################################################################################ diff --git a/clang/include/clang/Basic/LangStandard.h b/clang/include/clang/Basic/LangStandard.h index 6356f16acc811e0..bc49669a82ad2db 100644 --- a/clang/include/clang/Basic/LangStandard.h +++ b/clang/include/clang/Basic/LangStandard.h @@ -43,6 +43,7 @@ enum class Language : uint8_t { HLSL, ///@} }; +StringRef languageToString(Language L); enum LangFeatures { LineComment = (1 << 0), diff --git a/clang/lib/Basic/LangStandards.cpp b/clang/lib/Basic/LangStandards.cpp index af9cf4f273920ee..ab09c7221dda92f 100644 --- a/clang/lib/Basic/LangStandards.cpp +++ b/clang/lib/Basic/LangStandards.cpp @@ -13,6 +13,39 @@ #include "llvm/TargetParser/Triple.h" using namespace clang; +StringRef clang::languageToString(Language L) { + switch (L) { + case Language::Unknown: + return "Unknown"; + case Language::Asm: + return "Asm"; + case Language::LLVM_IR: + return "LLVM IR"; + case Language::C: + return "C"; + case Language::CXX: + return "C++"; + case Language::ObjC: + return "Objective-C"; + case Language::ObjCXX: + return "Objective-C++"; + case Language::OpenCL: + return "OpenCL"; + case Language::OpenCLCXX: + return "OpenCLC++"; + case Language::CUDA: + return "CUDA"; + case Language::RenderScript: + return "RenderScript"; + case Language::HIP: + return "HIP"; + case Language::HLSL: + return "HLSL"; + } + + llvm_unreachable("unhandled language kind"); +} + #define LANGSTANDARD(id, name, lang, desc, features) \ static const LangStandard Lang_##id = {name, desc, features, Language::lang}; #include "clang/Basic/LangStandards.def" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits