Lines Matching refs:LangOpts
140 LangOpts(PP.getLangOpts()), LineComment(LangOpts.LineComment), in Lexer()
154 : FileLoc(fileloc), LangOpts(langOpts), LineComment(LangOpts.LineComment), in Lexer()
174 if (LangOpts.TraditionalCPP) in resetExtendedTokenMode()
278 const LangOptions &LangOpts, char *Spelling) { in getSpellingSlow() argument
288 Spelling[Length++] = Lexer::getCharAndSizeNoWarn(BufPtr, Size, LangOpts); in getSpellingSlow()
317 Spelling[Length++] = Lexer::getCharAndSizeNoWarn(BufPtr, Size, LangOpts); in getSpellingSlow()
373 const LangOptions &LangOpts, bool *Invalid) { in getSpelling() argument
390 Result.resize(getSpellingSlow(Tok, TokStart, LangOpts, &*Result.begin())); in getSpelling()
406 const LangOptions &LangOpts, bool *Invalid) { in getSpelling() argument
444 return getSpellingSlow(Tok, TokStart, LangOpts, const_cast<char*>(Buffer)); in getSpelling()
453 const LangOptions &LangOpts) { in MeasureTokenLength() argument
455 if (getRawToken(Loc, TheTok, SM, LangOpts)) in MeasureTokenLength()
464 const LangOptions &LangOpts, in getRawToken() argument
487 Lexer TheLexer(SM.getLocForStartOfFile(LocInfo.first), LangOpts, in getRawToken()
515 const LangOptions &LangOpts) { in getBeginningOfFileToken() argument
535 Lexer TheLexer(LexerStartLoc, LangOpts, Buffer.data(), LexStart, in getBeginningOfFileToken()
563 const LangOptions &LangOpts) { in GetBeginningOfToken() argument
565 return getBeginningOfFileToken(Loc, SM, LangOpts); in GetBeginningOfToken()
571 SourceLocation BeginFileLoc = getBeginningOfFileToken(FileLoc, SM, LangOpts); in GetBeginningOfToken()
590 const LangOptions &LangOpts, in ComputePreamble() argument
597 Lexer TheLexer(FileLoc, LangOpts, Buffer.begin(), Buffer.begin(), in ComputePreamble()
729 const LangOptions &LangOpts) { in getTokenPrefixLength() argument
757 Lexer::getCharAndSizeNoWarn(TokPtr, Size, LangOpts); in getTokenPrefixLength()
789 const LangOptions &LangOpts) { in getLocForEndOfToken() argument
794 if (Offset > 0 || !isAtEndOfMacroExpansion(Loc, SM, LangOpts, &Loc)) in getLocForEndOfToken()
798 unsigned Len = Lexer::MeasureTokenLength(Loc, SM, LangOpts); in getLocForEndOfToken()
811 const LangOptions &LangOpts, in isAtStartOfMacroExpansion() argument
826 return isAtStartOfMacroExpansion(expansionLoc, SM, LangOpts, MacroBegin); in isAtStartOfMacroExpansion()
833 const LangOptions &LangOpts, in isAtEndOfMacroExpansion() argument
838 unsigned tokLen = MeasureTokenLength(spellLoc, SM, LangOpts); in isAtEndOfMacroExpansion()
854 return isAtEndOfMacroExpansion(expansionLoc, SM, LangOpts, MacroEnd); in isAtEndOfMacroExpansion()
859 const LangOptions &LangOpts) { in makeRangeFromFileLocs() argument
864 End = Lexer::getLocForEndOfToken(End, 0, SM,LangOpts); in makeRangeFromFileLocs()
894 const LangOptions &LangOpts) { in makeFileCharRange() argument
901 return makeRangeFromFileLocs(Range, SM, LangOpts); in makeFileCharRange()
904 if (!isAtStartOfMacroExpansion(Begin, SM, LangOpts, &Begin)) in makeFileCharRange()
907 return makeRangeFromFileLocs(Range, SM, LangOpts); in makeFileCharRange()
912 if (!isAtEndOfMacroExpansion(End, SM, LangOpts, &End)) in makeFileCharRange()
916 } else if (!isAtStartOfMacroExpansion(End, SM, LangOpts, &End)) in makeFileCharRange()
919 return makeRangeFromFileLocs(Range, SM, LangOpts); in makeFileCharRange()
924 if (isAtStartOfMacroExpansion(Begin, SM, LangOpts, &MacroBegin) && in makeFileCharRange()
925 ((Range.isTokenRange() && isAtEndOfMacroExpansion(End, SM, LangOpts, in makeFileCharRange()
927 (Range.isCharRange() && isAtStartOfMacroExpansion(End, SM, LangOpts, in makeFileCharRange()
934 return makeRangeFromFileLocs(Range, SM, LangOpts); in makeFileCharRange()
954 return makeFileCharRange(Range, SM, LangOpts); in makeFileCharRange()
963 const LangOptions &LangOpts, in getSourceText() argument
965 Range = makeFileCharRange(Range, SM, LangOpts); in getSourceText()
999 const LangOptions &LangOpts) { in getImmediateMacroName() argument
1039 unsigned MacroTokenLength = Lexer::MeasureTokenLength(Loc, SM, LangOpts); in getImmediateMacroName()
1045 SourceLocation Loc, const SourceManager &SM, const LangOptions &LangOpts) { in getImmediateMacroNameForDiagnostics() argument
1064 unsigned MacroTokenLength = Lexer::MeasureTokenLength(Loc, SM, LangOpts); in getImmediateMacroNameForDiagnostics()
1069 bool Lexer::isAsciiIdentifierContinueChar(char c, const LangOptions &LangOpts) { in isAsciiIdentifierContinueChar() argument
1070 return isAsciiIdentifierContinue(c, LangOpts.DollarIdents); in isAsciiIdentifierContinueChar()
1261 const LangOptions &LangOpts) { in findNextToken() argument
1263 if (!Lexer::isAtEndOfMacroExpansion(Loc, SM, LangOpts, &Loc)) in findNextToken()
1266 Loc = Lexer::getLocForEndOfToken(Loc, 0, SM, LangOpts); in findNextToken()
1280 Lexer lexer(SM.getLocForStartOfFile(LocInfo.first), LangOpts, File.begin(), in findNextToken()
1294 const LangOptions &LangOpts, bool SkipTrailingWhitespaceAndNewLine) { in findLocationAfterToken() argument
1295 Optional<Token> Tok = findNextToken(Loc, SM, LangOpts); in findLocationAfterToken()
1375 LangOpts.Trigraphs)) { in getCharAndSizeSlow()
1398 const LangOptions &LangOpts) { in getCharAndSizeSlowNoWarn() argument
1414 return getCharAndSizeSlowNoWarn(Ptr, Size, LangOpts); in getCharAndSizeSlowNoWarn()
1422 if (LangOpts.Trigraphs && Ptr[0] == '?' && Ptr[1] == '?') { in getCharAndSizeSlowNoWarn()
1460 static bool isAllowedIDChar(uint32_t C, const LangOptions &LangOpts) { in isAllowedIDChar() argument
1461 if (LangOpts.AsmPreprocessor) { in isAllowedIDChar()
1463 } else if (LangOpts.DollarIdents && '$' == C) { in isAllowedIDChar()
1465 } else if (LangOpts.CPlusPlus || LangOpts.C2x) { in isAllowedIDChar()
1474 } else if (LangOpts.C11) { in isAllowedIDChar()
1485 static bool isAllowedInitiallyIDChar(uint32_t C, const LangOptions &LangOpts) { in isAllowedInitiallyIDChar() argument
1486 if (LangOpts.AsmPreprocessor) { in isAllowedInitiallyIDChar()
1489 if (LangOpts.CPlusPlus || LangOpts.C2x) { in isAllowedInitiallyIDChar()
1494 if (!isAllowedIDChar(C, LangOpts)) in isAllowedInitiallyIDChar()
1496 if (LangOpts.C11) { in isAllowedInitiallyIDChar()
1622 DiagnosticsEngine &Diags, const LangOptions &LangOpts, uint32_t CodePoint, in diagnoseInvalidUnicodeCodepointInIdentifier() argument
1627 bool IsIDStart = isAllowedInitiallyIDChar(CodePoint, LangOpts); in diagnoseInvalidUnicodeCodepointInIdentifier()
1628 bool IsIDContinue = IsIDStart || isAllowedIDChar(CodePoint, LangOpts); in diagnoseInvalidUnicodeCodepointInIdentifier()
1657 if (!isAllowedIDChar(CodePoint, LangOpts)) { in tryConsumeIdentifierUCN()
1663 PP->getDiagnostics(), LangOpts, CodePoint, in tryConsumeIdentifierUCN()
1696 if (!isAllowedIDChar(static_cast<uint32_t>(CodePoint), LangOpts)) { in tryConsumeIdentifierUTF8Char()
1703 PP->getDiagnostics(), LangOpts, CodePoint, in tryConsumeIdentifierUTF8Char()
1722 if (isAllowedInitiallyIDChar(C, LangOpts)) { in LexUnicodeIdentifierStart()
1738 !isAllowedInitiallyIDChar(C, LangOpts) && !isUnicodeWhitespace(C)) { in LexUnicodeIdentifierStart()
1749 PP->getDiagnostics(), LangOpts, C, in LexUnicodeIdentifierStart()
1781 if (!LangOpts.DollarIdents) in LexIdentifierContinue()
1846 bool Lexer::isHexaLiteral(const char *Start, const LangOptions &LangOpts) { in isHexaLiteral() argument
1848 char C1 = Lexer::getCharAndSizeNoWarn(Start, Size, LangOpts); in isHexaLiteral()
1851 char C2 = Lexer::getCharAndSizeNoWarn(Start + Size, Size, LangOpts); in isHexaLiteral()
1872 if (!LangOpts.MicrosoftExt || !isHexaLiteral(BufferPtr, LangOpts)) in LexNumericConstant()
1882 if (!LangOpts.C99) { in LexNumericConstant()
1883 if (!isHexaLiteral(BufferPtr, LangOpts)) in LexNumericConstant()
1885 else if (!LangOpts.CPlusPlus17 && in LexNumericConstant()
1894 if (C == '\'' && (LangOpts.CPlusPlus14 || LangOpts.C2x)) { in LexNumericConstant()
1896 char Next = getCharAndSizeNoWarn(CurPtr + Size, NextSize, LangOpts); in LexNumericConstant()
1899 Diag(CurPtr, LangOpts.CPlusPlus in LexNumericConstant()
1925 assert(LangOpts.CPlusPlus); in LexUDSuffix()
1941 if (!LangOpts.CPlusPlus11) { in LexUDSuffix()
1959 else if (IsStringLiteral && LangOpts.CPlusPlus14) { in LexUDSuffix()
1969 char Next = getCharAndSizeNoWarn(CurPtr + Consumed, NextSize, LangOpts); in LexUDSuffix()
1974 StringLiteralParser::isValidUDSuffix(LangOpts, CompleteSuffix); in LexUDSuffix()
1989 Diag(CurPtr, LangOpts.MSVCCompat in LexUDSuffix()
2025 Diag(BufferPtr, LangOpts.CPlusPlus ? diag::warn_cxx98_compat_unicode_literal in LexStringLiteral()
2037 if (!isLexingRawMode() && !LangOpts.AsmPreprocessor) in LexStringLiteral()
2060 if (LangOpts.CPlusPlus) in LexStringLiteral()
2144 if (LangOpts.CPlusPlus) in LexRawStringLiteral()
2203 llvm::StringRef SlashChars = LangOpts.MSVCCompat ? "/\\" : "/"; in codeCompleteIncludedFile()
2240 Diag(BufferPtr, LangOpts.CPlusPlus in LexCharConstant()
2249 if (!isLexingRawMode() && !LangOpts.AsmPreprocessor) in LexCharConstant()
2262 if (!isLexingRawMode() && !LangOpts.AsmPreprocessor) in LexCharConstant()
2282 if (LangOpts.CPlusPlus) in LexCharConstant()
2441 EscapePtr[-2] == '?' && LangOpts.Trigraphs) in SkipLineComment()
2804 LangOpts.Trigraphs)) { in SkipBlockComment()
2986 if (LangOpts.CPlusPlus11) { in LexEndOfFile()
3178 if (!LangOpts.AllowEditorPlaceholders) in lexEditorPlaceholder()
3216 if (!LangOpts.CPlusPlus && !LangOpts.C99) { in tryReadNumericUCN()
3415 if (LangOpts.AsmPreprocessor) in tryReadUCN()
3450 if (LangOpts.CPlusPlus && !LangOpts.CPlusPlus11) in tryReadUCN()
3581 if (LangOpts.MicrosoftExt) { in LexTokenInternal()
3639 LineComment && (LangOpts.CPlusPlus || !LangOpts.TraditionalCPP)) { in LexTokenInternal()
3669 if (LangOpts.CPlusPlus11 || LangOpts.C11) { in LexTokenInternal()
3683 if (Char == 'R' && LangOpts.CPlusPlus11 && in LexTokenInternal()
3699 if (Char2 == '\'' && (LangOpts.CPlusPlus17 || LangOpts.C2x)) in LexTokenInternal()
3705 if (Char2 == 'R' && LangOpts.CPlusPlus11) { in LexTokenInternal()
3727 if (LangOpts.CPlusPlus11 || LangOpts.C11) { in LexTokenInternal()
3741 if (Char == 'R' && LangOpts.CPlusPlus11 && in LexTokenInternal()
3756 if (LangOpts.CPlusPlus11) { in LexTokenInternal()
3779 if (LangOpts.CPlusPlus11 && Char == 'R' && in LexTokenInternal()
3808 if (LangOpts.DollarIdents) { in LexTokenInternal()
3862 } else if (LangOpts.CPlusPlus && Char == '*') { in LexTokenInternal()
3911 } else if (Char == '>' && LangOpts.CPlusPlus && in LexTokenInternal()
3950 LineComment && (LangOpts.CPlusPlus || !LangOpts.TraditionalCPP); in LexTokenInternal()
3989 } else if (LangOpts.Digraphs && Char == '>') { in LexTokenInternal()
3992 } else if (LangOpts.Digraphs && Char == ':') { in LexTokenInternal()
3999 } else if (Char == '@' && LangOpts.MicrosoftExt) {// %:@ -> #@ -> Charize in LexTokenInternal()
4036 } else if (LangOpts.CUDA && After == '<') { in LexTokenInternal()
4047 if (LangOpts.CPlusPlus20) { in LexTokenInternal()
4057 if (LangOpts.CPlusPlus && !isLexingRawMode()) { in LexTokenInternal()
4065 } else if (LangOpts.Digraphs && Char == ':') { // '<:' -> '[' in LexTokenInternal()
4066 if (LangOpts.CPlusPlus11 && in LexTokenInternal()
4085 } else if (LangOpts.Digraphs && Char == '%') { // '<%' -> '{' in LexTokenInternal()
4113 } else if (LangOpts.CUDA && After == '>') { in LexTokenInternal()
4130 } else if (LangOpts.OpenCL && Char == '^') { in LexTokenInternal()
4154 if (LangOpts.Digraphs && Char == '>') { in LexTokenInternal()
4157 } else if ((LangOpts.CPlusPlus || in LexTokenInternal()
4158 LangOpts.DoubleSquareBracketAttributes) && in LexTokenInternal()
4190 } else if (Char == '@' && LangOpts.MicrosoftExt) { // #@ -> Charize in LexTokenInternal()
4209 if (CurPtr[-1] == '@' && LangOpts.ObjC) in LexTokenInternal()
4217 if (!LangOpts.AsmPreprocessor) { in LexTokenInternal()
4357 (LangOpts.CPlusPlus || LangOpts.DoubleSquareBracketAttributes)) { in LexDependencyDirectiveToken()