Lines Matching refs:LangOpts

143       LangOpts(PP.getLangOpts()), LineComment(LangOpts.LineComment),  in Lexer()
157 : FileLoc(fileloc), LangOpts(langOpts), LineComment(LangOpts.LineComment), in Lexer()
177 if (LangOpts.TraditionalCPP) in resetExtendedTokenMode()
281 const LangOptions &LangOpts, char *Spelling) { in getSpellingSlow() argument
290 auto CharAndSize = Lexer::getCharAndSizeNoWarn(BufPtr, LangOpts); in getSpellingSlow()
319 auto CharAndSize = Lexer::getCharAndSizeNoWarn(BufPtr, LangOpts); in getSpellingSlow()
376 const LangOptions &LangOpts, bool *Invalid) { in getSpelling() argument
393 Result.resize(getSpellingSlow(Tok, TokStart, LangOpts, &*Result.begin())); in getSpelling()
409 const LangOptions &LangOpts, bool *Invalid) { in getSpelling() argument
447 return getSpellingSlow(Tok, TokStart, LangOpts, const_cast<char*>(Buffer)); in getSpelling()
456 const LangOptions &LangOpts) { in MeasureTokenLength() argument
458 if (getRawToken(Loc, TheTok, SM, LangOpts)) in MeasureTokenLength()
467 const LangOptions &LangOpts, in getRawToken() argument
490 Lexer TheLexer(SM.getLocForStartOfFile(LocInfo.first), LangOpts, in getRawToken()
518 const LangOptions &LangOpts) { in getBeginningOfFileToken() argument
538 Lexer TheLexer(LexerStartLoc, LangOpts, Buffer.data(), LexStart, in getBeginningOfFileToken()
566 const LangOptions &LangOpts) { in GetBeginningOfToken() argument
568 return getBeginningOfFileToken(Loc, SM, LangOpts); in GetBeginningOfToken()
574 SourceLocation BeginFileLoc = getBeginningOfFileToken(FileLoc, SM, LangOpts); in GetBeginningOfToken()
593 const LangOptions &LangOpts, in ComputePreamble() argument
600 Lexer TheLexer(FileLoc, LangOpts, Buffer.begin(), Buffer.begin(), in ComputePreamble()
715 LangOpts.CPlusPlusModules) { in ComputePreamble()
748 const LangOptions &LangOpts) { in getTokenPrefixLength() argument
775 auto CharAndSize = Lexer::getCharAndSizeNoWarn(TokPtr, LangOpts); in getTokenPrefixLength()
807 const LangOptions &LangOpts) { in getLocForEndOfToken() argument
812 if (Offset > 0 || !isAtEndOfMacroExpansion(Loc, SM, LangOpts, &Loc)) in getLocForEndOfToken()
816 unsigned Len = Lexer::MeasureTokenLength(Loc, SM, LangOpts); in getLocForEndOfToken()
829 const LangOptions &LangOpts, in isAtStartOfMacroExpansion() argument
844 return isAtStartOfMacroExpansion(expansionLoc, SM, LangOpts, MacroBegin); in isAtStartOfMacroExpansion()
851 const LangOptions &LangOpts, in isAtEndOfMacroExpansion() argument
856 unsigned tokLen = MeasureTokenLength(spellLoc, SM, LangOpts); in isAtEndOfMacroExpansion()
872 return isAtEndOfMacroExpansion(expansionLoc, SM, LangOpts, MacroEnd); in isAtEndOfMacroExpansion()
877 const LangOptions &LangOpts) { in makeRangeFromFileLocs() argument
882 End = Lexer::getLocForEndOfToken(End, 0, SM,LangOpts); in makeRangeFromFileLocs()
912 const LangOptions &LangOpts) { in makeFileCharRange() argument
919 return makeRangeFromFileLocs(Range, SM, LangOpts); in makeFileCharRange()
922 if (!isAtStartOfMacroExpansion(Begin, SM, LangOpts, &Begin)) in makeFileCharRange()
925 return makeRangeFromFileLocs(Range, SM, LangOpts); in makeFileCharRange()
930 if (!isAtEndOfMacroExpansion(End, SM, LangOpts, &End)) in makeFileCharRange()
934 } else if (!isAtStartOfMacroExpansion(End, SM, LangOpts, &End)) in makeFileCharRange()
937 return makeRangeFromFileLocs(Range, SM, LangOpts); in makeFileCharRange()
942 if (isAtStartOfMacroExpansion(Begin, SM, LangOpts, &MacroBegin) && in makeFileCharRange()
943 ((Range.isTokenRange() && isAtEndOfMacroExpansion(End, SM, LangOpts, in makeFileCharRange()
945 (Range.isCharRange() && isAtStartOfMacroExpansion(End, SM, LangOpts, in makeFileCharRange()
952 return makeRangeFromFileLocs(Range, SM, LangOpts); in makeFileCharRange()
972 return makeFileCharRange(Range, SM, LangOpts); in makeFileCharRange()
981 const LangOptions &LangOpts, in getSourceText() argument
983 Range = makeFileCharRange(Range, SM, LangOpts); in getSourceText()
1017 const LangOptions &LangOpts) { in getImmediateMacroName() argument
1057 unsigned MacroTokenLength = Lexer::MeasureTokenLength(Loc, SM, LangOpts); in getImmediateMacroName()
1063 SourceLocation Loc, const SourceManager &SM, const LangOptions &LangOpts) { in getImmediateMacroNameForDiagnostics() argument
1084 unsigned MacroTokenLength = Lexer::MeasureTokenLength(Loc, SM, LangOpts); in getImmediateMacroNameForDiagnostics()
1089 bool Lexer::isAsciiIdentifierContinueChar(char c, const LangOptions &LangOpts) { in isAsciiIdentifierContinueChar() argument
1090 return isAsciiIdentifierContinue(c, LangOpts.DollarIdents); in isAsciiIdentifierContinueChar()
1282 const LangOptions &LangOpts) { in findNextToken() argument
1284 if (!Lexer::isAtEndOfMacroExpansion(Loc, SM, LangOpts, &Loc)) in findNextToken()
1287 Loc = Lexer::getLocForEndOfToken(Loc, 0, SM, LangOpts); in findNextToken()
1301 Lexer lexer(SM.getLocForStartOfFile(LocInfo.first), LangOpts, File.begin(), in findNextToken()
1315 const LangOptions &LangOpts, bool SkipTrailingWhitespaceAndNewLine) { in findLocationAfterToken() argument
1316 std::optional<Token> Tok = findNextToken(Loc, SM, LangOpts); in findLocationAfterToken()
1399 LangOpts.Trigraphs)) { in getCharAndSizeSlow()
1421 const LangOptions &LangOpts) { in getCharAndSizeSlowNoWarn() argument
1440 auto CharAndSize = getCharAndSizeSlowNoWarn(Ptr, LangOpts); in getCharAndSizeSlowNoWarn()
1450 if (LangOpts.Trigraphs && Ptr[0] == '?' && Ptr[1] == '?') { in getCharAndSizeSlowNoWarn()
1500 static bool isMathematicalExtensionID(uint32_t C, const LangOptions &LangOpts, in isMathematicalExtensionID() argument
1514 static bool isAllowedIDChar(uint32_t C, const LangOptions &LangOpts, in isAllowedIDChar() argument
1516 if (LangOpts.AsmPreprocessor) { in isAllowedIDChar()
1518 } else if (LangOpts.DollarIdents && '$' == C) { in isAllowedIDChar()
1520 } else if (LangOpts.CPlusPlus || LangOpts.C23) { in isAllowedIDChar()
1529 return isMathematicalExtensionID(C, LangOpts, /*IsStart=*/false, in isAllowedIDChar()
1531 } else if (LangOpts.C11) { in isAllowedIDChar()
1542 static bool isAllowedInitiallyIDChar(uint32_t C, const LangOptions &LangOpts, in isAllowedInitiallyIDChar() argument
1546 if (LangOpts.AsmPreprocessor) { in isAllowedInitiallyIDChar()
1549 if (LangOpts.CPlusPlus || LangOpts.C23) { in isAllowedInitiallyIDChar()
1553 return isMathematicalExtensionID(C, LangOpts, /*IsStart=*/true, in isAllowedInitiallyIDChar()
1556 if (!isAllowedIDChar(C, LangOpts, IsExtension)) in isAllowedInitiallyIDChar()
1558 if (LangOpts.C11) { in isAllowedInitiallyIDChar()
1695 DiagnosticsEngine &Diags, const LangOptions &LangOpts, uint32_t CodePoint, in diagnoseInvalidUnicodeCodepointInIdentifier() argument
1701 bool IsIDStart = isAllowedInitiallyIDChar(CodePoint, LangOpts, IsExtension); in diagnoseInvalidUnicodeCodepointInIdentifier()
1703 IsIDStart || isAllowedIDChar(CodePoint, LangOpts, IsExtension); in diagnoseInvalidUnicodeCodepointInIdentifier()
1729 if (!isAllowedIDChar(CodePoint, LangOpts, IsExtension)) { in tryConsumeIdentifierUCN()
1735 PP->getDiagnostics(), LangOpts, CodePoint, in tryConsumeIdentifierUCN()
1780 if (!isAllowedIDChar(static_cast<uint32_t>(CodePoint), LangOpts, in tryConsumeIdentifierUTF8Char()
1788 PP->getDiagnostics(), LangOpts, CodePoint, in tryConsumeIdentifierUTF8Char()
1816 if (isAllowedInitiallyIDChar(C, LangOpts, IsExtension)) { in LexUnicodeIdentifierStart()
1846 PP->getDiagnostics(), LangOpts, C, in LexUnicodeIdentifierStart()
1906 if (!LangOpts.DollarIdents) in LexIdentifierContinue()
1971 bool Lexer::isHexaLiteral(const char *Start, const LangOptions &LangOpts) { in isHexaLiteral() argument
1972 auto CharAndSize1 = Lexer::getCharAndSizeNoWarn(Start, LangOpts); in isHexaLiteral()
1978 Lexer::getCharAndSizeNoWarn(Start + CharAndSize1.Size, LangOpts); in isHexaLiteral()
1993 if (LangOpts.HLSL && C == '.' && (*CurPtr == 'x' || *CurPtr == 'r')) { in LexNumericConstant()
2004 if (!LangOpts.MicrosoftExt || !isHexaLiteral(BufferPtr, LangOpts)) in LexNumericConstant()
2014 if (!LangOpts.C99) { in LexNumericConstant()
2015 if (!isHexaLiteral(BufferPtr, LangOpts)) in LexNumericConstant()
2017 else if (!LangOpts.CPlusPlus17 && in LexNumericConstant()
2026 if (C == '\'' && (LangOpts.CPlusPlus14 || LangOpts.C23)) { in LexNumericConstant()
2027 auto [Next, NextSize] = getCharAndSizeNoWarn(CurPtr + Size, LangOpts); in LexNumericConstant()
2030 Diag(CurPtr, LangOpts.CPlusPlus in LexNumericConstant()
2056 assert(LangOpts.CPlusPlus); in LexUDSuffix()
2072 if (!LangOpts.CPlusPlus11) { in LexUDSuffix()
2090 else if (IsStringLiteral && LangOpts.CPlusPlus14) { in LexUDSuffix()
2100 getCharAndSizeNoWarn(CurPtr + Consumed, LangOpts); in LexUDSuffix()
2105 StringLiteralParser::isValidUDSuffix(LangOpts, CompleteSuffix); in LexUDSuffix()
2120 Diag(CurPtr, LangOpts.MSVCCompat in LexUDSuffix()
2156 Diag(BufferPtr, LangOpts.CPlusPlus ? diag::warn_cxx98_compat_unicode_literal in LexStringLiteral()
2168 if (!isLexingRawMode() && !LangOpts.AsmPreprocessor) in LexStringLiteral()
2191 if (LangOpts.CPlusPlus) in LexStringLiteral()
2275 if (LangOpts.CPlusPlus) in LexRawStringLiteral()
2334 llvm::StringRef SlashChars = LangOpts.MSVCCompat ? "/\\" : "/"; in codeCompleteIncludedFile()
2371 Diag(BufferPtr, LangOpts.CPlusPlus in LexCharConstant()
2380 if (!isLexingRawMode() && !LangOpts.AsmPreprocessor) in LexCharConstant()
2393 if (!isLexingRawMode() && !LangOpts.AsmPreprocessor) in LexCharConstant()
2413 if (LangOpts.CPlusPlus) in LexCharConstant()
2572 EscapePtr[-2] == '?' && LangOpts.Trigraphs) in SkipLineComment()
2935 LangOpts.Trigraphs)) { in SkipBlockComment()
3117 if (LangOpts.CPlusPlus11) { in LexEndOfFile()
3309 if (!LangOpts.AllowEditorPlaceholders) in lexEditorPlaceholder()
3347 if (!LangOpts.CPlusPlus && !LangOpts.C99) { in tryReadNumericUCN()
3554 if (LangOpts.AsmPreprocessor) in tryReadUCN()
3591 if (LangOpts.CPlusPlus && !LangOpts.CPlusPlus11) in tryReadUCN()
3721 if (LangOpts.MicrosoftExt) { in LexTokenInternal()
3779 LineComment && (LangOpts.CPlusPlus || !LangOpts.TraditionalCPP)) { in LexTokenInternal()
3809 if (LangOpts.CPlusPlus11 || LangOpts.C11) { in LexTokenInternal()
3823 if (Char == 'R' && LangOpts.CPlusPlus11 && in LexTokenInternal()
3839 if (Char2 == '\'' && (LangOpts.CPlusPlus17 || LangOpts.C23)) in LexTokenInternal()
3845 if (Char2 == 'R' && LangOpts.CPlusPlus11) { in LexTokenInternal()
3867 if (LangOpts.CPlusPlus11 || LangOpts.C11) { in LexTokenInternal()
3881 if (Char == 'R' && LangOpts.CPlusPlus11 && in LexTokenInternal()
3896 if (LangOpts.CPlusPlus11) { in LexTokenInternal()
3919 if (LangOpts.CPlusPlus11 && Char == 'R' && in LexTokenInternal()
3948 if (LangOpts.DollarIdents) { in LexTokenInternal()
4002 } else if (LangOpts.CPlusPlus && Char == '*') { in LexTokenInternal()
4051 } else if (Char == '>' && LangOpts.CPlusPlus && in LexTokenInternal()
4090 LineComment && (LangOpts.CPlusPlus || !LangOpts.TraditionalCPP); in LexTokenInternal()
4129 } else if (LangOpts.Digraphs && Char == '>') { in LexTokenInternal()
4132 } else if (LangOpts.Digraphs && Char == ':') { in LexTokenInternal()
4139 } else if (Char == '@' && LangOpts.MicrosoftExt) {// %:@ -> #@ -> Charize in LexTokenInternal()
4176 } else if (LangOpts.CUDA && After == '<') { in LexTokenInternal()
4187 if (LangOpts.CPlusPlus20) { in LexTokenInternal()
4197 if (LangOpts.CPlusPlus && !isLexingRawMode()) { in LexTokenInternal()
4205 } else if (LangOpts.Digraphs && Char == ':') { // '<:' -> '[' in LexTokenInternal()
4206 if (LangOpts.CPlusPlus11 && in LexTokenInternal()
4225 } else if (LangOpts.Digraphs && Char == '%') { // '<%' -> '{' in LexTokenInternal()
4253 } else if (LangOpts.CUDA && After == '>') { in LexTokenInternal()
4270 } else if (LangOpts.OpenCL && Char == '^') { in LexTokenInternal()
4294 if (LangOpts.Digraphs && Char == '>') { in LexTokenInternal()
4328 } else if (Char == '@' && LangOpts.MicrosoftExt) { // #@ -> Charize in LexTokenInternal()
4347 if (CurPtr[-1] == '@' && LangOpts.ObjC) in LexTokenInternal()
4355 if (!LangOpts.AsmPreprocessor) { in LexTokenInternal()