Iain Buclaw <ibuc...@gdcproject.org> writes: > diff --git a/libphobos/d_rules.am b/libphobos/d_rules.am > new file mode 100644 > index 00000000000..b16cf5052d2 > --- /dev/null > +++ b/libphobos/d_rules.am > @@ -0,0 +1,60 @@ > +# This file contains some common rules for D source compilation > +# used for libdruntime and libphobos > + > +# If there are no sources with known extension (i.e. only D sources) > +# automake forgets to set this
Needs a copyright notice and licence. > +# AC_LANG(D) > +# ----------- > +# (we have to use GDC as variable prefix as our GCC patches set GDC > +# GDC_FOR_BUILD etc. If we ever want to support other D compilers all > +# names need to be changed to DC) Seems like this is still talking about GDC as a separate project. > + # This checks to see if the host supports the compiler-generated builtins > + # for atomic operations for various integral sizes. Note, this is intended > + # to be an all-or-nothing switch, so all the atomic operations that are > + # used should be checked. > + AC_MSG_CHECKING([for atomic builtins for byte]) > + AC_CACHE_VAL(druntime_cv_atomic_byte, [ > + AC_TRY_LINK( > + [import gcc.builtins;], [ > + shared(byte) c1; > + byte c2, c3; > + __atomic_compare_exchange_1(&c1, &c2, c3, false, 5, 5); > + __atomic_load_1(&c1, 5); > + __atomic_store_1(&c1, c2, 5); > + return 0; > + ], > + [druntime_cv_atomic_byte=yes], > + [druntime_cv_atomic_byte=no]) > + ]) > + AC_MSG_RESULT($druntime_cv_atomic_byte) Link tests generally don't work for newlib targets, since they often require a specific command-line option to specify the target system. But perhaps you don't support newlib targets anyway. Either way, it shouldn't hold up acceptance. > --- /dev/null > +++ b/libphobos/src/Makefile.am > @@ -0,0 +1,211 @@ > +# Makefile for the Phobos standard library. > +# Copyright (C) 2012-2017 Free Software Foundation, Inc. 2012-2018. > diff --git a/libphobos/testsuite/Makefile.am b/libphobos/testsuite/Makefile.am > new file mode 100644 > index 00000000000..dd99d9d871e > --- /dev/null > +++ b/libphobos/testsuite/Makefile.am > @@ -0,0 +1,15 @@ > +## Process this file with automake to produce Makefile.in. > + > +AUTOMAKE_OPTIONS = foreign dejagnu > + > +# Setup the testing framework, if you have one > +EXPECT = $(shell if test -f $(top_builddir)/../expect/expect; then \ > + echo $(top_builddir)/../expect/expect; else echo expect; fi) > + > +_RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \ > + echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi) > +RUNTEST = "$(_RUNTEST) $(AM_RUNTESTFLAGS)" > + > +AM_MAKEFLAGS = "EXEEXT=$(EXEEXT)" > + > +CLEANFILES = *.log *.sum Should probably have a copyright & licence here too, even though it's small, since it could grow in future. > +// { dg-shouldfail "static_dtor_exception" } > +// { dg-output "object.Exception@.*: static_dtor_exception" } > +// Issue 16594 > +import core.stdc.stdio; Which bug tracker is this referring to? Maybe a URI would be better, to avoid confusion with GCC's bugzilla. Same for other bugzilla references in later tests. Or just remove if the tracker isn't public. OK otherwise, thanks. I think that's the last of the unreviewed patches. Let me know if I missed one. Richard