configure.ac: Skip C if explicitly selected.

toplevel/
	* configure.ac: Skip C if explicitly selected.
	* configure: Regenerate.

gcc/
	* configure.ac: Remove special gtfiles case for C.
	* configure: Regenerate.
	* Makefile.in: Remove C front-end hooks and build hooks that
	will be picked up from c/Make-lang.in now.
	Add tree-mudflap to C_COMMON_OBJS.
	* gengtype.c (files_rules): Adjust gt-files for c/c-decl.c.
	* config/vms/vms.c: Look for c-tree.h in c/.
	* doc/gty.texi: Remove reference to c-config-lang.in.
	* doc/sourcebuild.texi: Document the c/ subdirectory.

c/
	* Make-lang.in: New file, rules migrated from gcc/Makefile.in
	and add language Makefile hooks.
	* config-lang.in: New file.
	* c-config-lang.in: Moved from gcc/config-lang.in to here, and
	add the required "normal" config-lang.in rules.
	* c-lang.h: Moved from gcc/ to here.
	* c-tree.h: Likewise.
	* c-objc-common.c: Likewise.
	* c-objc-common.h: Likewise.
	* c-typeck.c: Likewise.
	* c-convert.c: Likewise.
	* c-lang.c: Likewise.
	* c-aux-info.c: Likewise.
	* c-errors.c: Likewise.
	* gccspec.c: Likewise.
	* c-decl.c: Likewise.  Include gt-c-c-decl.h, not gt-c-decl.h.
	* c-parser.c: Likewise.  Include gt-c-c-parser.h, not gt-c-parser.h.

c-family/
	* cppspec.c: Moved from gcc/ to here.

objc/
	* Make-ang.in: Adjust for move of C front-end files.
	* config-lang.in: Likewise.
	* objc-encoding.c: Look for cp-tree.h in cp/, and for c-tree.h
	and c-lang.h in c/.
	* objc-runtime-shared-support.c: Likewise.
	* objc-next-runtime-abi-01.c: Likewise.
	* objc-next-runtime-abi-02.c: Likewise.
	* objc-gnu-runtime-abi-01.c: Likewise.
	* objc-act.c: Likewise.
	* objc-lang.c: Likewise.

cp/
	* Make-lang.in: Remove tree-mudflap.o from CXX_AND_OBJCXX_OBJS.

From-SVN: r189080
This commit is contained in:
Steven Bosscher 2012-06-29 16:12:35 +00:00
parent cc193fba85
commit d4a10d0a62
40 changed files with 351 additions and 165 deletions

View File

@ -1,3 +1,8 @@
2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
* configure.ac: Skip C if explicitly selected.
* configure: Regenerate.
2012-06-28 Christophe Lyon <christophe.lyon@st.com>
* configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Make sure

7
configure vendored
View File

@ -6310,8 +6310,11 @@ if test -d ${srcdir}/gcc; then
case ,${enable_languages}, in
*,${language},*)
# Language was explicitly selected; include it.
add_this_lang=yes
# Language was explicitly selected; include it
# unless it is C, which is enabled by default.
if test "$language" != "c"; then
add_this_lang=yes
fi
;;
*,all,*)
# 'all' was selected, select it if it is a default language

View File

@ -1816,8 +1816,11 @@ if test -d ${srcdir}/gcc; then
case ,${enable_languages}, in
*,${language},*)
# Language was explicitly selected; include it.
add_this_lang=yes
# Language was explicitly selected; include it
# unless it is C, which is enabled by default.
if test "$language" != "c"; then
add_this_lang=yes
fi
;;
*,all,*)
# 'all' was selected, select it if it is a default language

View File

@ -1,3 +1,15 @@
2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
* configure.ac: Remove special gtfiles case for C.
* configure: Regenerate.
* Makefile.in: Remove C front-end hooks and build hooks that
will be picked up from c/Make-lang.in now.
Add tree-mudflap to C_COMMON_OBJS.
* gengtype.c (files_rules): Adjust gt-files for c/c-decl.c.
* config/vms/vms.c: Look for c-tree.h in c/.
* doc/gty.texi: Remove reference to c-config-lang.in.
* doc/sourcebuild.texi: Document the c/ subdirectory.
2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
* system.h (CASE_USE_BIT_TESTS): Poison.

View File

@ -502,8 +502,8 @@ host_xm_defines=@host_xm_defines@
xm_file_list=@xm_file_list@
xm_include_list=@xm_include_list@
xm_defines=@xm_defines@
lang_checks=check-gcc
lang_checks_parallelized=check-gcc
lang_checks=
lang_checks_parallelized=
dg_target_exps:=alpha.exp,arm.exp,avr.exp,bfin.exp,cris.exp,frv.exp
dg_target_exps:=$(dg_target_exps),i386.exp,ia64.exp,m68k.exp,microblaze.exp
dg_target_exps:=$(dg_target_exps),mips.exp,powerpc.exp,rx.exp,s390.exp,sh.exp
@ -717,11 +717,11 @@ GENERATED_MANPAGES = @GENERATED_MANPAGES@
OTHER_FIXINCLUDES_DIRS=
# A list of all the language-specific executables.
COMPILERS = cc1$(exeext) @all_compilers@
COMPILERS = @all_compilers@
# List of things which should already be built whenever we try to use xgcc
# to compile anything (without linking).
GCC_PASSES=xgcc$(exeext) cc1$(exeext) specs
GCC_PASSES=xgcc$(exeext) specs
# Directory to link to, when using the target `maketest'.
DIR = ../gcc
@ -1133,23 +1133,18 @@ CXX_TARGET_OBJS=@cxx_target_objs@
# Target specific, Fortran specific object file
FORTRAN_TARGET_OBJS=@fortran_target_objs@
# Object files for gcc driver.
# Object files for gcc many-languages driver.
GCC_OBJS = gcc.o ggc-none.o
# Language-specific object files shared by all C-family front ends.
# FIXME: tree-mudflap is C-family only, but it is also part of the middle-end.
# The mudflap machinery should be properly separated from the front ends, and
# perhaps turned into a plugin.
C_COMMON_OBJS = c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o \
c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o \
c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o \
c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o \
c-family/c-semantics.o c-family/c-ada-spec.o
# Language-specific object files for C and Objective C.
C_AND_OBJC_OBJS = attribs.o c-errors.o c-decl.o c-typeck.o \
c-convert.o c-aux-info.o c-objc-common.o c-parser.o tree-mudflap.o \
$(C_COMMON_OBJS) $(C_TARGET_OBJS)
# Language-specific object files for C.
C_OBJS = c-lang.o c-family/stub-objc.o $(C_AND_OBJC_OBJS)
c-family/c-semantics.o c-family/c-ada-spec.o tree-mudflap.o
# Language-independent object files.
# We put the insn-*.o files first so that a parallel make will build
@ -1475,11 +1470,10 @@ OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \
opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o
# This lists all host objects for the front ends.
ALL_HOST_FRONTEND_OBJS = $(C_OBJS) \
$(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
$(OBJS-libcommon-target) @TREEBROWSER@ main.o gccspec.o cppspec.o \
$(OBJS-libcommon-target) @TREEBROWSER@ main.o c-family/cppspec.o \
$(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS)
# This lists all host object files, whether they are included in this
@ -1496,7 +1490,7 @@ MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
tm-preds.h tm-constrs.h checksum-options \
tree-check.h min-insn-modes.c insn-modes.c insn-modes.h \
genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \
xgcc$(exeext) cpp$(exeext) cc1$(exeext) \
xgcc$(exeext) cpp$(exeext) \
$(EXTRA_PROGRAMS) gcc-cross$(exeext) \
$(SPECS) collect2$(exeext) gcc-ar$(exeext) gcc-nm$(exeext) \
gcc-ranlib$(exeext) \
@ -1740,12 +1734,6 @@ ifeq ($(enable_plugin),yes)
native: gengtype$(exeext)
endif
# Define the names for selecting languages in LANGUAGES.
c: cc1$(exeext)
# Tell GNU make these are phony targets.
.PHONY: c
# On the target machine, finish building a cross compiler.
# This does the things that can't be done on the host machine.
rest.cross: specs
@ -1773,19 +1761,19 @@ libcommon.a: $(OBJS-libcommon)
# We call this executable `xgcc' rather than `gcc'
# to avoid confusion if the current directory is in the path
# and CC is `gcc'. It is renamed to `gcc' when it is installed.
xgcc$(exeext): $(GCC_OBJS) gccspec.o libcommon-target.a $(LIBDEPS) \
xgcc$(exeext): $(GCC_OBJS) c/gccspec.o libcommon-target.a $(LIBDEPS) \
$(EXTRA_GCC_OBJS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
gccspec.o $(EXTRA_GCC_OBJS) libcommon-target.a \
c/gccspec.o $(EXTRA_GCC_OBJS) libcommon-target.a \
$(EXTRA_GCC_LIBS) $(LIBS)
# cpp is to cpp0 as gcc is to cc1.
# The only difference from xgcc is that it's linked with cppspec.o
# instead of gccspec.o.
cpp$(exeext): $(GCC_OBJS) cppspec.o libcommon-target.a $(LIBDEPS) \
# cpp is to cpp0 as e.g. g++ is to cc1plus: Just another driver.
# It is part of c-family because the handled extensions are hard-coded
# and only contain c-family extensions (see known_suffixes).
cpp$(exeext): $(GCC_OBJS) c-family/cppspec.o libcommon-target.a $(LIBDEPS) \
$(EXTRA_GCC_OBJS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
cppspec.o $(EXTRA_GCC_OBJS) libcommon-target.a \
c-family/cppspec.o $(EXTRA_GCC_OBJS) libcommon-target.a \
$(EXTRA_GCC_LIBS) $(LIBS)
# Dump a specs file to make -B./ read these specs over installed ones.
@ -1803,19 +1791,6 @@ checksum-options:
echo "$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS)" > checksum-options.tmp \
&& $(srcdir)/../move-if-change checksum-options.tmp checksum-options
# compute checksum over all object files and the options
cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
$(C_OBJS) $(BACKEND) $(LIBDEPS)
build/genchecksum$(build_exeext) $(C_OBJS) $(BACKEND) $(LIBDEPS) \
checksum-options > cc1-checksum.c.tmp && \
$(srcdir)/../move-if-change cc1-checksum.c.tmp cc1-checksum.c
cc1-checksum.o : cc1-checksum.c $(CONFIG_H) $(SYSTEM_H)
cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) \
cc1-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
#
# Build libgcc.a.
@ -1865,52 +1840,6 @@ srcextra: gcc.srcextra lang.srcextra
gcc.srcextra: gengtype-lex.c
-cp -p $^ $(srcdir)
# C language specific files.
c-aux-info.o : c-aux-info.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(C_TREE_H) $(TREE_H) $(FLAGS_H)
c-convert.o : c-convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(C_TREE_H) $(FLAGS_H) $(C_COMMON_H) convert.h \
langhooks.h $(TARGET_H)
c-decl.o : c-decl.c c-lang.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(C_TREE_H) $(GGC_H) $(TARGET_H) $(FLAGS_H) $(FUNCTION_H) \
output.h debug.h toplev.h intl.h $(TM_P_H) $(TREE_INLINE_H) \
$(TIMEVAR_H) $(OPTS_H) $(C_PRAGMA_H) gt-c-decl.h $(CGRAPH_H) \
$(HASHTAB_H) $(LANGHOOKS_DEF_H) \
$(TREE_DUMP_H) $(C_COMMON_H) $(CPPLIB_H) $(DIAGNOSTIC_CORE_H) \
$(INPUT_H) langhooks.h pointer-set.h tree-iterator.h \
$(PLUGIN_H) c-family/c-ada-spec.h c-family/c-objc.h
c-errors.o: c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(C_TREE_H) $(FLAGS_H) $(DIAGNOSTIC_H) $(TM_P_H)
c-lang.o : c-lang.c c-objc-common.h \
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(C_TREE_H) $(DIAGNOSTIC_CORE_H) \
langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-c.h \
$(C_PRAGMA_H) $(TREE_INLINE_H)
c-objc-common.o : c-objc-common.c c-objc-common.h \
$(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TREE_H) $(C_TREE_H) $(FLAGS_H) $(DIAGNOSTIC_H) \
langhooks.h $(GGC_H) $(C_PRETTY_PRINT_H) intl.h \
$(TREE_PRETTY_PRINT_H)
c-parser.o : c-parser.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(TREE_H) $(C_TREE_H) $(C_COMMON_H) $(C_PRAGMA_H) $(CPPLIB_H) \
$(GGC_H) $(TIMEVAR_H) $(INPUT_H) $(FLAGS_H) \
gt-c-parser.h langhooks.h \
$(VEC_H) $(TARGET_H) $(CGRAPH_H) $(PLUGIN_H) \
c-family/c-objc.h
c-typeck.o : c-typeck.c c-lang.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(C_TREE_H) $(TARGET_H) $(FLAGS_H) intl.h \
langhooks.h tree-iterator.h $(BITMAP_H) $(GIMPLE_H) \
c-family/c-objc.h
graph.o: graph.c $(SYSTEM_H) coretypes.h $(TM_H) toplev.h $(DIAGNOSTIC_CORE_H) $(FLAGS_H) \
$(RTL_H) $(FUNCTION_H) hard-reg-set.h $(BASIC_BLOCK_H) graph.h $(OBSTACK_H) \
$(CONFIG_H) $(EMIT_RTL_H)
@ -1987,7 +1916,10 @@ lto-wrapper$(exeext): lto-wrapper.o ggc-none.o libcommon-target.a $(LIBDEPS)
lto-wrapper.o: lto-wrapper.c $(CONFIG_H) $(SYSTEM_H) coretypes.h intl.h \
$(OBSTACK_H) $(DIAGNOSTIC_H) $(OPTS_H) $(OPTIONS_H)
# Files used by all variants of C.
# Files used by all variants of C or by the stand-alone pre-processor.
c-family/cppspec.o: c-family/cppspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(GCC_H) $(OPTS_H)
c-family/c-common.o : c-family/c-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(TREE_H) \
$(OBSTACK_H) $(C_COMMON_H) $(FLAGS_H) toplev.h output.h $(C_PRAGMA_H) \
@ -2107,16 +2039,6 @@ gcc.o: gcc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h multilib.h \
$(DRIVER_DEFINES) \
-c $(srcdir)/gcc.c $(OUTPUT_OPTION))
gccspec.o: gccspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
$(OPTS_H)
(SHLIB='$(SHLIB)'; \
$(COMPILER) $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
$(DRIVER_DEFINES) \
-c $(srcdir)/gccspec.c $(OUTPUT_OPTION))
cppspec.o: cppspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
$(OPTS_H)
specs.h : s-specs ; @true
s-specs : Makefile
lsf="$(lang_specs_files)"; for f in $$lsf; do \
@ -4999,7 +4921,7 @@ site.exp: ./config.status Makefile
-e '1,/^## All variables above are.*##/ d' >> site.exp
-@rm -f ./site.tmp
CHECK_TARGETS = check-gcc @check_languages@
CHECK_TARGETS = @check_languages@
check: $(CHECK_TARGETS)

View File

@ -1,3 +1,7 @@
2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
* cppspec.c: Moved from gcc/ to here.
2012-06-27 Kai Tietz <ktietz@redhat.com>
PR preprocessor/37215

25
gcc/c/ChangeLog Normal file
View File

@ -0,0 +1,25 @@
2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
* Make-lang.in: New file, rules migrated from gcc/Makefile.in
and add language Makefile hooks.
* config-lang.in: New file.
* c-config-lang.in: Moved from gcc/config-lang.in to here, and
add the required "normal" config-lang.in rules.
* c-lang.h: Moved from gcc/ to here.
* c-tree.h: Likewise.
* c-objc-common.c: Likewise.
* c-objc-common.h: Likewise.
* c-typeck.c: Likewise.
* c-convert.c: Likewise.
* c-lang.c: Likewise.
* c-aux-info.c: Likewise.
* c-errors.c: Likewise.
* gccspec.c: Likewise.
* c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
* c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
Copyright (C) 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

196
gcc/c/Make-lang.in Normal file
View File

@ -0,0 +1,196 @@
# Top level -*- makefile -*- fragment for GNU C - C language.
# Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2007, 2008, 2009, 2010, 2011, 2012
# Free Software Foundation, Inc.
#This file is part of GCC.
#GCC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 3, or (at your option)
#any later version.
#GCC is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
# This file provides the language dependent support in the main Makefile.
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
# foo.install-common, foo.install-man, foo.install-info, foo.install-pdf,
# foo.install-html, foo.info, foo.dvi, foo.pdf, foo.html, foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
#
# where `foo' is the name of the language.
#
# It should also provide rules for:
#
# - making any compiler driver (eg: gcc)
# - the compiler proper (eg: cc1)
# - define the names for selecting the language in LANGUAGES.
#
# Define the names for selecting c in LANGUAGES.
c: cc1$(exeext)
# Tell GNU make to ignore these if they exist.
.PHONY: c gcc
# The C front end driver. This is different from the drivers for other
# front ends, because there is no C language specific driver (i.e. nothing
# is to cc1 as e.g. g++ is to cc1plus, or gfortran is to f951).
c/gccspec.o: c/gccspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
$(OPTS_H)
(SHLIB='$(SHLIB)'; \
$(COMPILER) $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
$(DRIVER_DEFINES) \
-c $(srcdir)/c/gccspec.c $(OUTPUT_OPTION))
# The C compiler itself.
# Language-specific object files for C and Objective C.
C_AND_OBJC_OBJS = attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o \
c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o \
$(C_COMMON_OBJS) $(C_TARGET_OBJS)
# Language-specific object files for C.
C_OBJS = c/c-lang.o c-family/stub-objc.o $(C_AND_OBJC_OBJS)
c_OBJS = $(C_OBJS) cc1-checksum.o c/gccspec.o
# Use strict warnings for this front end.
c-warn = $(STRICT_WARN)
# compute checksum over all object files and the options
cc1-checksum.c : build/genchecksum$(build_exeext) checksum-options \
$(C_OBJS) $(BACKEND) $(LIBDEPS)
build/genchecksum$(build_exeext) $(C_OBJS) $(BACKEND) $(LIBDEPS) \
checksum-options > cc1-checksum.c.tmp && \
$(srcdir)/../move-if-change cc1-checksum.c.tmp cc1-checksum.c
cc1-checksum.o : cc1-checksum.c $(CONFIG_H) $(SYSTEM_H)
cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) \
cc1-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
#
# Build hooks:
c.info:
c.dvi:
c.pdf:
c.html:
c.install-info:
c.install-pdf:
c.install-html:
c.all.cross:
c.start.encap:
c.rest.encap:
c.srcinfo:
c.srcextra: gengtype-lex.c
-cp -p $^ $(srcdir)
c.tags: force
cd $(srcdir)/c; etags -o TAGS.sub *.c *.h; \
etags --include TAGS.sub --include ../TAGS.sub
c.man:
c.srcman:
# List of targets that can use the generic check- rule and its // variant.
lang_checks += check-gcc
lang_checks_parallelized += check-gcc
# 'make check' in gcc/ looks for check-c. Redirect it to check-gcc.
check-c : check-gcc
#
# Install hooks:
# cc1 is installed elsewhere as part of $(COMPILERS).
c.install-common:
c.install-man:
c.install-plugin:
c.uninstall:
#
# Clean hooks:
# A lot of the ancillary files are deleted by the main makefile.
# We just have to delete files specific to us.
c.mostlyclean:
-rm -f cc1$(exeext)
-rm -f c/*$(objext)
-rm -f c/*$(coverageexts)
c.clean:
c.distclean:
-rm -f c/config.status c/Makefile
c.maintainer-clean:
#
# Stage hooks:
# The main makefile has already created stage?/cp.
c.stage1: stage1-start
-mv c/*$(objext) stage1/c
c.stage2: stage2-start
-mv c/*$(objext) stage2/c
c.stage3: stage3-start
-mv c/*$(objext) stage3/c
c.stage4: stage4-start
-mv c/*$(objext) stage4/c
c.stageprofile: stageprofile-start
-mv c/*$(objext) stageprofile/c
c.stagefeedback: stagefeedback-start
-mv c/*$(objext) stagefeedback/c
#
# .o: .h dependencies.
# C language specific files.
C_TREE_H = c/c-tree.h $(C_COMMON_H) $(DIAGNOSTIC_H)
c/c-aux-info.o : c/c-aux-info.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(C_TREE_H) $(TREE_H) $(FLAGS_H)
c/c-convert.o : c/c-convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(C_TREE_H) $(FLAGS_H) $(C_COMMON_H) convert.h \
langhooks.h $(TARGET_H)
c/c-decl.o : c/c-decl.c c/c-lang.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(C_TREE_H) $(GGC_H) $(TARGET_H) $(FLAGS_H) $(FUNCTION_H) \
output.h debug.h toplev.h intl.h $(TM_P_H) $(TREE_INLINE_H) \
$(TIMEVAR_H) $(OPTS_H) $(C_PRAGMA_H) gt-c-c-decl.h $(CGRAPH_H) \
$(HASHTAB_H) $(LANGHOOKS_DEF_H) \
$(TREE_DUMP_H) $(C_COMMON_H) $(CPPLIB_H) $(DIAGNOSTIC_CORE_H) \
$(INPUT_H) langhooks.h pointer-set.h tree-iterator.h \
$(PLUGIN_H) c-family/c-ada-spec.h c-family/c-objc.h
c/c-errors.o: c/c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(C_TREE_H) $(FLAGS_H) $(DIAGNOSTIC_H) $(TM_P_H)
c/c-lang.o : c/c-lang.c c/c-objc-common.h \
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(C_TREE_H) $(DIAGNOSTIC_CORE_H) \
langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-c.h \
$(C_PRAGMA_H) $(TREE_INLINE_H)
c/c-objc-common.o : c/c-objc-common.c c/c-objc-common.h \
$(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TREE_H) $(C_TREE_H) $(FLAGS_H) $(DIAGNOSTIC_H) \
langhooks.h $(GGC_H) $(C_PRETTY_PRINT_H) intl.h \
$(TREE_PRETTY_PRINT_H)
c/c-parser.o : c/c-parser.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(TREE_H) $(C_TREE_H) $(C_COMMON_H) $(C_PRAGMA_H) $(CPPLIB_H) \
$(GGC_H) $(TIMEVAR_H) $(INPUT_H) $(FLAGS_H) \
gt-c-c-parser.h langhooks.h \
$(VEC_H) $(TARGET_H) $(CGRAPH_H) $(PLUGIN_H) \
c-family/c-objc.h
c/c-typeck.o : c/c-typeck.c c/c-lang.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(C_TREE_H) $(TARGET_H) $(FLAGS_H) intl.h \
langhooks.h tree-iterator.h $(BITMAP_H) $(GIMPLE_H) \
c-family/c-objc.h

View File

@ -10152,4 +10152,4 @@ c_register_addr_space (const char *word, addr_space_t as)
ridpointers [rid] = id;
}
#include "gt-c-decl.h"
#include "gt-c-c-decl.h"

View File

@ -10837,4 +10837,4 @@ c_parse_file (void)
the_parser = NULL;
}
#include "gt-c-parser.h"
#include "gt-c-c-parser.h"

View File

@ -1,5 +1,6 @@
# Top level configure fragment for GNU C - C language.
# Copyright (C) 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2005, 2007, 2010
# Copyright (C) 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2005, 2007,
# 2010, 2012
# Free Software Foundation, Inc.
#This file is part of GCC.
@ -18,9 +19,16 @@
#along with GCC; see the file COPYING3. If not see
#<http://www.gnu.org/licenses/>.
# This file c-config-lang.c is a special pseudo config-lang.in file
# for the language C. It has limited use, specifically to record the
# files used by C that have garbage collection GTY macros in them
# which therefore need to be scanned by gengtype.c.
# Configure looks for the existence of this file to auto-config each language.
# We define several parameters used by configure:
#
# language - name of language as it would appear in $(LANGUAGES)
# compilers - value to add to $(COMPILERS)
gtfiles="\$(srcdir)/c-lang.c \$(srcdir)/c-tree.h \$(srcdir)/c-decl.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c-objc-common.c \$(srcdir)/c-parser.c \$(srcdir)/c-lang.h"
language="c"
compilers="cc1\$(exeext)"
target_libs=
gtfiles="\$(srcdir)/c/c-lang.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c/c-objc-common.c \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-lang.h"

View File

@ -27,7 +27,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#include "c-family/c-pragma.h"
#include "c-family/c-common.h"
#include "c-tree.h"
#include "c/c-tree.h"
#include "toplev.h"
#include "ggc.h"
#include "tm_p.h"

5
gcc/configure vendored
View File

@ -26964,11 +26964,6 @@ $as_echo "#define ENABLE_LTO 1" >>confdefs.h
esac
done
# Pick up gtfiles for c
gtfiles=
. ${srcdir}/c-config-lang.in
all_gtfiles="$all_gtfiles [c] $gtfiles"
check_languages=
for language in $all_selected_languages
do

View File

@ -4838,11 +4838,6 @@ changequote([,])dnl
esac
done
# Pick up gtfiles for c
gtfiles=
. ${srcdir}/c-config-lang.in
all_gtfiles="$all_gtfiles [[c]] $gtfiles"
check_languages=
for language in $all_selected_languages
do

View File

@ -1,3 +1,7 @@
2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
* Make-lang.in: Remove tree-mudflap.o from CXX_AND_OBJCXX_OBJS.
2012-06-27 Jason Merrill <jason@redhat.com>
* parser.c (cp_parser_check_for_invalid_template_id): tag_type parm.

View File

@ -82,7 +82,7 @@ CXX_AND_OBJCXX_OBJS = cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o \
cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o \
cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o cp/optimize.o \
cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o cp/cxx-pretty-print.o \
cp/cp-gimplify.o tree-mudflap.o $(CXX_C_OBJS)
cp/cp-gimplify.o $(CXX_C_OBJS)
# Language-specific object files for C++.
CXX_OBJS = cp/cp-lang.o c-family/stub-objc.o $(CXX_AND_OBJCXX_OBJS)
@ -237,6 +237,7 @@ c++.mostlyclean:
c++.clean:
c++.distclean:
-rm -f cp/config.status cp/Makefile
-rm -f cxxmain.c
c++.maintainer-clean:
#
# Stage hooks:

View File

@ -491,7 +491,7 @@ For files shared by all front ends, add the filename to the
@item
For files that are part of one front end, add the filename to the
@code{gtfiles} variable defined in the appropriate
@file{config-lang.in}. For C, the file is @file{c-config-lang.in}.
@file{config-lang.in}.
Headers should appear before non-headers in this list.
@item

View File

@ -168,10 +168,11 @@ The @file{gcc} directory contains the following subdirectories:
@item @var{language}
Subdirectories for various languages. Directories containing a file
@file{config-lang.in} are language subdirectories. The contents of
the subdirectories @file{cp} (for C++), @file{lto} (for LTO),
@file{objc} (for Objective-C) and @file{objcp} (for Objective-C++) are
documented in this manual (@pxref{Passes, , Passes and Files of the
Compiler}); those for other languages are not. @xref{Front End, ,
the subdirectories @file{c} (for C), @file{cp} (for C++),
@file{objc} (for Objective-C), @file{objcp} (for Objective-C++),
and @file{lto} (for LTO) are documented in this
manual (@pxref{Passes, , Passes and Files of the Compiler});
those for other languages are not. @xref{Front End, ,
Anatomy of a Language Front End}, for details of the files in these
directories.
@ -483,7 +484,7 @@ why isn't this part of this manual or of the GCC Coding Conventions?
@end table
FIXME: document such files in subdirectories, at least @file{config},
@file{cp}, @file{objc}, @file{testsuite}.
@file{c}, @file{cp}, @file{objc}, @file{testsuite}.
@node Front End
@subsection Anatomy of a Language Front End
@ -615,10 +616,9 @@ codes.
@node Front End Config
@subsubsection The Front End @file{config-lang.in} File
Each language subdirectory contains a @file{config-lang.in} file. In
addition the main directory contains @file{c-config-lang.in}, which
contains limited information for the C language. This file is a shell
script that may define some variables describing the language:
Each language subdirectory contains a @file{config-lang.in} file.
This file is a shell script that may define some variables describing
the language:
@table @code
@item language

View File

@ -1786,12 +1786,12 @@ struct file_rule_st files_rules[] = {
REG_EXTENDED, NULL_REGEX,
"gt-c-family-$3.h", "c-family/$3.h", NULL_FRULACT},
/* Both c-lang.h & c-tree.h gives gt-c-decl.h for c-decl.c ! */
{ DIR_PREFIX_REGEX "c-lang\\.h$",
REG_EXTENDED, NULL_REGEX, "gt-c-decl.h", "c-decl.c", NULL_FRULACT},
/* Both c-lang.h & c-tree.h gives gt-c-c-decl.h for c-decl.c ! */
{ DIR_PREFIX_REGEX "c/c-lang\\.h$",
REG_EXTENDED, NULL_REGEX, "gt-c-c-decl.h", "c/c-decl.c", NULL_FRULACT},
{ DIR_PREFIX_REGEX "c-tree\\.h$",
REG_EXTENDED, NULL_REGEX, "gt-c-decl.h", "c-decl.c", NULL_FRULACT},
{ DIR_PREFIX_REGEX "c/c-tree\\.h$",
REG_EXTENDED, NULL_REGEX, "gt-c-c-decl.h", "c/c-decl.c", NULL_FRULACT},
/* cp/cp-tree.h gives gt-cp-tree.h for cp/tree.c ! */
{ DIR_PREFIX_REGEX "cp/cp-tree\\.h$",

View File

@ -1,3 +1,16 @@
2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
* Make-ang.in: Adjust for move of C front-end files.
* config-lang.in: Likewise.
* objc-encoding.c: Look for cp-tree.h in cp/, and for c-tree.h
and c-lang.h in c/.
* objc-runtime-shared-support.c: Likewise.
* objc-next-runtime-abi-01.c: Likewise.
* objc-next-runtime-abi-02.c: Likewise.
* objc-gnu-runtime-abi-01.c: Likewise.
* objc-act.c: Likewise.
* objc-lang.c: Likewise.
2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
* objc-next-runtime-abi-01.c: Do not include tm.h and output.h.

View File

@ -44,7 +44,7 @@ objc: cc1obj$(exeext)
.PHONY: objc
START_HDRS = $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \
c-lang.h langhooks.h c-family/c-objc.h objc/objc-act.h
c/c-lang.h langhooks.h c-family/c-objc.h objc/objc-act.h
# Use maximal warnings for this front end.
objc-warn = $(STRICT_WARN)
@ -83,7 +83,7 @@ objc/objc-lang.o : objc/objc-lang.c \
$(START_HDRS) \
$(GGC_H) \
$(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-objc.h \
c-objc-common.h
c/c-objc-common.h
objc/objc-runtime-shared-support.o : objc/objc-runtime-shared-support.c \
gt-objc-objc-runtime-shared-support.h \

View File

@ -36,4 +36,4 @@ lang_requires="c"
# Order is important. If you change this list, make sure you test
# building without C++ as well; that is, remove the gcc/cp directory,
# and build with --enable-languages=c,objc.
gtfiles="\$(srcdir)/objc/objc-map.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/c-parser.c \$(srcdir)/c-tree.h \$(srcdir)/c-decl.c \$(srcdir)/c-lang.h \$(srcdir)/c-objc-common.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c"
gtfiles="\$(srcdir)/objc/objc-map.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c/c-lang.h \$(srcdir)/c/c-objc-common.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c"

View File

@ -27,10 +27,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#ifdef OBJCPLUS
#include "cp-tree.h"
#include "cp/cp-tree.h"
#else
#include "c-tree.h"
#include "c-lang.h"
#include "c/c-tree.h"
#include "c/c-lang.h"
#endif
#include "c-family/c-common.h"

View File

@ -25,10 +25,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#ifdef OBJCPLUS
#include "cp-tree.h"
#include "cp/cp-tree.h"
#else
#include "c-tree.h"
#include "c-lang.h"
#include "c/c-tree.h"
#include "c/c-lang.h"
#endif
#include "c-family/c-common.h"

View File

@ -24,10 +24,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#ifdef OBJCPLUS
#include "cp-tree.h"
#include "cp/cp-tree.h"
#else
#include "c-tree.h"
#include "c-lang.h"
#include "c/c-tree.h"
#include "c/c-lang.h"
#endif
#include "langhooks.h"

View File

@ -25,15 +25,15 @@ along with GCC; see the file COPYING3. If not see
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "c-tree.h"
#include "c/c-tree.h"
#include "c-family/c-common.h"
#include "c-family/c-objc.h"
#include "ggc.h"
#include "objc-act.h"
#include "langhooks.h"
#include "langhooks-def.h"
#include "c-objc-common.h"
#include "c-lang.h"
#include "c/c-objc-common.h"
#include "c/c-lang.h"
enum c_language_kind c_language = clk_objc;

View File

@ -29,10 +29,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#ifdef OBJCPLUS
#include "cp-tree.h"
#include "cp/cp-tree.h"
#else
#include "c-tree.h"
#include "c-lang.h"
#include "c/c-tree.h"
#include "c/c-lang.h"
#endif
#include "langhooks.h"
#include "c-family/c-objc.h"

View File

@ -32,10 +32,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#ifdef OBJCPLUS
#include "cp-tree.h"
#include "cp/cp-tree.h"
#else
#include "c-tree.h"
#include "c-lang.h"
#include "c/c-tree.h"
#include "c/c-lang.h"
#endif
#include "langhooks.h"
#include "c-family/c-objc.h"

View File

@ -25,10 +25,10 @@ along with GCC; see the file COPYING3. If not see
#include "tree.h"
#ifdef OBJCPLUS
#include "cp-tree.h"
#include "cp/cp-tree.h"
#else
#include "c-tree.h"
#include "c-lang.h"
#include "c/c-tree.h"
#include "c/c-lang.h"
#endif
#include "langhooks.h"
#include "c-family/c-objc.h"