Hi, This patch adds a module declaration to the rt/invariant.d module, preventing conflicts with a user-provided `invariant.d' module.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * runtime.def (INVARIANT): Update signature of run-time function. libphobos/ChangeLog: * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Rename rt/invariant.d to rt/invariant_.d. * libdruntime/Makefile.in: Regenerate. * libdruntime/rt/invariant.d: Move to... * libdruntime/rt/invariant_.d: ...here. --- gcc/d/runtime.def | 4 ++-- libphobos/libdruntime/Makefile.am | 2 +- libphobos/libdruntime/Makefile.in | 6 +++--- libphobos/libdruntime/rt/{invariant.d => invariant_.d} | 9 ++------- 4 files changed, 8 insertions(+), 13 deletions(-) rename libphobos/libdruntime/rt/{invariant.d => invariant_.d} (70%) diff --git a/gcc/d/runtime.def b/gcc/d/runtime.def index e4261946e00..4aff0a6e16a 100644 --- a/gcc/d/runtime.def +++ b/gcc/d/runtime.def @@ -142,8 +142,8 @@ DEF_D_RUNTIME (CXA_END_CATCH, "__cxa_end_catch", RT(VOID), P0(), 0) /* When invariant() contracts are turned on, used after testing whether a class != null for validating the state of a class. */ -DEF_D_RUNTIME (INVARIANT, "_D9invariant12_d_invariantFC6ObjectZv", RT(VOID), - P1(OBJECT), 0) +DEF_D_RUNTIME (INVARIANT, "_D2rt10invariant_12_d_invariantFC6ObjectZv", + RT(VOID), P1(OBJECT), 0) #undef P0 #undef P1 diff --git a/libphobos/libdruntime/Makefile.am b/libphobos/libdruntime/Makefile.am index 595e3f974c0..252c6a3eebb 100644 --- a/libphobos/libdruntime/Makefile.am +++ b/libphobos/libdruntime/Makefile.am @@ -222,7 +222,7 @@ DRUNTIME_DSOURCES = core/atomic.d core/attribute.d core/bitop.d \ gcc/unwind/generic.d gcc/unwind/package.d gcc/unwind/pe.d object.d \ rt/aApply.d rt/aApplyR.d rt/aaA.d rt/adi.d rt/arraycat.d rt/cast_.d \ rt/config.d rt/critical_.d rt/deh.d rt/dmain2.d rt/ehalloc.d \ - rt/invariant.d rt/lifetime.d rt/memory.d rt/minfo.d rt/monitor_.d \ + rt/invariant_.d rt/lifetime.d rt/memory.d rt/minfo.d rt/monitor_.d \ rt/profilegc.d rt/sections.d rt/tlsgc.d rt/util/typeinfo.d \ rt/util/utility.d diff --git a/libphobos/libdruntime/Makefile.in b/libphobos/libdruntime/Makefile.in index 4832fd15c40..52b0c377241 100644 --- a/libphobos/libdruntime/Makefile.in +++ b/libphobos/libdruntime/Makefile.in @@ -248,7 +248,7 @@ am__objects_1 = core/atomic.lo core/attribute.lo core/bitop.lo \ gcc/unwind/generic.lo gcc/unwind/package.lo gcc/unwind/pe.lo \ object.lo rt/aApply.lo rt/aApplyR.lo rt/aaA.lo rt/adi.lo \ rt/arraycat.lo rt/cast_.lo rt/config.lo rt/critical_.lo \ - rt/deh.lo rt/dmain2.lo rt/ehalloc.lo rt/invariant.lo \ + rt/deh.lo rt/dmain2.lo rt/ehalloc.lo rt/invariant_.lo \ rt/lifetime.lo rt/memory.lo rt/minfo.lo rt/monitor_.lo \ rt/profilegc.lo rt/sections.lo rt/tlsgc.lo rt/util/typeinfo.lo \ rt/util/utility.lo @@ -903,7 +903,7 @@ DRUNTIME_DSOURCES = core/atomic.d core/attribute.d core/bitop.d \ gcc/unwind/generic.d gcc/unwind/package.d gcc/unwind/pe.d object.d \ rt/aApply.d rt/aApplyR.d rt/aaA.d rt/adi.d rt/arraycat.d rt/cast_.d \ rt/config.d rt/critical_.d rt/deh.d rt/dmain2.d rt/ehalloc.d \ - rt/invariant.d rt/lifetime.d rt/memory.d rt/minfo.d rt/monitor_.d \ + rt/invariant_.d rt/lifetime.d rt/memory.d rt/minfo.d rt/monitor_.d \ rt/profilegc.d rt/sections.d rt/tlsgc.d rt/util/typeinfo.d \ rt/util/utility.d @@ -1413,7 +1413,7 @@ rt/critical_.lo: rt/$(am__dirstamp) rt/deh.lo: rt/$(am__dirstamp) rt/dmain2.lo: rt/$(am__dirstamp) rt/ehalloc.lo: rt/$(am__dirstamp) -rt/invariant.lo: rt/$(am__dirstamp) +rt/invariant_.lo: rt/$(am__dirstamp) rt/lifetime.lo: rt/$(am__dirstamp) rt/memory.lo: rt/$(am__dirstamp) rt/minfo.lo: rt/$(am__dirstamp) diff --git a/libphobos/libdruntime/rt/invariant.d b/libphobos/libdruntime/rt/invariant_.d similarity index 70% rename from libphobos/libdruntime/rt/invariant.d rename to libphobos/libdruntime/rt/invariant_.d index e536196e8c8..2a64dc89da6 100644 --- a/libphobos/libdruntime/rt/invariant.d +++ b/libphobos/libdruntime/rt/invariant_.d @@ -4,15 +4,10 @@ * Copyright: Copyright Digital Mars 2007 - 2010. * License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0). * Authors: Walter Bright - * Source: $(DRUNTIMESRC rt/_invariant.d) - */ - -/* Copyright Digital Mars 2007 - 2010. - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE or copy at - * http://www.boost.org/LICENSE_1_0.txt) + * Source: $(DRUNTIMESRC rt/_invariant_.d) */ +module rt.invariant_; /** * -- 2.43.0