Skip to content

Commit 703895b

Browse files
ysyedaYusra Syeda
and
Yusra Syeda
authored
[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: #68926 --------- Co-authored-by: Yusra Syeda <[email protected]>
1 parent 6a93da9 commit 703895b

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

clang/include/clang/Basic/LangStandard.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ enum class Language : uint8_t {
4343
HLSL,
4444
///@}
4545
};
46+
StringRef languageToString(Language L);
4647

4748
enum LangFeatures {
4849
LineComment = (1 << 0),

clang/lib/Basic/LangStandards.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,39 @@
1313
#include "llvm/TargetParser/Triple.h"
1414
using namespace clang;
1515

16+
StringRef clang::languageToString(Language L) {
17+
switch (L) {
18+
case Language::Unknown:
19+
return "Unknown";
20+
case Language::Asm:
21+
return "Asm";
22+
case Language::LLVM_IR:
23+
return "LLVM IR";
24+
case Language::C:
25+
return "C";
26+
case Language::CXX:
27+
return "C++";
28+
case Language::ObjC:
29+
return "Objective-C";
30+
case Language::ObjCXX:
31+
return "Objective-C++";
32+
case Language::OpenCL:
33+
return "OpenCL";
34+
case Language::OpenCLCXX:
35+
return "OpenCLC++";
36+
case Language::CUDA:
37+
return "CUDA";
38+
case Language::RenderScript:
39+
return "RenderScript";
40+
case Language::HIP:
41+
return "HIP";
42+
case Language::HLSL:
43+
return "HLSL";
44+
}
45+
46+
llvm_unreachable("unhandled language kind");
47+
}
48+
1649
#define LANGSTANDARD(id, name, lang, desc, features) \
1750
static const LangStandard Lang_##id = {name, desc, features, Language::lang};
1851
#include "clang/Basic/LangStandards.def"

0 commit comments

Comments
 (0)