@@ -87,6 +87,74 @@ typedef enum {
8787 CXInterpreter_MoreInputExpected = 2 ,
8888} CXInterpreter_CompilationResult ;
8989
90+ /**
91+ * Enum to represent the programming language of the interpreter.
92+ */
93+ typedef enum {
94+ CXInterpreterLanguage_Unknown ,
95+ CXInterpreterLanguage_Asm ,
96+ CXInterpreterLanguage_CIR ,
97+ CXInterpreterLanguage_LLVM_IR ,
98+ CXInterpreterLanguage_C ,
99+ CXInterpreterLanguage_CPlusPlus ,
100+ CXInterpreterLanguage_ObjC ,
101+ CXInterpreterLanguage_ObjCPlusPlus ,
102+ CXInterpreterLanguage_OpenCL ,
103+ CXInterpreterLanguage_OpenCLCXX ,
104+ CXInterpreterLanguage_CUDA ,
105+ CXInterpreterLanguage_HIP ,
106+ CXInterpreterLanguage_HLSL
107+ } CXInterpreterLanguage ;
108+
109+ /**
110+ * Enum to represent the language standard of the interpreter.
111+ */
112+ typedef enum {
113+ CXInterpreterLanguageStandard_c89 ,
114+ CXInterpreterLanguageStandard_c94 ,
115+ CXInterpreterLanguageStandard_gnu89 ,
116+ CXInterpreterLanguageStandard_c99 ,
117+ CXInterpreterLanguageStandard_gnu99 ,
118+ CXInterpreterLanguageStandard_c11 ,
119+ CXInterpreterLanguageStandard_gnu11 ,
120+ CXInterpreterLanguageStandard_c17 ,
121+ CXInterpreterLanguageStandard_gnu17 ,
122+ CXInterpreterLanguageStandard_c23 ,
123+ CXInterpreterLanguageStandard_gnu23 ,
124+ CXInterpreterLanguageStandard_c2y ,
125+ CXInterpreterLanguageStandard_gnu2y ,
126+ CXInterpreterLanguageStandard_cxx98 ,
127+ CXInterpreterLanguageStandard_gnucxx98 ,
128+ CXInterpreterLanguageStandard_cxx11 ,
129+ CXInterpreterLanguageStandard_gnucxx11 ,
130+ CXInterpreterLanguageStandard_cxx14 ,
131+ CXInterpreterLanguageStandard_gnucxx14 ,
132+ CXInterpreterLanguageStandard_cxx17 ,
133+ CXInterpreterLanguageStandard_gnucxx17 ,
134+ CXInterpreterLanguageStandard_cxx20 ,
135+ CXInterpreterLanguageStandard_gnucxx20 ,
136+ CXInterpreterLanguageStandard_cxx23 ,
137+ CXInterpreterLanguageStandard_gnucxx23 ,
138+ CXInterpreterLanguageStandard_cxx26 ,
139+ CXInterpreterLanguageStandard_gnucxx26 ,
140+ CXInterpreterLanguageStandard_opencl10 ,
141+ CXInterpreterLanguageStandard_opencl11 ,
142+ CXInterpreterLanguageStandard_opencl12 ,
143+ CXInterpreterLanguageStandard_opencl20 ,
144+ CXInterpreterLanguageStandard_opencl30 ,
145+ CXInterpreterLanguageStandard_openclcpp10 ,
146+ CXInterpreterLanguageStandard_openclcpp2021 ,
147+ CXInterpreterLanguageStandard_hlsl ,
148+ CXInterpreterLanguageStandard_hlsl2015 ,
149+ CXInterpreterLanguageStandard_hlsl2016 ,
150+ CXInterpreterLanguageStandard_hlsl2017 ,
151+ CXInterpreterLanguageStandard_hlsl2018 ,
152+ CXInterpreterLanguageStandard_hlsl2021 ,
153+ CXInterpreterLanguageStandard_hlsl202x ,
154+ CXInterpreterLanguageStandard_hlsl202y ,
155+ CXInterpreterLanguageStandard_lang_unspecified
156+ } CXInterpreterLanguageStandard ;
157+
90158/**
91159 * Add a search path to the interpreter.
92160 *
@@ -210,6 +278,26 @@ CINDEX_LINKAGE CXInterpreter_CompilationResult clang_Interpreter_loadLibrary(
210278CINDEX_LINKAGE void clang_Interpreter_unloadLibrary (CXInterpreter I ,
211279 const char * lib_stem );
212280
281+ /**
282+ * Returns the programming language of the interpreter.
283+ *
284+ * \param I The interpreter.
285+ *
286+ * \returns CXInterpreterLanguage value.
287+ */
288+ CINDEX_LINKAGE CXInterpreterLanguage
289+ clang_Interpreter_getLanguage (CXInterpreter I );
290+
291+ /**
292+ * Returns the language standard of the interpreter.
293+ *
294+ * \param I The interpreter.
295+ *
296+ * \returns CXInterpreterLanguageStandard value.
297+ */
298+ CINDEX_LINKAGE CXInterpreterLanguageStandard
299+ clang_Interpreter_getLanguageStandard (CXInterpreter I );
300+
213301/**
214302 * @}
215303 */
0 commit comments