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

login
register
mail settings
Submitter Tom Tromey
Date July 29, 2013, 4:24 p.m.
Message ID <1375115069-31143-9-git-send-email-tromey@redhat.com>
Download mbox | patch
Permalink /patch/262884/
State New
Headers show

Comments

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(-)
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

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: