93 const llvm::Triple &T,
94 std::vector<std::string> &Includes,
104 Opts.AsmPreprocessor = 1;
114 Opts.C99 = Std.
isC99();
115 Opts.C11 = Std.
isC11();
116 Opts.C17 = Std.
isC17();
117 Opts.C23 = Std.
isC23();
118 Opts.C2y = Std.
isC2y();
127 Opts.GNUCVersion = 0;
133 Opts.NamedLoops = Std.
isC2y();
137 if (Opts.IncludeDefaultHeader)
138 Includes.push_back(
"hlsl.h");
140 Opts.MaxMatrixDimension = 4;
145 if (
LangStd == LangStandard::lang_opencl10)
146 Opts.OpenCLVersion = 100;
147 else if (
LangStd == LangStandard::lang_opencl11)
148 Opts.OpenCLVersion = 110;
149 else if (
LangStd == LangStandard::lang_opencl12)
150 Opts.OpenCLVersion = 120;
151 else if (
LangStd == LangStandard::lang_opencl20)
152 Opts.OpenCLVersion = 200;
153 else if (
LangStd == LangStandard::lang_opencl30)
154 Opts.OpenCLVersion = 300;
155 else if (
LangStd == LangStandard::lang_openclcpp10)
156 Opts.OpenCLCPlusPlusVersion = 100;
157 else if (
LangStd == LangStandard::lang_openclcpp2021)
158 Opts.OpenCLCPlusPlusVersion = 202100;
159 else if (
LangStd == LangStandard::lang_hlsl2015)
161 else if (
LangStd == LangStandard::lang_hlsl2016)
163 else if (
LangStd == LangStandard::lang_hlsl2017)
165 else if (
LangStd == LangStandard::lang_hlsl2018)
167 else if (
LangStd == LangStandard::lang_hlsl2021)
169 else if (
LangStd == LangStandard::lang_hlsl202x)
171 else if (
LangStd == LangStandard::lang_hlsl202y)
179 Opts.OpenCLCPlusPlus = Opts.CPlusPlus;
184 if (Opts.IncludeDefaultHeader) {
185 if (Opts.DeclareOpenCLBuiltins) {
187 Includes.push_back(
"opencl-c-base.h");
189 Includes.push_back(
"opencl-c.h");
206 }
else if (Opts.CUDA) {
209 Opts.OpenCLVersion = 200;