Commit 2d309510 by Paolo Bonzini Committed by Paolo Bonzini

re PR middle-end/24252 (Missing "warning: control reaches end of non-void…

re PR middle-end/24252 (Missing "warning: control reaches end of non-void function" in static function)

2006-01-04  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/24252

	* Makefile.def (flags_to_pass): Add STAGE1_CFLAGS and STAGE1_LANGUAGES.
	* Makefile.tpl (OBJDUMP): New.
	(EXTRA_HOST_FLAGS): Add it.
	(EXTRA_GCC_FLAGS): Remove flags already specified in flags_to_pass.

        * Makefile.tpl (stage[+id+]-start, stage[+id+]-end): Do not try
        to use symbolic links between directories.  Avoid race conditions
        or make them harmless.
        * configure.in: Do not try to use symbolic links between directories.

	* Makefile.def (LEAN): Pass.
	* Makefile.tpl (LEAN): Define.
	(stage[+id+]-start): Accept that the previous directory does not
	exist, if the bootstrap is lean.
	(stage[+id+]-bubble): Invoke lean bootstrap commands after
	stage[+id+]-start.  Use a makefile variable and an `if' instead of a
	configure substitution.
	([+compare-target+]): Likewise.
	([+bootstrap-target+]-lean): New.
	* configure.in: Remove lean bootstrap support from here.

        * Makefile.in: Regenerate.
        * configure: Regenerate.

From-SVN: r109325
parent f7ace77f
2006-01-04 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/24252
* Makefile.def (flags_to_pass): Add STAGE1_CFLAGS and STAGE1_LANGUAGES.
* Makefile.tpl (OBJDUMP): New.
(EXTRA_HOST_FLAGS): Add it.
(EXTRA_GCC_FLAGS): Remove flags already specified in flags_to_pass.
* Makefile.tpl (stage[+id+]-start, stage[+id+]-end): Do not try
to use symbolic links between directories. Avoid race conditions
or make them harmless.
* configure.in: Do not try to use symbolic links between directories.
* Makefile.def (LEAN): Pass.
* Makefile.tpl (LEAN): Define.
(stage[+id+]-start): Accept that the previous directory does not
exist, if the bootstrap is lean.
(stage[+id+]-bubble): Invoke lean bootstrap commands after
stage[+id+]-start. Use a makefile variable and an `if' instead of a
configure substitution.
([+compare-target+]): Likewise.
([+bootstrap-target+]-lean): New.
* configure.in: Remove lean bootstrap support from here.
* Makefile.in: Regenerate.
* configure: Regenerate.
2006-01-04 Ben Elliston <bje@au.ibm.com>
* MAINTAINERS (libdecnumber): Add myself.
......
......@@ -4,7 +4,7 @@ AutoGen definitions Makefile.tpl;
// Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
// This file was originally written by Nathanael Nerode.
//
// Copyright 2002, 2003 Free Software Foundation
// Copyright 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
......@@ -213,6 +213,8 @@ flags_to_pass = { flag= CXXFLAGS ; };
flags_to_pass = { flag= LDFLAGS ; };
flags_to_pass = { flag= LIBCFLAGS ; };
flags_to_pass = { flag= LIBCXXFLAGS ; };
flags_to_pass = { flag= STAGE1_CFLAGS ; };
flags_to_pass = { flag= STAGE1_LANGUAGES ; };
// Target tools
flags_to_pass = { flag= AR_FOR_TARGET ; };
......@@ -236,6 +238,9 @@ flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
flags_to_pass = { flag= STRIP_FOR_TARGET ; };
flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
// Miscellaneous
flags_to_pass = { flag= LEAN ; };
// Inter-module dependencies
// Build modules
......
......@@ -6,7 +6,7 @@ in
#
# Makefile for directory with subdirs to build.
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
# 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -285,6 +285,7 @@ DLLTOOL = @DLLTOOL@
LD = @LD@
LIPO = @LIPO@
NM = @NM@
OBJDUMP = @OBJDUMP@
RANLIB = @RANLIB@
STRIP = @STRIP@
WINDRES = @WINDRES@
......@@ -407,6 +408,7 @@ EXTRA_HOST_FLAGS = \
'LD=$(LD)' \
'LIPO=$(LIPO)' \
'NM=$(NM)' \
'OBJDUMP=$(OBJDUMP)' \
'RANLIB=$(RANLIB)' \
'STRIP=$(STRIP)' \
'WINDRES=$(WINDRES)'
......@@ -464,8 +466,6 @@ EXTRA_GCC_FLAGS = \
"`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
"`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
"`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
"`echo 'STAGE1_CFLAGS=$(STAGE1_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
"`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
"`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
......@@ -1222,6 +1222,9 @@ unstage:
stage:
@: $(MAKE); $(stage)
# Disable commands for lean bootstrap.
LEAN = false
# We name the build directories for the various stages "stage1-gcc",
# "stage2-gcc","stage3-gcc", etc.
......@@ -1277,48 +1280,43 @@ stage[+id+]-start::
@if [+ module +]
@cd $(HOST_SUBDIR); [ -d stage[+id+]-[+module+] ] || \
mkdir stage[+id+]-[+module+]; \
set stage[+id+]-[+module+] [+module+] ; \
@CREATE_LINK_TO_DIR@ [+ IF prev +] ; \
set stage[+prev+]-[+module+] prev-[+module+] ; \
@CREATE_LINK_TO_DIR@ [+ ENDIF prev +]
mv stage[+id+]-[+module+] [+module+] [+ IF prev +] ; \
mv stage[+prev+]-[+module+] prev-[+module+] || test -f stage[+prev+]-lean [+ ENDIF prev +]
@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
@[ -d stage[+id+]-$(TARGET_SUBDIR) ] || \
mkdir stage[+id+]-$(TARGET_SUBDIR); \
set stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \
@CREATE_LINK_TO_DIR@ [+ IF prev +] ; \
set stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) ; \
@CREATE_LINK_TO_DIR@ [+ ENDIF prev +]
mv stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR) [+ IF prev +] ; \
mv stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage[+prev+]-lean [+ ENDIF prev +]
stage[+id+]-end::
@rm -f stage_current[+ FOR host_modules +][+ IF bootstrap +]
stage[+id+]-end:: [+ FOR host_modules +][+ IF bootstrap +]
@if [+ module +]
@if test -d $(HOST_SUBDIR) ; then \
cd $(HOST_SUBDIR); set [+module+] stage[+id+]-[+module+] ; \
@UNDO_LINK_TO_DIR@ [+ IF prev +] ; \
set prev-[+module+] stage[+prev+]-[+module+] ; \
@UNDO_LINK_TO_DIR@ [+ ENDIF prev +] ; \
@if test -d $(HOST_SUBDIR)/[+module+] ; then \
cd $(HOST_SUBDIR); mv [+module+] stage[+id+]-[+module+] [+ IF prev +]; \
mv prev-[+module+] stage[+prev+]-[+module+] ; : [+ ENDIF prev +] ; \
fi
@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
@if test -d $(TARGET_SUBDIR) ; then \
set $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR) ; \
@UNDO_LINK_TO_DIR@ [+ IF prev +] ; \
set prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR) ; \
@UNDO_LINK_TO_DIR@ [+ ENDIF prev +] ; \
mv $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR) [+ IF prev +] ; \
mv prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR) ; : [+ ENDIF prev +] ; \
fi
rm -f stage_current
# Bubble a bugfix through all the stages up to stage [+id+]. They are
# remade, but not reconfigured. The next stage (if any) will not be
# reconfigured as well.
.PHONY: stage[+id+]-bubble
stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +][+IF lean +]
@bootstrap_lean@-rm -rf stage[+lean+]-* ; $(STAMP) stage[+lean+]-lean[+ ENDIF lean +]
stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +]
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
if test -f stage[+id+]-lean [+
IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +] ; then \
echo Skipping rebuild of stage[+id+] ; \
else \
$(MAKE) stage[+id+]-start; \
$(MAKE) stage[+id+]-start; \[+IF lean +]
if $(LEAN); then \
rm -rf stage[+lean+]-* ; \
$(STAMP) stage[+lean+]-lean ; \
fi; \[+ ENDIF lean +]
$(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage[+id+]; \
fi[+ IF compare-target +]
$(MAKE) $(RECURSE_FLAGS_TO_PASS) [+compare-target+][+ ENDIF compare-target +]
......@@ -1362,11 +1360,14 @@ do-clean: clean-stage[+id+]
true; \
fi ; \
$(STAMP) [+compare-target+][+ IF prev +]
@bootstrap_lean@-rm -rf stage[+prev+]-* ; $(STAMP) stage[+prev+]-lean[+ ENDIF prev +]
if $(LEAN); then \
rm -rf stage[+prev+]-*; \
$(STAMP) stage[+prev+]-lean; \
fi[+ ENDIF prev +]
[+ ENDIF compare-target +]
[+ IF bootstrap-target +]
.PHONY: [+bootstrap-target+]
.PHONY: [+bootstrap-target+] [+bootstrap-target+]-lean
[+bootstrap-target+]:
echo stage[+id+] > stage_final
@r=`${PWD_COMMAND}`; export r; \
......@@ -1376,6 +1377,16 @@ do-clean: clean-stage[+id+]
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
[+bootstrap-target+]-lean:
echo stage[+id+] > stage_final
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stage[+id+]-bubble
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
[+ ENDIF bootstrap-target +]
# Rules to wipe a stage and all the following ones, also used for cleanstrap
......
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
# 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -1736,7 +1736,7 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
# not to nest @if/@endif pairs, because configure will not warn you at all.
AC_ARG_ENABLE([bootstrap],
[ --enable-bootstrap[=lean] Enable bootstrapping [no]],,
[ --enable-bootstrap Enable bootstrapping [yes if native build]],,
enable_bootstrap=default)
# Issue errors and warnings for invalid/strange bootstrap combinations.
......@@ -1757,17 +1757,17 @@ case "$have_compiler:$host:$target:$enable_bootstrap" in
enable_bootstrap=no ;;
# We have a compiler and we are in a native configuration, bootstrap is ok
yes:$build:$build:yes | yes:$build:$build:lean)
yes:$build:$build:yes)
;;
# Other configurations, but we have a compiler. Assume the user knows
# what he's doing.
yes:*:*:yes | yes:*:*:lean)
yes:*:*:yes)
AC_MSG_WARN([trying to bootstrap a cross compiler])
;;
# No compiler: if they passed --enable-bootstrap explicitly, fail
no:*:*:yes | no:*:*:lean)
no:*:*:yes)
AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
# Fail if wrong command line
......@@ -1779,15 +1779,10 @@ esac
# Adjust the toplevel makefile according to whether bootstrap was selected.
case "$enable_bootstrap" in
yes)
bootstrap_lean='#'
bootstrap_suffix=bootstrap ;;
lean)
bootstrap_lean=''
bootstrap_suffix=bootstrap ;;
no)
bootstrap_suffix=no-bootstrap ;;
esac
AC_SUBST(bootstrap_lean)
for module in ${build_configdirs} ; do
if test -z "${no_recursion}" \
......@@ -2290,36 +2285,6 @@ case $build in
esac
AC_SUBST(stage1_cflags)
# It makes debugging easier if we create as symlinks the stage directories
# gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not
# possible, however, we can resort to mv.
AC_CACHE_CHECK([if symbolic links between directories work],
[gcc_cv_prog_ln_s_dir],
[if test "${LN_S}" = "ln -s" \
&& mkdir confdir.s1 \
&& ln -s confdir.s1 confdir.s2 \
&& echo timestamp1 > confdir.s1/conftest.1 \
&& cmp confdir.s1/conftest.1 confdir.s2/conftest.1 \
&& echo timestamp2 > confdir.s2/conftest.2 \
&& cmp confdir.s1/conftest.2 confdir.s1/conftest.2 \
&& rm -f confdir.s2; then
gcc_cv_prog_ln_s_dir=yes
else
gcc_cv_prog_ln_s_dir=no
fi
rm -rf confdir.s1 confdir.s2])
case ${gcc_cv_prog_ln_s_dir} in
yes)
CREATE_LINK_TO_DIR='ln -s $$1 $$2'
UNDO_LINK_TO_DIR='rm -f $$1' ;;
*)
CREATE_LINK_TO_DIR='mv $$1 $$2'
UNDO_LINK_TO_DIR='mv $$1 $$2' ;;
esac
AC_SUBST(CREATE_LINK_TO_DIR)
AC_SUBST(UNDO_LINK_TO_DIR)
# Enable -Werror in bootstrap stage2 and later.
# Change the default to "no" on release branches.
AC_ARG_ENABLE(werror,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment