Searched refs:ThisTokBegin (Results 1 - 3 of 3) sorted by relevance

/external/clang/lib/Lex/
H A DLiteralSupport.cpp77 static unsigned ProcessCharEscape(const char *ThisTokBegin, argument
105 Diag(Diags, Features, Loc, ThisTokBegin, EscapeBegin, ThisTokBuf,
111 Diag(Diags, Features, Loc, ThisTokBegin, EscapeBegin, ThisTokBuf,
134 Diag(Diags, Features, Loc, ThisTokBegin, EscapeBegin, ThisTokBuf,
159 Diag(Diags, Features, Loc, ThisTokBegin, EscapeBegin, ThisTokBuf,
182 Diag(Diags, Features, Loc, ThisTokBegin, EscapeBegin, ThisTokBuf,
193 Diag(Diags, Features, Loc, ThisTokBegin, EscapeBegin, ThisTokBuf,
202 Diag(Diags, Features, Loc, ThisTokBegin, EscapeBegin, ThisTokBuf,
206 Diag(Diags, Features, Loc, ThisTokBegin, EscapeBegin, ThisTokBuf,
259 static bool ProcessUCNEscape(const char *ThisTokBegin, cons argument
331 MeasureUCNEscape(const char *ThisTokBegin, const char *&ThisTokBuf, const char *ThisTokEnd, unsigned CharByteWidth, const LangOptions &Features, bool &HadError) argument
366 EncodeUCNEscape(const char *ThisTokBegin, const char *&ThisTokBuf, const char *ThisTokEnd, char *&ResultBuf, bool &HadError, FullSourceLoc Loc, unsigned CharByteWidth, DiagnosticsEngine *Diags, const LangOptions &Features) argument
946 assert(C < radix && �); CharVal = C; OldVal = Val; Val *= RadixVal; OverflowOccurred |= Val.udiv(RadixVal) != OldVal; Val += CharVal; OverflowOccurred |= Val.ult(CharVal); } return OverflowOccurred; } llvm::APFloat::opStatus NumericLiteralParser::GetFloatValue(llvm::APFloat &Result) { using llvm::APFloat; unsigned n = std::min(SuffixBegin - ThisTokBegin, ThisTokEnd - ThisTokBegin); llvm::SmallString<16> Buffer; StringRef Str(ThisTokBegin, n); if (Str.find(�) != StringRef::npos) { Buffer.reserve(n); std::remove_copy_if(Str.begin(), Str.end(), std::back_inserter(Buffer), &isDigitSeparator); Str = Buffer; } return Result.convertFromString(Str, APFloat::rmNearestTiesToEven); } CharLiteralParser::CharLiteralParser(const char *begin, const char *end, SourceLocation Loc, Preprocessor &PP, tok::TokenKind kind) { HadError = false; Kind = kind; const char *TokBegin = begin; if (Kind != tok::char_constant) { ++begin; } assert(begin[0] == � && �); ++begin; if (end[-1] != �) { const char *UDSuffixEnd = end; do { --end; } while (end[-1] != �); expandUCNs(UDSuffixBuf, StringRef(end, UDSuffixEnd - end)); UDSuffixOffset = end - TokBegin; } assert(end != begin && �); --end; assert(PP.getTargetInfo().getCharWidth() == 8 && �); assert(PP.getTargetInfo().getIntWidth() <= 64 && (PP.getTargetInfo().getIntWidth() & 7) == 0 && �); assert(PP.getTargetInfo().getWCharWidth() <= 64 && �); SmallVector<uint32_t, 4> codepoint_buffer; codepoint_buffer.resize(end - begin); uint32_t *buffer_begin = &codepoint_buffer.front(); uint32_t *buffer_end = buffer_begin + codepoint_buffer.size(); uint32_t largest_character_for_kind; if (tok::wide_char_constant == Kind) { largest_character_for_kind = 0xFFFFFFFFu >> (32-PP.getTargetInfo().getWCharWidth()); } else if (tok::utf16_char_constant == Kind) { largest_character_for_kind = 0xFFFF; } else if (tok::utf32_char_constant == Kind) { largest_character_for_kind = 0x10FFFF; } else { largest_character_for_kind = 0x7Fu; } while (begin != end) { if (begin[0] != �) { char const *start = begin; do { ++begin; } while (begin != end && *begin != �); char const *tmp_in_start = start; uint32_t *tmp_out_start = buffer_begin; ConversionResult res = ConvertUTF8toUTF32(reinterpret_cast<UTF8 const **>(&start), reinterpret_cast<UTF8 const *>(begin), &buffer_begin, buffer_end, strictConversion); if (res != conversionOK) { bool NoErrorOnBadEncoding = isAscii(); unsigned Msg = diag::err_bad_character_encoding; if (NoErrorOnBadEncoding) Msg = diag::warn_bad_character_encoding; PP.Diag(Loc, Msg); if (NoErrorOnBadEncoding) { start = tmp_in_start; buffer_begin = tmp_out_start; for (; start != begin; ++start, ++buffer_begin) *buffer_begin = static_cast<uint8_t>(*start); } else { HadError = true; } } else { for (; tmp_out_start < buffer_begin; ++tmp_out_start) { if (*tmp_out_start > largest_character_for_kind) { HadError = true; PP.Diag(Loc, diag::err_character_too_large); } } } continue; } if (begin[1] == � || begin[1] == �) { unsigned short UcnLen = 0; if (!ProcessUCNEscape(TokBegin, begin, end, *buffer_begin, UcnLen, FullSourceLoc(Loc, PP.getSourceManager()), &PP.getDiagnostics(), PP.getLangOpts(), true)) { HadError = true; } else if (*buffer_begin > largest_character_for_kind) argument
[all...]
/external/clang/include/clang/Lex/
H A DLiteralSupport.h45 const char *const ThisTokBegin; member in class:clang::NumericLiteralParser
84 return SuffixBegin - ThisTokBegin;
/external/clang/lib/Parse/
H A DParseDecl.cpp656 const char *ThisTokBegin = &Buffer[0]; local
660 unsigned ActualLength = PP.getSpelling(Tok, ThisTokBegin, &Invalid);
667 while (AfterMajor < ActualLength && isDigit(ThisTokBegin[AfterMajor])) {
668 Major = Major * 10 + ThisTokBegin[AfterMajor] - '0';
691 if (ThisTokBegin[AfterMajor] != '.' || (AfterMajor + 1 == ActualLength)) {
701 while (AfterMinor < ActualLength && isDigit(ThisTokBegin[AfterMinor])) {
702 Minor = Minor * 10 + ThisTokBegin[AfterMinor] - '0';
719 if (ThisTokBegin[AfterMinor] != '.') {
729 while (AfterSubminor < ActualLength && isDigit(ThisTokBegin[AfterSubminor])) {
730 Subminor = Subminor * 10 + ThisTokBegin[AfterSubmino
[all...]

Completed in 334 milliseconds