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

Reply via email to