[v2,08/18] convert the ObjC++ front end to automatic dependencies

Submitted by Tom Tromey on July 29, 2013, 4:24 p.m.

Details

Message ID 1375115069-31143-9-git-send-email-tromey@redhat.com
State New
Headers show

Commit Message

Tom Tromey July 29, 2013, 4:24 p.m.
This converts the ObjC++ front end.

Now we can finally remove the *_H macros from cp/Make-lang.in.

	* Make-lang.in (CXX_TREE_H, CXX_PARSER_H, CXX_PRETTY_PRINT_H):
	Remove.

	* Make-lang.in (START_HDRS, cc1objplus-checksum.o)
	(objcp/objcp-lang.o, objcp/objcp-decl.o
	(objcp/objc-runtime-shared-support.o)
	(objcp/objc-gnu-runtime-abi-01.o objcp/objc-next-runtime-abi-01.o)
	(objcp/objc-next-runtime-abi-02.o, objcp/objcp-act.o)
	(objcp/objc-encoding.o, objcp/objc-map.o): Use COMPILE and
	POSTCOMPILE.  Remove explicit dependencies.
---
 gcc/cp/Make-lang.in    |   9 ----
 gcc/objcp/Make-lang.in | 128 +++++++++++--------------------------------------
 2 files changed, 27 insertions(+), 110 deletions(-)

Comments

Mike Stump July 29, 2013, 4:37 p.m.
On Jul 29, 2013, at 9:24 AM, Tom Tromey <tromey@redhat.com> wrote:
> +objcp/objc-runtime-shared-support.o : objc/objc-runtime-shared-support.c

> +objcp/objc-gnu-runtime-abi-01.o: objc/objc-gnu-runtime-abi-01.c

> +objcp/objc-next-runtime-abi-01.o: objc/objc-next-runtime-abi-01.c

> +objcp/objc-next-runtime-abi-02.o: objc/objc-next-runtime-abi-02.c

> +objcp/objcp-act.o : objc/objc-act.c

> +objcp/objc-encoding.o : objc/objc-encoding.c

> +objcp/objc-map.o : objc/objc-map.c

Please, no space before :.  Ok with that.
Tom Tromey July 29, 2013, 4:48 p.m.
>>>>> "Mike" == Mike Stump <mikestump@comcast.net> writes:

>> +objcp/objcp-act.o : objc/objc-act.c
>> +objcp/objc-encoding.o : objc/objc-encoding.c
>> +objcp/objc-map.o : objc/objc-map.c

Mike> Please, no space before :.  Ok with that.

I'll make the change, but please note that this is how it was before my
patch.  This fact is obscured by the way diff chooses to show the
changes.  Ordinarily I would not make a reformatting change like this at
the same time as a non-formatting change.

Tom

Patch hide | download patch | download mbox

diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index 43b7003..a7943c8 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -247,12 +247,3 @@  c++.stageprofile: stageprofile-start
 	-mv cp/*$(objext) stageprofile/cp
 c++.stagefeedback: stagefeedback-start
 	-mv cp/*$(objext) stagefeedback/cp
-
-#
-# .o: .h dependencies.
-CXX_TREE_H = $(TREE_H) cp/name-lookup.h cp/cp-tree.h $(C_COMMON_H) \
-	$(FUNCTION_H) \
-	$(SYSTEM_H) coretypes.h $(CONFIG_H) $(TARGET_H) $(GGC_H) \
-	$(srcdir)/../include/hashtab.h
-CXX_PARSER_H = tree.h $(CXX_TREE_H) c-family/c-pragma.h cp/parser.h
-CXX_PRETTY_PRINT_H = cp/cxx-pretty-print.h $(C_PRETTY_PRINT_H)
diff --git a/gcc/objcp/Make-lang.in b/gcc/objcp/Make-lang.in
index ec10fc8..4714788 100644
--- a/gcc/objcp/Make-lang.in
+++ b/gcc/objcp/Make-lang.in
@@ -43,9 +43,6 @@  obj-c++: cc1objplus$(exeext)
 # Tell GNU make to ignore these if they exist.
 .PHONY: obj-c++
 
-START_HDRS = $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(CXX_TREE_H) \
-  $(CXX_PARSER_H) $(CXX_PRETTY_PRINT_H) langhooks.h c-family/c-objc.h objc/objc-act.h
-
 # Use maximal warnings for this front end.  Also, make ObjC and C++
 # headers accessible.
 objcp-warn = $(STRICT_WARN) -DOBJCPLUS -I$(srcdir)/objc -I$(srcdir)/cp
@@ -69,110 +66,39 @@  cc1objplus-checksum.c : build/genchecksum$(build_exeext) checksum-options \
 	$(srcdir)/../move-if-change cc1objplus-checksum.c.tmp \
 	cc1objplus-checksum.c
 
-cc1objplus-checksum.o : cc1objplus-checksum.c $(CONFIG_H) $(SYSTEM_H)
-
 cc1objplus$(exeext): $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBDEPS)
 	+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
 		$(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
 
 # Objective C++ language specific files.
 
-objcp/objcp-lang.o : objcp/objcp-lang.c \
-  $(START_HDRS) \
-  $(GGC_H) \
-  $(C_COMMON_H) $(LANGHOOKS_DEF_H) cp/cp-objcp-common.h \
-  $(TARGET_H) gtype-objcp.h
-
-objcp/objcp-decl.o : objcp/objcp-decl.c \
-   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(CXX_TREE_H) \
-   objc/objc-act.h c-family/c-objc.h \
-   objcp/objcp-decl.h
-
-objcp/objc-runtime-shared-support.o : objc/objc-runtime-shared-support.c \
-   gt-objc-objc-runtime-shared-support.h \
-   $(START_HDRS) \
-   $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
-   objc/objc-encoding.h \
-   objc/objc-next-metadata-tags.h \
-   objc/objc-runtime-shared-support.h \
-   objcp/objcp-decl.h
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
-		$(OUTPUT_OPTION)
-
-objcp/objc-gnu-runtime-abi-01.o: objc/objc-gnu-runtime-abi-01.c \
-   gt-objc-objc-gnu-runtime-abi-01.h \
-   $(START_HDRS) \
-   $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
-   toplev.h \
-   objc/objc-encoding.h \
-   objc/objc-runtime-hooks.h \
-   objc/objc-runtime-shared-support.h \
-   objcp/objcp-decl.h
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
-		$(OUTPUT_OPTION)
-
-objcp/objc-next-runtime-abi-01.o: objc/objc-next-runtime-abi-01.c \
-   gt-objc-objc-next-runtime-abi-01.h \
-   $(START_HDRS) \
-   $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
-   $(TARGET_H) output.h \
-   objc/objc-encoding.h \
-   objc/objc-next-metadata-tags.h \
-   objc/objc-runtime-hooks.h \
-   objc/objc-runtime-shared-support.h \
-   objcp/objcp-decl.h
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
-		$(OUTPUT_OPTION)
-
-objcp/objc-next-runtime-abi-02.o: objc/objc-next-runtime-abi-02.c \
-   gt-objc-objc-next-runtime-abi-02.h \
-   $(START_HDRS) \
-   $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
-   $(TARGET_H) \
-   objc/objc-encoding.h \
-   objc/objc-next-metadata-tags.h \
-   objc/objc-runtime-hooks.h \
-   objc/objc-runtime-shared-support.h \
-   objcp/objcp-decl.h
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
-		$(OUTPUT_OPTION)
-
-
-# The following must be an explicit rule; please keep in sync with the implicit
-# one in Makefile.in.
-objcp/objcp-act.o : objc/objc-act.c \
-   gt-objc-objc-act.h \
-   $(START_HDRS) \
-   $(GGC_H) $(DIAGNOSTIC_H) $(FLAGS_H) input.h \
-   toplev.h $(FUNCTION_H) output.h debug.h $(LANGHOOKS_DEF_H) \
-   $(HASHTAB_H) $(GIMPLE_H) \
-   $(RTL_H) $(EXPR_H) $(TARGET_H) \
-   objcp/objcp-decl.h \
-   objc/objc-encoding.h \
-   objc/objc-map.h \
-   objc/objc-runtime-hooks.h \
-   objc/objc-runtime-shared-support.h \
-   objcp/objcp-decl.h
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
-		$(OUTPUT_OPTION)
-
-objcp/objc-encoding.o : objc/objc-encoding.c \
-   $(START_HDRS) \
-   $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
-   $(OBSTACK_H) \
-   objc/objc-encoding.h \
-   objc/objc-runtime-shared-support.h \
-   objcp/objcp-decl.h
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
-		$(OUTPUT_OPTION)
-
-objcp/objc-map.o : objc/objc-map.c \
-   $(START_HDRS) \
-   $(GGC_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) input.h \
-   $(OBSTACK_H) \
-   objc/objc-map.h
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< \
-		$(OUTPUT_OPTION)
+objcp/objc-runtime-shared-support.o : objc/objc-runtime-shared-support.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+
+objcp/objc-gnu-runtime-abi-01.o: objc/objc-gnu-runtime-abi-01.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+
+objcp/objc-next-runtime-abi-01.o: objc/objc-next-runtime-abi-01.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+
+objcp/objc-next-runtime-abi-02.o: objc/objc-next-runtime-abi-02.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+
+objcp/objcp-act.o : objc/objc-act.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+
+objcp/objc-encoding.o : objc/objc-encoding.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
+
+objcp/objc-map.o : objc/objc-map.c
+	$(COMPILE) $<
+	$(POSTCOMPILE)
 
 po-generated: