6718830: Hotspot fails to build with gcc 4.3
Summary: Fixed linux make file and couple adlc code to meet the changes of gcc 4.3
Reviewed-by: kamg, igor
--- a/hotspot/make/linux/makefiles/gcc.make Tue Jun 24 16:52:31 2008 -0700
+++ b/hotspot/make/linux/makefiles/gcc.make Thu Jun 26 14:15:01 2008 -0700
@@ -84,8 +84,17 @@
# Compiler warnings are treated as errors
WARNINGS_ARE_ERRORS = -Werror
+
# Except for a few acceptable ones
+# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
+# conversions which might affect the values. To avoid that, we need to turn
+# it off explicitly.
+ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
+ACCEPTABLE_WARNINGS = -Wpointer-arith -Wsign-compare
+else
ACCEPTABLE_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare
+endif
+
CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS)
# Special cases
CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
--- a/hotspot/src/share/vm/adlc/adlc.hpp Tue Jun 24 16:52:31 2008 -0700
+++ b/hotspot/src/share/vm/adlc/adlc.hpp Thu Jun 26 14:15:01 2008 -0700
@@ -29,11 +29,7 @@
// standard library constants
#include "stdio.h"
#include "stdlib.h"
-#if _MSC_VER >= 1300 // Visual C++ 7.0 or later
#include <iostream>
-#else
-#include <iostream.h>
-#endif
#include "string.h"
#include "ctype.h"
#include "stdarg.h"
--- a/hotspot/src/share/vm/adlc/filebuff.hpp Tue Jun 24 16:52:31 2008 -0700
+++ b/hotspot/src/share/vm/adlc/filebuff.hpp Thu Jun 26 14:15:01 2008 -0700
@@ -23,13 +23,9 @@
*/
// FILEBUFF.HPP - Definitions for parser file buffering routines
+#include <iostream>
-#if _MSC_VER >= 1300 // Visual C++ 7.0 or later
-#include <iostream>
-#else
-#include <iostream.h>
-#endif
-
+using namespace std;
// STRUCTURE FOR HANDLING INPUT AND OUTPUT FILES
typedef struct {
const char *_name;