Revert my user-defined literal commits - r1124{58,60,67} pending
some issues being sorted out.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112493 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Lex/LiteralSupport.cpp b/lib/Lex/LiteralSupport.cpp
index eb7337a..a12c4ae 100644
--- a/lib/Lex/LiteralSupport.cpp
+++ b/lib/Lex/LiteralSupport.cpp
@@ -758,38 +758,30 @@
///
StringLiteralParser::
StringLiteralParser(const Token *StringToks, unsigned NumStringToks,
- Preprocessor &pp, bool Complain) : PP(pp), hadError(false) {
+ Preprocessor &pp, bool Complain) : PP(pp) {
// Scan all of the string portions, remember the max individual token length,
// computing a bound on the concatenated string length, and see whether any
// piece is a wide-string. If any of the string portions is a wide-string
// literal, the result is a wide-string literal [C99 6.4.5p4].
- MaxTokenLength = StringToks[0].getLiteralLength();
- SizeBound = StringToks[0].getLiteralLength()-2; // -2 for "".
+ MaxTokenLength = StringToks[0].getLength();
+ SizeBound = StringToks[0].getLength()-2; // -2 for "".
AnyWide = StringToks[0].is(tok::wide_string_literal);
- UDSuffix = StringToks[0].getIdentifierInfo();
+
+ hadError = false;
// Implement Translation Phase #6: concatenation of string literals
/// (C99 5.1.1.2p1). The common case is only one string fragment.
for (unsigned i = 1; i != NumStringToks; ++i) {
// The string could be shorter than this if it needs cleaning, but this is a
// reasonable bound, which is all we need.
- SizeBound += StringToks[i].getLiteralLength()-2; // -2 for "".
+ SizeBound += StringToks[i].getLength()-2; // -2 for "".
// Remember maximum string piece length.
- if (StringToks[i].getLiteralLength() > MaxTokenLength)
- MaxTokenLength = StringToks[i].getLiteralLength();
+ if (StringToks[i].getLength() > MaxTokenLength)
+ MaxTokenLength = StringToks[i].getLength();
// Remember if we see any wide strings.
AnyWide |= StringToks[i].is(tok::wide_string_literal);
-
- if (StringToks[i].isUserDefinedLiteral()) {
- if (UDSuffix && UDSuffix != StringToks[i].getIdentifierInfo()) {
- // FIXME: Improve location and note previous
- PP.Diag(StringToks[0].getLocation(), diag::err_ud_suffix_mismatch);
- hadError = true;
- } else if (!UDSuffix)
- UDSuffix = StringToks[0].getIdentifierInfo();
- }
}
// Include space for the null terminator.
@@ -831,7 +823,7 @@
// and 'spelled' tokens can only shrink.
bool StringInvalid = false;
unsigned ThisTokLen = PP.getSpelling(StringToks[i], ThisTokBuf,
- &StringInvalid, true);
+ &StringInvalid);
if (StringInvalid) {
hadError = 1;
continue;
@@ -946,7 +938,7 @@
bool Complain) {
// Get the spelling of the token.
llvm::SmallString<16> SpellingBuffer;
- SpellingBuffer.resize(Tok.getLiteralLength());
+ SpellingBuffer.resize(Tok.getLength());
bool StringInvalid = false;
const char *SpellingPtr = &SpellingBuffer[0];