aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog14
-rw-r--r--gcc/Makefile.in18
-rw-r--r--gcc/config.gcc10
-rwxr-xr-xgcc/configure8
-rw-r--r--gcc/configure.ac2
5 files changed, 50 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 61abdeb..0a566ff 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,17 @@
+2010-07-23 Kai Tietz <kai.tietz@onevision.com>
+
+ PR target/41943
+ * Makefile.in (USER_H_INC_NEXT_PRE,
+ USER_H_INC_NEXT_POST): New.
+ (stmp-int-hdrs): Prefix/postfix headers by include_next.
+ * config.gcc (user_headers_inc_next_pre): New.
+ (user_headers_inc_next_post): Likewise.
+ (*-w64-mingw*): Use for float.h post-fixing, and for
+ stddef.h/stdarg.h pre-fixing by include_next.
+ * configure.ac (user_headers_inc_next_post): New.
+ (user_headers_inc_next_pre): New.
+ * configure: Regenerated.
+
2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac: Don't disable TLS on Solaris 8/9 by default
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 22e4ee8..d66b905 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -366,6 +366,9 @@ USER_H = $(srcdir)/ginclude/float.h \
$(srcdir)/ginclude/stdfix.h \
$(EXTRA_HEADERS)
+USER_H_INC_NEXT_PRE = @user_headers_inc_next_pre@
+USER_H_INC_NEXT_POST = @user_headers_inc_next_post@
+
UNWIND_H = $(srcdir)/unwind-generic.h
# The GCC to use for compiling crt*.o.
@@ -4014,6 +4017,21 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) $(UNWIND_H) fixinc_list
chmod a+r include/$$realfile; \
fi; \
done
+ for file in .. $(USER_H_INC_NEXT_PRE); do \
+ if [ X$$file != X.. ]; then \
+ mv include/$$file include/x_$$file; \
+ echo "#include_next <$$file>" >include/$$file; \
+ cat include/x_$$file >>include/$$file; \
+ rm -f include/x_$$file; \
+ chmod a+r include/$$file; \
+ fi; \
+ done
+ for file in .. $(USER_H_INC_NEXT_POST); do \
+ if [ X$$file != X.. ]; then \
+ echo "#include_next <$$file>" >>include/$$file; \
+ chmod a+r include/$$file; \
+ fi; \
+ done
rm -f include/unwind.h
cp $(UNWIND_H) include/unwind.h
chmod a+r include/unwind.h
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 12b245d..eef0942 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -101,6 +101,12 @@
# extra_headers List of used header files from the directory
# config/${cpu_type}.
#
+# user_headers_inc_next_pre
+# List of header file names of internal gcc header
+# files, which should be prefixed by an include_next.
+# user_headers_inc_next_post
+# List of header file names of internal gcc header
+# files, which should be postfixed by an include_next.
# use_gcc_tgmath If set, add tgmath.h to the list of used header
# files.
#
@@ -171,6 +177,8 @@
out_file=
tmake_file=
extra_headers=
+user_headers_inc_next_pre=
+user_headers_inc_next_post=
use_gcc_tgmath=yes
use_gcc_stdint=none
extra_passes=
@@ -1379,6 +1387,8 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
# This makes the logic if mingw's or the w64 feature set has to be used
case ${target} in
*-w64-*)
+ user_headers_inc_next_post="${user_headers_inc_next_post} float.h"
+ user_headers_inc_next_pre="${user_headers_inc_next_pre} stddef.h stdarg.h"
tm_file="${tm_file} i386/mingw-w64.h"
if test x$enable_targets = xall; then
tm_defines="${tm_defines} TARGET_BI_ARCH=1"
diff --git a/gcc/configure b/gcc/configure
index fedfaa7..aa61cd6 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -646,6 +646,8 @@ extra_passes
extra_parts
extra_objs
extra_headers_list
+user_headers_inc_next_post
+user_headers_inc_next_pre
extra_gcc_objs
TM_MULTILIB_EXCEPTIONS_CONFIG
TM_MULTILIB_CONFIG
@@ -17107,7 +17109,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 17110 "configure"
+#line 17112 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -17213,7 +17215,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 17216 "configure"
+#line 17218 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -25573,6 +25575,8 @@ fi
+
+
# Echo link setup.
if test x${build} = x${host} ; then
if test x${host} = x${target} ; then
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 143db7e..24d38aa 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -4550,6 +4550,8 @@ AC_SUBST(TM_ENDIAN_CONFIG)
AC_SUBST(TM_MULTILIB_CONFIG)
AC_SUBST(TM_MULTILIB_EXCEPTIONS_CONFIG)
AC_SUBST(extra_gcc_objs)
+AC_SUBST(user_headers_inc_next_pre)
+AC_SUBST(user_headers_inc_next_post)
AC_SUBST(extra_headers_list)
AC_SUBST(extra_objs)
AC_SUBST(extra_parts)