summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@dcc.unicamp.br>1999-07-31 23:59:12 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-07-31 23:59:12 +0000
commit46b226ca027523eabf369863c8ce5bf6acc455f7 (patch)
tree2867087e7a1feb7c1fffc2961129580c15c9170a
parentf2f78c2f2c5486f2cc9fa8a406ab111d873f9c9e (diff)
downloadgcc-46b226ca027523eabf369863c8ce5bf6acc455f7.tar.gz
configure.in: Check for gcc 2.95 -g jboolean bug...
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br> * configure.in: Check for gcc 2.95 -g jboolean bug, that affects Solaris/x86, adding -g0 to JCFLAGS and CXXFLAGS if needed. AC_SUBST JCFLAGS. * Makefile.am (JCFLAGS): Removed; automake will take care of it. (JC1FLAGS): Replace -g with @JCFLAGS@. * Makefile.in: Rebuilt. From-SVN: r28366
-rw-r--r--libjava/ChangeLog9
-rw-r--r--libjava/Makefile.am3
-rw-r--r--libjava/Makefile.in4
-rwxr-xr-xlibjava/configure65
-rw-r--r--libjava/configure.in32
-rw-r--r--libjava/testsuite/Makefile.in1
6 files changed, 109 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index d01adcdb59d..d86449609eb 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,14 @@
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br>
+ * configure.in: Check for gcc 2.95 -g jboolean bug, that affects
+ Solaris/x86, adding -g0 to JCFLAGS and CXXFLAGS if needed.
+ AC_SUBST JCFLAGS.
+ * Makefile.am (JCFLAGS): Removed; automake will take care of it.
+ (JC1FLAGS): Replace -g with @JCFLAGS@.
+ * Makefile.in: Rebuilt.
+
+1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br>
+
* java/lang/natSystem.cc (arraycopy): Use bcopy if memmove is not
available. Don't cast memmove args to (void*).
* configure.in: Do not abort if memmove is not available.
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 067f49bf6a5..e152cf5b9cb 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -74,8 +74,7 @@ else
AM_CFLAGS = @LIBGCJ_CFLAGS@
endif
-JCFLAGS = -g
-JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
+JC1FLAGS = @JCFLAGS@ @LIBGCJ_JAVAFLAGS@
INCLUDES = -Iinclude -I$(top_srcdir)/include $(GCINCS) $(THREADINCS) \
$(EH_COMMON_INCLUDE) $(ZINCS)
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index d8836712512..3cc75ed1c21 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -78,6 +78,7 @@ GCINCS = @GCINCS@
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+JCFLAGS = @JCFLAGS@
LD = @LD@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
@@ -153,8 +154,7 @@ AM_CXXFLAGS = -fno-rtti -fvtable-thunks @LIBGCJ_CXXFLAGS@ $(WARNINGS)
@USING_GCC_FALSE@AM_CFLAGS = \
@USING_GCC_FALSE@@LIBGCJ_CFLAGS@
-JCFLAGS = -g
-JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
+JC1FLAGS = @JCFLAGS@ @LIBGCJ_JAVAFLAGS@
INCLUDES = -Iinclude -I$(top_srcdir)/include $(GCINCS) $(THREADINCS) \
$(EH_COMMON_INCLUDE) $(ZINCS)
diff --git a/libjava/configure b/libjava/configure
index eedeeb94eca..fc95e227f4c 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -4826,12 +4826,62 @@ EOF
fi
+echo $ac_n "checking for g++ -g jboolean bug""... $ac_c" 1>&6
+echo "configure:4831: checking for g++ -g jboolean bug" >&5
+if eval "test \"`echo '$''{'libjava_cv_gxx_debug_jboolean_bug'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+ cat > conftest.$ac_ext <<EOF
+#line 4844 "configure"
+#include "confdefs.h"
+typedef __java_boolean jboolean;
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:4851: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ libjava_cv_gxx_debug_jboolean_bug=no
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ libjava_cv_gxx_debug_jboolean_bug=yes
+fi
+rm -f conftest*
+ ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+
+fi
+
+echo "$ac_t""$libjava_cv_gxx_debug_jboolean_bug" 1>&6
+if test "x$libjava_cv_gxx_debug_jboolean_bug" = xyes; then
+ JCFLAGS="$JCFLAGS -g0"
+
+else
+ JCFLAGS="$JCFLAGS -g"
+fi
+
+
for ac_prog in perl
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4835: checking for $ac_word" >&5
+echo "configure:4885: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -5095,6 +5145,7 @@ s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
s%@EH_COMMON_INCLUDE@%$EH_COMMON_INCLUDE%g
s%@AM_RUNTESTFLAGS@%$AM_RUNTESTFLAGS%g
s%@ALLOCA@%$ALLOCA%g
+s%@JCFLAGS@%$JCFLAGS%g
s%@PERL@%$PERL%g
s%@here@%$here%g
@@ -5352,6 +5403,7 @@ done
EOF
cat >> $CONFIG_STATUS <<EOF
+libjava_cv_gxx_debug_jboolean_bug=$libjava_cv_gxx_debug_jboolean_bug
srcdir=${srcdir}
host=${host}
target=${target}
@@ -5365,6 +5417,17 @@ CXX="${CXX}"
EOF
cat >> $CONFIG_STATUS <<\EOF
test -z "$CONFIG_HEADERS" || echo timestamp > include/stamp-h
+case " $CONFIG_FILES " in " Makefile ")
+ if test "x$libjava_cv_gxx_debug_jboolean_bug" = xyes; then
+ rm -f Makefile.new
+ sed < Makefile > Makefile.new \
+ -e '/^CXXCOMPILE = / s/$/ -g0/' \
+ -e '/^LTCXXCOMPILE = / s/$/ -g0/'
+ mv Makefile.new Makefile ||
+ { rm -f Makefile && mv Makefile.new Makefile; }
+ fi
+ ;;
+ esac
if test -n "$CONFIG_FILES"; then
ac_file=Makefile . ${libgcj_basedir}/../config-ml.in
fi
diff --git a/libjava/configure.in b/libjava/configure.in
index a686a0bcf15..9f926a072cc 100644
--- a/libjava/configure.in
+++ b/libjava/configure.in
@@ -497,6 +497,38 @@ AC_TRY_COMPILE([#include <time.h>], [struct tm tim; tim.tm_gmtoff = 0;],
AC_FUNC_ALLOCA
+dnl On Solaris/x86, gcc 2.95 ICEs on this testcase
+AC_CACHE_CHECK([for g++ -g jboolean bug], [libjava_cv_gxx_debug_jboolean_bug],
+[ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([typedef __java_boolean jboolean;], [],
+ [libjava_cv_gxx_debug_jboolean_bug=no],
+ [libjava_cv_gxx_debug_jboolean_bug=yes])
+ AC_LANG_RESTORE
+])
+if test "x$libjava_cv_gxx_debug_jboolean_bug" = xyes; then
+ JCFLAGS="$JCFLAGS -g0"
+ dnl Top-leve Makefile overrides CXXFLAGS, and AM_CXXFLAGS is before it,
+ dnl so we have to use this dirty hack
+ dnl Note that, even though this code is within an if statement, it is
+ dnl unconditionally added to config.status, so we have to test again.
+ AC_OUTPUT_COMMANDS([case " $CONFIG_FILES " in " Makefile ")
+ if test "x$libjava_cv_gxx_debug_jboolean_bug" = xyes; then
+ rm -f Makefile.new
+ sed < Makefile > Makefile.new \
+ -e '/^CXXCOMPILE = / s/$/ -g0/' \
+ -e '/^LTCXXCOMPILE = / s/$/ -g0/'
+ mv Makefile.new Makefile ||
+ { rm -f Makefile && mv Makefile.new Makefile; }
+ fi
+ ;;
+ esac],
+ [libjava_cv_gxx_debug_jboolean_bug=$libjava_cv_gxx_debug_jboolean_bug])
+else
+ JCFLAGS="$JCFLAGS -g"
+fi
+AC_SUBST(JCFLAGS)
+
AC_CHECK_PROGS(PERL, perl, false)
case "${host}" in
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
index cd20bc9133f..ca6352e7e3e 100644
--- a/libjava/testsuite/Makefile.in
+++ b/libjava/testsuite/Makefile.in
@@ -79,6 +79,7 @@ GCINCS = @GCINCS@
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+JCFLAGS = @JCFLAGS@
LD = @LD@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@