Apply feedback from previous patch.
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h.cvs
index 5cb83329e28c414d1e59b8794b356505b71db4d2..d6cf28d31e8a780f6df36a709cecf00afe1cabb7 100644 (file)
@@ -1,319 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.3.  */
-
-/* Skeleton interface for Bison's Yacc-like parsers in C
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
-
-/* As a special exception, you may create a larger work that contains
-   part or all of the Bison parser skeleton and distribute that work
-   under terms of your choice, so long as that work isn't itself a
-   parser generator using the skeleton or a modified version thereof
-   as a parser skeleton.  Alternatively, if you modify or redistribute
-   the parser skeleton itself, you may (at your option) remove this
-   special exception, which will cause the skeleton and the resulting
-   Bison output files to be licensed under the GNU General Public
-   License without this special exception.
-
-   This special exception was added by the Free Software Foundation in
-   version 2.2 of Bison.  */
-
-/* Tokens.  */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     ESINT64VAL = 258,
-     EUINT64VAL = 259,
-     ESAPINTVAL = 260,
-     EUAPINTVAL = 261,
-     LOCALVAL_ID = 262,
-     GLOBALVAL_ID = 263,
-     FPVAL = 264,
-     VOID = 265,
-     INTTYPE = 266,
-     FLOAT = 267,
-     DOUBLE = 268,
-     LABEL = 269,
-     TYPE = 270,
-     LOCALVAR = 271,
-     GLOBALVAR = 272,
-     LABELSTR = 273,
-     STRINGCONSTANT = 274,
-     ATSTRINGCONSTANT = 275,
-     ZEROINITIALIZER = 276,
-     TRUETOK = 277,
-     FALSETOK = 278,
-     BEGINTOK = 279,
-     ENDTOK = 280,
-     DECLARE = 281,
-     DEFINE = 282,
-     GLOBAL = 283,
-     CONSTANT = 284,
-     SECTION = 285,
-     VOLATILE = 286,
-     THREAD_LOCAL = 287,
-     TO = 288,
-     DOTDOTDOT = 289,
-     NULL_TOK = 290,
-     UNDEF = 291,
-     INTERNAL = 292,
-     LINKONCE = 293,
-     WEAK = 294,
-     APPENDING = 295,
-     DLLIMPORT = 296,
-     DLLEXPORT = 297,
-     EXTERN_WEAK = 298,
-     OPAQUE = 299,
-     EXTERNAL = 300,
-     TARGET = 301,
-     TRIPLE = 302,
-     ALIGN = 303,
-     DEPLIBS = 304,
-     CALL = 305,
-     TAIL = 306,
-     ASM_TOK = 307,
-     MODULE = 308,
-     SIDEEFFECT = 309,
-     CC_TOK = 310,
-     CCC_TOK = 311,
-     FASTCC_TOK = 312,
-     COLDCC_TOK = 313,
-     X86_STDCALLCC_TOK = 314,
-     X86_FASTCALLCC_TOK = 315,
-     DATALAYOUT = 316,
-     RET = 317,
-     BR = 318,
-     SWITCH = 319,
-     INVOKE = 320,
-     UNWIND = 321,
-     UNREACHABLE = 322,
-     ADD = 323,
-     SUB = 324,
-     MUL = 325,
-     UDIV = 326,
-     SDIV = 327,
-     FDIV = 328,
-     UREM = 329,
-     SREM = 330,
-     FREM = 331,
-     AND = 332,
-     OR = 333,
-     XOR = 334,
-     SHL = 335,
-     LSHR = 336,
-     ASHR = 337,
-     ICMP = 338,
-     FCMP = 339,
-     EQ = 340,
-     NE = 341,
-     SLT = 342,
-     SGT = 343,
-     SLE = 344,
-     SGE = 345,
-     ULT = 346,
-     UGT = 347,
-     ULE = 348,
-     UGE = 349,
-     OEQ = 350,
-     ONE = 351,
-     OLT = 352,
-     OGT = 353,
-     OLE = 354,
-     OGE = 355,
-     ORD = 356,
-     UNO = 357,
-     UEQ = 358,
-     UNE = 359,
-     MALLOC = 360,
-     ALLOCA = 361,
-     FREE = 362,
-     LOAD = 363,
-     STORE = 364,
-     GETELEMENTPTR = 365,
-     TRUNC = 366,
-     ZEXT = 367,
-     SEXT = 368,
-     FPTRUNC = 369,
-     FPEXT = 370,
-     BITCAST = 371,
-     UITOFP = 372,
-     SITOFP = 373,
-     FPTOUI = 374,
-     FPTOSI = 375,
-     INTTOPTR = 376,
-     PTRTOINT = 377,
-     PHI_TOK = 378,
-     SELECT = 379,
-     VAARG = 380,
-     EXTRACTELEMENT = 381,
-     INSERTELEMENT = 382,
-     SHUFFLEVECTOR = 383,
-     NORETURN = 384,
-     INREG = 385,
-     SRET = 386,
-     NOUNWIND = 387,
-     DEFAULT = 388,
-     HIDDEN = 389
-   };
-#endif
-/* Tokens.  */
-#define ESINT64VAL 258
-#define EUINT64VAL 259
-#define ESAPINTVAL 260
-#define EUAPINTVAL 261
-#define LOCALVAL_ID 262
-#define GLOBALVAL_ID 263
-#define FPVAL 264
-#define VOID 265
-#define INTTYPE 266
-#define FLOAT 267
-#define DOUBLE 268
-#define LABEL 269
-#define TYPE 270
-#define LOCALVAR 271
-#define GLOBALVAR 272
-#define LABELSTR 273
-#define STRINGCONSTANT 274
-#define ATSTRINGCONSTANT 275
-#define ZEROINITIALIZER 276
-#define TRUETOK 277
-#define FALSETOK 278
-#define BEGINTOK 279
-#define ENDTOK 280
-#define DECLARE 281
-#define DEFINE 282
-#define GLOBAL 283
-#define CONSTANT 284
-#define SECTION 285
-#define VOLATILE 286
-#define THREAD_LOCAL 287
-#define TO 288
-#define DOTDOTDOT 289
-#define NULL_TOK 290
-#define UNDEF 291
-#define INTERNAL 292
-#define LINKONCE 293
-#define WEAK 294
-#define APPENDING 295
-#define DLLIMPORT 296
-#define DLLEXPORT 297
-#define EXTERN_WEAK 298
-#define OPAQUE 299
-#define EXTERNAL 300
-#define TARGET 301
-#define TRIPLE 302
-#define ALIGN 303
-#define DEPLIBS 304
-#define CALL 305
-#define TAIL 306
-#define ASM_TOK 307
-#define MODULE 308
-#define SIDEEFFECT 309
-#define CC_TOK 310
-#define CCC_TOK 311
-#define FASTCC_TOK 312
-#define COLDCC_TOK 313
-#define X86_STDCALLCC_TOK 314
-#define X86_FASTCALLCC_TOK 315
-#define DATALAYOUT 316
-#define RET 317
-#define BR 318
-#define SWITCH 319
-#define INVOKE 320
-#define UNWIND 321
-#define UNREACHABLE 322
-#define ADD 323
-#define SUB 324
-#define MUL 325
-#define UDIV 326
-#define SDIV 327
-#define FDIV 328
-#define UREM 329
-#define SREM 330
-#define FREM 331
-#define AND 332
-#define OR 333
-#define XOR 334
-#define SHL 335
-#define LSHR 336
-#define ASHR 337
-#define ICMP 338
-#define FCMP 339
-#define EQ 340
-#define NE 341
-#define SLT 342
-#define SGT 343
-#define SLE 344
-#define SGE 345
-#define ULT 346
-#define UGT 347
-#define ULE 348
-#define UGE 349
-#define OEQ 350
-#define ONE 351
-#define OLT 352
-#define OGT 353
-#define OLE 354
-#define OGE 355
-#define ORD 356
-#define UNO 357
-#define UEQ 358
-#define UNE 359
-#define MALLOC 360
-#define ALLOCA 361
-#define FREE 362
-#define LOAD 363
-#define STORE 364
-#define GETELEMENTPTR 365
-#define TRUNC 366
-#define ZEXT 367
-#define SEXT 368
-#define FPTRUNC 369
-#define FPEXT 370
-#define BITCAST 371
-#define UITOFP 372
-#define SITOFP 373
-#define FPTOUI 374
-#define FPTOSI 375
-#define INTTOPTR 376
-#define PTRTOINT 377
-#define PHI_TOK 378
-#define SELECT 379
-#define VAARG 380
-#define EXTRACTELEMENT 381
-#define INSERTELEMENT 382
-#define SHUFFLEVECTOR 383
-#define NORETURN 384
-#define INREG 385
-#define SRET 386
-#define NOUNWIND 387
-#define DEFAULT 388
-#define HIDDEN 389
-
-
-
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-#line 938 "/home/laurov/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+typedef union {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
   llvm::BasicBlock                       *BasicBlockVal;
@@ -345,11 +30,11 @@ typedef union YYSTYPE
   uint64_t                          UInt64Val;
   int                               SIntVal;
   unsigned                          UIntVal;
-  double                            FPVal;
+  llvm::APFloat                    *FPVal;
   bool                              BoolVal;
 
-  char                             *StrVal;   // This memory is strdup'd!
-  llvm::ValID                       ValIDVal; // strdup'd memory maybe!
+  std::string                      *StrVal;   // This memory must be deleted
+  llvm::ValID                       ValIDVal;
 
   llvm::Instruction::BinaryOps      BinaryOpVal;
   llvm::Instruction::TermOps        TermOpVal;
@@ -358,14 +43,150 @@ typedef union YYSTYPE
   llvm::Instruction::OtherOps       OtherOpVal;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-}
-/* Line 1529 of yacc.c.  */
-#line 364 "llvmAsmParser.tab.h"
-       YYSTYPE;
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
+} YYSTYPE;
+#define        ESINT64VAL      257
+#define        EUINT64VAL      258
+#define        ESAPINTVAL      259
+#define        EUAPINTVAL      260
+#define        LOCALVAL_ID     261
+#define        GLOBALVAL_ID    262
+#define        FPVAL   263
+#define        VOID    264
+#define        INTTYPE 265
+#define        FLOAT   266
+#define        DOUBLE  267
+#define        X86_FP80        268
+#define        FP128   269
+#define        PPC_FP128       270
+#define        LABEL   271
+#define        TYPE    272
+#define        LOCALVAR        273
+#define        GLOBALVAR       274
+#define        LABELSTR        275
+#define        STRINGCONSTANT  276
+#define        ATSTRINGCONSTANT        277
+#define        PCTSTRINGCONSTANT       278
+#define        ZEROINITIALIZER 279
+#define        TRUETOK 280
+#define        FALSETOK        281
+#define        BEGINTOK        282
+#define        ENDTOK  283
+#define        DECLARE 284
+#define        DEFINE  285
+#define        GLOBAL  286
+#define        CONSTANT        287
+#define        SECTION 288
+#define        ALIAS   289
+#define        VOLATILE        290
+#define        THREAD_LOCAL    291
+#define        TO      292
+#define        DOTDOTDOT       293
+#define        NULL_TOK        294
+#define        UNDEF   295
+#define        INTERNAL        296
+#define        LINKONCE        297
+#define        WEAK    298
+#define        APPENDING       299
+#define        DLLIMPORT       300
+#define        DLLEXPORT       301
+#define        EXTERN_WEAK     302
+#define        OPAQUE  303
+#define        EXTERNAL        304
+#define        TARGET  305
+#define        TRIPLE  306
+#define        ALIGN   307
+#define        DEPLIBS 308
+#define        CALL    309
+#define        TAIL    310
+#define        ASM_TOK 311
+#define        MODULE  312
+#define        SIDEEFFECT      313
+#define        CC_TOK  314
+#define        CCC_TOK 315
+#define        FASTCC_TOK      316
+#define        COLDCC_TOK      317
+#define        X86_STDCALLCC_TOK       318
+#define        X86_FASTCALLCC_TOK      319
+#define        DATALAYOUT      320
+#define        RET     321
+#define        BR      322
+#define        SWITCH  323
+#define        INVOKE  324
+#define        UNWIND  325
+#define        UNREACHABLE     326
+#define        ADD     327
+#define        SUB     328
+#define        MUL     329
+#define        UDIV    330
+#define        SDIV    331
+#define        FDIV    332
+#define        UREM    333
+#define        SREM    334
+#define        FREM    335
+#define        AND     336
+#define        OR      337
+#define        XOR     338
+#define        SHL     339
+#define        LSHR    340
+#define        ASHR    341
+#define        ICMP    342
+#define        FCMP    343
+#define        EQ      344
+#define        NE      345
+#define        SLT     346
+#define        SGT     347
+#define        SLE     348
+#define        SGE     349
+#define        ULT     350
+#define        UGT     351
+#define        ULE     352
+#define        UGE     353
+#define        OEQ     354
+#define        ONE     355
+#define        OLT     356
+#define        OGT     357
+#define        OLE     358
+#define        OGE     359
+#define        ORD     360
+#define        UNO     361
+#define        UEQ     362
+#define        UNE     363
+#define        MALLOC  364
+#define        ALLOCA  365
+#define        FREE    366
+#define        LOAD    367
+#define        STORE   368
+#define        GETELEMENTPTR   369
+#define        TRUNC   370
+#define        ZEXT    371
+#define        SEXT    372
+#define        FPTRUNC 373
+#define        FPEXT   374
+#define        BITCAST 375
+#define        UITOFP  376
+#define        SITOFP  377
+#define        FPTOUI  378
+#define        FPTOSI  379
+#define        INTTOPTR        380
+#define        PTRTOINT        381
+#define        PHI_TOK 382
+#define        SELECT  383
+#define        VAARG   384
+#define        EXTRACTELEMENT  385
+#define        INSERTELEMENT   386
+#define        SHUFFLEVECTOR   387
+#define        SIGNEXT 388
+#define        ZEROEXT 389
+#define        NORETURN        390
+#define        INREG   391
+#define        SRET    392
+#define        NOUNWIND        393
+#define        NOALIAS 394
+#define        BYVAL   395
+#define        NEST    396
+#define        DEFAULT 397
+#define        HIDDEN  398
+#define        PROTECTED       399
 
-extern YYSTYPE llvmAsmlval;
 
+extern YYSTYPE llvmAsmlval;