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