Changed the workarround for a GCC compiler bug to be only active for the GCC
authorsgjesse@chromium.org <sgjesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 24 Oct 2008 09:35:27 +0000 (09:35 +0000)
committersgjesse@chromium.org <sgjesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 24 Oct 2008 09:35:27 +0000 (09:35 +0000)
version range for which the bug is known to exist.

Added include to compile with GCC 4.3.1.

BUG=122

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/top.h
test/cctest/test-api.cc

index f7595b14a987ee6bff7b83dd48edc8a3f672f3a5..866487c83592279a36f6ba15f12342b25721566f 100644 (file)
--- a/src/top.h
+++ b/src/top.h
@@ -300,14 +300,14 @@ class Top {
 };
 
 
-// TODO(122): If the GCC version is 4.2.0 or higher an additional field is added
-// to this class as a workarround for a bug in the generated code found with
-// GCC 4.2.3.
+// If the GCC version is 4.1.x or 4.2.x an additional field is added to the
+// class as a workarround for a bug in the generated code found with these
+// versions of GCC. See V8 issue 122 for details.
 class SaveContext BASE_EMBEDDED {
  public:
   SaveContext() :
       context_(Top::context()),
-#if __GNUC_VERSION__ >= 40200
+#if __GNUC_VERSION__ >= 40100 && __GNUC_VERSION__ < 40300
       dummy_(Top::context()),
 #endif
       prev_(Top::save_context()) {
@@ -324,7 +324,7 @@ class SaveContext BASE_EMBEDDED {
 
  private:
   Handle<Context> context_;
-#if __GNUC_VERSION__ >= 40200
+#if __GNUC_VERSION__ >= 40100 && __GNUC_VERSION__ < 40300
   Handle<Context> dummy_;
 #endif
   SaveContext* prev_;
index 6364d7678ef1299b5007cda3a5420fa888a02c43..359dccf3c5ce01580554437c388fcc39d96e0632 100644 (file)
@@ -28,6 +28,8 @@
 #include <map>
 #include <string>
 
+#include <stdlib.h>
+
 #include "v8.h"
 
 #include "api.h"