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> 2006-01-04 Ben Elliston <bje@au.ibm.com>
* MAINTAINERS (libdecnumber): Add myself. * MAINTAINERS (libdecnumber): Add myself.
......
...@@ -4,7 +4,7 @@ AutoGen definitions Makefile.tpl; ...@@ -4,7 +4,7 @@ AutoGen definitions Makefile.tpl;
// Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'. // Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
// This file was originally written by Nathanael Nerode. // 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 // 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 // it under the terms of the GNU General Public License as published by
...@@ -213,6 +213,8 @@ flags_to_pass = { flag= CXXFLAGS ; }; ...@@ -213,6 +213,8 @@ flags_to_pass = { flag= CXXFLAGS ; };
flags_to_pass = { flag= LDFLAGS ; }; flags_to_pass = { flag= LDFLAGS ; };
flags_to_pass = { flag= LIBCFLAGS ; }; flags_to_pass = { flag= LIBCFLAGS ; };
flags_to_pass = { flag= LIBCXXFLAGS ; }; flags_to_pass = { flag= LIBCXXFLAGS ; };
flags_to_pass = { flag= STAGE1_CFLAGS ; };
flags_to_pass = { flag= STAGE1_LANGUAGES ; };
// Target tools // Target tools
flags_to_pass = { flag= AR_FOR_TARGET ; }; flags_to_pass = { flag= AR_FOR_TARGET ; };
...@@ -236,6 +238,9 @@ flags_to_pass = { flag= RANLIB_FOR_TARGET ; }; ...@@ -236,6 +238,9 @@ flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
flags_to_pass = { flag= STRIP_FOR_TARGET ; }; flags_to_pass = { flag= STRIP_FOR_TARGET ; };
flags_to_pass = { flag= WINDRES_FOR_TARGET ; }; flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
// Miscellaneous
flags_to_pass = { flag= LEAN ; };
// Inter-module dependencies // Inter-module dependencies
// Build modules // Build modules
......
...@@ -6,7 +6,7 @@ in ...@@ -6,7 +6,7 @@ in
# #
# Makefile for directory with subdirs to build. # Makefile for directory with subdirs to build.
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, # 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 # 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 # it under the terms of the GNU General Public License as published by
...@@ -285,6 +285,7 @@ DLLTOOL = @DLLTOOL@ ...@@ -285,6 +285,7 @@ DLLTOOL = @DLLTOOL@
LD = @LD@ LD = @LD@
LIPO = @LIPO@ LIPO = @LIPO@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
STRIP = @STRIP@ STRIP = @STRIP@
WINDRES = @WINDRES@ WINDRES = @WINDRES@
...@@ -407,6 +408,7 @@ EXTRA_HOST_FLAGS = \ ...@@ -407,6 +408,7 @@ EXTRA_HOST_FLAGS = \
'LD=$(LD)' \ 'LD=$(LD)' \
'LIPO=$(LIPO)' \ 'LIPO=$(LIPO)' \
'NM=$(NM)' \ 'NM=$(NM)' \
'OBJDUMP=$(OBJDUMP)' \
'RANLIB=$(RANLIB)' \ 'RANLIB=$(RANLIB)' \
'STRIP=$(STRIP)' \ 'STRIP=$(STRIP)' \
'WINDRES=$(WINDRES)' 'WINDRES=$(WINDRES)'
...@@ -464,8 +466,6 @@ EXTRA_GCC_FLAGS = \ ...@@ -464,8 +466,6 @@ EXTRA_GCC_FLAGS = \
"`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
"`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_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 '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=/'`" "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
...@@ -1222,6 +1222,9 @@ unstage: ...@@ -1222,6 +1222,9 @@ unstage:
stage: stage:
@: $(MAKE); $(stage) @: $(MAKE); $(stage)
# Disable commands for lean bootstrap.
LEAN = false
# We name the build directories for the various stages "stage1-gcc", # We name the build directories for the various stages "stage1-gcc",
# "stage2-gcc","stage3-gcc", etc. # "stage2-gcc","stage3-gcc", etc.
...@@ -1277,48 +1280,43 @@ stage[+id+]-start:: ...@@ -1277,48 +1280,43 @@ stage[+id+]-start::
@if [+ module +] @if [+ module +]
@cd $(HOST_SUBDIR); [ -d stage[+id+]-[+module+] ] || \ @cd $(HOST_SUBDIR); [ -d stage[+id+]-[+module+] ] || \
mkdir stage[+id+]-[+module+]; \ mkdir stage[+id+]-[+module+]; \
set stage[+id+]-[+module+] [+module+] ; \ mv stage[+id+]-[+module+] [+module+] [+ IF prev +] ; \
@CREATE_LINK_TO_DIR@ [+ IF prev +] ; \ mv stage[+prev+]-[+module+] prev-[+module+] || test -f stage[+prev+]-lean [+ ENDIF prev +]
set stage[+prev+]-[+module+] prev-[+module+] ; \
@CREATE_LINK_TO_DIR@ [+ ENDIF prev +]
@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +] @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
@[ -d stage[+id+]-$(TARGET_SUBDIR) ] || \ @[ -d stage[+id+]-$(TARGET_SUBDIR) ] || \
mkdir stage[+id+]-$(TARGET_SUBDIR); \ mkdir stage[+id+]-$(TARGET_SUBDIR); \
set stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \ mv stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR) [+ IF prev +] ; \
@CREATE_LINK_TO_DIR@ [+ IF prev +] ; \ mv stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage[+prev+]-lean [+ ENDIF prev +]
set stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) ; \
@CREATE_LINK_TO_DIR@ [+ ENDIF prev +]
stage[+id+]-end:: stage[+id+]-end:: [+ FOR host_modules +][+ IF bootstrap +]
@rm -f stage_current[+ FOR host_modules +][+ IF bootstrap +]
@if [+ module +] @if [+ module +]
@if test -d $(HOST_SUBDIR) ; then \ @if test -d $(HOST_SUBDIR)/[+module+] ; then \
cd $(HOST_SUBDIR); set [+module+] stage[+id+]-[+module+] ; \ cd $(HOST_SUBDIR); mv [+module+] stage[+id+]-[+module+] [+ IF prev +]; \
@UNDO_LINK_TO_DIR@ [+ IF prev +] ; \ mv prev-[+module+] stage[+prev+]-[+module+] ; : [+ ENDIF prev +] ; \
set prev-[+module+] stage[+prev+]-[+module+] ; \
@UNDO_LINK_TO_DIR@ [+ ENDIF prev +] ; \
fi fi
@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +] @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
@if test -d $(TARGET_SUBDIR) ; then \ @if test -d $(TARGET_SUBDIR) ; then \
set $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR) ; \ mv $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR) [+ IF prev +] ; \
@UNDO_LINK_TO_DIR@ [+ IF prev +] ; \ mv prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR) ; : [+ ENDIF prev +] ; \
set prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR) ; \
@UNDO_LINK_TO_DIR@ [+ ENDIF prev +] ; \
fi fi
rm -f stage_current
# Bubble a bugfix through all the stages up to stage [+id+]. They are # 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 # remade, but not reconfigured. The next stage (if any) will not be
# reconfigured as well. # reconfigured as well.
.PHONY: stage[+id+]-bubble .PHONY: stage[+id+]-bubble
stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +][+IF lean +] stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +]
@bootstrap_lean@-rm -rf stage[+lean+]-* ; $(STAMP) stage[+lean+]-lean[+ ENDIF lean +]
@r=`${PWD_COMMAND}`; export r; \ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
if test -f stage[+id+]-lean [+ if test -f stage[+id+]-lean [+
IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +] ; then \ IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +] ; then \
echo Skipping rebuild of stage[+id+] ; \ echo Skipping rebuild of stage[+id+] ; \
else \ 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+]; \ $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage[+id+]; \
fi[+ IF compare-target +] fi[+ IF compare-target +]
$(MAKE) $(RECURSE_FLAGS_TO_PASS) [+compare-target+][+ ENDIF compare-target +] $(MAKE) $(RECURSE_FLAGS_TO_PASS) [+compare-target+][+ ENDIF compare-target +]
...@@ -1362,11 +1360,14 @@ do-clean: clean-stage[+id+] ...@@ -1362,11 +1360,14 @@ do-clean: clean-stage[+id+]
true; \ true; \
fi ; \ fi ; \
$(STAMP) [+compare-target+][+ IF prev +] $(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 +] [+ ENDIF compare-target +]
[+ IF bootstrap-target +] [+ IF bootstrap-target +]
.PHONY: [+bootstrap-target+] .PHONY: [+bootstrap-target+] [+bootstrap-target+]-lean
[+bootstrap-target+]: [+bootstrap-target+]:
echo stage[+id+] > stage_final echo stage[+id+] > stage_final
@r=`${PWD_COMMAND}`; export r; \ @r=`${PWD_COMMAND}`; export r; \
...@@ -1376,6 +1377,16 @@ do-clean: clean-stage[+id+] ...@@ -1376,6 +1377,16 @@ do-clean: clean-stage[+id+]
@r=`${PWD_COMMAND}`; export r; \ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target $(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 +] [+ ENDIF bootstrap-target +]
# Rules to wipe a stage and all the following ones, also used for cleanstrap # Rules to wipe a stage and all the following ones, also used for cleanstrap
......
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# #
# This file is free software; you can redistribute it and/or modify it # 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 # 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` ...@@ -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. # not to nest @if/@endif pairs, because configure will not warn you at all.
AC_ARG_ENABLE([bootstrap], AC_ARG_ENABLE([bootstrap],
[ --enable-bootstrap[=lean] Enable bootstrapping [no]],, [ --enable-bootstrap Enable bootstrapping [yes if native build]],,
enable_bootstrap=default) enable_bootstrap=default)
# Issue errors and warnings for invalid/strange bootstrap combinations. # Issue errors and warnings for invalid/strange bootstrap combinations.
...@@ -1757,17 +1757,17 @@ case "$have_compiler:$host:$target:$enable_bootstrap" in ...@@ -1757,17 +1757,17 @@ case "$have_compiler:$host:$target:$enable_bootstrap" in
enable_bootstrap=no ;; enable_bootstrap=no ;;
# We have a compiler and we are in a native configuration, bootstrap is ok # 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 # Other configurations, but we have a compiler. Assume the user knows
# what he's doing. # what he's doing.
yes:*:*:yes | yes:*:*:lean) yes:*:*:yes)
AC_MSG_WARN([trying to bootstrap a cross compiler]) AC_MSG_WARN([trying to bootstrap a cross compiler])
;; ;;
# No compiler: if they passed --enable-bootstrap explicitly, fail # No compiler: if they passed --enable-bootstrap explicitly, fail
no:*:*:yes | no:*:*:lean) no:*:*:yes)
AC_MSG_ERROR([cannot bootstrap without a compiler]) ;; AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
# Fail if wrong command line # Fail if wrong command line
...@@ -1779,15 +1779,10 @@ esac ...@@ -1779,15 +1779,10 @@ esac
# Adjust the toplevel makefile according to whether bootstrap was selected. # Adjust the toplevel makefile according to whether bootstrap was selected.
case "$enable_bootstrap" in case "$enable_bootstrap" in
yes) yes)
bootstrap_lean='#'
bootstrap_suffix=bootstrap ;;
lean)
bootstrap_lean=''
bootstrap_suffix=bootstrap ;; bootstrap_suffix=bootstrap ;;
no) no)
bootstrap_suffix=no-bootstrap ;; bootstrap_suffix=no-bootstrap ;;
esac esac
AC_SUBST(bootstrap_lean)
for module in ${build_configdirs} ; do for module in ${build_configdirs} ; do
if test -z "${no_recursion}" \ if test -z "${no_recursion}" \
...@@ -2290,36 +2285,6 @@ case $build in ...@@ -2290,36 +2285,6 @@ case $build in
esac esac
AC_SUBST(stage1_cflags) 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. # Enable -Werror in bootstrap stage2 and later.
# Change the default to "no" on release branches. # Change the default to "no" on release branches.
AC_ARG_ENABLE(werror, 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