Submitted By: DJ Lucas (dj AT linuxfromscratch DOT org)
Date: 2005-09-21
Initial Package Version: 1.5.0
Origin: Previous gcc-3.4 patch, upstream 6.0 sources, and self.
Upstream Status: Not Submitted - Upstream targets gcc-3.2.
Description: Fixes syntax for use with gcc-4.0.x


diff -Naur jdk-build-orig/deploy/src/javaws/share/native/xmlparser.c jdk-build/deploy/src/javaws/share/native/xmlparser.c
--- jdk-build-orig/deploy/src/javaws/share/native/xmlparser.c	2004-10-19 14:04:17.000000000 -0500
+++ jdk-build/deploy/src/javaws/share/native/xmlparser.c	2005-09-21 23:18:55.000000000 -0500
@@ -50,7 +50,7 @@
  *                               10   | bits  6-11
  *                               10   | bits  0-5
  */
-static void RemoveNonAsciiUTF8FromBuffer(char *buf) {
+void RemoveNonAsciiUTF8FromBuffer(char *buf) {
     char* p;
     char* q;
     char c;
diff -Naur jdk-build-orig/hotspot/src/cpu/i486/vm/i486.ad jdk-build/hotspot/src/cpu/i486/vm/i486.ad
--- jdk-build-orig/hotspot/src/cpu/i486/vm/i486.ad	2004-10-19 13:41:32.000000000 -0500
+++ jdk-build/hotspot/src/cpu/i486/vm/i486.ad	2005-09-21 23:18:55.000000000 -0500
@@ -246,10 +246,10 @@
 static jlong fp_signmask_pool[(4+1)*2]; // 4*128bits(data) + 128bits(alignment)
 
 // Static initialization during VM startup.
-static jlong *float_signmask_pool  = double_quadword(&fp_signmask_pool[1*2], 0x7FFFFFFF7FFFFFFF, 0x7FFFFFFF7FFFFFFF); 
-static jlong *double_signmask_pool = double_quadword(&fp_signmask_pool[2*2], 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF); 
-static jlong *float_signflip_pool  = double_quadword(&fp_signmask_pool[3*2], 0x8000000080000000, 0x8000000080000000); 
-static jlong *double_signflip_pool = double_quadword(&fp_signmask_pool[4*2], 0x8000000000000000, 0x8000000000000000); 
+static jlong *float_signmask_pool  = double_quadword(&fp_signmask_pool[1*2], 0x7FFFFFFF7FFFFFFFULL, 0x7FFFFFFF7FFFFFFFULL); 
+static jlong *double_signmask_pool = double_quadword(&fp_signmask_pool[2*2], 0x7FFFFFFFFFFFFFFFULL, 0x7FFFFFFFFFFFFFFFULL); 
+static jlong *float_signflip_pool  = double_quadword(&fp_signmask_pool[3*2], 0x8000000080000000ULL, 0x8000000080000000ULL); 
+static jlong *double_signflip_pool = double_quadword(&fp_signmask_pool[4*2], 0x8000000000000000ULL, 0x8000000000000000ULL); 
 
 // !!!!! Special hack to get all type of calls to specify the byte offset
 //       from the start of the call to the point where the return address
diff -Naur jdk-build-orig/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp jdk-build/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp
--- jdk-build-orig/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp	2004-10-19 13:41:46.000000000 -0500
+++ jdk-build/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -111,7 +111,7 @@
                     "cmpxchg8b (%5); xchgl %%ebx, %1"
                     : "=A" (old_value), "=r" (lo)
                     : "1" (lo), "c" (hi), "A" (compare_value), "r" (dest), "m" (mp)
-                    : "%ebx", "cc", "memory");
+                    : "cc", "memory");
   return old_value;
 }
 
diff -Naur jdk-build-orig/hotspot/src/share/vm/asm/assembler.hpp jdk-build/hotspot/src/share/vm/asm/assembler.hpp
--- jdk-build-orig/hotspot/src/share/vm/asm/assembler.hpp	2004-10-19 13:41:56.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/asm/assembler.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -8,7 +8,10 @@
 
 // This file contains platform-independant assembler declarations.
 
+class AbstractAssembler;
 class CodeBuffer;
+class Displacement;
+class Label;
 class MacroAssembler;
 
 // Labels represent target destinations for jumps and calls.
diff -Naur jdk-build-orig/hotspot/src/share/vm/c1/c1_CacheLocals.hpp jdk-build/hotspot/src/share/vm/c1/c1_CacheLocals.hpp
--- jdk-build-orig/hotspot/src/share/vm/c1/c1_CacheLocals.hpp	2004-10-19 13:41:56.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/c1/c1_CacheLocals.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -9,6 +9,7 @@
 class IR;
 class ALocalList;
 class RInfoCollection;
+class RegisterManager;
 class RegisterState;
 class LIR_ScanInfo;
 
diff -Naur jdk-build-orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp jdk-build/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp
--- jdk-build-orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp	2004-10-19 13:42:06.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -6,6 +6,7 @@
  * SUN PROPRIETARY/CONFIDENTIAL.  Use is subject to license terms.
  */
 
+class AdjoiningGenerations;
 class PSAdaptiveSizePolicy;
 
 class ParallelScavengeHeap : public CollectedHeap {
diff -Naur jdk-build-orig/hotspot/src/share/vm/memory/concurrentMarkSweepGeneration.hpp jdk-build/hotspot/src/share/vm/memory/concurrentMarkSweepGeneration.hpp
--- jdk-build-orig/hotspot/src/share/vm/memory/concurrentMarkSweepGeneration.hpp	2004-10-19 13:42:14.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/memory/concurrentMarkSweepGeneration.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -19,6 +19,7 @@
 // means of a sliding mark-compact. (Not yet implemented.)
 
 class ConcurrentMarkSweepGeneration;
+class ConcurrentMarkSweepThread;
 class CompactibleFreeListSpace;
 class FreeChunk;
 class PromotionInfo;
diff -Naur jdk-build-orig/hotspot/src/share/vm/memory/dump.cpp jdk-build/hotspot/src/share/vm/memory/dump.cpp
--- jdk-build-orig/hotspot/src/share/vm/memory/dump.cpp	2004-10-19 13:42:14.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/memory/dump.cpp	2005-09-21 23:18:55.000000000 -0500
@@ -1035,7 +1035,7 @@
 // Support for a simple checksum of the contents of the class list
 // file to prevent trivial tampering. The algorithm matches that in
 // the MakeClassList program used by the J2SE build process.
-#define JSUM_SEED ((jlong)0xcafebabebabecafe)
+#define JSUM_SEED ((jlong)0xcafebabebabecafeULL)
 static jlong
 jsum(jlong start, const char *buf, const int len)
 {
diff -Naur jdk-build-orig/hotspot/src/share/vm/opto/node.hpp jdk-build/hotspot/src/share/vm/opto/node.hpp
--- jdk-build-orig/hotspot/src/share/vm/opto/node.hpp	2004-10-19 13:42:26.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/opto/node.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -93,6 +93,7 @@
 #if OPTO_DU_ITERATOR_ASSERT
 class DUIterator;
 class DUIterator_Fast;
+class DUIterator_Last;
 #else
 typedef uint   DUIterator;
 typedef Node** DUIterator_Fast;
diff -Naur jdk-build-orig/hotspot/src/share/vm/opto/parse.hpp jdk-build/hotspot/src/share/vm/opto/parse.hpp
--- jdk-build-orig/hotspot/src/share/vm/opto/parse.hpp	2004-10-19 13:42:26.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/opto/parse.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -9,7 +9,7 @@
 class InlineTree;
 class Parse;
 class BytecodeParseHistogram;
-
+class SwitchRange;
 
 //------------------------------InlineTree-------------------------------------
 class InlineTree : public ResourceObj {
diff -Naur jdk-build-orig/hotspot/src/share/vm/prims/jvmtiEnvThreadState.hpp jdk-build/hotspot/src/share/vm/prims/jvmtiEnvThreadState.hpp
--- jdk-build-orig/hotspot/src/share/vm/prims/jvmtiEnvThreadState.hpp	2004-10-19 13:42:32.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/prims/jvmtiEnvThreadState.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -8,6 +8,10 @@
 #ifndef _JAVA_JVMTIENVTHREADSTATE_H_
 #define _JAVA_JVMTIENVTHREADSTATE_H_
 
+
+class JvmtiEnv;
+
+
 ///////////////////////////////////////////////////////////////
 //
 // class JvmtiFramePop
diff -Naur jdk-build-orig/hotspot/src/share/vm/prims/jvmtiEventController.cpp jdk-build/hotspot/src/share/vm/prims/jvmtiEventController.cpp
--- jdk-build-orig/hotspot/src/share/vm/prims/jvmtiEventController.cpp	2004-10-19 13:42:32.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/prims/jvmtiEventController.cpp	2005-09-21 23:18:55.000000000 -0500
@@ -10,7 +10,7 @@
 # include "incls/_jvmtiEventController.cpp.incl"
 
 #ifdef JVMTI_TRACE
-#define EC_TRACE(out) if (JvmtiTrace::trace_event_controller()) { SafeResourceMark rm; tty->print_cr##out; } while (0)
+#define EC_TRACE(out) if (JvmtiTrace::trace_event_controller()) { SafeResourceMark rm; tty->print_cr out; } while (0)
 #else
 #define EC_TRACE(out)
 #endif /*JVMTI_TRACE */
diff -Naur jdk-build-orig/hotspot/src/share/vm/prims/jvmtiExport.cpp jdk-build/hotspot/src/share/vm/prims/jvmtiExport.cpp
--- jdk-build-orig/hotspot/src/share/vm/prims/jvmtiExport.cpp	2004-10-19 13:42:32.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/prims/jvmtiExport.cpp	2005-09-21 23:18:55.000000000 -0500
@@ -13,8 +13,8 @@
 extern struct JVMDI_Interface_1_ jvmdiTrace_Interface;  // temporary
 
 #ifdef JVMTI_TRACE
-#define EVT_TRACE(evt,out) if ((JvmtiTrace::event_trace_flags(evt) & JvmtiTrace::SHOW_EVENT_SENT) != 0) { SafeResourceMark rm; tty->print_cr##out; }
-#define EVT_TRIG_TRACE(evt,out) if ((JvmtiTrace::event_trace_flags(evt) & JvmtiTrace::SHOW_EVENT_TRIGGER) != 0) { SafeResourceMark rm; tty->print_cr##out; }
+#define EVT_TRACE(evt,out) if ((JvmtiTrace::event_trace_flags(evt) & JvmtiTrace::SHOW_EVENT_SENT) != 0) { SafeResourceMark rm; tty->print_cr out; }
+#define EVT_TRIG_TRACE(evt,out) if ((JvmtiTrace::event_trace_flags(evt) & JvmtiTrace::SHOW_EVENT_TRIGGER) != 0) { SafeResourceMark rm; tty->print_cr out; }
 #else
 #define EVT_TRIG_TRACE(evt,out)
 #define EVT_TRACE(evt,out)
diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/classFileParser.cpp jdk-build/hotspot/src/share/vm/runtime/classFileParser.cpp
--- jdk-build-orig/hotspot/src/share/vm/runtime/classFileParser.cpp	2004-10-19 13:42:34.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/runtime/classFileParser.cpp	2005-09-21 23:18:55.000000000 -0500
@@ -16,6 +16,9 @@
 
 // We add assert in debug mode when class format is not checked.
 
+#undef inline
+#undef __inline
+
 #ifdef ASSERT
 void inline assert_property(bool b, const char* msg, TRAPS) {
   if (!b) { fatal(msg); }
diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/globals_extension.hpp jdk-build/hotspot/src/share/vm/runtime/globals_extension.hpp
--- jdk-build-orig/hotspot/src/share/vm/runtime/globals_extension.hpp	2004-10-19 13:42:35.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/runtime/globals_extension.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -110,7 +110,9 @@
 
 #define FLAG_SET_DEFAULT(name, value) ((name) = (value))
 
-#define FLAG_SET(type, name, value)   (CommandLineFlagsEx::##type##AtPut(FLAG_MEMBER_WITH_TYPE(name,type), (type)(value)))
+//#define FLAG_SET(type, name, value)   (CommandLineFlagsEx::##type##AtPut(FLAG_MEMBER_WITH_TYPE(name,type), (type)(value)))
+
+#define FLAG_SET(type, name, value)   (CommandLineFlagsEx::type##AtPut(FLAG_MEMBER_WITH_TYPE(name,type), (type)(value)))
 
 // Can't put the following in CommandLineFlags because
 // of a circular dependency on the enum definition.
diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/stackMapTable.hpp jdk-build/hotspot/src/share/vm/runtime/stackMapTable.hpp
--- jdk-build-orig/hotspot/src/share/vm/runtime/stackMapTable.hpp	2004-10-19 13:42:38.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/runtime/stackMapTable.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -6,6 +6,8 @@
  * SUN PROPRIETARY/CONFIDENTIAL.  Use is subject to license terms.
  */
 
+class StackMapReader;
+
 // StackMapTable class is the StackMap table used by type checker
 class StackMapTable : public CHeapObj {
   friend class ClassVerifier;
diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/thread.hpp jdk-build/hotspot/src/share/vm/runtime/thread.hpp
--- jdk-build-orig/hotspot/src/share/vm/runtime/thread.hpp	2004-10-19 13:42:40.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/runtime/thread.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -459,9 +459,9 @@
   static ByteSize stack_base_offset()            { return byte_offset_of(Thread, _stack_base ); }
   static ByteSize stack_size_offset()            { return byte_offset_of(Thread, _stack_size ); }
 
-#define TLAB_FIELD_OFFSET(name) \
-  static ByteSize tlab_##name##_offset()            { return byte_offset_of(Thread, _tlab) + ThreadLocalAllocBuffer::##name##_offset(); }
-
+ #define TLAB_FIELD_OFFSET(name) \
+  static ByteSize tlab_##name##_offset()            { return byte_offset_of(Thread, _tlab) + ThreadLocalAllocBuffer::name##_offset(); }
+                                                                                 
   TLAB_FIELD_OFFSET(start)
   TLAB_FIELD_OFFSET(end)
   TLAB_FIELD_OFFSET(top)
@@ -470,7 +470,7 @@
   TLAB_FIELD_OFFSET(number_of_refills)
   TLAB_FIELD_OFFSET(fast_refill_waste)
   TLAB_FIELD_OFFSET(slow_allocations)
-
+                                                                                 
 #undef TLAB_FIELD_OFFSET
 
 };
diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/verificationType.hpp jdk-build/hotspot/src/share/vm/runtime/verificationType.hpp
--- jdk-build-orig/hotspot/src/share/vm/runtime/verificationType.hpp	2004-10-19 13:42:40.000000000 -0500
+++ jdk-build/hotspot/src/share/vm/runtime/verificationType.hpp	2005-09-21 23:18:55.000000000 -0500
@@ -39,6 +39,7 @@
 class ArrType;
 class ObjType;
 class UninitializedType;
+class ClassVerifier;
 
 // represents primary types
 // super class of all other inference types
diff -Naur jdk-build-orig/j2se/make/java/nio/Makefile jdk-build/j2se/make/java/nio/Makefile
--- jdk-build-orig/j2se/make/java/nio/Makefile	2004-10-19 13:44:54.000000000 -0500
+++ jdk-build/j2se/make/java/nio/Makefile	2005-09-21 23:18:55.000000000 -0500
@@ -117,7 +117,7 @@
      $(OBJDIR)/../../../java.lang/java/$(OBJDIRNAME)/FileDescriptor_md.obj
 endif
 ifeq ($(PLATFORM), linux)
-OTHER_CFLAGS += -Werror
+OTHER_CFLAGS += -Werror -Wno-pointer-sign
 OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH)$(SUFFIX) -ljava$(SUFFIX) -lnet$(SUFFIX) -lpthread
 endif
 ifeq ($(PLATFORM), solaris)
diff -Naur jdk-build-orig/j2se/src/share/native/sun/awt/cmm/spattrio.c jdk-build/j2se/src/share/native/sun/awt/cmm/spattrio.c
--- jdk-build-orig/j2se/src/share/native/sun/awt/cmm/spattrio.c	2004-10-19 14:00:10.000000000 -0500
+++ jdk-build/j2se/src/share/native/sun/awt/cmm/spattrio.c	2005-09-21 23:20:16.000000000 -0500
@@ -866,7 +866,7 @@
 			(SpTypeMultiLanguage == Record->DeviceModelDesc.TagType)) {
 			Record++;
 		} else {
-			((SpProfileSeqDescRecord_t	FAR *)Record)++;
+			(SpProfileSeqDescRecord_t	FAR *)Record++;
 		}
 	}
 	return SpStatSuccess;
diff -Naur jdk-build-orig/j2se/src/share/native/sun/awt/cmm/sprof-pr.h jdk-build/j2se/src/share/native/sun/awt/cmm/sprof-pr.h
--- jdk-build-orig/j2se/src/share/native/sun/awt/cmm/sprof-pr.h	2004-10-19 14:00:11.000000000 -0500
+++ jdk-build/j2se/src/share/native/sun/awt/cmm/sprof-pr.h	2005-09-21 23:18:55.000000000 -0500
@@ -619,7 +619,7 @@
 
 void FAR *SpMalloc (KpInt32_t Size);
 
-KpBool_t TestFileCB(KpfileDirEntry_t FAR *fileSearch,
+static KpBool_t TestFileCB(KpfileDirEntry_t FAR *fileSearch,
                     Limits_t             *Limits);
 
 KpInt32_t TestHeaderDate(SpDateTime_t *ValA, SpDateTime_t *ValB);
diff -Naur jdk-build-orig/j2se/src/share/native/sun/font/bidi/uchardir.c jdk-build/j2se/src/share/native/sun/font/bidi/uchardir.c
--- jdk-build-orig/j2se/src/share/native/sun/font/bidi/uchardir.c	2004-10-19 14:00:29.000000000 -0500
+++ jdk-build/j2se/src/share/native/sun/font/bidi/uchardir.c	2005-09-21 23:18:55.000000000 -0500
@@ -34,6 +34,8 @@
 
 #include "uchardir.h"
 
+static UCharDirection u_getDirectionInternal(uint32_t);
+
 /* new 4.0 surrogate data */
 static uint32_t ASCII_START = 0x0;
 static uint32_t ASCII_LIMIT = 0x80;
diff -Naur jdk-build-orig/j2se/src/solaris/bin/java_md.c jdk-build/j2se/src/solaris/bin/java_md.c
--- jdk-build-orig/j2se/src/solaris/bin/java_md.c	2004-10-19 14:01:43.000000000 -0500
+++ jdk-build/j2se/src/solaris/bin/java_md.c	2005-09-21 23:18:55.000000000 -0500
@@ -1136,7 +1136,7 @@
                     : /* Inputs */
                     "m" (arg)
                     : /* Clobbers */
-                    "%eax", "%ebx", "%ecx", "%edx"
+                    "%eax", "%ecx", "%edx"
                     );
   *eaxp = value_of_eax;
   *ebxp = value_of_ebx;
diff -Naur jdk-build-orig/j2se/src/solaris/hpi/native_threads/src/interrupt_md.c jdk-build/j2se/src/solaris/hpi/native_threads/src/interrupt_md.c
--- jdk-build-orig/j2se/src/solaris/hpi/native_threads/src/interrupt_md.c	2004-10-19 14:02:03.000000000 -0500
+++ jdk-build/j2se/src/solaris/hpi/native_threads/src/interrupt_md.c	2005-09-21 23:18:55.000000000 -0500
@@ -110,8 +110,8 @@
 }
 
 #ifndef HAVE_SIGIGNORE
-static int							
-sigignore(int sig)		
+/* static int */							
+int sigignore(int sig)		
 {				
     struct sigaction action;
     sigset_t set;
diff -Naur jdk-build-orig/j2se/src/solaris/hpi/src/system_md.c jdk-build/j2se/src/solaris/hpi/src/system_md.c
--- jdk-build-orig/j2se/src/solaris/hpi/src/system_md.c	2004-10-19 14:02:04.000000000 -0500
+++ jdk-build/j2se/src/solaris/hpi/src/system_md.c	2005-09-21 23:18:55.000000000 -0500
@@ -23,6 +23,7 @@
 #include <dlfcn.h>
 
 #include "jni_md.h"
+#include "jvm_md.h"
 #include "mutex_md.h"
 
 #include "hpi_init.h"
diff -Naur jdk-build-orig/j2se/src/solaris/javavm/export/jvm_md.h jdk-build/j2se/src/solaris/javavm/export/jvm_md.h
--- jdk-build-orig/j2se/src/solaris/javavm/export/jvm_md.h	2004-10-19 14:02:04.000000000 -0500
+++ jdk-build/j2se/src/solaris/javavm/export/jvm_md.h	2005-09-21 23:18:55.000000000 -0500
@@ -48,7 +48,7 @@
 #define JVM_O_O_APPEND   O_APPEND
 #define JVM_O_EXCL       O_EXCL
 #define JVM_O_CREAT      O_CREAT
-#define JVM_O_DELETE     0x10000
+#define JVM_O_DELETE     0x1000000
 
 /* Signals */
 
diff -Naur jdk-build-orig/j2se/src/solaris/native/sun/awt/awt_dnd.c jdk-build/j2se/src/solaris/native/sun/awt/awt_dnd.c
--- jdk-build-orig/j2se/src/solaris/native/sun/awt/awt_dnd.c	2004-10-19 14:02:14.000000000 -0500
+++ jdk-build/j2se/src/solaris/native/sun/awt/awt_dnd.c	2005-09-21 23:18:55.000000000 -0500
@@ -169,7 +169,7 @@
     return awt_root_window;
 }
 
-static unsigned char xerror_code = Success;
+unsigned char xerror_code = Success;
 
 static int 
 xerror_handler(Display *dpy, XErrorEvent *err) {
diff -Naur jdk-build-orig/share/plugin/mozilla_headers_ns610/nscore.h jdk-build/share/plugin/mozilla_headers_ns610/nscore.h
--- jdk-build-orig/share/plugin/mozilla_headers_ns610/nscore.h	2001-05-21 11:34:20.000000000 -0500
+++ jdk-build/share/plugin/mozilla_headers_ns610/nscore.h	2005-09-21 23:18:55.000000000 -0500
@@ -192,6 +192,10 @@
   #define HAVE_CPP_2BYTE_WCHAR_T
 #endif
 
+#if defined(__GNUC__)
+  #define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX
+#endif
+
   /* until we get an autoconf test for this, we'll assume it's on (since we're using it already) */
 #define HAVE_CPP_TYPENAME
 
diff -Naur jdk-build-orig/share/plugin/mozilla_headers_ns7/nscore.h jdk-build/share/plugin/mozilla_headers_ns7/nscore.h
--- jdk-build-orig/share/plugin/mozilla_headers_ns7/nscore.h	2002-09-07 12:12:44.000000000 -0500
+++ jdk-build/share/plugin/mozilla_headers_ns7/nscore.h	2005-09-21 23:18:55.000000000 -0500
@@ -202,6 +202,10 @@
   #define HAVE_CPP_2BYTE_WCHAR_T
 #endif
 
+#if defined(__GNUC__)
+  #define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX
+#endif
+
   /* until we get an autoconf test for this, we'll assume it's on (since we're using it already) */
 #define HAVE_CPP_TYPENAME
 
