[webkit-changes] cvs commit: JavaScriptCore/kjs collector.cpp
date_object.cpp dtoa.cpp fast_malloc.cpp function.cpp
grammar.y identifier.cpp value.h
Darin
darin at opensource.apple.com
Sat Sep 3 23:21:56 PDT 2005
darin 05/09/03 23:21:55
Modified: . ChangeLog
kjs collector.cpp date_object.cpp dtoa.cpp
fast_malloc.cpp function.cpp grammar.y
identifier.cpp value.h
Log:
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).
Revision Changes Path
1.815 +19 -0 JavaScriptCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/JavaScriptCore/ChangeLog,v
retrieving revision 1.814
retrieving revision 1.815
diff -u -r1.814 -r1.815
--- ChangeLog 4 Sep 2005 01:18:08 -0000 1.814
+++ ChangeLog 4 Sep 2005 06:21:53 -0000 1.815
@@ -2,6 +2,25 @@
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).
+
+2005-09-03 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
+
+ Reviewed, tweaked and landed by Darin.
+
- some Windows compilation fixes, hoping to fix the problems reported in these bugs:
4627, 4629, 4630, 4631, 4632, 4633, 4634, 4635, 4636, 4637, 4639, 4640, 4641, 4644, 4645
1.45 +1 -0 JavaScriptCore/kjs/collector.cpp
Index: collector.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/collector.cpp,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- collector.cpp 4 Sep 2005 01:18:10 -0000 1.44
+++ collector.cpp 4 Sep 2005 06:21:54 -0000 1.45
@@ -26,6 +26,7 @@
#include "list.h"
#include "value.h"
+#include <setjmp.h>
#include <algorithm>
#if !WIN32
1.54 +1 -1 JavaScriptCore/kjs/date_object.cpp
Index: date_object.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/date_object.cpp,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- date_object.cpp 4 Sep 2005 01:18:10 -0000 1.53
+++ date_object.cpp 4 Sep 2005 06:21:54 -0000 1.54
@@ -61,7 +61,7 @@
#define strncasecmp(x, y, z) strnicmp(x, y, z)
#include <float.h>
#define isfinite(x) _finite(x)
-#define copysign(x) _copysign(x)
+#define copysign(x, y) _copysign(x, y)
#endif
#include "date_object.lut.h"
1.4 +4 -4 JavaScriptCore/kjs/dtoa.cpp
Index: dtoa.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/dtoa.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- dtoa.cpp 4 Sep 2005 01:18:11 -0000 1.3
+++ dtoa.cpp 4 Sep 2005 06:21:54 -0000 1.4
@@ -177,10 +177,6 @@
#endif
#define INFNAN_CHECK
#include "dtoa.h"
-#undef strtod /* do not remove: needed for WIN32 */
-#define strtod kjs_strtod
-#define dtoa kjs_dtoa
-#define freedtoa kjs_freedtoa
@@ -269,6 +265,10 @@
#include "math.h"
#endif
+#define strtod kjs_strtod
+#define dtoa kjs_dtoa
+#define freedtoa kjs_freedtoa
+
#ifdef __cplusplus
extern "C" {
#endif
1.5 +3 -0 JavaScriptCore/kjs/fast_malloc.cpp
Index: fast_malloc.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/fast_malloc.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- fast_malloc.cpp 4 Sep 2005 01:18:11 -0000 1.4
+++ fast_malloc.cpp 4 Sep 2005 06:21:54 -0000 1.5
@@ -226,6 +226,9 @@
#include "fast_malloc.h"
+#include <assert.h>
+#include <stddef.h>
+
#define MALLOC_FAILURE_ACTION abort()
#if !WIN32
1.58 +0 -6 JavaScriptCore/kjs/function.cpp
Index: function.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/function.cpp,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- function.cpp 4 Sep 2005 01:18:11 -0000 1.57
+++ function.cpp 4 Sep 2005 06:21:54 -0000 1.58
@@ -42,12 +42,6 @@
#include <unicode/uchar.h>
-#if WIN32
-// Define a locale-independent isxdigit.
-#undef isxdigit
-inline bool isxdigit(int c) { return _isctype(c, _HEX); }
-#endif
-
using namespace KXMLCore;
namespace KJS {
1.28 +2 -2 JavaScriptCore/kjs/grammar.y
Index: grammar.y
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/grammar.y,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- grammar.y 31 Aug 2005 18:36:47 -0000 1.27
+++ grammar.y 4 Sep 2005 06:21:54 -0000 1.28
@@ -165,7 +165,7 @@
%type <plist> PropertyNameAndValueList
%type <pnode> PropertyName
-%type <ident> ParenthesizedIdent;
+%type <ident> ParenthesizedIdent
%type <np> MemberBracketExpr CallBracketExpr ParenthesizedBracketExpr
%type <ni> MemberDotExpr CallDotExpr ParenthesizedDotExpr
@@ -188,7 +188,7 @@
ParenthesizedIdent:
IDENT
- | '(' ParenthesizedIdent ')' { $$ = $2 }
+ | '(' ParenthesizedIdent ')' { $$ = $2; }
;
PrimaryExpr:
1.18 +2 -0 JavaScriptCore/kjs/identifier.cpp
Index: identifier.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/identifier.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- identifier.cpp 4 Sep 2005 01:18:11 -0000 1.17
+++ identifier.cpp 4 Sep 2005 06:21:54 -0000 1.18
@@ -25,7 +25,9 @@
// portable, and it would be good to figure out a 100% clean way that still avoids code that
// runs at init time.
+#if !WIN32 // Visual C++ can't handle placement new, it seems.
#define AVOID_STATIC_CONSTRUCTORS 1
+#endif
#if AVOID_STATIC_CONSTRUCTORS
#define KJS_IDENTIFIER_HIDE_GLOBALS 1
1.34 +1 -1 JavaScriptCore/kjs/value.h
Index: value.h
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/value.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- value.h 8 Aug 2005 04:07:29 -0000 1.33
+++ value.h 4 Sep 2005 06:21:54 -0000 1.34
@@ -71,7 +71,7 @@
private:
ValueImp();
- ~ValueImp();
+ virtual ~ValueImp();
public:
// Querying the type.
More information about the webkit-changes
mailing list