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

/freebsd-10.0-release/contrib/llvm/tools/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,
217 static bool ProcessUCNEscape(const char *ThisTokBegin, cons argument
289 MeasureUCNEscape(const char *ThisTokBegin, const char *&ThisTokBuf, const char *ThisTokEnd, unsigned CharByteWidth, const LangOptions &Features, bool &HadError) argument
324 EncodeUCNEscape(const char *ThisTokBegin, const char *&ThisTokBuf, const char *ThisTokEnd, char *&ResultBuf, bool &HadError, FullSourceLoc Loc, unsigned CharByteWidth, DiagnosticsEngine *Diags, const LangOptions &Features) argument
812 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); return Result.convertFromString(StringRef(ThisTokBegin, n), 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] != �); UDSuffixBuf.assign(end, UDSuffixEnd); 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...]
/freebsd-10.0-release/contrib/llvm/tools/clang/include/clang/Lex/
H A DLiteralSupport.h42 const char *const ThisTokBegin; member in class:clang::NumericLiteralParser
79 return SuffixBegin - ThisTokBegin;
/freebsd-10.0-release/contrib/llvm/tools/clang/lib/Parse/
H A DParseDecl.cpp705 const char *ThisTokBegin = &Buffer[0]; local
709 unsigned ActualLength = PP.getSpelling(Tok, ThisTokBegin, &Invalid);
716 while (AfterMajor < ActualLength && isDigit(ThisTokBegin[AfterMajor])) {
717 Major = Major * 10 + ThisTokBegin[AfterMajor] - '0';
739 if (ThisTokBegin[AfterMajor] != '.' || (AfterMajor + 1 == ActualLength)) {
748 while (AfterMinor < ActualLength && isDigit(ThisTokBegin[AfterMinor])) {
749 Minor = Minor * 10 + ThisTokBegin[AfterMinor] - '0';
766 if (ThisTokBegin[AfterMinor] != '.') {
775 while (AfterSubminor < ActualLength && isDigit(ThisTokBegin[AfterSubminor])) {
776 Subminor = Subminor * 10 + ThisTokBegin[AfterSubmino
[all...]

Completed in 98 milliseconds