From patchwork Mon Sep 23 14:11:49 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 277210 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 15ACC2C010F for ; Tue, 24 Sep 2013 00:14:36 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references; q=dns; s= default; b=r12mz9ysrxbgQ4VEIhe0pS5dYxG62rs3eNhRkuLT848XK9RL/gIIZ nhX8MSojw36auJQOIRgnX//rqYvDmUU8/JlP6Gdi8dYt31ICpRfnAAMC1rPzzp4W DxJPRAkfADCawJuxRGXXiSOkfDxDfpr6obdFWF65j86jl5AOUA6H0E= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references; s= default; bh=1Hi0+BEJI2gCZCFZSuHHpBuE/Ck=; b=NWv1puC62SRfPeeO7J3J GLmuAsHK3Oh0l0pV1E5S6uqVLF1djTE0vuLiJu4fOb8Tz2JRWVeo3Q+64LWh+Tsj AgzbN8XYuzMM7CFDnQvDPhdLoXjF50Dn5zpe/hDRXvj6A2wzWM1Wn5UDRqtPhjLO XhSI2rKFZTiDazsLVmC6zMI= Received: (qmail 29789 invoked by alias); 23 Sep 2013 14:12:11 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 29723 invoked by uid 89); 23 Sep 2013 14:12:11 -0000 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 23 Sep 2013 14:12:11 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.8 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r8NEC8lT028137 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 23 Sep 2013 10:12:08 -0400 Received: from barimba.redhat.com (ovpn-113-63.phx2.redhat.com [10.3.113.63]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r8NEC2Dg013468; Mon, 23 Sep 2013 10:12:08 -0400 From: Tom Tromey To: gcc-patches@gcc.gnu.org Cc: bonzini@gnu.org, Tom Tromey Subject: [PATCH v4 09/20] convert the ObjC++ front end to automatic dependencies Date: Mon, 23 Sep 2013 08:11:49 -0600 Message-Id: <1379945520-3839-10-git-send-email-tromey@redhat.com> In-Reply-To: <1379945520-3839-1-git-send-email-tromey@redhat.com> References: <1379945520-3839-1-git-send-email-tromey@redhat.com> 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(-) diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index 3653de9..9bcea20 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -240,12 +240,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..439bfa2 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: