Changeset 10457 in webkit


Ignore:
Timestamp:
Sep 3, 2005, 11:21:54 PM (20 years ago)
Author:
darin
Message:

Reviewed, tweaked and landed by Darin.

  • another try at some of the Windows compilation fixes should fix these bugs: 4546, 4831, 4834, 4643, 4830, 4832, 4833, 4835
  • kjs/collector.cpp: Add missing <setjmp.h> include.
  • kjs/date_object.cpp: Fix broken copysign macro.
  • kjs/dtoa.cpp: Move macro definitions down after all header includes.
  • kjs/fast_malloc.cpp: Add missing <assert.h> and <stddef.h> includes.
  • kjs/function.cpp: Remove broken isxdigit definition.
  • kjs/grammar.y: Add a missing semicolon (and remove an excess one).
  • kjs/identifier.cpp: Turn off AVOID_STATIC_CONSTRUCTORS because the placement new syntax doesn't seem to work in Visual C++ (I'm surprised to hear that, by the way).
  • kjs/value.h: Made ValueImp's destructor virtual because otherwise pointers to ValueImp on the stack aren't right for garbage collection on Windows (don't think it works that way with gcc's virtual table scheme, but it's a harmless change).
Location:
trunk/JavaScriptCore
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r10456 r10457  
     12005-09-03  Krzysztof Kowalczyk  <[email protected]>
     2
     3        Reviewed, tweaked and landed by Darin.
     4
     5        - another try at some of the Windows compilation fixes
     6          should fix these bugs: 4546, 4831, 4834, 4643, 4830, 4832, 4833, 4835
     7
     8        * kjs/collector.cpp: Add missing <setjmp.h> include.
     9        * kjs/date_object.cpp: Fix broken copysign macro.
     10        * kjs/dtoa.cpp: Move macro definitions down after all header includes.
     11        * kjs/fast_malloc.cpp: Add missing <assert.h> and <stddef.h> includes.
     12        * kjs/function.cpp: Remove broken isxdigit definition.
     13        * kjs/grammar.y: Add a missing semicolon (and remove an excess one).
     14        * kjs/identifier.cpp: Turn off AVOID_STATIC_CONSTRUCTORS because the placement new syntax
     15        doesn't seem to work in Visual C++ (I'm surprised to hear that, by the way).
     16        * kjs/value.h: Made ValueImp's destructor virtual because otherwise pointers to ValueImp
     17        on the stack aren't right for garbage collection on Windows (don't think it works that
     18        way with gcc's virtual table scheme, but it's a harmless change).
     19
    1202005-09-03  Krzysztof Kowalczyk  <[email protected]>
    221
  • trunk/JavaScriptCore/kjs/collector.cpp

    r10456 r10457  
    2727#include "value.h"
    2828
     29#include <setjmp.h>
    2930#include <algorithm>
    3031
  • trunk/JavaScriptCore/kjs/date_object.cpp

    r10456 r10457  
    6262#include <float.h>
    6363#define isfinite(x) _finite(x)
    64 #define copysign(x) _copysign(x)
     64#define copysign(x, y) _copysign(x, y)
    6565#endif
    6666
  • trunk/JavaScriptCore/kjs/dtoa.cpp

    r10456 r10457  
    178178#define INFNAN_CHECK
    179179#include "dtoa.h"
    180 #undef strtod /* do not remove: needed for WIN32 */
    181 #define strtod kjs_strtod
    182 #define dtoa kjs_dtoa
    183 #define freedtoa kjs_freedtoa
    184180
    185181
     
    269265#include "math.h"
    270266#endif
     267
     268#define strtod kjs_strtod
     269#define dtoa kjs_dtoa
     270#define freedtoa kjs_freedtoa
    271271
    272272#ifdef __cplusplus
  • trunk/JavaScriptCore/kjs/fast_malloc.cpp

    r10456 r10457  
    226226
    227227#include "fast_malloc.h"
     228
     229#include <assert.h>
     230#include <stddef.h>
    228231
    229232#define MALLOC_FAILURE_ACTION abort()
  • trunk/JavaScriptCore/kjs/function.cpp

    r10456 r10457  
    4242
    4343#include <unicode/uchar.h>
    44 
    45 #if WIN32
    46 // Define a locale-independent isxdigit.
    47 #undef isxdigit
    48 inline bool isxdigit(int c) { return _isctype(c, _HEX); }
    49 #endif
    5044
    5145using namespace KXMLCore;
  • trunk/JavaScriptCore/kjs/grammar.y

    r10416 r10457  
    166166%type <pnode> PropertyName
    167167
    168 %type <ident> ParenthesizedIdent;
     168%type <ident> ParenthesizedIdent
    169169%type <np>    MemberBracketExpr CallBracketExpr ParenthesizedBracketExpr
    170170%type <ni>    MemberDotExpr CallDotExpr ParenthesizedDotExpr
     
    189189ParenthesizedIdent:
    190190    IDENT
    191   | '(' ParenthesizedIdent ')' { $$ = $2 }
     191  | '(' ParenthesizedIdent ')' { $$ = $2; }
    192192;
    193193
  • trunk/JavaScriptCore/kjs/identifier.cpp

    r10456 r10457  
    2626// runs at init time.
    2727
     28#if !WIN32 // Visual C++ can't handle placement new, it seems.
    2829#define AVOID_STATIC_CONSTRUCTORS 1
     30#endif
    2931
    3032#if AVOID_STATIC_CONSTRUCTORS
  • trunk/JavaScriptCore/kjs/value.h

    r10084 r10457  
    7272private:
    7373    ValueImp();
    74     ~ValueImp();
     74    virtual ~ValueImp();
    7575
    7676public:
Note: See TracChangeset for help on using the changeset viewer.