diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-05-22 18:52:55 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-05-22 18:52:55 +0000 |
commit | 0a8a16b7271e97a23712ca5d15b2d18799d93dd8 (patch) | |
tree | 54e942861fcfc92c1e6463d63bfc29731e2a2eef | |
parent | 6ecdcc1c031c9dcece82472a889f6a6b6c5d4cef (diff) |
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37292 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/AsmParser/Lexer.cpp.cvs | 391 | ||||
-rw-r--r-- | lib/AsmParser/Lexer.l.cvs | 77 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.cpp.cvs | 692 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.h.cvs | 6 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y.cvs | 140 |
5 files changed, 646 insertions, 660 deletions
diff --git a/lib/AsmParser/Lexer.cpp.cvs b/lib/AsmParser/Lexer.cpp.cvs index c525f28553..85a95026a3 100644 --- a/lib/AsmParser/Lexer.cpp.cvs +++ b/lib/AsmParser/Lexer.cpp.cvs @@ -17,7 +17,7 @@ #define yylineno llvmAsmlineno #line 20 "Lexer.cpp" -/* A lexical scanner generated by flex */ +/* A lexical scanner generated by flex*/ /* Scanner skeleton version: * $Header$ @@ -28,6 +28,7 @@ #define YY_FLEX_MINOR_VERSION 5 #include <stdio.h> +#include <unistd.h> /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ @@ -41,7 +42,6 @@ #ifdef __cplusplus #include <stdlib.h> -#include <unistd.h> /* Use prototypes in function declarations. */ #define YY_USE_PROTOS @@ -153,6 +153,15 @@ extern FILE *yyin, *yyout; #define unput(c) yyunput( c, yytext_ptr ) +/* Some routines like yy_flex_realloc() are emitted as static but are + not called by all lexers. This generates warnings in some compilers, + notably GCC. Arrange to suppress these. */ +#ifdef __GNUC__ +#define YY_MAY_BE_UNUSED __attribute__((unused)) +#else +#define YY_MAY_BE_UNUSED +#endif + /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). @@ -259,7 +268,7 @@ YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); +static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED; static void yy_flex_free YY_PROTO(( void * )); #define yy_new_buffer yy_create_buffer @@ -881,7 +890,7 @@ goto find_rule; \ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" #define INITIAL 0 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===// // @@ -896,7 +905,7 @@ char *yytext; // //===----------------------------------------------------------------------===*/ #define YY_NEVER_INTERACTIVE 1 -#line 28 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" #include "ParserInternals.h" #include "llvm/Module.h" #include "llvm/Support/MathExtras.h" @@ -973,29 +982,20 @@ static double HexToFP(const char *Buffer) { // UnEscapeLexed - Run through the specified buffer and change \xx codes to the -// appropriate character. If AllowNull is set to false, a \00 value will cause -// an exception to be thrown. -// -// If AllowNull is set to true, the return value of the function points to the -// last character of the string in memory. -// -char *UnEscapeLexed(char *Buffer, bool AllowNull) { +// appropriate character. +char *UnEscapeLexed(char *Buffer) { char *BOut = Buffer; for (char *BIn = Buffer; *BIn; ) { if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) { - char Tmp = BIn[3]; BIn[3] = 0; // Terminate string - *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number - if (!AllowNull && !*BOut) - GenerateError("String literal cannot accept \\00 escape!"); - - BIn[3] = Tmp; // Restore character - BIn += 3; // Skip over handled chars + char Tmp = BIn[3]; BIn[3] = 0; // Terminate string + *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number + BIn[3] = Tmp; // Restore character + BIn += 3; // Skip over handled chars ++BOut; } else { *BOut++ = *BIn++; } } - return BOut; } @@ -1168,10 +1168,10 @@ YY_MALLOC_DECL YY_DECL { register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; + register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 182 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 173 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" #line 1178 "Lexer.cpp" @@ -1267,272 +1267,272 @@ do_action: /* This label is used only to access EOF actions. */ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 184 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 175 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { /* Ignore comments for now */ } YY_BREAK case 2: YY_RULE_SETUP -#line 186 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 177 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return BEGINTOK; } YY_BREAK case 3: YY_RULE_SETUP -#line 187 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 178 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return ENDTOK; } YY_BREAK case 4: YY_RULE_SETUP -#line 188 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 179 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return TRUETOK; } YY_BREAK case 5: YY_RULE_SETUP -#line 189 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 180 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return FALSETOK; } YY_BREAK case 6: YY_RULE_SETUP -#line 190 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 181 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return DECLARE; } YY_BREAK case 7: YY_RULE_SETUP -#line 191 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 182 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return DEFINE; } YY_BREAK case 8: YY_RULE_SETUP -#line 192 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 183 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return GLOBAL; } YY_BREAK case 9: YY_RULE_SETUP -#line 193 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 184 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return CONSTANT; } YY_BREAK case 10: YY_RULE_SETUP -#line 194 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 185 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return INTERNAL; } YY_BREAK case 11: YY_RULE_SETUP -#line 195 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 186 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return LINKONCE; } YY_BREAK case 12: YY_RULE_SETUP -#line 196 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 187 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return WEAK; } YY_BREAK case 13: YY_RULE_SETUP -#line 197 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 188 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return APPENDING; } YY_BREAK case 14: YY_RULE_SETUP -#line 198 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 189 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return DLLIMPORT; } YY_BREAK case 15: YY_RULE_SETUP -#line 199 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 190 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return DLLEXPORT; } YY_BREAK case 16: YY_RULE_SETUP -#line 200 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 191 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return HIDDEN; } YY_BREAK case 17: YY_RULE_SETUP -#line 201 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 192 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return PROTECTED; } YY_BREAK case 18: YY_RULE_SETUP -#line 202 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 193 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return EXTERN_WEAK; } YY_BREAK case 19: YY_RULE_SETUP -#line 203 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return EXTERNAL; } YY_BREAK case 20: YY_RULE_SETUP -#line 204 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return THREAD_LOCAL; } YY_BREAK case 21: YY_RULE_SETUP -#line 205 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return ZEROINITIALIZER; } YY_BREAK case 22: YY_RULE_SETUP -#line 206 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return DOTDOTDOT; } YY_BREAK case 23: YY_RULE_SETUP -#line 207 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return UNDEF; } YY_BREAK case 24: YY_RULE_SETUP -#line 208 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return NULL_TOK; } YY_BREAK case 25: YY_RULE_SETUP -#line 209 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return TO; } YY_BREAK case 26: YY_RULE_SETUP -#line 210 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return TAIL; } YY_BREAK case 27: YY_RULE_SETUP -#line 211 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return TARGET; } YY_BREAK case 28: YY_RULE_SETUP -#line 212 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return TRIPLE; } YY_BREAK case 29: YY_RULE_SETUP -#line 213 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return DEPLIBS; } YY_BREAK case 30: YY_RULE_SETUP -#line 214 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return DATALAYOUT; } YY_BREAK case 31: YY_RULE_SETUP -#line 215 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return VOLATILE; } YY_BREAK case 32: YY_RULE_SETUP -#line 216 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return ALIGN; } YY_BREAK case 33: YY_RULE_SETUP -#line 217 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return SECTION; } YY_BREAK case 34: YY_RULE_SETUP -#line 218 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return ALIAS; } YY_BREAK case 35: YY_RULE_SETUP -#line 219 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return MODULE; } YY_BREAK case 36: YY_RULE_SETUP -#line 220 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return ASM_TOK; } YY_BREAK case 37: YY_RULE_SETUP -#line 221 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return SIDEEFFECT; } YY_BREAK case 38: YY_RULE_SETUP -#line 223 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return CC_TOK; } YY_BREAK case 39: YY_RULE_SETUP -#line 224 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return CCC_TOK; } YY_BREAK case 40: YY_RULE_SETUP -#line 225 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return FASTCC_TOK; } YY_BREAK case 41: YY_RULE_SETUP -#line 226 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return COLDCC_TOK; } YY_BREAK case 42: YY_RULE_SETUP -#line 227 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return X86_STDCALLCC_TOK; } YY_BREAK case 43: YY_RULE_SETUP -#line 228 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return X86_FASTCALLCC_TOK; } YY_BREAK case 44: YY_RULE_SETUP -#line 230 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return INREG; } YY_BREAK case 45: YY_RULE_SETUP -#line 231 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return SRET; } YY_BREAK case 46: YY_RULE_SETUP -#line 232 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return NOUNWIND; } YY_BREAK case 47: YY_RULE_SETUP -#line 233 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return NORETURN; } YY_BREAK case 48: YY_RULE_SETUP -#line 235 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TY(Type::VoidTy, VOID); } YY_BREAK case 49: YY_RULE_SETUP -#line 236 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 227 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TY(Type::FloatTy, FLOAT); } YY_BREAK case 50: YY_RULE_SETUP -#line 237 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TY(Type::DoubleTy,DOUBLE);} YY_BREAK case 51: YY_RULE_SETUP -#line 238 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TY(Type::LabelTy, LABEL); } YY_BREAK case 52: YY_RULE_SETUP -#line 239 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return TYPE; } YY_BREAK case 53: YY_RULE_SETUP -#line 240 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return OPAQUE; } YY_BREAK case 54: YY_RULE_SETUP -#line 241 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { uint64_t NumBits = atoull(yytext+1); if (NumBits < IntegerType::MIN_INT_BITS || NumBits > IntegerType::MAX_INT_BITS) @@ -1543,419 +1543,418 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 249 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Add, ADD); } YY_BREAK case 56: YY_RULE_SETUP -#line 250 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Sub, SUB); } YY_BREAK case 57: YY_RULE_SETUP -#line 251 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Mul, MUL); } YY_BREAK case 58: YY_RULE_SETUP -#line 252 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, UDiv, UDIV); } YY_BREAK case 59: YY_RULE_SETUP -#line 253 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, SDiv, SDIV); } YY_BREAK case 60: YY_RULE_SETUP -#line 254 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, FDiv, FDIV); } YY_BREAK case 61: YY_RULE_SETUP -#line 255 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, URem, UREM); } YY_BREAK case 62: YY_RULE_SETUP -#line 256 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 247 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, SRem, SREM); } YY_BREAK case 63: YY_RULE_SETUP -#line 257 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, FRem, FREM); } YY_BREAK case 64: YY_RULE_SETUP -#line 258 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Shl, SHL); } YY_BREAK case 65: YY_RULE_SETUP -#line 259 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, LShr, LSHR); } YY_BREAK case 66: YY_RULE_SETUP -#line 260 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, AShr, ASHR); } YY_BREAK case 67: YY_RULE_SETUP -#line 261 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, And, AND); } YY_BREAK case 68: YY_RULE_SETUP -#line 262 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Or , OR ); } YY_BREAK case 69: YY_RULE_SETUP -#line 263 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Xor, XOR); } YY_BREAK case 70: YY_RULE_SETUP -#line 264 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, ICmp, ICMP); } YY_BREAK case 71: YY_RULE_SETUP -#line 265 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, FCmp, FCMP); } YY_BREAK case 72: YY_RULE_SETUP -#line 267 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return EQ; } YY_BREAK case 73: YY_RULE_SETUP -#line 268 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return NE; } YY_BREAK case 74: YY_RULE_SETUP -#line 269 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return SLT; } YY_BREAK case 75: YY_RULE_SETUP -#line 270 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return SGT; } YY_BREAK case 76: YY_RULE_SETUP -#line 271 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return SLE; } YY_BREAK case 77: YY_RULE_SETUP -#line 272 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return SGE; } YY_BREAK case 78: YY_RULE_SETUP -#line 273 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return ULT; } YY_BREAK case 79: YY_RULE_SETUP -#line 274 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return UGT; } YY_BREAK case 80: YY_RULE_SETUP -#line 275 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return ULE; } YY_BREAK case 81: YY_RULE_SETUP -#line 276 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return UGE; } YY_BREAK case 82: YY_RULE_SETUP -#line 277 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return OEQ; } YY_BREAK case 83: YY_RULE_SETUP -#line 278 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return ONE; } YY_BREAK case 84: YY_RULE_SETUP -#line 279 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return OLT; } YY_BREAK case 85: YY_RULE_SETUP -#line 280 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return OGT; } YY_BREAK case 86: YY_RULE_SETUP -#line 281 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return OLE; } YY_BREAK case 87: YY_RULE_SETUP -#line 282 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return OGE; } YY_BREAK case 88: YY_RULE_SETUP -#line 283 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return ORD; } YY_BREAK case 89: YY_RULE_SETUP -#line 284 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return UNO; } YY_BREAK case 90: YY_RULE_SETUP -#line 285 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return UEQ; } YY_BREAK case 91: YY_RULE_SETUP -#line 286 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return UNE; } YY_BREAK case 92: YY_RULE_SETUP -#line 288 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, PHI, PHI_TOK); } YY_BREAK case 93: YY_RULE_SETUP -#line 289 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, Call, CALL); } YY_BREAK case 94: YY_RULE_SETUP -#line 290 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, Trunc, TRUNC); } YY_BREAK case 95: YY_RULE_SETUP -#line 291 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 282 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, ZExt, ZEXT); } YY_BREAK case 96: YY_RULE_SETUP -#line 292 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, SExt, SEXT); } YY_BREAK case 97: YY_RULE_SETUP -#line 293 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, FPTrunc, FPTRUNC); } YY_BREAK case 98: YY_RULE_SETUP -#line 294 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, FPExt, FPEXT); } YY_BREAK case 99: YY_RULE_SETUP -#line 295 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, UIToFP, UITOFP); } YY_BREAK case 100: YY_RULE_SETUP -#line 296 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, SIToFP, SITOFP); } YY_BREAK case 101: YY_RULE_SETUP -#line 297 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, FPToUI, FPTOUI); } YY_BREAK case 102: YY_RULE_SETUP -#line 298 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, FPToSI, FPTOSI); } YY_BREAK case 103: YY_RULE_SETUP -#line 299 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, IntToPtr, INTTOPTR); } YY_BREAK case 104: YY_RULE_SETUP -#line 300 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, PtrToInt, PTRTOINT); } YY_BREAK case 105: YY_RULE_SETUP -#line 301 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, BitCast, BITCAST); } YY_BREAK case 106: YY_RULE_SETUP -#line 302 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, Select, SELECT); } YY_BREAK case 107: YY_RULE_SETUP -#line 303 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, VAArg , VAARG); } YY_BREAK case 108: YY_RULE_SETUP -#line 304 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Ret, RET); } YY_BREAK case 109: YY_RULE_SETUP -#line 305 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Br, BR); } YY_BREAK case 110: YY_RULE_SETUP -#line 306 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Switch, SWITCH); } YY_BREAK case 111: YY_RULE_SETUP -#line 307 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Invoke, INVOKE); } YY_BREAK case 112: YY_RULE_SETUP -#line 308 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Unwind, UNWIND); } YY_BREAK case 113: YY_RULE_SETUP -#line 309 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } YY_BREAK case 114: YY_RULE_SETUP -#line 311 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Malloc, MALLOC); } YY_BREAK case 115: YY_RULE_SETUP -#line 312 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Alloca, ALLOCA); } YY_BREAK case 116: YY_RULE_SETUP -#line 313 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Free, FREE); } YY_BREAK case 117: YY_RULE_SETUP -#line 314 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Load, LOAD); } YY_BREAK case 118: YY_RULE_SETUP -#line 315 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Store, STORE); } YY_BREAK case 119: YY_RULE_SETUP -#line 316 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } YY_BREAK case 120: YY_RULE_SETUP -#line 318 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); } YY_BREAK case 121: YY_RULE_SETUP -#line 319 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); } YY_BREAK case 122: YY_RULE_SETUP -#line 320 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); } YY_BREAK case 123: YY_RULE_SETUP -#line 323 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { - UnEscapeLexed(yytext+1); - llvmAsmlval.StrVal = strdup(yytext+1); // Skip % + llvmAsmlval.StrVal = new std::string(yytext+1); // Skip % return LOCALVAR; } YY_BREAK case 124: YY_RULE_SETUP -#line 328 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { - UnEscapeLexed(yytext+1); - llvmAsmlval.StrVal = strdup(yytext+1); // Skip @ + llvmAsmlval.StrVal = new std::string(yytext+1); // Skip @ return GLOBALVAR; } YY_BREAK case 125: YY_RULE_SETUP -#line 333 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 322 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { - yytext[strlen(yytext)-1] = 0; // nuke colon - UnEscapeLexed(yytext); - llvmAsmlval.StrVal = strdup(yytext); + yytext[yyleng-1] = 0; // nuke colon + llvmAsmlval.StrVal = new std::string(yytext); return LABELSTR; } YY_BREAK case 126: YY_RULE_SETUP -#line 339 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 327 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { - yytext[strlen(yytext)-2] = 0; // nuke colon, end quote - UnEscapeLexed(yytext+1); - llvmAsmlval.StrVal = strdup(yytext+1); + yytext[yyleng-2] = 0; // nuke colon, end quote + const char* EndChar = UnEscapeLexed(yytext+1); + llvmAsmlval.StrVal = + new std::string(yytext+1, EndChar - yytext - 1); return LABELSTR; } YY_BREAK case 127: YY_RULE_SETUP -#line 346 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" -{ // Note that we cannot unescape a string constant here! The - // string constant might contain a \00 which would not be - // understood by the string stuff. It is valid to make a - // [sbyte] c"Hello World\00" constant, for example. - // - yytext[strlen(yytext)-1] = 0; // nuke end quote - llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote +#line 335 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" +{ yytext[yyleng-1] = 0; // nuke end quote + const char* EndChar = UnEscapeLexed(yytext+1); + llvmAsmlval.StrVal = + new std::string(yytext+1, EndChar - yytext - 1); return STRINGCONSTANT; } YY_BREAK case 128: YY_RULE_SETUP -#line 355 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 341 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { - yytext[strlen(yytext)-1] = 0; // nuke end quote - llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote + yytext[yyleng-1] = 0; // nuke end quote + const char* EndChar = UnEscapeLexed(yytext+2); + llvmAsmlval.StrVal = + new std::string(yytext+2, EndChar - yytext - 2); return ATSTRINGCONSTANT; } YY_BREAK case 129: YY_RULE_SETUP -#line 361 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 348 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { - yytext[strlen(yytext)-1] = 0; // nuke end quote - llvmAsmlval.StrVal = strdup(yytext+2); // Nuke %, quote + yytext[yyleng-1] = 0; // nuke end quote + const char* EndChar = UnEscapeLexed(yytext+2); + llvmAsmlval.StrVal = + new std::string(yytext+2, EndChar - yytext - 2); return PCTSTRINGCONSTANT; } YY_BREAK case 130: YY_RULE_SETUP -#line 366 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" -{ int len = strlen(yytext); - uint32_t numBits = ((len * 64) / 19) + 1; - APInt Tmp(numBits, yytext, len, 10); +#line 355 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" +{ + uint32_t numBits = ((yyleng * 64) / 19) + 1; + APInt Tmp(numBits, yytext, yyleng, 10); uint32_t activeBits = Tmp.getActiveBits(); if (activeBits > 0 && activeBits < numBits) Tmp.trunc(activeBits); @@ -1970,10 +1969,10 @@ YY_RULE_SETUP YY_BREAK case 131: YY_RULE_SETUP -#line 380 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" -{ int len = strlen(yytext); - uint32_t numBits = (((len-1) * 64) / 19) + 2; - APInt Tmp(numBits, yytext, len, 10); +#line 369 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" +{ + uint32_t numBits = (((yyleng-1) * 64) / 19) + 2; + APInt Tmp(numBits, yytext, yyleng, 10); uint32_t minBits = Tmp.getMinSignedBits(); if (minBits > 0 && minBits < numBits) Tmp.trunc(minBits); @@ -1988,8 +1987,8 @@ YY_RULE_SETUP YY_BREAK case 132: YY_RULE_SETUP -#line 395 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" -{ int len = strlen(yytext+3) - 3; +#line 384 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" +{ int len = yyleng - 3; uint32_t bits = len * 4; APInt Tmp(bits, yytext+3, len, 16); uint32_t activeBits = Tmp.getActiveBits(); @@ -2009,7 +2008,7 @@ YY_RULE_SETUP YY_BREAK case 133: YY_RULE_SETUP -#line 413 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 402 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+1); if ((unsigned)Val != Val) @@ -2020,7 +2019,7 @@ YY_RULE_SETUP YY_BREAK case 134: YY_RULE_SETUP -#line 420 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 409 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+1); if ((unsigned)Val != Val) @@ -2031,16 +2030,16 @@ YY_RULE_SETUP YY_BREAK case 135: YY_RULE_SETUP -#line 428 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 417 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = atof(yytext); return FPVAL; } YY_BREAK case 136: YY_RULE_SETUP -#line 429 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 418 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 431 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 420 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { /* Make sure to free the internal buffers for flex when we are * done reading our input! @@ -2051,20 +2050,20 @@ case YY_STATE_EOF(INITIAL): YY_BREAK case 137: YY_RULE_SETUP -#line 439 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 428 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { /* Ignore whitespace */ } YY_BREAK case 138: YY_RULE_SETUP -#line 440 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 429 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" { return yytext[0]; } YY_BREAK case 139: YY_RULE_SETUP -#line 442 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l" +#line 431 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l" YY_FATAL_ERROR( "flex |