Lines Matching defs:LangOpts
69 IdentifierTable::IdentifierTable(const LangOptions &LangOpts,
74 AddKeywords(LangOpts);
130 // This works on a single TokenKey flag and checks the LangOpts to get the
136 static KeywordStatus getKeywordStatusHelper(const LangOptions &LangOpts,
144 if (LangOpts.C99)
146 return !LangOpts.CPlusPlus ? KS_Future : KS_Unknown;
148 if (LangOpts.C23)
150 return !LangOpts.CPlusPlus ? KS_Future : KS_Unknown;
152 return LangOpts.CPlusPlus ? KS_Enabled : KS_Unknown;
154 if (LangOpts.CPlusPlus11)
156 return LangOpts.CPlusPlus ? KS_Future : KS_Unknown;
158 if (LangOpts.CPlusPlus20)
160 return LangOpts.CPlusPlus ? KS_Future : KS_Unknown;
162 return LangOpts.GNUKeywords ? KS_Extension : KS_Unknown;
164 return LangOpts.MicrosoftExt ? KS_Extension : KS_Unknown;
166 if (LangOpts.Bool) return KS_Enabled;
167 return !LangOpts.CPlusPlus ? KS_Future : KS_Unknown;
169 return LangOpts.AltiVec ? KS_Enabled : KS_Unknown;
171 return LangOpts.Borland ? KS_Extension : KS_Unknown;
173 return LangOpts.OpenCL && !LangOpts.OpenCLCPlusPlus ? KS_Enabled
176 return LangOpts.WChar ? KS_Enabled : KS_Unknown;
178 return LangOpts.Half ? KS_Enabled : KS_Unknown;
180 if (LangOpts.Char8) return KS_Enabled;
181 if (LangOpts.CPlusPlus20) return KS_Unknown;
182 if (LangOpts.CPlusPlus) return KS_Future;
187 return LangOpts.ObjC ? KS_Enabled : KS_Unknown;
189 return LangOpts.ZVector ? KS_Enabled : KS_Unknown;
191 return LangOpts.Coroutines ? KS_Enabled : KS_Unknown;
195 return LangOpts.OpenCLCPlusPlus ? KS_Enabled : KS_Unknown;
197 return LangOpts.MSVCCompat ? KS_Enabled : KS_Unknown;
199 return LangOpts.isSYCL() ? KS_Enabled : KS_Unknown;
201 return LangOpts.CUDA ? KS_Enabled : KS_Unknown;
203 return LangOpts.HLSL ? KS_Enabled : KS_Unknown;
207 return LangOpts.CPlusPlus ? KS_Unknown : KS_Enabled;
215 return LangOpts.FixedPoint ? KS_Enabled : KS_Disabled;
223 static KeywordStatus getKeywordStatus(const LangOptions &LangOpts,
229 if (LangOpts.OpenCL && (Flags & KEYNOOPENCL)) return KS_Disabled;
230 if (LangOpts.MSVCCompat && (Flags & KEYNOMS18) &&
231 !LangOpts.isCompatibleWithMSVC(LangOptions::MSVC2015))
241 getKeywordStatusHelper(LangOpts, static_cast<TokenKey>(CurFlag)));
254 const LangOptions &LangOpts, IdentifierTable &Table) {
255 KeywordStatus AddResult = getKeywordStatus(LangOpts, Flags);
295 void IdentifierTable::AddKeywords(const LangOptions &LangOpts) {
299 FLAGS, LangOpts, *this);
302 FLAGS, LangOpts, *this);
304 if (LangOpts.CXXOperatorNames) \
307 if (LangOpts.ObjC) \
315 if (LangOpts.ParseUnknownAnytype)
317 LangOpts, *this);
319 if (LangOpts.DeclSpecKeyword)
320 AddKeyword("__declspec", tok::kw___declspec, KEYALL, LangOpts, *this);
322 if (LangOpts.IEEE128)
323 AddKeyword("__ieee128", tok::kw___float128, KEYALL, LangOpts, *this);
332 static KeywordStatus getTokenKwStatus(const LangOptions &LangOpts,
336 case tok::kw_##NAME: return getKeywordStatus(LangOpts, FLAGS);
344 bool IdentifierInfo::isKeyword(const LangOptions &LangOpts) const {
345 switch (getTokenKwStatus(LangOpts, getTokenID())) {
356 bool IdentifierInfo::isCPlusPlusKeyword(const LangOptions &LangOpts) const {
357 if (!LangOpts.CPlusPlus || !isKeyword(LangOpts))
361 LangOptions LangOptsNoCPP = LangOpts;
369 IdentifierInfo::isReserved(const LangOptions &LangOpts) const {
395 if (LangOpts.CPlusPlus && Name.contains("__"))
841 const LangOptions &LangOpts) {
850 if (LangOpts.CPlusPlus) {