Index: declarative.pro
===================================================================
--- declarative.pro	(revision 870)
+++ declarative.pro	(working copy)
@@ -1,4 +1,5 @@
 TARGET     = QtDeclarative
+os2:TARGET_SHORT = QtDecl
 QPRO_PWD   = $$PWD
 QT         = core gui script network
 contains(QT_CONFIG, svg): QT += svg
Index: qml/qdeclarativeparser_p.h
===================================================================
--- qml/qdeclarativeparser_p.h	(revision 870)
+++ qml/qdeclarativeparser_p.h	(working copy)
@@ -274,6 +274,7 @@
         union {
             bool b;
             double d;
+            qint64 l;
             QDeclarativeJS::AST::Node *n;
         };
         QString s;
Index: qml/parser/qdeclarativejsparser_p.h
===================================================================
--- qml/parser/qdeclarativejsparser_p.h	(revision 870)
+++ qml/parser/qdeclarativejsparser_p.h	(working copy)
@@ -80,6 +80,7 @@
     union Value {
       int ival;
       double dval;
+      qint64 llval;
       NameId *sval;
       AST::ArgumentList *ArgumentList;
       AST::CaseBlock *CaseBlock;
@@ -216,11 +217,11 @@
 
     struct SavedToken {
        int token;
-       double dval;
+       qint64 lval;
        AST::SourceLocation loc;
     };
 
-    double yylval;
+    qint64 yylval;
     AST::SourceLocation yylloc;
     AST::SourceLocation yyprevlloc;
 
Index: qml/parser/qdeclarativejsparser.cpp
===================================================================
--- qml/parser/qdeclarativejsparser.cpp	(revision 870)
+++ qml/parser/qdeclarativejsparser.cpp	(working copy)
@@ -168,11 +168,11 @@
 
             if (first_token == last_token) {
                 yytoken = lexer->lex();
-                yylval = lexer->dval();
+                yylval = lexer->llval();
                 yylloc = location(lexer);
             } else {
                 yytoken = first_token->token;
-                yylval = first_token->dval;
+                yylval = first_token->lval;
                 yylloc = first_token->loc;
                 ++first_token;
             }
@@ -182,7 +182,7 @@
         if (action > 0) {
             if (action != ACCEPT_STATE) {
                 yytoken = -1;
-                sym(1).dval = yylval;
+                sym(1).llval = yylval;
                 loc(1) = yylloc;
             } else {
               --tos;
@@ -1789,7 +1789,7 @@
         if (yytoken != -1 && t_action(errorState, T_AUTOMATIC_SEMICOLON) && automatic(driver, yytoken)) {
             SavedToken &tk = token_buffer[0];
             tk.token = yytoken;
-            tk.dval = yylval;
+            tk.lval = yylval;
             tk.loc = yylloc;
 
             yylloc = yyprevlloc;
@@ -1814,11 +1814,11 @@
         hadErrors = true;
 
         token_buffer[0].token = yytoken;
-        token_buffer[0].dval = yylval;
+        token_buffer[0].lval = yylval;
         token_buffer[0].loc = yylloc;
 
         token_buffer[1].token = yytoken = lexer->lex();
-        token_buffer[1].dval  = yylval  = lexer->dval();
+        token_buffer[1].lval  = yylval  = lexer->llval();
         token_buffer[1].loc   = yylloc  = location(lexer);
 
         if (t_action(errorState, yytoken)) {
Index: qml/parser/qdeclarativejslexer_p.h
===================================================================
--- qml/parser/qdeclarativejslexer_p.h	(revision 870)
+++ qml/parser/qdeclarativejslexer_p.h	(working copy)
@@ -195,6 +195,7 @@
     inline int ival() const { return qsyylval.ival; }
     inline double dval() const { return qsyylval.dval; }
     inline NameId *ustr() const { return qsyylval.ustr; }
+    inline qint64 llval() const { return qsyylval.llval; }
 
     const QChar *characterBuffer() const { return buffer16; }
     int characterCount() const { return pos16; }
@@ -219,6 +220,7 @@
     union {
         int ival;
         double dval;
+        qint64 llval;
         NameId *ustr;
     } qsyylval;
 
Index: qml/qdeclarativeparser.cpp
===================================================================
--- qml/qdeclarativeparser.cpp	(revision 870)
+++ qml/qdeclarativeparser.cpp	(working copy)
@@ -259,7 +259,7 @@
 : t(Invalid) {}
 
 QDeclarativeParser::Variant::Variant(const Variant &o)
-: t(o.t), d(o.d), s(o.s)
+: t(o.t), l(o.l), s(o.s)
 {
 }
 
@@ -286,7 +286,7 @@
 QDeclarativeParser::Variant &QDeclarativeParser::Variant::operator=(const Variant &o)
 {
     t = o.t;
-    d = o.d;
+    l = o.l;
     s = o.s;
     return *this;
 }
