Lines Matching defs:LangOpts
78 bool Token::isSimpleTypeSpecifier(const LangOptions &LangOpts) const {
115 return getIdentifierInfo()->isKeyword(LangOpts);
188 LangOpts(PP.getLangOpts()), LineComment(LangOpts.LineComment),
202 : FileLoc(fileloc), LangOpts(langOpts), LineComment(LangOpts.LineComment),
222 if (LangOpts.TraditionalCPP)
326 const LangOptions &LangOpts, char *Spelling) {
335 auto CharAndSize = Lexer::getCharAndSizeNoWarn(BufPtr, LangOpts);
364 auto CharAndSize = Lexer::getCharAndSizeNoWarn(BufPtr, LangOpts);
421 const LangOptions &LangOpts, bool *Invalid) {
438 Result.resize(getSpellingSlow(Tok, TokStart, LangOpts, &*Result.begin()));
454 const LangOptions &LangOpts, bool *Invalid) {
492 return getSpellingSlow(Tok, TokStart, LangOpts, const_cast<char*>(Buffer));
501 const LangOptions &LangOpts) {
503 if (getRawToken(Loc, TheTok, SM, LangOpts))
512 const LangOptions &LangOpts,
535 Lexer TheLexer(SM.getLocForStartOfFile(LocInfo.first), LangOpts,
563 const LangOptions &LangOpts) {
583 Lexer TheLexer(LexerStartLoc, LangOpts, Buffer.data(), LexStart,
611 const LangOptions &LangOpts) {
613 return getBeginningOfFileToken(Loc, SM, LangOpts);
619 SourceLocation BeginFileLoc = getBeginningOfFileToken(FileLoc, SM, LangOpts);
638 const LangOptions &LangOpts,
645 Lexer TheLexer(FileLoc, LangOpts, Buffer.begin(), Buffer.begin(),
760 LangOpts.CPlusPlusModules) {
793 const LangOptions &LangOpts) {
820 auto CharAndSize = Lexer::getCharAndSizeNoWarn(TokPtr, LangOpts);
852 const LangOptions &LangOpts) {
857 if (Offset > 0 || !isAtEndOfMacroExpansion(Loc, SM, LangOpts, &Loc))
861 unsigned Len = Lexer::MeasureTokenLength(Loc, SM, LangOpts);
874 const LangOptions &LangOpts,
889 return isAtStartOfMacroExpansion(expansionLoc, SM, LangOpts, MacroBegin);
896 const LangOptions &LangOpts,
901 unsigned tokLen = MeasureTokenLength(spellLoc, SM, LangOpts);
917 return isAtEndOfMacroExpansion(expansionLoc, SM, LangOpts, MacroEnd);
922 const LangOptions &LangOpts) {
927 End = Lexer::getLocForEndOfToken(End, 0, SM,LangOpts);
957 const LangOptions &LangOpts) {
964 return makeRangeFromFileLocs(Range, SM, LangOpts);
967 if (!isAtStartOfMacroExpansion(Begin, SM, LangOpts, &Begin))
970 return makeRangeFromFileLocs(Range, SM, LangOpts);
975 if (!isAtEndOfMacroExpansion(End, SM, LangOpts, &End))
979 } else if (!isAtStartOfMacroExpansion(End, SM, LangOpts, &End))
982 return makeRangeFromFileLocs(Range, SM, LangOpts);
987 if (isAtStartOfMacroExpansion(Begin, SM, LangOpts, &MacroBegin) &&
988 ((Range.isTokenRange() && isAtEndOfMacroExpansion(End, SM, LangOpts,
990 (Range.isCharRange() && isAtStartOfMacroExpansion(End, SM, LangOpts,
997 return makeRangeFromFileLocs(Range, SM, LangOpts);
1017 return makeFileCharRange(Range, SM, LangOpts);
1026 const LangOptions &LangOpts,
1028 Range = makeFileCharRange(Range, SM, LangOpts);
1062 const LangOptions &LangOpts) {
1102 unsigned MacroTokenLength = Lexer::MeasureTokenLength(Loc, SM, LangOpts);
1108 SourceLocation Loc, const SourceManager &SM, const LangOptions &LangOpts) {
1129 unsigned MacroTokenLength = Lexer::MeasureTokenLength(Loc, SM, LangOpts);
1134 bool Lexer::isAsciiIdentifierContinueChar(char c, const LangOptions &LangOpts) {
1135 return isAsciiIdentifierContinue(c, LangOpts.DollarIdents);
1312 // FIXME: Take LangOpts into account; the language might not
1327 const LangOptions &LangOpts) {
1329 if (!Lexer::isAtEndOfMacroExpansion(Loc, SM, LangOpts, &Loc))
1332 Loc = Lexer::getLocForEndOfToken(Loc, 0, SM, LangOpts);
1346 Lexer lexer(SM.getLocForStartOfFile(LocInfo.first), LangOpts, File.begin(),
1360 const LangOptions &LangOpts, bool SkipTrailingWhitespaceAndNewLine) {
1361 std::optional<Token> Tok = findNextToken(Loc, SM, LangOpts);
1444 LangOpts.Trigraphs)) {
1466 const LangOptions &LangOpts) {
1485 auto CharAndSize = getCharAndSizeSlowNoWarn(Ptr, LangOpts);
1495 if (LangOpts.Trigraphs && Ptr[0] == '?' && Ptr[1] == '?') {
1545 static bool isMathematicalExtensionID(uint32_t C, const LangOptions &LangOpts,
1559 static bool isAllowedIDChar(uint32_t C, const LangOptions &LangOpts,
1561 if (LangOpts.AsmPreprocessor) {
1563 } else if (LangOpts.DollarIdents && '$' == C) {
1565 } else if (LangOpts.CPlusPlus || LangOpts.C23) {
1574 return isMathematicalExtensionID(C, LangOpts, /*IsStart=*/false,
1576 } else if (LangOpts.C11) {
1587 static bool isAllowedInitiallyIDChar(uint32_t C, const LangOptions &LangOpts,
1591 if (LangOpts.AsmPreprocessor) {
1594 if (LangOpts.CPlusPlus || LangOpts.C23) {
1598 return isMathematicalExtensionID(C, LangOpts, /*IsStart=*/true,
1601 if (!isAllowedIDChar(C, LangOpts, IsExtension))
1603 if (LangOpts.C11) {
1740 DiagnosticsEngine &Diags, const LangOptions &LangOpts, uint32_t CodePoint,
1746 bool IsIDStart = isAllowedInitiallyIDChar(CodePoint, LangOpts, IsExtension);
1748 IsIDStart || isAllowedIDChar(CodePoint, LangOpts, IsExtension);
1774 if (!isAllowedIDChar(CodePoint, LangOpts, IsExtension)) {
1780 PP->getDiagnostics(), LangOpts, CodePoint,
1825 if (!isAllowedIDChar(static_cast<uint32_t>(CodePoint), LangOpts,
1833 PP->getDiagnostics(), LangOpts, CodePoint,
1861 if (isAllowedInitiallyIDChar(C, LangOpts, IsExtension)) {
1891 PP->getDiagnostics(), LangOpts, C,
1951 if (!LangOpts.DollarIdents)
2016 bool Lexer::isHexaLiteral(const char *Start, const LangOptions &LangOpts) {
2017 auto CharAndSize1 = Lexer::getCharAndSizeNoWarn(Start, LangOpts);
2023 Lexer::getCharAndSizeNoWarn(Start + CharAndSize1.Size, LangOpts);
2038 if (LangOpts.HLSL && C == '.' && (*CurPtr == 'x' || *CurPtr == 'r')) {
2049 if (!LangOpts.MicrosoftExt || !isHexaLiteral(BufferPtr, LangOpts))
2059 if (!LangOpts.C99) {
2060 if (!isHexaLiteral(BufferPtr, LangOpts))
2062 else if (!LangOpts.CPlusPlus17 &&
2071 if (C == '\'' && (LangOpts.CPlusPlus14 || LangOpts.C23)) {
2072 auto [Next, NextSize] = getCharAndSizeNoWarn(CurPtr + Size, LangOpts);
2075 Diag(CurPtr, LangOpts.CPlusPlus
2101 assert(LangOpts.CPlusPlus);
2117 if (!LangOpts.CPlusPlus11) {
2135 else if (IsStringLiteral && LangOpts.CPlusPlus14) {
2145 getCharAndSizeNoWarn(CurPtr + Consumed, LangOpts);
2150 StringLiteralParser::isValidUDSuffix(LangOpts, CompleteSuffix);
2165 Diag(CurPtr, LangOpts.MSVCCompat
2201 Diag(BufferPtr, LangOpts.CPlusPlus ? diag::warn_cxx98_compat_unicode_literal
2213 if (!isLexingRawMode() && !LangOpts.AsmPreprocessor)
2236 if (LangOpts.CPlusPlus)
2268 Diag(Pos, LangOpts.CPlusPlus26
2331 if (LangOpts.CPlusPlus)
2390 llvm::StringRef SlashChars = LangOpts.MSVCCompat ? "/\\" : "/";
2427 Diag(BufferPtr, LangOpts.CPlusPlus
2436 if (!isLexingRawMode() && !LangOpts.AsmPreprocessor)
2449 if (!isLexingRawMode() && !LangOpts.AsmPreprocessor)
2469 if (LangOpts.CPlusPlus)
2628 EscapePtr[-2] == '?' && LangOpts.Trigraphs)
2991 LangOpts.Trigraphs)) {
3173 if (LangOpts.CPlusPlus11) {
3365 if (!LangOpts.AllowEditorPlaceholders)
3403 if (!LangOpts.CPlusPlus && !LangOpts.C99) {
3610 if (LangOpts.AsmPreprocessor)
3647 if (LangOpts.CPlusPlus && !LangOpts.CPlusPlus11)
3777 if (LangOpts.MicrosoftExt) {
3835 LineComment && (LangOpts.CPlusPlus || !LangOpts.TraditionalCPP)) {
3865 if (LangOpts.CPlusPlus11 || LangOpts.C11) {
3879 if (Char == 'R' && LangOpts.RawStringLiterals &&
3895 if (Char2 == '\'' && (LangOpts.CPlusPlus17 || LangOpts.C23))
3901 if (Char2 == 'R' && LangOpts.RawStringLiterals) {
3923 if (LangOpts.CPlusPlus11 || LangOpts.C11) {
3937 if (Char == 'R' && LangOpts.RawStringLiterals &&
3952 if (LangOpts.RawStringLiterals) {
3975 if (LangOpts.RawStringLiterals && Char == 'R' &&
4004 if (LangOpts.DollarIdents) {
4058 } else if (LangOpts.CPlusPlus && Char == '*') {
4107 } else if (Char == '>' && LangOpts.CPlusPlus &&
4146 LineComment && (LangOpts.CPlusPlus || !LangOpts.TraditionalCPP);
4185 } else if (LangOpts.Digraphs && Char == '>') {
4188 } else if (LangOpts.Digraphs && Char == ':') {
4195 } else if (Char == '@' && LangOpts.MicrosoftExt) {// %:@ -> #@ -> Charize
4232 } else if (LangOpts.CUDA && After == '<') {
4243 if (LangOpts.CPlusPlus20) {
4253 if (LangOpts.CPlusPlus && !isLexingRawMode()) {
4261 } else if (LangOpts.Digraphs && Char == ':') { // '<:' -> '['
4262 if (LangOpts.CPlusPlus11 &&
4281 } else if (LangOpts.Digraphs && Char == '%') { // '<%' -> '{'
4309 } else if (LangOpts.CUDA && After == '>') {
4326 } else if (LangOpts.OpenCL && Char == '^') {
4350 if (LangOpts.Digraphs && Char == '>') {
4384 } else if (Char == '@' && LangOpts.MicrosoftExt) { // #@ -> Charize
4403 if (CurPtr[-1] == '@' && LangOpts.ObjC)
4411 if (!LangOpts.AsmPreprocessor) {