From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2795 invoked by alias); 16 Oct 2018 15:28:46 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 2785 invoked by uid 89); 16 Oct 2018 15:28:45 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.2 spammy=environmental X-HELO: foss.arm.com Received: from usa-sjc-mx-foss1.foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 16 Oct 2018 15:28:44 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7A6F5341; Tue, 16 Oct 2018 08:28:42 -0700 (PDT) Received: from localhost (unknown [10.32.99.101]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D837B3F71C; Tue, 16 Oct 2018 08:28:41 -0700 (PDT) From: Richard Sandiford To: Iain Buclaw Mail-Followup-To: Iain Buclaw ,gcc-patches , richard.sandiford@arm.com Cc: gcc-patches Subject: Re: [PATCH 07/14] Add patches for D language support in GCC targets. References: Date: Tue, 16 Oct 2018 16:12:00 -0000 In-Reply-To: (Iain Buclaw's message of "Tue, 18 Sep 2018 02:35:44 +0200") Message-ID: <87in21gbbr.fsf@arm.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-10/txt/msg00960.txt.bz2 Iain Buclaw writes: > diff --git a/gcc/Makefile.in b/gcc/Makefile.in > index 4b7cec82382..0b2daa320c3 100644 > --- a/gcc/Makefile.in > +++ b/gcc/Makefile.in > @@ -2496,6 +2525,7 @@ s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in > && ( test $(srcdir)/doc/tm.texi -nt $(srcdir)/target.def \ > || test $(srcdir)/doc/tm.texi -nt $(srcdir)/c-family/c-target.def \ > || test $(srcdir)/doc/tm.texi -nt $(srcdir)/common/common-target.def \ > + || test $(srcdir)/doc/tm.texi -nt $(srcdir)/d/d-target.def \ > ); then \ > echo >&2 ; \ > echo You should edit $(srcdir)/doc/tm.texi.in rather than $(srcdir)/doc/tm.texi . >&2 ; \ > [...] > @@ -2784,7 +2815,7 @@ build/genrecog.o : genrecog.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \ > $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) \ > $(HASH_TABLE_H) inchash.h > build/genhooks.o : genhooks.c $(TARGET_DEF) $(C_TARGET_DEF) \ > - $(COMMON_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h > + $(COMMON_TARGET_DEF) $(D_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h > build/genmddump.o : genmddump.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \ > $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) > build/genmatch.o : genmatch.c $(BCONFIG_H) $(SYSTEM_H) \ I was initially a bit worried about this because it makes the build depend on the existence of the d/ directory. But it doesn't look like we try to ship separate tarballs for specific source languages any more, so that's probably not a problem. > @@ -10659,6 +10668,22 @@ unloaded. The default is to return false. > Return target-specific mangling context of @var{decl} or @code{NULL_TREE}. > @end deftypefn > > +@node D Language and ABI > +@section D ABI parameters > +@cindex parameters, d abi > + > +@deftypefn {D Target Hook} void TARGET_D_CPU_VERSIONS (void) > +Declare all environmental version identifiers relating to the target CPU using the function @code{builtin_version}, which takes a string representing the name of the version. Version identifiers predefined by this hook apply to all modules and being compiled and imported. > +@end deftypefn "and being"? Does this mean "that are being"? > +@deftypefn {D Target Hook} void TARGET_D_OS_VERSIONS (void) > +Similarly to @code{TARGET_D_CPU_VERSIONS}, but is used for versions relating to the target operating system. > +@end deftypefn > + > +@deftypefn {D Target Hook} unsigned TARGET_D_CRITSEC_SIZE (void) > +Returns the size of the data structure used by the targeted operating system for critical sections and monitors. For example, on Microsoft Windows this would return the @code{sizeof(CRITICAL_SECTION)}, while other platforms that implement pthreads would return @code{sizeof(pthread_mutex_t)}. > +@end deftypefn Please reflow the .def so that these fit within 80 chars. OK otherwise if no target maintainer objects to the changes to their port (I think they've had plenty of time already :-)) Thanks, Richard