From d5fa6e062916aa3d98b4f8a15cf1978a9f8d9281 Mon Sep 17 00:00:00 2001 From: Dennis Korpel Date: Wed, 5 Mar 2025 12:28:07 +0100 Subject: [PATCH 01/32] bump VERSION to v2.110.0 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5aab7a2b62..97009bcc82 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.110.0-rc.1 +v2.110.0 From 5ed96a59b355db363e25e950388823367cedfb6f Mon Sep 17 00:00:00 2001 From: Dennis Korpel Date: Wed, 5 Mar 2025 15:33:12 +0100 Subject: [PATCH 02/32] purge changelog --- changelog/dmd.copying-to-void-arrays.dd | 15 --------------- changelog/dmd.import-exp-hexstring.dd | 12 ------------ changelog/dmd.isCOMClass.dd | 5 ----- changelog/dmd.unsafe-boolean-values.dd | 15 --------------- 4 files changed, 47 deletions(-) delete mode 100644 changelog/dmd.copying-to-void-arrays.dd delete mode 100644 changelog/dmd.import-exp-hexstring.dd delete mode 100644 changelog/dmd.isCOMClass.dd delete mode 100644 changelog/dmd.unsafe-boolean-values.dd diff --git a/changelog/dmd.copying-to-void-arrays.dd b/changelog/dmd.copying-to-void-arrays.dd deleted file mode 100644 index e01cac5e2e..0000000000 --- a/changelog/dmd.copying-to-void-arrays.dd +++ /dev/null @@ -1,15 +0,0 @@ -Copying from `const(void)[]` to `void[]` is disallowed with `-preview=fixImmutableConv` - -If `const(void)[]` data contains tail `const` pointers, copying to `void[]` -can subsequently violate `const` data: ---- -void f(int*[] a, const int*[] b) -{ - void[] va = a; - const void[] vb = b; - va[] = vb[]; // fills `a` with pointers to const - *a[0] = 0; // const data mutated -} ---- -Copying `vb` data to `va` is no longer allowed with the -`-preview=fixImmutableConv` switch. diff --git a/changelog/dmd.import-exp-hexstring.dd b/changelog/dmd.import-exp-hexstring.dd deleted file mode 100644 index b14878a27d..0000000000 --- a/changelog/dmd.import-exp-hexstring.dd +++ /dev/null @@ -1,12 +0,0 @@ -Import expressions are now treated as hex strings - -While [Import expressions](https://dlang.org/spec/expression.html#import_expressions) are typed as `string`, they are also used to embed binary files. -By treating them the same as hex strings, they will implicitly convert to arrays of integral types other than `char`. - ---- -// Formerly, a cast was required: -immutable ubyte[] iconImg = cast(immutable ubyte[]) import("icon.png"); - -// Now, it implicitly converts to integral arrays: -immutable ubyte[] iconImg = import("icon.png"); ---- diff --git a/changelog/dmd.isCOMClass.dd b/changelog/dmd.isCOMClass.dd deleted file mode 100644 index 31e0e9a403..0000000000 --- a/changelog/dmd.isCOMClass.dd +++ /dev/null @@ -1,5 +0,0 @@ -New trait isCOMClass to detect if a type is a COM class - -A COM class inherits from a possibly user defined interface called ``IUnknown``. -To detect this during compilation use the trait ``__traits(isCOMClass, Type)``. -Or for during runtime use the ``TypeInfo_Class`` flag. diff --git a/changelog/dmd.unsafe-boolean-values.dd b/changelog/dmd.unsafe-boolean-values.dd deleted file mode 100644 index 040796ab71..0000000000 --- a/changelog/dmd.unsafe-boolean-values.dd +++ /dev/null @@ -1,15 +0,0 @@ -`bool` values other than 0 or 1 are not `@safe` - -The spec [was updated](https://dlang.org/spec/type.html#bool) -(for 2.109) so that only 0 and 1 are -[safe values](https://dlang.org/spec/function.html#safe-values) -for `bool`. This means that reading a `bool` value whose underlying byte representation -has other bits set is implementation-defined and should be avoided. -Consequently the following are deprecated in `@safe` code: - -* `void` initialization of booleans (since 2.109) -* Reading a `bool` field from a union (since 2.109) -* Runtime casting a dynamic array to a `bool` dynamic array type -* Runtime casting a `bool` dynamic array to a tail mutable dynamic array type -* Casting a pointer to a `bool` pointer type -* Casting a `bool` pointer to a tail mutable pointer type From c6e387c4482363d00905749e6217a2804f7c0142 Mon Sep 17 00:00:00 2001 From: Dennis Korpel Date: Sun, 9 Mar 2025 17:10:49 +0100 Subject: [PATCH 03/32] bump VERSION to v2.111.0-beta.1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 97009bcc82..2f668e5056 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.110.0 +v2.111.0-beta.1 From 603225372b211bb66dd0ea1a939043ace5a650cf Mon Sep 17 00:00:00 2001 From: Manu Evans Date: Mon, 10 Mar 2025 21:06:29 +1000 Subject: [PATCH 04/32] Accept __rvalue attribute on ref functions; which will force the result to be treated as __rvalue. (#20946) This is essential to implement `move`, `forward`, etc. --- changelog/dmd.rvalue.dd | 15 ++++++++++++++- compiler/src/dmd/expressionsem.d | 15 ++++++++++++++- compiler/src/dmd/frontend.h | 11 ++++++++--- compiler/src/dmd/mtype.d | 4 ++++ compiler/src/dmd/parse.d | 4 ++++ 5 files changed, 44 insertions(+), 5 deletions(-) diff --git a/changelog/dmd.rvalue.dd b/changelog/dmd.rvalue.dd index f01d939236..1c33f36d20 100644 --- a/changelog/dmd.rvalue.dd +++ b/changelog/dmd.rvalue.dd @@ -23,5 +23,18 @@ This also applies to constructors and assignments, meaning move constructors and move assignments are enabled. Moving instead of copying can be much more resource efficient, as, say, a string can be moved rather than copied/deleted. -A moved object can still be destructed, so take that into account when moving +A moved object will still be destructed, so take that into account when moving a field - set it to a benign value that can be destructed. + +`__rvalue` may also be used as an attribute on a function which returns by ref +to declare that the result should be treated as an rvalue at the callsite: +``` +ref T move(T)(return ref T source) __rvalue +{ + return source; +} + +S s; +S t = move(s); // call expression rewritten as: S t = __rvalue(move(s)) +``` +This is used as an internal tool to implement library primitives such as `move` and `forward`. diff --git a/compiler/src/dmd/expressionsem.d b/compiler/src/dmd/expressionsem.d index 81c1c5bda4..83f28be96a 100644 --- a/compiler/src/dmd/expressionsem.d +++ b/compiler/src/dmd/expressionsem.d @@ -5893,6 +5893,19 @@ private extern (C++) final class ExpressionSemanticVisitor : Visitor printf("CallExp::semantic() %s\n", exp.toChars()); } + scope (exit) + { + if (TypeFunction tf = exp.f ? cast(TypeFunction)exp.f.type : null) + { + result.rvalue = tf.isRvalue; + if (tf.isRvalue && !tf.isRef) + { + error(exp.f.loc, "`__rvalue` only valid on functions that return by `ref`"); + setError(); + } + } + } + Objects* tiargs = null; // initial list of template arguments Expression ethis = null; Type tthis = null; @@ -10839,7 +10852,7 @@ private extern (C++) final class ExpressionSemanticVisitor : Visitor return; } } - else if (sd.hasMoveCtor && !e2x.isCallExp() && !e2x.isStructLiteralExp()) + else if (sd.hasMoveCtor && (!e2x.isCallExp() || e2x.rvalue) && !e2x.isStructLiteralExp()) { // #move /* The !e2x.isCallExp() is because it is already an rvalue diff --git a/compiler/src/dmd/frontend.h b/compiler/src/dmd/frontend.h index dd39b74672..557d9bb7f3 100644 --- a/compiler/src/dmd/frontend.h +++ b/compiler/src/dmd/frontend.h @@ -4596,6 +4596,7 @@ private: bool isInOutQual; bool isCtor; bool isReturnScope; + bool isRvalue; BitFields() : isNothrow(), isNogc(), @@ -4610,10 +4611,11 @@ private: isInOutParam(), isInOutQual(), isCtor(), - isReturnScope() + isReturnScope(), + isRvalue() { } - BitFields(bool isNothrow, bool isNogc = false, bool isProperty = false, bool isRef = false, bool isReturn = false, bool isScopeQual = false, bool isReturnInferred = false, bool isScopeInferred = false, bool isLive = false, bool incomplete = false, bool isInOutParam = false, bool isInOutQual = false, bool isCtor = false, bool isReturnScope = false) : + BitFields(bool isNothrow, bool isNogc = false, bool isProperty = false, bool isRef = false, bool isReturn = false, bool isScopeQual = false, bool isReturnInferred = false, bool isScopeInferred = false, bool isLive = false, bool incomplete = false, bool isInOutParam = false, bool isInOutQual = false, bool isCtor = false, bool isReturnScope = false, bool isRvalue = false) : isNothrow(isNothrow), isNogc(isNogc), isProperty(isProperty), @@ -4627,7 +4629,8 @@ private: isInOutParam(isInOutParam), isInOutQual(isInOutQual), isCtor(isCtor), - isReturnScope(isReturnScope) + isReturnScope(isReturnScope), + isRvalue(isRvalue) {} }; @@ -4660,6 +4663,8 @@ public: bool isCtor(bool v); bool isReturnScope() const; bool isReturnScope(bool v); + bool isRvalue() const; + bool isRvalue(bool v); private: uint16_t bitFields; public: diff --git a/compiler/src/dmd/mtype.d b/compiler/src/dmd/mtype.d index 63663dca99..5ba866c9e5 100644 --- a/compiler/src/dmd/mtype.d +++ b/compiler/src/dmd/mtype.d @@ -2488,6 +2488,7 @@ extern (C++) final class TypeFunction : TypeNext bool isInOutQual; /// inout on the qualifier bool isCtor; /// the function is a constructor bool isReturnScope; /// `this` is returned by value + bool isRvalue; /// returned reference should be treated as rvalue } import dmd.common.bitfields : generateBitFields; @@ -2531,6 +2532,8 @@ extern (C++) final class TypeFunction : TypeNext this.isScopeQual = true; if (stc & STC.scopeinferred) this.isScopeInferred = true; + if (stc & STC.rvalue) + this.isRvalue = true; this.trust = TRUST.default_; if (stc & STC.safe) @@ -2567,6 +2570,7 @@ extern (C++) final class TypeFunction : TypeNext t.isScopeQual = isScopeQual; t.isReturnInferred = isReturnInferred; t.isScopeInferred = isScopeInferred; + t.isRvalue = isRvalue; t.isInOutParam = isInOutParam; t.isInOutQual = isInOutQual; t.trust = trust; diff --git a/compiler/src/dmd/parse.d b/compiler/src/dmd/parse.d index d75597ed3c..3d25464fc5 100644 --- a/compiler/src/dmd/parse.d +++ b/compiler/src/dmd/parse.d @@ -1422,6 +1422,10 @@ class Parser(AST, Lexer = dmd.lexer.Lexer) : Lexer stc = STC.scope_; break; + case TOK.rvalue: + stc = STC.rvalue; + break; + case TOK.at: { AST.Expressions* udas = null; From 51be8bb729cfa41ff5af4f5b2a9b7b9902bfdaa1 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 14 Mar 2025 00:13:44 +0100 Subject: [PATCH 05/32] memoryerror.d: Fix AnySupported version condition (#20983) --- druntime/src/etc/linux/memoryerror.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/druntime/src/etc/linux/memoryerror.d b/druntime/src/etc/linux/memoryerror.d index 31e1d83796..b44a7f6d68 100644 --- a/druntime/src/etc/linux/memoryerror.d +++ b/druntime/src/etc/linux/memoryerror.d @@ -40,7 +40,7 @@ version (linux) version (MemoryErrorSupported) version = AnySupported; -else version (MemoryErrorSupported) +else version (MemoryAssertSupported) version = AnySupported; version (AnySupported): From d5e6f4909844b2027b897d6e0601cabfc2894ade Mon Sep 17 00:00:00 2001 From: Dennis Date: Sat, 15 Mar 2025 20:16:44 +0100 Subject: [PATCH 06/32] Fix #20982 - wrong line number in iasmgcc (#20993) --- compiler/src/dmd/iasmgcc.d | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/src/dmd/iasmgcc.d b/compiler/src/dmd/iasmgcc.d index f338ccc8de..f8ebf8fbbb 100644 --- a/compiler/src/dmd/iasmgcc.d +++ b/compiler/src/dmd/iasmgcc.d @@ -55,7 +55,8 @@ public Statement gccAsmSemantic(GccAsmStatement s, Scope* sc) *ptoklist = null; } p.token = *toklist; - p.scanloc = s.loc; + p.baseLoc.startLine = s.loc.linnum; + p.linnum = s.loc.linnum; // Parse the gcc asm statement. const errors = global.errors; From 57a60e575c509df44de66b4317aa5e551a75b7fe Mon Sep 17 00:00:00 2001 From: Dennis Date: Sun, 16 Mar 2025 23:40:49 +0100 Subject: [PATCH 07/32] Move genCfunc to cxxfrontend (#20992) --- compiler/src/dmd/cxxfrontend.d | 13 +++++++++++++ compiler/src/dmd/declaration.h | 6 +++--- compiler/src/dmd/frontend.h | 2 -- compiler/src/dmd/func.d | 4 ++-- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/compiler/src/dmd/cxxfrontend.d b/compiler/src/dmd/cxxfrontend.d index 8c6df58d9e..1c228f5cdd 100644 --- a/compiler/src/dmd/cxxfrontend.d +++ b/compiler/src/dmd/cxxfrontend.d @@ -276,6 +276,19 @@ bool fill(StructDeclaration sd, Loc loc, return dmd.expressionsem.fill(sd, loc, elements, ctorinit); } +/*********************************************************** + * func.d + */ +FuncDeclaration genCfunc(Parameters* fparams, Type treturn, const(char)* name, StorageClass stc = STC.none) +{ + return FuncDeclaration.genCfunc(fparams, treturn, name, cast(STC) stc); +} + +FuncDeclaration genCfunc(Parameters* fparams, Type treturn, Identifier id, StorageClass stc = STC.none) +{ + return FuncDeclaration.genCfunc(fparams, treturn, id, cast(STC) stc); +} + /*********************************************************** * funcsem.d */ diff --git a/compiler/src/dmd/declaration.h b/compiler/src/dmd/declaration.h index 63fdc9b69a..4085b51683 100644 --- a/compiler/src/dmd/declaration.h +++ b/compiler/src/dmd/declaration.h @@ -726,13 +726,13 @@ public: bool hasNestedFrameRefs(); ParameterList getParameterList(); - static FuncDeclaration *genCfunc(Parameters *args, Type *treturn, const char *name, StorageClass stc=0); - static FuncDeclaration *genCfunc(Parameters *args, Type *treturn, Identifier *id, StorageClass stc=0); - virtual FuncDeclaration *toAliasFunc() { return this; } void accept(Visitor *v) override { v->visit(this); } }; +FuncDeclaration *genCfunc(Parameters *args, Type *treturn, const char *name, StorageClass stc=0); +FuncDeclaration *genCfunc(Parameters *args, Type *treturn, Identifier *id, StorageClass stc=0); + class FuncAliasDeclaration final : public FuncDeclaration { public: diff --git a/compiler/src/dmd/frontend.h b/compiler/src/dmd/frontend.h index 557d9bb7f3..d2e861ba4b 100644 --- a/compiler/src/dmd/frontend.h +++ b/compiler/src/dmd/frontend.h @@ -4052,8 +4052,6 @@ public: bool needsClosure(); bool hasNestedFrameRefs(); ParameterList getParameterList(); - static FuncDeclaration* genCfunc(Array* fparams, Type* treturn, const char* name, STC stc = (STC)0LLU); - static FuncDeclaration* genCfunc(Array* fparams, Type* treturn, Identifier* id, STC stc = (STC)0LLU); virtual FuncDeclaration* toAliasFunc(); void accept(Visitor* v) override; }; diff --git a/compiler/src/dmd/func.d b/compiler/src/dmd/func.d index 25987a7819..e96c3326b7 100644 --- a/compiler/src/dmd/func.d +++ b/compiler/src/dmd/func.d @@ -1006,12 +1006,12 @@ extern (C++) class FuncDeclaration : Declaration /********************************** * Generate a FuncDeclaration for a runtime library function. */ - static FuncDeclaration genCfunc(Parameters* fparams, Type treturn, const(char)* name, STC stc = STC.none) + extern(D) static FuncDeclaration genCfunc(Parameters* fparams, Type treturn, const(char)* name, STC stc = STC.none) { return genCfunc(fparams, treturn, Identifier.idPool(name[0 .. strlen(name)]), stc); } - static FuncDeclaration genCfunc(Parameters* fparams, Type treturn, Identifier id, STC stc = STC.none) + extern(D) static FuncDeclaration genCfunc(Parameters* fparams, Type treturn, Identifier id, STC stc = STC.none) { FuncDeclaration fd; TypeFunction tf; From d2ee11364c25ca8865eb0acb9596a6147532ef41 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Mon, 17 Mar 2025 15:06:24 +0100 Subject: [PATCH 08/32] druntime: Fix compilation of rt.cover on Android (#21015) --- druntime/src/rt/cover.d | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/druntime/src/rt/cover.d b/druntime/src/rt/cover.d index 7bc5ffbf11..0b1902104c 100644 --- a/druntime/src/rt/cover.d +++ b/druntime/src/rt/cover.d @@ -27,7 +27,7 @@ else version (Posix) { import core.stdc.stdio : fopen; import core.sys.posix.fcntl : O_CREAT, O_RDWR, open, S_IRGRP, S_IROTH, S_IRUSR, S_IWGRP, S_IWOTH, S_IWUSR; - import core.sys.posix.unistd : F_LOCK, ftruncate, lockf; + import core.sys.posix.unistd : ftruncate; } else static assert(0, "Unsupported platform"); @@ -487,7 +487,10 @@ void lockFile(int fd) flock(fd, LOCK_EX); // exclusive lock } else version (Posix) + { + import core.sys.posix.unistd : F_LOCK, lockf; lockf(fd, F_LOCK, 0); // exclusive lock + } else version (Windows) { OVERLAPPED off; From 8c9769fef483237d7b9cc0a34abe1da484153c03 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Mon, 17 Mar 2025 15:17:16 +0100 Subject: [PATCH 09/32] Expose SourceLoc to C++ interface (#20980) --- compiler/src/dmd/frontend.h | 19 ++++++++++++++++++- compiler/src/dmd/globals.h | 9 +++++++++ compiler/src/dmd/location.d | 8 +++++++- compiler/src/tests/cxxfrontend.cc | 6 ++++++ 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/compiler/src/dmd/frontend.h b/compiler/src/dmd/frontend.h index d2e861ba4b..fe1850ce1d 100644 --- a/compiler/src/dmd/frontend.h +++ b/compiler/src/dmd/frontend.h @@ -377,6 +377,22 @@ enum class MessageStyle : uint8_t sarif = 2u, }; +struct SourceLoc final +{ + _d_dynamicArray< const char > filename; + uint32_t line; + uint32_t column; + uint32_t fileOffset; + const char* toChars(bool showColumns = Loc::showColumns, MessageStyle messageStyle = Loc::messageStyle) const; + SourceLoc() : + filename(), + line(), + column(), + fileOffset() + { + } +}; + struct Loc final { private: @@ -390,7 +406,8 @@ public: uint32_t linnum() const; const char* filename() const; const char* toChars(bool showColumns = Loc::showColumns, MessageStyle messageStyle = Loc::messageStyle) const; - bool equals(const Loc& loc) const; + SourceLoc toSourceLoc() const; + bool equals(Loc loc) const; Loc() : index(0u) { diff --git a/compiler/src/dmd/globals.h b/compiler/src/dmd/globals.h index 3e2de5cdf8..cdb0663b18 100644 --- a/compiler/src/dmd/globals.h +++ b/compiler/src/dmd/globals.h @@ -413,6 +413,14 @@ typedef unsigned long long uinteger_t; #endif // file location +struct SourceLoc +{ + DString filename; + uint32_t line; + uint32_t column; + uint32_t fileOffset; +}; + struct Loc { private: @@ -438,6 +446,7 @@ public: uint32_t charnum() const; uint32_t linnum() const; const char *filename() const; + SourceLoc toSourceLoc() const; const char *toChars( bool showColumns = Loc::showColumns, diff --git a/compiler/src/dmd/location.d b/compiler/src/dmd/location.d index 403e155dc6..b9f1cd4449 100644 --- a/compiler/src/dmd/location.d +++ b/compiler/src/dmd/location.d @@ -124,6 +124,12 @@ nothrow: return this.index - locFileTable[i].startIndex; } + /// Returns: this location as a SourceLoc + extern (C++) SourceLoc toSourceLoc() const @nogc @safe + { + return SourceLoc(this); + } + /** * Checks for equivalence by comparing the filename contents (not the pointer) and character location. * @@ -131,7 +137,7 @@ nothrow: * - Uses case-insensitive comparison on Windows * - Ignores `charnum` if `Columns` is false. */ - extern (C++) bool equals(ref const(Loc) loc) const + extern (C++) bool equals(Loc loc) const { SourceLoc lhs = SourceLoc(this); SourceLoc rhs = SourceLoc(loc); diff --git a/compiler/src/tests/cxxfrontend.cc b/compiler/src/tests/cxxfrontend.cc index fbe504f4bf..230b5abde7 100644 --- a/compiler/src/tests/cxxfrontend.cc +++ b/compiler/src/tests/cxxfrontend.cc @@ -394,6 +394,12 @@ void test_location() Loc loc = Loc::singleFilename("app.d"); assert(strcmp(loc.toChars(true, MessageStyle::digitalmars), "app.d") == 0); assert(strcmp(loc.toChars(true, MessageStyle::gnu), "app.d") == 0); + + Loc loc2 = Loc::singleFilename("app2.d"); + assert(!loc2.equals(loc)); + + SourceLoc sloc = loc.toSourceLoc(); + assert(strcmp(sloc.filename.ptr, loc.filename()) == 0); } /**********************************/ From 7f22e651edb25f3419444ad7c929716ddd84e863 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Mon, 17 Mar 2025 15:19:12 +0100 Subject: [PATCH 10/32] [stable] C++ header fixes for declaration, expression, and typinf (#21016) Seen either from compilation errors or missing symbols at link time. --- compiler/src/dmd/cxxfrontend.d | 13 +++++++++++++ compiler/src/dmd/declaration.h | 5 ++--- compiler/src/dmd/expression.h | 1 + compiler/src/dmd/typinf.h | 4 ++++ compiler/src/tests/cxxfrontend.cc | 6 +++++- 5 files changed, 25 insertions(+), 4 deletions(-) diff --git a/compiler/src/dmd/cxxfrontend.d b/compiler/src/dmd/cxxfrontend.d index 1c228f5cdd..b3d5942696 100644 --- a/compiler/src/dmd/cxxfrontend.d +++ b/compiler/src/dmd/cxxfrontend.d @@ -16,6 +16,7 @@ import dmd.astenums; import dmd.attrib; import dmd.common.outbuffer : OutBuffer; import dmd.dclass : ClassDeclaration; +import dmd.declaration : TypeInfoDeclaration; import dmd.denum : EnumDeclaration; import dmd.dmodule /*: Module*/; import dmd.dscope : Scope; @@ -728,6 +729,18 @@ bool builtinTypeInfo(Type t) return dmd.typinf.builtinTypeInfo(t); } +Type makeNakedAssociativeArray(TypeAArray t) +{ + import dmd.typinf; + return dmd.typinf.makeNakedAssociativeArray(t); +} + +TypeInfoDeclaration getTypeInfoAssocArrayDeclaration(TypeAArray t, Scope* sc) +{ + import dmd.typinf; + return dmd.typinf.getTypeInfoAssocArrayDeclaration(t, sc); +} + version (IN_LLVM) { /*********************************************************** diff --git a/compiler/src/dmd/declaration.h b/compiler/src/dmd/declaration.h index 4085b51683..c535e4cbb1 100644 --- a/compiler/src/dmd/declaration.h +++ b/compiler/src/dmd/declaration.h @@ -37,6 +37,8 @@ namespace dmd bool checkClosure(FuncDeclaration* fd); MATCH leastAsSpecialized(FuncDeclaration *f, FuncDeclaration *g, Identifiers *names); PURE isPure(FuncDeclaration *f); + FuncDeclaration *genCfunc(Parameters *args, Type *treturn, const char *name, StorageClass stc=0); + FuncDeclaration *genCfunc(Parameters *args, Type *treturn, Identifier *id, StorageClass stc=0); } //enum STC : ulong from astenums.d: @@ -730,9 +732,6 @@ public: void accept(Visitor *v) override { v->visit(this); } }; -FuncDeclaration *genCfunc(Parameters *args, Type *treturn, const char *name, StorageClass stc=0); -FuncDeclaration *genCfunc(Parameters *args, Type *treturn, Identifier *id, StorageClass stc=0); - class FuncAliasDeclaration final : public FuncDeclaration { public: diff --git a/compiler/src/dmd/expression.h b/compiler/src/dmd/expression.h index 64acb8d2ad..3c8d90dd7e 100644 --- a/compiler/src/dmd/expression.h +++ b/compiler/src/dmd/expression.h @@ -40,6 +40,7 @@ class OverloadSet; class StringExp; class InterpExp; class LoweredAssignExp; +class StaticForeach; #ifdef IN_GCC typedef union tree_node Symbol; #else diff --git a/compiler/src/dmd/typinf.h b/compiler/src/dmd/typinf.h index ea42538573..c34494da2f 100644 --- a/compiler/src/dmd/typinf.h +++ b/compiler/src/dmd/typinf.h @@ -14,6 +14,8 @@ class Expression; class Type; +class TypeAArray; +class TypeInfoDeclaration; struct Scope; namespace dmd @@ -21,5 +23,7 @@ namespace dmd bool genTypeInfo(Expression *e, Loc loc, Type *torig, Scope *sc); bool isSpeculativeType(Type *t); bool builtinTypeInfo(Type *t); + Type *makeNakedAssociativeArray(TypeAArray *t); + TypeInfoDeclaration *getTypeInfoAssocArrayDeclaration(TypeAArray *t, Scope *sc); } Type *getTypeInfoType(Loc loc, Type *t, Scope *sc); diff --git a/compiler/src/tests/cxxfrontend.cc b/compiler/src/tests/cxxfrontend.cc index 230b5abde7..f830236a5e 100644 --- a/compiler/src/tests/cxxfrontend.cc +++ b/compiler/src/tests/cxxfrontend.cc @@ -1736,12 +1736,14 @@ void argtypes_h(Type *t) //dmd::isHFVA(t); } -void declaration_h(FuncDeclaration *fd, Loc loc, Expressions* args) +void declaration_h(FuncDeclaration *fd, Loc loc, Expressions* args, Parameters* params) { dmd::functionSemantic(fd); dmd::functionSemantic3(fd); ::eval_builtin(loc, fd, args); ::isBuiltin(fd); + dmd::genCfunc(params, fd->type, "test"); + dmd::genCfunc(params, fd->type, Identifier::idPool("test")); } void doc_h(Module *m, const char *ptr, d_size_t length, const char *date, @@ -1874,4 +1876,6 @@ void typinf_h(Expression *e, Loc loc, Type *t, Scope *sc) ::getTypeInfoType(loc, t, sc); dmd::isSpeculativeType(t); dmd::builtinTypeInfo(t); + dmd::makeNakedAssociativeArray(t->isTypeAArray()); + dmd::getTypeInfoAssocArrayDeclaration(t->isTypeAArray(), sc); } From fde0f8c40a1b8eb78c3485cb0e940035bfe6fb00 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Mon, 17 Mar 2025 14:31:32 +0100 Subject: [PATCH 11/32] C++ headers: Add 3 Declaration bitfield setters/getters required by LDC --- compiler/src/dmd/declaration.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compiler/src/dmd/declaration.h b/compiler/src/dmd/declaration.h index c535e4cbb1..c7e4552608 100644 --- a/compiler/src/dmd/declaration.h +++ b/compiler/src/dmd/declaration.h @@ -128,6 +128,10 @@ public: short inuse; // used to detect cycles uint8_t bitFields; + LINK _linkage() const; + LINK _linkage(LINK v); + bool noUnderscore() const; + const char *kind() const override; uinteger_t size(Loc loc) override final; From 6d57da76e45fc88d94cabc8f2440c07c14935335 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Tue, 18 Mar 2025 00:42:46 +0100 Subject: [PATCH 12/32] druntime: Add module declaration to rt.invariant, to prevent conflicts with user-provided invariant.d (#21017) --- compiler/src/dmd/backend/drtlsym.d | 2 +- druntime/Makefile | 2 +- druntime/mak/DOCS | 2 +- druntime/mak/SRCS | 2 +- druntime/src/rt/{invariant.d => invariant_.d} | 9 ++------- 5 files changed, 6 insertions(+), 11 deletions(-) rename druntime/src/rt/{invariant.d => invariant_.d} (70%) diff --git a/compiler/src/dmd/backend/drtlsym.d b/compiler/src/dmd/backend/drtlsym.d index bf4e1ecae0..676200d13e 100644 --- a/compiler/src/dmd/backend/drtlsym.d +++ b/compiler/src/dmd/backend/drtlsym.d @@ -89,7 +89,7 @@ Symbol* getRtlsym(RTLSYM i) @trusted case RTLSYM.DARRAYP: symbolz(ps,FL.func,FREGSAVED,"_d_arrayboundsp", SFLexit, t); break; case RTLSYM.DARRAY_SLICEP: symbolz(ps,FL.func,FREGSAVED,"_d_arraybounds_slicep", SFLexit, t); break; case RTLSYM.DARRAY_INDEXP: symbolz(ps,FL.func,FREGSAVED,"_d_arraybounds_indexp", SFLexit, t); break; - case RTLSYM.DINVARIANT: symbolz(ps,FL.func,FREGSAVED,"_D9invariant12_d_invariantFC6ObjectZv", 0, tsdlib); break; + case RTLSYM.DINVARIANT: symbolz(ps,FL.func,FREGSAVED,"_D2rt10invariant_12_d_invariantFC6ObjectZv", 0, tsdlib); break; case RTLSYM.MEMCPY: symbolz(ps,FL.func,FREGSAVED,"memcpy", 0, t); break; case RTLSYM.MEMSET8: symbolz(ps,FL.func,FREGSAVED,"memset", 0, t); break; case RTLSYM.MEMSET16: symbolz(ps,FL.func,FREGSAVED,"_memset16", 0, t); break; diff --git a/druntime/Makefile b/druntime/Makefile index 2efde5c940..2c022c6997 100644 --- a/druntime/Makefile +++ b/druntime/Makefile @@ -479,7 +479,7 @@ TESTS_EXTRACTOR=$(ROOT)/tests_extractor$(DOTEXE) BETTERCTESTS_DIR=$(ROOT)/betterctests # macro that returns the module name given the src path -moduleName=$(subst rt.invariant,invariant,$(subst object_,object,$(subst /,.,$(1)))) +moduleName=$(subst /,.,$(1)) $(ROOT)/unittest/% : $(ROOT)/unittest/test_runner$(DOTEXE) @mkdir -p $(dir $@) diff --git a/druntime/mak/DOCS b/druntime/mak/DOCS index 0fb4a37362..574a18b19c 100644 --- a/druntime/mak/DOCS +++ b/druntime/mak/DOCS @@ -548,7 +548,7 @@ DOCS=\ $(DOCDIR)\rt_deh_win32.html \ $(DOCDIR)\rt_deh_win64_posix.html \ $(DOCDIR)\rt_ehalloc.html \ - $(DOCDIR)\rt_invariant.html \ + $(DOCDIR)\rt_invariant_.html \ $(DOCDIR)\rt_llmath.html \ $(DOCDIR)\rt_memory.html \ $(DOCDIR)\rt_memset.html \ diff --git a/druntime/mak/SRCS b/druntime/mak/SRCS index 172dadcc24..9e7c438d77 100644 --- a/druntime/mak/SRCS +++ b/druntime/mak/SRCS @@ -573,7 +573,7 @@ SRCS=\ src\rt\dmain2.d \ src\rt\dwarfeh.d \ src\rt\ehalloc.d \ - src\rt\invariant.d \ + src\rt\invariant_.d \ src\rt\lifetime.d \ src\rt\llmath.d \ src\rt\memory.d \ diff --git a/druntime/src/rt/invariant.d b/druntime/src/rt/invariant_.d similarity index 70% rename from druntime/src/rt/invariant.d rename to druntime/src/rt/invariant_.d index e536196e8c..2a64dc89da 100644 --- a/druntime/src/rt/invariant.d +++ b/druntime/src/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_; /** * From 8db14cf8467ca25256904d51169b176c9c89afb1 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Wed, 19 Mar 2025 00:15:23 +0100 Subject: [PATCH 13/32] Fix #21020 - Indexing a *cast* AA yields no lvalue anymore (#21029) --- compiler/src/dmd/expression.d | 1 + compiler/test/runnable/test21020.d | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 compiler/test/runnable/test21020.d diff --git a/compiler/src/dmd/expression.d b/compiler/src/dmd/expression.d index ef5c0b09eb..4bf1f9f25f 100644 --- a/compiler/src/dmd/expression.d +++ b/compiler/src/dmd/expression.d @@ -3632,6 +3632,7 @@ extern (C++) final class CastExp : UnaExp if (rvalue || !e1.isLvalue()) return false; return (to.ty == Tsarray && (e1.type.ty == Tvector || e1.type.ty == Tsarray)) || + (to.ty == Taarray && e1.type.ty == Taarray) || e1.type.mutableOf.unSharedOf().equals(to.mutableOf().unSharedOf()); } diff --git a/compiler/test/runnable/test21020.d b/compiler/test/runnable/test21020.d new file mode 100644 index 0000000000..484db30a56 --- /dev/null +++ b/compiler/test/runnable/test21020.d @@ -0,0 +1,11 @@ +// https://github.com/dlang/dmd/issues/21020 + +shared struct Queue { + int[int] map; +} + +void main() { + auto queue = Queue(); + (cast(int[int]) queue.map)[1] = 2; + assert(queue.map[1] == 2); +} From 94950cae582d89f5ba2720786522f669f620f9d1 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Fri, 21 Mar 2025 01:29:14 +0100 Subject: [PATCH 14/32] Add C++23 to CppStdRevision enum (#21043) --- changelog/dmd.extern-std-cpp23.dd | 4 ++++ compiler/src/dmd/cli.d | 3 +++ compiler/src/dmd/frontend.h | 1 + compiler/src/dmd/globals.d | 1 + compiler/src/dmd/globals.h | 3 ++- compiler/src/dmd/mars.d | 3 +++ druntime/src/core/stdcpp/xutility.d | 1 + 7 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 changelog/dmd.extern-std-cpp23.dd diff --git a/changelog/dmd.extern-std-cpp23.dd b/changelog/dmd.extern-std-cpp23.dd new file mode 100644 index 0000000000..5b3b2256f0 --- /dev/null +++ b/changelog/dmd.extern-std-cpp23.dd @@ -0,0 +1,4 @@ +The compiler now accepts `-extern-std=c++23` + +The compiler now accepts c++23 as a supported standard for `-extern-std=`. +Currently this only changes the value of `__traits(getTargetInfo, "cppStd")`. diff --git a/compiler/src/dmd/cli.d b/compiler/src/dmd/cli.d index 861d5a4f22..771f1be6d0 100644 --- a/compiler/src/dmd/cli.d +++ b/compiler/src/dmd/cli.d @@ -359,6 +359,8 @@ dmd -cov -unittest myprog.d Sets `__traits(getTargetInfo, \"cppStd\")` to `201703`) $(LI $(I c++20): Use C++20 name mangling, Sets `__traits(getTargetInfo, \"cppStd\")` to `202002`) + $(LI $(I c++23): Use C++23 name mangling, + Sets `__traits(getTargetInfo, \"cppStd\")` to `202302`) )", ), Option("extern-std=[h|help|?]", @@ -1122,6 +1124,7 @@ struct CLIUsage =c++14 Sets `__traits(getTargetInfo, \"cppStd\")` to `201402` =c++17 Sets `__traits(getTargetInfo, \"cppStd\")` to `201703` =c++20 Sets `__traits(getTargetInfo, \"cppStd\")` to `202002` + =c++23 Sets `__traits(getTargetInfo, \"cppStd\")` to `202302` "; /// Options supported by -HC diff --git a/compiler/src/dmd/frontend.h b/compiler/src/dmd/frontend.h index fe1850ce1d..437761d36c 100644 --- a/compiler/src/dmd/frontend.h +++ b/compiler/src/dmd/frontend.h @@ -6234,6 +6234,7 @@ enum class CppStdRevision : uint32_t cpp14 = 201402u, cpp17 = 201703u, cpp20 = 202002u, + cpp23 = 202302u, }; enum class CHECKENABLE : uint8_t diff --git a/compiler/src/dmd/globals.d b/compiler/src/dmd/globals.d index 4a637b519c..900c554e5f 100644 --- a/compiler/src/dmd/globals.d +++ b/compiler/src/dmd/globals.d @@ -62,6 +62,7 @@ enum CppStdRevision : uint cpp14 = 2014_02, cpp17 = 2017_03, cpp20 = 2020_02, + cpp23 = 2023_02, } /// Trivalent boolean to represent the state of a `revert`able change diff --git a/compiler/src/dmd/globals.h b/compiler/src/dmd/globals.h index cdb0663b18..69fe709f4b 100644 --- a/compiler/src/dmd/globals.h +++ b/compiler/src/dmd/globals.h @@ -73,7 +73,8 @@ enum CppStdRevision CppStdRevisionCpp11 = 201103, CppStdRevisionCpp14 = 201402, CppStdRevisionCpp17 = 201703, - CppStdRevisionCpp20 = 202002 + CppStdRevisionCpp20 = 202002, + CppStdRevisionCpp23 = 202302, }; /// Trivalent boolean to represent the state of a `revert`able change diff --git a/compiler/src/dmd/mars.d b/compiler/src/dmd/mars.d index 1b499a47c1..17d6965f53 100644 --- a/compiler/src/dmd/mars.d +++ b/compiler/src/dmd/mars.d @@ -1143,6 +1143,9 @@ bool parseCommandLine(const ref Strings arguments, const size_t argc, ref Param case "c++20": params.cplusplus = CppStdRevision.cpp20; break; + case "c++23": + params.cplusplus = CppStdRevision.cpp23; + break; default: error("switch `%s` is invalid", p); params.help.externStd = true; diff --git a/druntime/src/core/stdcpp/xutility.d b/druntime/src/core/stdcpp/xutility.d index 5e2e711ba6..f93df68deb 100644 --- a/druntime/src/core/stdcpp/xutility.d +++ b/druntime/src/core/stdcpp/xutility.d @@ -35,6 +35,7 @@ enum CppStdRevision : uint cpp14 = 201402, cpp17 = 201703, cpp20 = 202002, + cpp23 = 202302, } /** From 9d2f034398c33be1a28d8c60721014a6ab34d652 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 21 Mar 2025 15:15:29 +0100 Subject: [PATCH 15/32] Improve UFCS/property error message (#21046) --- compiler/src/dmd/typesem.d | 14 +++++++-- compiler/test/fail_compilation/fail347.d | 4 +-- compiler/test/fail_compilation/ufcs.d | 36 +++++++++++++++--------- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/compiler/src/dmd/typesem.d b/compiler/src/dmd/typesem.d index 65bad387ef..c5a3b83379 100644 --- a/compiler/src/dmd/typesem.d +++ b/compiler/src/dmd/typesem.d @@ -3444,8 +3444,16 @@ Expression getProperty(Type t, Scope* scope_, Loc loc, Identifier ident, int fla auto s2 = scope_.search_correct(ident); // UFCS if (s2 && s2.isFuncDeclaration) - errorSupplemental(loc, "did you mean %s `%s`?", - s2.kind(), s2.toChars()); + { + if (s2.ident == ident) + { + errorSupplemental(s2.loc, "cannot call %s `%s` with UFCS because it is not declared at module scope", + s2.kind(), s2.toChars()); + } + else + errorSupplemental(s2.loc, "did you mean %s `%s`?", + s2.kind(), s2.toChars()); + } else if (src.type.ty == Tpointer) { // structPtr.field @@ -3454,7 +3462,7 @@ Expression getProperty(Type t, Scope* scope_, Loc loc, Identifier ident, int fla { if (auto s3 = as.search_correct(ident)) { - errorSupplemental(loc, "did you mean %s `%s`?", + errorSupplemental(s3.loc, "did you mean %s `%s`?", s3.kind(), s3.toChars()); } } diff --git a/compiler/test/fail_compilation/fail347.d b/compiler/test/fail_compilation/fail347.d index e495ba257e..c56acf5642 100644 --- a/compiler/test/fail_compilation/fail347.d +++ b/compiler/test/fail_compilation/fail347.d @@ -5,10 +5,10 @@ TEST_OUTPUT: fail_compilation/fail347.d(26): Error: undefined identifier `bbr`, did you mean variable `bar`? fail_compilation/fail347.d(27): Error: no property `ofo` for type `S`, did you mean `fail347.S.foo`? fail_compilation/fail347.d(29): Error: no property `fool` for `sp` of type `fail347.S*` -fail_compilation/fail347.d(29): did you mean variable `foo`? +fail_compilation/fail347.d(20): did you mean variable `foo`? fail_compilation/fail347.d(30): Error: undefined identifier `strlenx`, did you mean function `strlen`? fail_compilation/fail347.d(31): Error: no property `strlenx` for `"hello"` of type `string` -fail_compilation/fail347.d(31): did you mean function `strlen`? +fail_compilation/imports/fail347a.d(3): did you mean function `strlen`? --- */ diff --git a/compiler/test/fail_compilation/ufcs.d b/compiler/test/fail_compilation/ufcs.d index 3a92a691e2..87efbcf65c 100644 --- a/compiler/test/fail_compilation/ufcs.d +++ b/compiler/test/fail_compilation/ufcs.d @@ -1,23 +1,28 @@ /* TEST_OUTPUT: --- -fail_compilation/ufcs.d(26): Error: no property `regularF` for `s` of type `S` -fail_compilation/ufcs.d(26): the following error occured while looking for a UFCS match -fail_compilation/ufcs.d(26): Error: function `regularF` is not callable using argument types `(S)` -fail_compilation/ufcs.d(26): expected 0 argument(s), not 1 -fail_compilation/ufcs.d(31): `ufcs.regularF()` declared here -fail_compilation/ufcs.d(27): Error: no property `templateF` for `s` of type `S` -fail_compilation/ufcs.d(27): the following error occured while looking for a UFCS match -fail_compilation/ufcs.d(27): Error: template `templateF` is not callable using argument types `!()(S)` -fail_compilation/ufcs.d(32): Candidate is: `templateF()()` -fail_compilation/ufcs.d(28): Error: no property `templateO` for `s` of type `S` -fail_compilation/ufcs.d(28): the following error occured while looking for a UFCS match -fail_compilation/ufcs.d(28): Error: none of the overloads of template `ufcs.templateO` are callable using argument types `!()(S)` -fail_compilation/ufcs.d(34): Candidates are: `templateO()(int x)` -fail_compilation/ufcs.d(35): `templateO()(float y)` +fail_compilation/ufcs.d(31): Error: no property `regularF` for `s` of type `S` +fail_compilation/ufcs.d(31): the following error occured while looking for a UFCS match +fail_compilation/ufcs.d(31): Error: function `regularF` is not callable using argument types `(S)` +fail_compilation/ufcs.d(31): expected 0 argument(s), not 1 +fail_compilation/ufcs.d(39): `ufcs.regularF()` declared here +fail_compilation/ufcs.d(32): Error: no property `templateF` for `s` of type `S` +fail_compilation/ufcs.d(32): the following error occured while looking for a UFCS match +fail_compilation/ufcs.d(32): Error: template `templateF` is not callable using argument types `!()(S)` +fail_compilation/ufcs.d(40): Candidate is: `templateF()()` +fail_compilation/ufcs.d(33): Error: no property `templateO` for `s` of type `S` +fail_compilation/ufcs.d(33): the following error occured while looking for a UFCS match +fail_compilation/ufcs.d(33): Error: none of the overloads of template `ufcs.templateO` are callable using argument types `!()(S)` +fail_compilation/ufcs.d(42): Candidates are: `templateO()(int x)` +fail_compilation/ufcs.d(43): `templateO()(float y)` +fail_compilation/ufcs.d(36): Error: no property `local` for `s` of type `ufcs.S` +fail_compilation/ufcs.d(35): cannot call function `local` with UFCS because it is not declared at module scope +fail_compilation/ufcs.d(26): struct `S` defined here --- */ + + struct S { } void f() @@ -26,6 +31,9 @@ void f() s.regularF(); s.templateF(); s.templateO(); + + void local(S) {} + s.local(); } void regularF(); From 032e24446b3d8c6cfe3043d62534d5ce6d004c34 Mon Sep 17 00:00:00 2001 From: Dennis Korpel Date: Fri, 21 Mar 2025 20:27:52 +0100 Subject: [PATCH 16/32] bump VERSION to v2.111.0-rc.1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2f668e5056..0172d7d7ad 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.111.0-beta.1 +v2.111.0-rc.1 From 02a64d2e1359119b91d2b932e61ed712f272507a Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Sat, 22 Mar 2025 13:00:35 +0100 Subject: [PATCH 17/32] Fix #21045 - import __stdin causes compilation to pause while reading from stdin (#21047) Moves the special handling of reading from stdin out of the semantic routines to the DMD driver itself. All references to `__stdin.d` have also been removed from the frontend implementation. --- compiler/src/dmd/dmodule.d | 8 --- compiler/src/dmd/file_manager.d | 55 ++-------------- compiler/src/dmd/frontend.h | 5 +- compiler/src/dmd/globals.d | 1 + compiler/src/dmd/globals.h | 1 + compiler/src/dmd/main.d | 2 +- compiler/src/dmd/mars.d | 75 +++++++++++++++++++++- compiler/test/fail_compilation/fail21045.d | 12 ++++ 8 files changed, 96 insertions(+), 63 deletions(-) create mode 100644 compiler/test/fail_compilation/fail21045.d diff --git a/compiler/src/dmd/dmodule.d b/compiler/src/dmd/dmodule.d index 6c7416856a..1d14c085d3 100644 --- a/compiler/src/dmd/dmodule.d +++ b/compiler/src/dmd/dmodule.d @@ -58,12 +58,10 @@ import dmd.visitor; version (Windows) { - import core.sys.windows.winbase : getpid = GetCurrentProcessId; enum PathSeparator = '\\'; } else version (Posix) { - import core.sys.posix.unistd : getpid; enum PathSeparator = '/'; } else @@ -577,12 +575,6 @@ extern (C++) final class Module : Package else { const(char)[] argdoc; - OutBuffer buf; - if (arg == "__stdin.d") - { - buf.printf("__stdin_%d.d", getpid()); - arg = buf[]; - } if (global.params.preservePaths) argdoc = arg; else diff --git a/compiler/src/dmd/file_manager.d b/compiler/src/dmd/file_manager.d index fc7824f039..8a6ec998e6 100644 --- a/compiler/src/dmd/file_manager.d +++ b/compiler/src/dmd/file_manager.d @@ -16,7 +16,6 @@ import dmd.root.stringtable : StringTable; import dmd.root.file : File, Buffer; import dmd.root.filename : FileName, isDirSeparator; import dmd.root.string : toDString; -import dmd.errors; import dmd.globals; import dmd.identifier; import dmd.location; @@ -184,9 +183,6 @@ nothrow: scope(exit) FileName.free(sdi.ptr); const sd = FileName.forceExt(filename, mars_ext); - // Special file name representing `stdin`, always assume its presence - if (sd == "__stdin.d") - return sd; if (checkLocal && FileName.exists(sd) == 1) return sd; scope(exit) FileName.free(sd.ptr); @@ -312,20 +308,12 @@ nothrow: if (auto val = files.lookup(name)) // if `name` is cached return val.value; // return its contents - OutBuffer buf; - if (name == "__stdin.d") // special name for reading from stdin - { - if (readFromStdin(buf)) - fatal(); - } - else - { - if (FileName.exists(name) != 1) // if not an ordinary file - return null; + if (FileName.exists(name) != 1) // if not an ordinary file + return null; - if (File.read(name, buf)) - return null; // failed - } + OutBuffer buf; + if (File.read(name, buf)) + return null; // failed buf.write32(0); // terminating dchar 0 @@ -351,36 +339,3 @@ nothrow: return val == null ? null : val.value; } } - -private bool readFromStdin(ref OutBuffer sink) nothrow -{ - import core.stdc.stdio; - import dmd.errors; - - enum BufIncrement = 128 * 1024; - - for (size_t j; 1; ++j) - { - char[] buffer = sink.allocate(BufIncrement); - - // Fill up buffer - size_t filled = 0; - do - { - filled += fread(buffer.ptr + filled, 1, buffer.length - filled, stdin); - if (ferror(stdin)) - { - import core.stdc.errno; - error(Loc.initial, "cannot read from stdin, errno = %d", errno); - return true; - } - if (feof(stdin)) // successful completion - { - sink.setsize(j * BufIncrement + filled); - return false; - } - } while (filled < BufIncrement); - } - - assert(0); -} diff --git a/compiler/src/dmd/frontend.h b/compiler/src/dmd/frontend.h index 437761d36c..730d53e489 100644 --- a/compiler/src/dmd/frontend.h +++ b/compiler/src/dmd/frontend.h @@ -8412,6 +8412,7 @@ struct ImportPathInfo final struct Param final { bool obj; + bool readStdin; bool multiobj; bool trace; bool tracegc; @@ -8499,6 +8500,7 @@ struct Param final bool parsingUnittestsRequired(); Param() : obj(true), + readStdin(), multiobj(), trace(), tracegc(), @@ -8577,8 +8579,9 @@ struct Param final timeTraceFile() { } - Param(bool obj, bool multiobj = false, bool trace = false, bool tracegc = false, bool vcg_ast = false, DiagnosticReporting useDeprecated = (DiagnosticReporting)1u, bool useUnitTests = false, bool useInline = false, bool release = false, bool preservePaths = false, DiagnosticReporting useWarnings = (DiagnosticReporting)2u, bool cov = false, uint8_t covPercent = 0u, bool ctfe_cov = false, bool ignoreUnsupportedPragmas = true, bool useModuleInfo = true, bool useTypeInfo = true, bool useExceptions = true, bool useGC = true, bool betterC = false, bool addMain = false, bool allInst = false, bool bitfields = false, CppStdRevision cplusplus = (CppStdRevision)201103u, Help help = Help(), Verbose v = Verbose(), FeatureState useDIP25 = (FeatureState)2u, FeatureState useDIP1000 = (FeatureState)0u, bool ehnogc = false, bool useDIP1021 = false, FeatureState fieldwise = (FeatureState)0u, bool fixAliasThis = false, FeatureState rvalueRefParam = (FeatureState)0u, FeatureState safer = (FeatureState)0u, FeatureState noSharedAccess = (FeatureState)0u, bool previewIn = false, bool inclusiveInContracts = false, bool shortenedMethods = true, bool fixImmutableConv = false, bool fix16997 = true, FeatureState dtorFields = (FeatureState)0u, FeatureState systemVariables = (FeatureState)0u, CHECKENABLE useInvariants = (CHECKENABLE)0u, CHECKENABLE useIn = (CHECKENABLE)0u, CHECKENABLE useOut = (CHECKENABLE)0u, CHECKENABLE useArrayBounds = (CHECKENABLE)0u, CHECKENABLE useAssert = (CHECKENABLE)0u, CHECKENABLE useSwitchError = (CHECKENABLE)0u, CHECKENABLE boundscheck = (CHECKENABLE)0u, CHECKACTION checkAction = (CHECKACTION)0u, CLIIdentifierTable dIdentifierTable = (CLIIdentifierTable)0u, CLIIdentifierTable cIdentifierTable = (CLIIdentifierTable)0u, _d_dynamicArray< const char > argv0 = {}, Array modFileAliasStrings = Array(), Array imppath = Array(), Array fileImppath = Array(), _d_dynamicArray< const char > objdir = {}, _d_dynamicArray< const char > objname = {}, _d_dynamicArray< const char > libname = {}, Output ddoc = Output(), Output dihdr = Output(), Output cxxhdr = Output(), Output json = Output(), JsonFieldFlags jsonFieldFlags = (JsonFieldFlags)0u, Output makeDeps = Output(), Output mixinOut = Output(), Output moduleDeps = Output(), bool debugEnabled = false, bool run = false, Array runargs = Array(), Array cppswitches = Array(), const char* cpp = nullptr, Array objfiles = Array(), Array linkswitches = Array(), Array linkswitchIsForCC = Array(), Array libfiles = Array(), Array dllfiles = Array(), _d_dynamicArray< const char > deffile = {}, _d_dynamicArray< const char > resfile = {}, _d_dynamicArray< const char > exefile = {}, _d_dynamicArray< const char > mapfile = {}, bool fullyQualifiedObjectFiles = false, bool timeTrace = false, uint32_t timeTraceGranularityUs = 500u, const char* timeTraceFile = nullptr) : + Param(bool obj, bool readStdin = false, bool multiobj = false, bool trace = false, bool tracegc = false, bool vcg_ast = false, DiagnosticReporting useDeprecated = (DiagnosticReporting)1u, bool useUnitTests = false, bool useInline = false, bool release = false, bool preservePaths = false, DiagnosticReporting useWarnings = (DiagnosticReporting)2u, bool cov = false, uint8_t covPercent = 0u, bool ctfe_cov = false, bool ignoreUnsupportedPragmas = true, bool useModuleInfo = true, bool useTypeInfo = true, bool useExceptions = true, bool useGC = true, bool betterC = false, bool addMain = false, bool allInst = false, bool bitfields = false, CppStdRevision cplusplus = (CppStdRevision)201103u, Help help = Help(), Verbose v = Verbose(), FeatureState useDIP25 = (FeatureState)2u, FeatureState useDIP1000 = (FeatureState)0u, bool ehnogc = false, bool useDIP1021 = false, FeatureState fieldwise = (FeatureState)0u, bool fixAliasThis = false, FeatureState rvalueRefParam = (FeatureState)0u, FeatureState safer = (FeatureState)0u, FeatureState noSharedAccess = (FeatureState)0u, bool previewIn = false, bool inclusiveInContracts = false, bool shortenedMethods = true, bool fixImmutableConv = false, bool fix16997 = true, FeatureState dtorFields = (FeatureState)0u, FeatureState systemVariables = (FeatureState)0u, CHECKENABLE useInvariants = (CHECKENABLE)0u, CHECKENABLE useIn = (CHECKENABLE)0u, CHECKENABLE useOut = (CHECKENABLE)0u, CHECKENABLE useArrayBounds = (CHECKENABLE)0u, CHECKENABLE useAssert = (CHECKENABLE)0u, CHECKENABLE useSwitchError = (CHECKENABLE)0u, CHECKENABLE boundscheck = (CHECKENABLE)0u, CHECKACTION checkAction = (CHECKACTION)0u, CLIIdentifierTable dIdentifierTable = (CLIIdentifierTable)0u, CLIIdentifierTable cIdentifierTable = (CLIIdentifierTable)0u, _d_dynamicArray< const char > argv0 = {}, Array modFileAliasStrings = Array(), Array imppath = Array(), Array fileImppath = Array(), _d_dynamicArray< const char > objdir = {}, _d_dynamicArray< const char > objname = {}, _d_dynamicArray< const char > libname = {}, Output ddoc = Output(), Output dihdr = Output(), Output cxxhdr = Output(), Output json = Output(), JsonFieldFlags jsonFieldFlags = (JsonFieldFlags)0u, Output makeDeps = Output(), Output mixinOut = Output(), Output moduleDeps = Output(), bool debugEnabled = false, bool run = false, Array runargs = Array(), Array cppswitches = Array(), const char* cpp = nullptr, Array objfiles = Array(), Array linkswitches = Array(), Array linkswitchIsForCC = Array(), Array libfiles = Array(), Array dllfiles = Array(), _d_dynamicArray< const char > deffile = {}, _d_dynamicArray< const char > resfile = {}, _d_dynamicArray< const char > exefile = {}, _d_dynamicArray< const char > mapfile = {}, bool fullyQualifiedObjectFiles = false, bool timeTrace = false, uint32_t timeTraceGranularityUs = 500u, const char* timeTraceFile = nullptr) : obj(obj), + readStdin(readStdin), multiobj(multiobj), trace(trace), tracegc(tracegc), diff --git a/compiler/src/dmd/globals.d b/compiler/src/dmd/globals.d index 900c554e5f..132683e624 100644 --- a/compiler/src/dmd/globals.d +++ b/compiler/src/dmd/globals.d @@ -160,6 +160,7 @@ extern (C++) struct ImportPathInfo { extern (C++) struct Param { bool obj = true; // write object file + bool readStdin; // saw "-" on command line, read source file from stdin bool multiobj; // break one object file into multiple ones bool trace; // insert profiling hooks bool tracegc; // instrument calls to 'new' diff --git a/compiler/src/dmd/globals.h b/compiler/src/dmd/globals.h index 69fe709f4b..59952a2c10 100644 --- a/compiler/src/dmd/globals.h +++ b/compiler/src/dmd/globals.h @@ -168,6 +168,7 @@ struct ImportPathInfo struct Param { d_bool obj; // write object file + d_bool readStdin; // read source file from stdin d_bool multiobj; // break one object file into multiple ones d_bool trace; // insert profiling hooks d_bool tracegc; // instrument calls to 'new' diff --git a/compiler/src/dmd/main.d b/compiler/src/dmd/main.d index 2d77d72575..cf3382a774 100644 --- a/compiler/src/dmd/main.d +++ b/compiler/src/dmd/main.d @@ -353,7 +353,7 @@ private int tryMain(size_t argc, const(char)** argv, ref Param params) { fatal(); } - if (files.length == 0) + if (files.length == 0 && !params.readStdin) { if (params.jsonFieldFlags) { diff --git a/compiler/src/dmd/mars.d b/compiler/src/dmd/mars.d index 17d6965f53..743caf79ba 100644 --- a/compiler/src/dmd/mars.d +++ b/compiler/src/dmd/mars.d @@ -59,6 +59,13 @@ import dmd.semantic3; import dmd.target; import dmd.utils; +version (Windows) + import core.sys.windows.winbase : getpid = GetCurrentProcessId; +else version (Posix) + import core.sys.posix.unistd : getpid; +else + static assert(0); + /** * Print DMD's logo on stdout */ @@ -1734,7 +1741,7 @@ bool parseCommandLine(const ref Strings arguments, const size_t argc, ref Param break; } if (runarg == "-") - files.push("__stdin.d"); + params.readStdin = true; else files.push(arguments[i + 1]); params.runargs.setDim(length - 1); @@ -1751,7 +1758,7 @@ bool parseCommandLine(const ref Strings arguments, const size_t argc, ref Param } } else if (p[1] == '\0') - files.push("__stdin.d"); + params.readStdin = true; else { Lerror: @@ -1937,10 +1944,38 @@ bool createModules(ref Strings files, ref Strings libmodules, ref Param params, modules.push(m); if (firstmodule) { - global.params.objfiles.push(m.objfile.toChars()); + params.objfiles.push(m.objfile.toChars()); firstmodule = false; } } + + // Special module representing `stdin` + if (params.readStdin) + { + Module m; + if (createModule("__stdin.d", libmodules, params, target, eSink, m)) + return true; + if (m is null) + return false; + + modules.push(m); + + // Set the source file contents of the module + OutBuffer buf; + buf.readFromStdin(); + m.src = cast(ubyte[])buf.extractSlice(); + + // Give unique outfile name + OutBuffer namebuf; + namebuf.printf("__stdin_%d", getpid()); + + auto filename = FileName.forceExt(namebuf.extractSlice(), target.obj_ext); + m.objfile = FileName(filename); + + if (firstmodule) + params.objfiles.push(m.objfile.toChars()); + } + return false; } @@ -1959,3 +1994,37 @@ Module moduleWithEmptyMain() result.semantic3(null); return result; } + +private void readFromStdin(ref OutBuffer sink) nothrow +{ + import core.stdc.stdio; + import dmd.errors; + + enum BufIncrement = 128 * 1024; + + for (size_t j; 1; ++j) + { + char[] buffer = sink.allocate(BufIncrement + 16); + + // Fill up buffer + size_t filled = 0; + do + { + filled += fread(buffer.ptr + filled, 1, buffer.length - filled, stdin); + if (ferror(stdin)) + { + import core.stdc.errno; + error(Loc.initial, "cannot read from stdin, errno = %d", errno); + fatal(); + } + if (feof(stdin)) // successful completion + { + memset(buffer.ptr + filled, '\0', 16); + sink.setsize(j * BufIncrement + filled); + return; + } + } while (filled < BufIncrement); + } + + assert(0); +} diff --git a/compiler/test/fail_compilation/fail21045.d b/compiler/test/fail_compilation/fail21045.d new file mode 100644 index 0000000000..c43eda3f97 --- /dev/null +++ b/compiler/test/fail_compilation/fail21045.d @@ -0,0 +1,12 @@ +/* +TEST_OUTPUT: +--- +fail_compilation/fail21045.d(12): Error: unable to read module `__stdin` +fail_compilation/fail21045.d(12): Expected '__stdin.d' or '__stdin/package.d' in one of the following import paths: +import path[0] = fail_compilation +import path[1] = $p:druntime/import$ +import path[2] = $p:phobos$ +--- +*/ + +import __stdin; From d65a100b6c7f8db3e213485229205c0602b1d9ca Mon Sep 17 00:00:00 2001 From: "Fares A. Bakhit" Date: Sat, 29 Mar 2025 04:57:56 +0200 Subject: [PATCH 18/32] Update source code and coverage links (#21111) --- compiler/src/dmd/access.d | 4 ++-- compiler/src/dmd/aggregate.d | 4 ++-- compiler/src/dmd/aliasthis.d | 4 ++-- compiler/src/dmd/argtypes_aarch64.d | 4 ++-- compiler/src/dmd/argtypes_sysv_x64.d | 4 ++-- compiler/src/dmd/argtypes_x86.d | 4 ++-- compiler/src/dmd/arrayop.d | 4 ++-- compiler/src/dmd/arraytypes.d | 4 ++-- compiler/src/dmd/ast_node.d | 4 ++-- compiler/src/dmd/astbase.d | 4 ++-- compiler/src/dmd/astenums.d | 4 ++-- compiler/src/dmd/asttypename.d | 4 ++-- compiler/src/dmd/attrib.d | 4 ++-- compiler/src/dmd/attribsem.d | 4 ++-- compiler/src/dmd/backend/arm/cod1.d | 4 ++-- compiler/src/dmd/backend/arm/cod2.d | 4 ++-- compiler/src/dmd/backend/arm/cod3.d | 4 ++-- compiler/src/dmd/backend/arm/cod4.d | 4 ++-- compiler/src/dmd/backend/arm/instr.d | 4 ++-- compiler/src/dmd/backend/backconfig.d | 2 +- compiler/src/dmd/backend/barray.d | 2 +- compiler/src/dmd/backend/blockopt.d | 4 ++-- compiler/src/dmd/backend/cc.d | 2 +- compiler/src/dmd/backend/cdef.d | 2 +- compiler/src/dmd/backend/cg.d | 2 +- compiler/src/dmd/backend/cgcse.d | 4 ++-- compiler/src/dmd/backend/cgcv.d | 2 +- compiler/src/dmd/backend/cgelem.d | 4 ++-- compiler/src/dmd/backend/cgen.d | 4 ++-- compiler/src/dmd/backend/cgsched.d | 2 +- compiler/src/dmd/backend/code.d | 2 +- compiler/src/dmd/backend/codebuilder.d | 2 +- compiler/src/dmd/backend/cv4.d | 2 +- compiler/src/dmd/backend/cv8.d | 4 ++-- compiler/src/dmd/backend/dcgcv.d | 4 ++-- compiler/src/dmd/backend/dcode.d | 2 +- compiler/src/dmd/backend/debugprint.d | 4 ++-- compiler/src/dmd/backend/divcoeff.d | 2 +- compiler/src/dmd/backend/dlist.d | 2 +- compiler/src/dmd/backend/dout.d | 4 ++-- compiler/src/dmd/backend/drtlsym.d | 2 +- compiler/src/dmd/backend/dvarstats.d | 2 +- compiler/src/dmd/backend/dvec.d | 2 +- compiler/src/dmd/backend/dwarf2.d | 2 +- compiler/src/dmd/backend/dwarfdbginf.d | 4 ++-- compiler/src/dmd/backend/dwarfeh.d | 2 +- compiler/src/dmd/backend/ee.d | 2 +- compiler/src/dmd/backend/eh.d | 4 ++-- compiler/src/dmd/backend/el.d | 2 +- compiler/src/dmd/backend/elem.d | 2 +- compiler/src/dmd/backend/elfobj.d | 4 ++-- compiler/src/dmd/backend/elpicpie.d | 2 +- compiler/src/dmd/backend/evalu8.d | 2 +- compiler/src/dmd/backend/fp.d | 4 ++-- compiler/src/dmd/backend/gdag.d | 4 ++-- compiler/src/dmd/backend/gflow.d | 4 ++-- compiler/src/dmd/backend/global.d | 2 +- compiler/src/dmd/backend/glocal.d | 4 ++-- compiler/src/dmd/backend/gloop.d | 4 ++-- compiler/src/dmd/backend/gsroa.d | 2 +- compiler/src/dmd/backend/iasm.d | 4 ++-- compiler/src/dmd/backend/inliner.d | 2 +- compiler/src/dmd/backend/machobj.d | 2 +- compiler/src/dmd/backend/melf.d | 2 +- compiler/src/dmd/backend/mem.d | 4 ++-- compiler/src/dmd/backend/mscoff.d | 2 +- compiler/src/dmd/backend/mscoffobj.d | 2 +- compiler/src/dmd/backend/obj.d | 2 +- compiler/src/dmd/backend/oper.d | 2 +- compiler/src/dmd/backend/pdata.d | 2 +- compiler/src/dmd/backend/ptrntab.d | 4 ++-- compiler/src/dmd/backend/symtab.d | 4 ++-- compiler/src/dmd/backend/ty.d | 2 +- compiler/src/dmd/backend/type.d | 2 +- compiler/src/dmd/backend/util2.d | 2 +- compiler/src/dmd/backend/var.d | 2 +- compiler/src/dmd/backend/x86/cg87.d | 4 ++-- compiler/src/dmd/backend/x86/cgcod.d | 4 ++-- compiler/src/dmd/backend/x86/cgreg.d | 2 +- compiler/src/dmd/backend/x86/cgxmm.d | 4 ++-- compiler/src/dmd/backend/x86/cod1.d | 4 ++-- compiler/src/dmd/backend/x86/cod2.d | 4 ++-- compiler/src/dmd/backend/x86/cod3.d | 4 ++-- compiler/src/dmd/backend/x86/cod4.d | 4 ++-- compiler/src/dmd/backend/x86/cod5.d | 4 ++-- compiler/src/dmd/backend/x86/code_x86.d | 4 ++-- compiler/src/dmd/backend/x86/disasm86.d | 4 ++-- compiler/src/dmd/backend/x86/nteh.d | 4 ++-- compiler/src/dmd/backend/x86/xmm.d | 4 ++-- compiler/src/dmd/blockexit.d | 4 ++-- compiler/src/dmd/builtin.d | 4 ++-- compiler/src/dmd/canthrow.d | 4 ++-- compiler/src/dmd/chkformat.d | 4 ++-- compiler/src/dmd/cli.d | 4 ++-- compiler/src/dmd/clone.d | 4 ++-- compiler/src/dmd/common/bitfields.d | 4 ++-- compiler/src/dmd/common/charactertables.d | 4 ++-- compiler/src/dmd/common/charactertables.h | 2 +- compiler/src/dmd/common/file.d | 4 ++-- compiler/src/dmd/common/int128.d | 4 ++-- compiler/src/dmd/common/outbuffer.d | 4 ++-- compiler/src/dmd/common/smallbuffer.d | 4 ++-- compiler/src/dmd/compiler.d | 4 ++-- compiler/src/dmd/cond.d | 4 ++-- compiler/src/dmd/console.d | 4 ++-- compiler/src/dmd/constfold.d | 4 ++-- compiler/src/dmd/cparse.d | 4 ++-- compiler/src/dmd/cpreprocess.d | 4 ++-- compiler/src/dmd/ctfeexpr.d | 4 ++-- compiler/src/dmd/ctorflow.d | 4 ++-- compiler/src/dmd/cxxfrontend.d | 4 ++-- compiler/src/dmd/dcast.d | 4 ++-- compiler/src/dmd/dclass.d | 4 ++-- compiler/src/dmd/declaration.d | 4 ++-- compiler/src/dmd/delegatize.d | 4 ++-- compiler/src/dmd/denum.d | 4 ++-- compiler/src/dmd/deps.d | 4 ++-- compiler/src/dmd/dimport.d | 4 ++-- compiler/src/dmd/dinifile.d | 4 ++-- compiler/src/dmd/dinterpret.d | 4 ++-- compiler/src/dmd/dmacro.d | 4 ++-- compiler/src/dmd/dmdparams.d | 4 ++-- compiler/src/dmd/dmodule.d | 4 ++-- compiler/src/dmd/dmsc.d | 4 ++-- compiler/src/dmd/doc.d | 4 ++-- compiler/src/dmd/dscope.d | 4 ++-- compiler/src/dmd/dstruct.d | 4 ++-- compiler/src/dmd/dsymbol.d | 4 ++-- compiler/src/dmd/dsymbolsem.d | 4 ++-- compiler/src/dmd/dtemplate.d | 4 ++-- compiler/src/dmd/dtoh.d | 4 ++-- compiler/src/dmd/dversion.d | 4 ++-- compiler/src/dmd/e2ir.d | 4 ++-- compiler/src/dmd/entity.d | 4 ++-- compiler/src/dmd/enumsem.d | 4 ++-- compiler/src/dmd/errors.d | 4 ++-- compiler/src/dmd/errorsink.d | 4 ++-- compiler/src/dmd/escape.d | 4 ++-- compiler/src/dmd/expression.d | 4 ++-- compiler/src/dmd/expressionsem.d | 4 ++-- compiler/src/dmd/file_manager.d | 4 ++-- compiler/src/dmd/frontend.d | 4 ++-- compiler/src/dmd/func.d | 4 ++-- compiler/src/dmd/funcsem.d | 4 ++-- compiler/src/dmd/globals.d | 4 ++-- compiler/src/dmd/glue.d | 4 ++-- compiler/src/dmd/gluelayer.d | 4 ++-- compiler/src/dmd/hdrgen.d | 4 ++-- compiler/src/dmd/iasm.d | 4 ++-- compiler/src/dmd/iasmdmd.d | 4 ++-- compiler/src/dmd/iasmgcc.d | 4 ++-- compiler/src/dmd/id.d | 4 ++-- compiler/src/dmd/identifier.d | 4 ++-- compiler/src/dmd/impcnvtab.d | 4 ++-- compiler/src/dmd/imphint.d | 4 ++-- compiler/src/dmd/importc.d | 4 ++-- compiler/src/dmd/init.d | 4 ++-- compiler/src/dmd/initsem.d | 4 ++-- compiler/src/dmd/inline.d | 4 ++-- compiler/src/dmd/inlinecost.d | 4 ++-- compiler/src/dmd/intrange.d | 4 ++-- compiler/src/dmd/json.d | 4 ++-- compiler/src/dmd/lambdacomp.d | 4 ++-- compiler/src/dmd/lexer.d | 4 ++-- compiler/src/dmd/lib/elf.d | 4 ++-- compiler/src/dmd/lib/mach.d | 4 ++-- compiler/src/dmd/lib/mscoff.d | 4 ++-- compiler/src/dmd/lib/package.d | 4 ++-- compiler/src/dmd/lib/scanelf.d | 4 ++-- compiler/src/dmd/lib/scanmach.d | 4 ++-- compiler/src/dmd/lib/scanmscoff.d | 4 ++-- compiler/src/dmd/link.d | 4 ++-- compiler/src/dmd/location.d | 4 ++-- compiler/src/dmd/main.d | 4 ++-- compiler/src/dmd/mangle/basic.d | 4 ++-- compiler/src/dmd/mangle/cpp.d | 4 ++-- compiler/src/dmd/mangle/cppwin.d | 4 ++-- compiler/src/dmd/mangle/package.d | 4 ++-- compiler/src/dmd/mars.d | 4 ++-- compiler/src/dmd/mtype.d | 4 ++-- compiler/src/dmd/mustuse.d | 4 ++-- compiler/src/dmd/nogc.d | 4 ++-- compiler/src/dmd/nspace.d | 4 ++-- compiler/src/dmd/ob.d | 4 ++-- compiler/src/dmd/objc.d | 4 ++-- compiler/src/dmd/objc_glue.d | 4 ++-- compiler/src/dmd/opover.d | 4 ++-- compiler/src/dmd/optimize.d | 4 ++-- compiler/src/dmd/parse.d | 4 ++-- compiler/src/dmd/pragmasem.d | 4 ++-- compiler/src/dmd/printast.d | 4 ++-- compiler/src/dmd/root/aav.d | 4 ++-- compiler/src/dmd/root/array.d | 4 ++-- compiler/src/dmd/root/bitarray.d | 4 ++-- compiler/src/dmd/root/complex.d | 4 ++-- compiler/src/dmd/root/ctfloat.d | 4 ++-- compiler/src/dmd/root/env.d | 4 ++-- compiler/src/dmd/root/file.d | 4 ++-- compiler/src/dmd/root/filename.d | 4 ++-- compiler/src/dmd/root/hash.d | 4 ++-- compiler/src/dmd/root/man.d | 4 ++-- compiler/src/dmd/root/optional.d | 4 ++-- compiler/src/dmd/root/optional.h | 4 ++-- compiler/src/dmd/root/port.d | 4 ++-- compiler/src/dmd/root/region.d | 4 ++-- compiler/src/dmd/root/response.d | 4 ++-- compiler/src/dmd/root/rmem.d | 4 ++-- compiler/src/dmd/root/speller.d | 4 ++-- compiler/src/dmd/root/string.d | 4 ++-- compiler/src/dmd/root/stringtable.d | 4 ++-- compiler/src/dmd/root/strtold.d | 2 +- compiler/src/dmd/root/utf.d | 4 ++-- compiler/src/dmd/rootobject.d | 4 ++-- compiler/src/dmd/s2ir.d | 4 ++-- compiler/src/dmd/safe.d | 4 ++-- compiler/src/dmd/sarif.d | 4 ++-- compiler/src/dmd/semantic2.d | 4 ++-- compiler/src/dmd/semantic3.d | 4 ++-- compiler/src/dmd/sideeffect.d | 4 ++-- compiler/src/dmd/statement.d | 4 ++-- compiler/src/dmd/statementsem.d | 4 ++-- compiler/src/dmd/staticassert.d | 4 ++-- compiler/src/dmd/staticcond.d | 4 ++-- compiler/src/dmd/stmtstate.d | 4 ++-- compiler/src/dmd/target.d | 4 ++-- compiler/src/dmd/templateparamsem.d | 4 ++-- compiler/src/dmd/templatesem.d | 4 ++-- compiler/src/dmd/timetrace.d | 4 ++-- compiler/src/dmd/tocsym.d | 4 ++-- compiler/src/dmd/toctype.d | 4 ++-- compiler/src/dmd/tocvdebug.d | 4 ++-- compiler/src/dmd/todt.d | 4 ++-- compiler/src/dmd/toir.d | 4 ++-- compiler/src/dmd/tokens.d | 4 ++-- compiler/src/dmd/toobj.d | 4 ++-- compiler/src/dmd/traits.d | 4 ++-- compiler/src/dmd/typesem.d | 4 ++-- compiler/src/dmd/typinf.d | 4 ++-- compiler/src/dmd/utils.d | 4 ++-- compiler/src/dmd/visitor/foreachvar.d | 4 ++-- compiler/src/dmd/visitor/package.d | 4 ++-- compiler/src/dmd/visitor/postorder.d | 4 ++-- compiler/src/dmd/visitor/statement_rewrite_walker.d | 4 ++-- compiler/src/dmd/vsoptions.d | 4 ++-- 244 files changed, 448 insertions(+), 448 deletions(-) diff --git a/compiler/src/dmd/access.d b/compiler/src/dmd/access.d index df04216323..eaaa288cb4 100644 --- a/compiler/src/dmd/access.d +++ b/compiler/src/dmd/access.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/access.d, _access.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/access.d, _access.d) * Documentation: https://dlang.org/phobos/dmd_access.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/access.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/access.d */ module dmd.access; diff --git a/compiler/src/dmd/aggregate.d b/compiler/src/dmd/aggregate.d index 25a8771f3b..51d6fc4595 100644 --- a/compiler/src/dmd/aggregate.d +++ b/compiler/src/dmd/aggregate.d @@ -7,9 +7,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/aggregate.d, _aggregate.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/aggregate.d, _aggregate.d) * Documentation: https://dlang.org/phobos/dmd_aggregate.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/aggregate.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/aggregate.d */ module dmd.aggregate; diff --git a/compiler/src/dmd/aliasthis.d b/compiler/src/dmd/aliasthis.d index aec18694c0..632cf95e80 100644 --- a/compiler/src/dmd/aliasthis.d +++ b/compiler/src/dmd/aliasthis.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/aliasthis.d, _aliasthis.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/aliasthis.d, _aliasthis.d) * Documentation: https://dlang.org/phobos/dmd_aliasthis.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/aliasthis.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/aliasthis.d */ module dmd.aliasthis; diff --git a/compiler/src/dmd/argtypes_aarch64.d b/compiler/src/dmd/argtypes_aarch64.d index a2e185f91b..545f11edfb 100644 --- a/compiler/src/dmd/argtypes_aarch64.d +++ b/compiler/src/dmd/argtypes_aarch64.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Martin Kinkelin * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/argtypes_aarch64.d, _argtypes_aarch64.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/argtypes_aarch64.d, _argtypes_aarch64.d) * Documentation: https://dlang.org/phobos/dmd_argtypes_aarch64.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/argtypes_aarch64.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/argtypes_aarch64.d */ module dmd.argtypes_aarch64; diff --git a/compiler/src/dmd/argtypes_sysv_x64.d b/compiler/src/dmd/argtypes_sysv_x64.d index e9f0cf857e..9cd4e514a6 100644 --- a/compiler/src/dmd/argtypes_sysv_x64.d +++ b/compiler/src/dmd/argtypes_sysv_x64.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Martin Kinkelin * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/argtypes_sysv_x64.d, _argtypes_sysv_x64.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/argtypes_sysv_x64.d, _argtypes_sysv_x64.d) * Documentation: https://dlang.org/phobos/dmd_argtypes_sysv_x64.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/argtypes_sysv_x64.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/argtypes_sysv_x64.d */ module dmd.argtypes_sysv_x64; diff --git a/compiler/src/dmd/argtypes_x86.d b/compiler/src/dmd/argtypes_x86.d index 62fdf88d5c..9f5adcf21b 100644 --- a/compiler/src/dmd/argtypes_x86.d +++ b/compiler/src/dmd/argtypes_x86.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/argtypes_x86.d, _argtypes_x86.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/argtypes_x86.d, _argtypes_x86.d) * Documentation: https://dlang.org/phobos/dmd_argtypes_x86.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/argtypes_x86.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/argtypes_x86.d */ module dmd.argtypes_x86; diff --git a/compiler/src/dmd/arrayop.d b/compiler/src/dmd/arrayop.d index 3129eb513a..7d25e18512 100644 --- a/compiler/src/dmd/arrayop.d +++ b/compiler/src/dmd/arrayop.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/arrayop.d, _arrayop.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/arrayop.d, _arrayop.d) * Documentation: https://dlang.org/phobos/dmd_arrayop.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/arrayop.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/arrayop.d */ module dmd.arrayop; diff --git a/compiler/src/dmd/arraytypes.d b/compiler/src/dmd/arraytypes.d index e09fb43a1b..2cd446ea5e 100644 --- a/compiler/src/dmd/arraytypes.d +++ b/compiler/src/dmd/arraytypes.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/arraytypes.d, _arraytypes.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/arraytypes.d, _arraytypes.d) * Documentation: https://dlang.org/phobos/dmd_arraytypes.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/arraytypes.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/arraytypes.d */ module dmd.arraytypes; diff --git a/compiler/src/dmd/ast_node.d b/compiler/src/dmd/ast_node.d index 3f2b221236..ad49169947 100644 --- a/compiler/src/dmd/ast_node.d +++ b/compiler/src/dmd/ast_node.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/ast_node.d, _ast_node.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/ast_node.d, _ast_node.d) * Documentation: https://dlang.org/phobos/dmd_ast_node.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/ast_node.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/ast_node.d */ module dmd.ast_node; diff --git a/compiler/src/dmd/astbase.d b/compiler/src/dmd/astbase.d index cd9a634516..e0a1808e78 100644 --- a/compiler/src/dmd/astbase.d +++ b/compiler/src/dmd/astbase.d @@ -3,9 +3,9 @@ * * Copyright: Copyright (C) 1999-2024 by The D Language Foundation, All Rights Reserved * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/astbase.d, _astbase.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/astbase.d, _astbase.d) * Documentation: https://dlang.org/phobos/dmd_astbase.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/astbase.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/astbase.d */ module dmd.astbase; diff --git a/compiler/src/dmd/astenums.d b/compiler/src/dmd/astenums.d index 2bbf1e0d26..b71b6c40ae 100644 --- a/compiler/src/dmd/astenums.d +++ b/compiler/src/dmd/astenums.d @@ -3,9 +3,9 @@ * * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/astenums.d, _astenums.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/astenums.d, _astenums.d) * Documentation: https://dlang.org/phobos/dmd_astenums.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/astenums.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/astenums.d */ module dmd.astenums; diff --git a/compiler/src/dmd/asttypename.d b/compiler/src/dmd/asttypename.d index fabc12eb32..8642288f58 100644 --- a/compiler/src/dmd/asttypename.d +++ b/compiler/src/dmd/asttypename.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Stefan Koch * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/asttypename.d, _asttypename.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/asttypename.d, _asttypename.d) * Documentation: https://dlang.org/phobos/dmd_asttypename.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/asttypename.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/asttypename.d */ module dmd.asttypename; diff --git a/compiler/src/dmd/attrib.d b/compiler/src/dmd/attrib.d index 7135c28fb9..1bfe7902a9 100644 --- a/compiler/src/dmd/attrib.d +++ b/compiler/src/dmd/attrib.d @@ -17,9 +17,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/attrib.d, _attrib.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/attrib.d, _attrib.d) * Documentation: https://dlang.org/phobos/dmd_attrib.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/attrib.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/attrib.d */ module dmd.attrib; diff --git a/compiler/src/dmd/attribsem.d b/compiler/src/dmd/attribsem.d index 78a3b475a3..bc966bb8eb 100644 --- a/compiler/src/dmd/attribsem.d +++ b/compiler/src/dmd/attribsem.d @@ -17,9 +17,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/attribsem.d, _attrib.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/attribsem.d, _attrib.d) * Documentation: https://dlang.org/phobos/dmd_attribsem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/attribsem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/attribsem.d */ module dmd.attribsem; diff --git a/compiler/src/dmd/backend/arm/cod1.d b/compiler/src/dmd/backend/arm/cod1.d index 7c36b4cef3..dad79a3b41 100644 --- a/compiler/src/dmd/backend/arm/cod1.d +++ b/compiler/src/dmd/backend/arm/cod1.d @@ -10,9 +10,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/arm/cod1.d, backend/cod1.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/arm/cod1.d, backend/cod1.d) * Documentation: https://dlang.org/phobos/dmd_backend_arm_cod1.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/arm/cod1.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/arm/cod1.d */ module dmd.backend.arm.cod1; diff --git a/compiler/src/dmd/backend/arm/cod2.d b/compiler/src/dmd/backend/arm/cod2.d index c697a296e2..ce0a7ce984 100644 --- a/compiler/src/dmd/backend/arm/cod2.d +++ b/compiler/src/dmd/backend/arm/cod2.d @@ -14,9 +14,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/arm/cod2.d, backend/cod2.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/arm/cod2.d, backend/cod2.d) * Documentation: https://dlang.org/phobos/dmd_backend_arm_cod2.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/arm/cod2.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/arm/cod2.d */ module dmd.backend.arm.cod2; diff --git a/compiler/src/dmd/backend/arm/cod3.d b/compiler/src/dmd/backend/arm/cod3.d index 688204fb92..a7682eea59 100644 --- a/compiler/src/dmd/backend/arm/cod3.d +++ b/compiler/src/dmd/backend/arm/cod3.d @@ -13,9 +13,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/arm/cod3.d, backend/cod3.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/arm/cod3.d, backend/cod3.d) * Documentation: https://dlang.org/phobos/dmd_backend_arm_cod3.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/arm/cod3.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/arm/cod3.d */ module dmd.backend.arm.cod3; diff --git a/compiler/src/dmd/backend/arm/cod4.d b/compiler/src/dmd/backend/arm/cod4.d index e884338087..5738e175ce 100644 --- a/compiler/src/dmd/backend/arm/cod4.d +++ b/compiler/src/dmd/backend/arm/cod4.d @@ -16,9 +16,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/arm/cod4.d, backend/cod4.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/arm/cod4.d, backend/cod4.d) * Documentation: https://dlang.org/phobos/dmd_backend_arm_cod4.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/arm/cod4.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/arm/cod4.d */ module dmd.backend.arm.cod4; diff --git a/compiler/src/dmd/backend/arm/instr.d b/compiler/src/dmd/backend/arm/instr.d index ab542391de..b4d1d88dd6 100644 --- a/compiler/src/dmd/backend/arm/instr.d +++ b/compiler/src/dmd/backend/arm/instr.d @@ -7,9 +7,9 @@ * Copyright: Copyright (C) 2024 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/arm/instr.d, backend/cod3.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/arm/instr.d, backend/cod3.d) * Documentation: https://dlang.org/phobos/dmd_backend_arm_insrt.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/arm/instr.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/arm/instr.d */ module dmd.backend.arm.instr; diff --git a/compiler/src/dmd/backend/backconfig.d b/compiler/src/dmd/backend/backconfig.d index 23b452c35f..80451f83b3 100644 --- a/compiler/src/dmd/backend/backconfig.d +++ b/compiler/src/dmd/backend/backconfig.d @@ -7,7 +7,7 @@ * Copyright: Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/backconfig.d, backend/backconfig.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/backconfig.d, backend/backconfig.d) */ module dmd.backend.backconfig; diff --git a/compiler/src/dmd/backend/barray.d b/compiler/src/dmd/backend/barray.d index 69a42bb3c8..6992f7993a 100644 --- a/compiler/src/dmd/backend/barray.d +++ b/compiler/src/dmd/backend/barray.d @@ -7,7 +7,7 @@ * Copyright: Copyright (C) 2018-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/barrayf.d, backend/barray.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/barray.d, backend/barray.d) * Documentation: https://dlang.org/phobos/dmd_backend_barray.html */ diff --git a/compiler/src/dmd/backend/blockopt.d b/compiler/src/dmd/backend/blockopt.d index d1be98cdba..338711eaa6 100644 --- a/compiler/src/dmd/backend/blockopt.d +++ b/compiler/src/dmd/backend/blockopt.d @@ -5,9 +5,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/blockopt.d, backend/blockopt.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/blockopt.d, backend/blockopt.d) * Documentation: https://dlang.org/phobos/dmd_backend_blockopt.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/blockopt.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/blockopt.d */ module dmd.backend.blockopt; diff --git a/compiler/src/dmd/backend/cc.d b/compiler/src/dmd/backend/cc.d index d27d18ce2d..73d0362171 100644 --- a/compiler/src/dmd/backend/cc.d +++ b/compiler/src/dmd/backend/cc.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cc.d, backend/_cc.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cc.d, backend/_cc.d) */ module dmd.backend.cc; diff --git a/compiler/src/dmd/backend/cdef.d b/compiler/src/dmd/backend/cdef.d index 963b18e835..0d1a22c350 100644 --- a/compiler/src/dmd/backend/cdef.d +++ b/compiler/src/dmd/backend/cdef.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cdef.d, backend/_cdef.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cdef.d, backend/_cdef.d) */ module dmd.backend.cdef; diff --git a/compiler/src/dmd/backend/cg.d b/compiler/src/dmd/backend/cg.d index 55ddc0359b..0d7015f536 100644 --- a/compiler/src/dmd/backend/cg.d +++ b/compiler/src/dmd/backend/cg.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cg.c, backend/cg.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cg.d, backend/cg.d) */ module dmd.backend.cg; diff --git a/compiler/src/dmd/backend/cgcse.d b/compiler/src/dmd/backend/cgcse.d index 7e61b0a23c..528d39c42f 100644 --- a/compiler/src/dmd/backend/cgcse.d +++ b/compiler/src/dmd/backend/cgcse.d @@ -8,8 +8,8 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cgcse.d, backend/cgcse.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/cgcse.d + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cgcse.d, backend/cgcse.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/cgcse.d */ module dmd.backend.cgcse; diff --git a/compiler/src/dmd/backend/cgcv.d b/compiler/src/dmd/backend/cgcv.d index 6a13c74536..0b2322cad1 100644 --- a/compiler/src/dmd/backend/cgcv.d +++ b/compiler/src/dmd/backend/cgcv.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cgcv.c, backend/cgcv.c) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cgcv.d, backend/cgcv.c) */ /* Header for cgcv.c */ diff --git a/compiler/src/dmd/backend/cgelem.d b/compiler/src/dmd/backend/cgelem.d index a8e107cb44..b2ddbf7b4b 100644 --- a/compiler/src/dmd/backend/cgelem.d +++ b/compiler/src/dmd/backend/cgelem.d @@ -11,9 +11,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cgelem.d, backend/cgelem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cgelem.d, backend/cgelem.d) * Documentation: https://dlang.org/phobos/dmd_backend_cgelem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/cgelem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/cgelem.d * Add coverage tests to https://github.com/dlang/dmd/blob/master/test/runnable/testcgelem.d */ diff --git a/compiler/src/dmd/backend/cgen.d b/compiler/src/dmd/backend/cgen.d index 9e7974092c..30fc3eff68 100644 --- a/compiler/src/dmd/backend/cgen.d +++ b/compiler/src/dmd/backend/cgen.d @@ -5,9 +5,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cgen.d, backend/cgen.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cgen.d, backend/cgen.d) * Documentation: https://dlang.org/phobos/dmd_backend_cgen.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/cgen.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/cgen.d */ module dmd.backend.cgen; diff --git a/compiler/src/dmd/backend/cgsched.d b/compiler/src/dmd/backend/cgsched.d index 79d325c07d..fe769b3fcc 100644 --- a/compiler/src/dmd/backend/cgsched.d +++ b/compiler/src/dmd/backend/cgsched.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cgsched.c, backend/cgsched.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cgsched.d, backend/cgsched.d) */ module dmd.backend.cgsched; diff --git a/compiler/src/dmd/backend/code.d b/compiler/src/dmd/backend/code.d index 9abbd4568f..d94a7ac9bd 100644 --- a/compiler/src/dmd/backend/code.d +++ b/compiler/src/dmd/backend/code.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/code.d, backend/_code.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/code.d, backend/_code.d) */ module dmd.backend.code; diff --git a/compiler/src/dmd/backend/codebuilder.d b/compiler/src/dmd/backend/codebuilder.d index 54a55940dd..628ecb8cdd 100644 --- a/compiler/src/dmd/backend/codebuilder.d +++ b/compiler/src/dmd/backend/codebuilder.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/codebuilder.d, backend/_codebuilder.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/codebuilder.d, backend/_codebuilder.d) * Documentation: https://dlang.org/phobos/dmd_backend_codebuilder.html */ diff --git a/compiler/src/dmd/backend/cv4.d b/compiler/src/dmd/backend/cv4.d index b4622580ed..9e571753d8 100644 --- a/compiler/src/dmd/backend/cv4.d +++ b/compiler/src/dmd/backend/cv4.d @@ -6,7 +6,7 @@ * Compiler implementation of the * $(LINK2 https://www.dlang.org, D programming language). * - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cv4.d, backend/_cv4.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cv4.d, backend/_cv4.d) */ module dmd.backend.cv4; diff --git a/compiler/src/dmd/backend/cv8.d b/compiler/src/dmd/backend/cv8.d index 94fe941885..56969d370e 100644 --- a/compiler/src/dmd/backend/cv8.d +++ b/compiler/src/dmd/backend/cv8.d @@ -10,9 +10,9 @@ * Copyright: Copyright (C) 2012-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cv8.d, backend/cv8.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/cv8.d, backend/cv8.d) * Documentation: https://dlang.org/phobos/dmd_backend_cv8.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/cv8.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/cv8.d */ module dmd.backend.cv8; diff --git a/compiler/src/dmd/backend/dcgcv.d b/compiler/src/dmd/backend/dcgcv.d index ec76afa106..77becd870d 100644 --- a/compiler/src/dmd/backend/dcgcv.d +++ b/compiler/src/dmd/backend/dcgcv.d @@ -8,8 +8,8 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/dcgcv.d, backend/dcgcv.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/dcgcv.d + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/dcgcv.d, backend/dcgcv.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/dcgcv.d */ module dmd.backend.dcgcv; diff --git a/compiler/src/dmd/backend/dcode.d b/compiler/src/dmd/backend/dcode.d index 0fe536bec7..e52608148f 100644 --- a/compiler/src/dmd/backend/dcode.d +++ b/compiler/src/dmd/backend/dcode.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/dcode.d, backend/dcode.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/dcode.d, backend/dcode.d) */ module dmd.backend.dcode; diff --git a/compiler/src/dmd/backend/debugprint.d b/compiler/src/dmd/backend/debugprint.d index 7ad3336d99..c2f75b3fa0 100644 --- a/compiler/src/dmd/backend/debugprint.d +++ b/compiler/src/dmd/backend/debugprint.d @@ -8,8 +8,8 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/debug.c, backend/debugprint.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/debug.c + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/debugprint.d, backend/debugprint.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/debugprint.d */ module dmd.backend.debugprint; diff --git a/compiler/src/dmd/backend/divcoeff.d b/compiler/src/dmd/backend/divcoeff.d index 358473a4bb..bafd0c9d61 100644 --- a/compiler/src/dmd/backend/divcoeff.d +++ b/compiler/src/dmd/backend/divcoeff.d @@ -8,7 +8,7 @@ * Copyright: Copyright (C) 2013-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/divcoeff.d, backend/divcoeff.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/divcoeff.d, backend/divcoeff.d) */ module dmd.backend.divcoeff; diff --git a/compiler/src/dmd/backend/dlist.d b/compiler/src/dmd/backend/dlist.d index 9cb1ede405..8e7c1b596d 100644 --- a/compiler/src/dmd/backend/dlist.d +++ b/compiler/src/dmd/backend/dlist.d @@ -13,7 +13,7 @@ * Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/dlist.d, backend/dlist.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/dlist.d, backend/dlist.d) */ module dmd.backend.dlist; diff --git a/compiler/src/dmd/backend/dout.d b/compiler/src/dmd/backend/dout.d index 87050ebe2a..874a82e79f 100644 --- a/compiler/src/dmd/backend/dout.d +++ b/compiler/src/dmd/backend/dout.d @@ -8,9 +8,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/dout.d, backend/dout.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/dout.d, backend/dout.d) * Documentation: https://dlang.org/phobos/dmd_backend_dout.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/dout.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/dout.d */ module dmd.backend.dout; diff --git a/compiler/src/dmd/backend/drtlsym.d b/compiler/src/dmd/backend/drtlsym.d index 676200d13e..0549f3bbb7 100644 --- a/compiler/src/dmd/backend/drtlsym.d +++ b/compiler/src/dmd/backend/drtlsym.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/drtlsym.d, backend/drtlsym.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/drtlsym.d, backend/drtlsym.d) */ module dmd.backend.drtlsym; diff --git a/compiler/src/dmd/backend/dvarstats.d b/compiler/src/dmd/backend/dvarstats.d index c79738ed18..5e6bee07a2 100644 --- a/compiler/src/dmd/backend/dvarstats.d +++ b/compiler/src/dmd/backend/dvarstats.d @@ -7,7 +7,7 @@ * Copyright: Copyright (C) 2015-2025 by The D Language Foundation, All Rights Reserved * Authors: Rainer Schuetze * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/dvarstats.d, backend/dvarstats.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/dvarstats.d, backend/dvarstats.d) */ module dmd.backend.dvarstats; diff --git a/compiler/src/dmd/backend/dvec.d b/compiler/src/dmd/backend/dvec.d index 91cadb2389..e38dd01d15 100644 --- a/compiler/src/dmd/backend/dvec.d +++ b/compiler/src/dmd/backend/dvec.d @@ -7,7 +7,7 @@ * Copyright: Copyright (C) 2013-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/dvec.d, backend/dvec.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/dvec.d, backend/dvec.d) */ module dmd.backend.dvec; diff --git a/compiler/src/dmd/backend/dwarf2.d b/compiler/src/dmd/backend/dwarf2.d index cc5a88a411..f3c64f5ca3 100644 --- a/compiler/src/dmd/backend/dwarf2.d +++ b/compiler/src/dmd/backend/dwarf2.d @@ -3,7 +3,7 @@ * Reflects declarations from the DWARF 3 to 5 specification, not the The D Language Foundation * dwarf implementation * - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/dwarf2.d, backend/_dwarf2.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/dwarf2.d, backend/_dwarf2.d) */ module dmd.backend.dwarf2; diff --git a/compiler/src/dmd/backend/dwarfdbginf.d b/compiler/src/dmd/backend/dwarfdbginf.d index 09cbae7883..856f46215a 100644 --- a/compiler/src/dmd/backend/dwarfdbginf.d +++ b/compiler/src/dmd/backend/dwarfdbginf.d @@ -7,8 +7,8 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/dwarfdbginf.d, backend/dwarfdbginf.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/dwarfdbginf.d + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/dwarfdbginf.d, backend/dwarfdbginf.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/dwarfdbginf.d */ diff --git a/compiler/src/dmd/backend/dwarfeh.d b/compiler/src/dmd/backend/dwarfeh.d index a4741efffc..ce194c4f80 100644 --- a/compiler/src/dmd/backend/dwarfeh.d +++ b/compiler/src/dmd/backend/dwarfeh.d @@ -5,7 +5,7 @@ * Copyright: Copyright (C) 2015-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/dwarfeh.d, backend/dwarfeh.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/dwarfeh.d, backend/dwarfeh.d) */ module dmd.backend.dwarfeh; diff --git a/compiler/src/dmd/backend/ee.d b/compiler/src/dmd/backend/ee.d index fe57b4134f..1fce515a5e 100644 --- a/compiler/src/dmd/backend/ee.d +++ b/compiler/src/dmd/backend/ee.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/ee.d, backend/ee.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/ee.d, backend/ee.d) */ module dmd.backend.ee; diff --git a/compiler/src/dmd/backend/eh.d b/compiler/src/dmd/backend/eh.d index 55e28b0eaa..769d6141fa 100644 --- a/compiler/src/dmd/backend/eh.d +++ b/compiler/src/dmd/backend/eh.d @@ -6,9 +6,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/eh.d, _eh.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/eh.d, _eh.d) * Documentation: https://dlang.org/phobos/dmd_eh.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/eh.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/eh.d */ module dmd.backend.eh; diff --git a/compiler/src/dmd/backend/el.d b/compiler/src/dmd/backend/el.d index fe126c5d00..b24886e9fe 100644 --- a/compiler/src/dmd/backend/el.d +++ b/compiler/src/dmd/backend/el.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/el.d, backend/el.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/el.d, backend/el.d) */ module dmd.backend.el; diff --git a/compiler/src/dmd/backend/elem.d b/compiler/src/dmd/backend/elem.d index e5a341d24f..1f2e20475f 100644 --- a/compiler/src/dmd/backend/elem.d +++ b/compiler/src/dmd/backend/elem.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/elem.d, backend/elem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/elem.d, backend/elem.d) */ module dmd.backend.elem; diff --git a/compiler/src/dmd/backend/elfobj.d b/compiler/src/dmd/backend/elfobj.d index f533e3fa26..c71ff2f0e8 100644 --- a/compiler/src/dmd/backend/elfobj.d +++ b/compiler/src/dmd/backend/elfobj.d @@ -10,7 +10,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/elfobj.d, backend/elfobj.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/elfobj.d, backend/elfobj.d) */ module dmd.backend.elfobj; @@ -1564,7 +1564,7 @@ private void obj_tlssections() * Returns: * "segment index" of COMDAT * References: - * Section Groups http://www.sco.com/developers/gabi/2003-12-17/ch4.sheader.html#section_groups + * Section Groups https://www.sco.com/developers/gabi/2003-12-17/ch4.sheader.html#section_groups * COMDAT section groups https://www.airs.com/blog/archives/52 */ diff --git a/compiler/src/dmd/backend/elpicpie.d b/compiler/src/dmd/backend/elpicpie.d index ec5bf2a4c8..14215349f8 100644 --- a/compiler/src/dmd/backend/elpicpie.d +++ b/compiler/src/dmd/backend/elpicpie.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/elpicpie.d, backend/elpicpie.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/elpicpie.d, backend/elpicpie.d) */ module dmd.backend.elpicpie; diff --git a/compiler/src/dmd/backend/evalu8.d b/compiler/src/dmd/backend/evalu8.d index 5aaa124e33..eb05e24031 100644 --- a/compiler/src/dmd/backend/evalu8.d +++ b/compiler/src/dmd/backend/evalu8.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/evalu8.d, backend/evalu8.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/evalu8.d, backend/evalu8.d) */ module dmd.backend.evalu8; diff --git a/compiler/src/dmd/backend/fp.d b/compiler/src/dmd/backend/fp.d index b11d7a3f1f..171e579ca5 100644 --- a/compiler/src/dmd/backend/fp.d +++ b/compiler/src/dmd/backend/fp.d @@ -6,8 +6,8 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/fp.d backend/fp.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/fp.d + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/fp.d backend/fp.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/fp.d */ module dmd.backend.fp; diff --git a/compiler/src/dmd/backend/gdag.d b/compiler/src/dmd/backend/gdag.d index 596599b2cc..55eb6701d4 100644 --- a/compiler/src/dmd/backend/gdag.d +++ b/compiler/src/dmd/backend/gdag.d @@ -8,8 +8,8 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/gdag.d, backend/gdag.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/gdag.d + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/gdag.d, backend/gdag.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/gdag.d */ module dmd.backend.gdag; diff --git a/compiler/src/dmd/backend/gflow.d b/compiler/src/dmd/backend/gflow.d index 09dc46ebb3..d73a14e161 100644 --- a/compiler/src/dmd/backend/gflow.d +++ b/compiler/src/dmd/backend/gflow.d @@ -5,9 +5,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/gflow.d, backend/gflow.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/gflow.d, backend/gflow.d) * Documentation: https://dlang.org/phobos/dmd_backend_gflow.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/gflow.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/gflow.d */ module dmd.backend.gflow; diff --git a/compiler/src/dmd/backend/global.d b/compiler/src/dmd/backend/global.d index 5da4acfe0e..ef2e3f6ca3 100644 --- a/compiler/src/dmd/backend/global.d +++ b/compiler/src/dmd/backend/global.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/global.d, backend/global.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/global.d, backend/global.d) */ module dmd.backend.global; diff --git a/compiler/src/dmd/backend/glocal.d b/compiler/src/dmd/backend/glocal.d index 24f66ee8b4..0b1f9751b1 100644 --- a/compiler/src/dmd/backend/glocal.d +++ b/compiler/src/dmd/backend/glocal.d @@ -8,8 +8,8 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/glocal.d, backend/glocal.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/glocal.d + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/glocal.d, backend/glocal.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/glocal.d */ module dmd.backend.glocal; diff --git a/compiler/src/dmd/backend/gloop.d b/compiler/src/dmd/backend/gloop.d index 8119266290..62b83d7c6c 100644 --- a/compiler/src/dmd/backend/gloop.d +++ b/compiler/src/dmd/backend/gloop.d @@ -8,8 +8,8 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/gloop.d, backend/gloop.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/gloop.d + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/gloop.d, backend/gloop.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/gloop.d */ module dmd.backend.gloop; diff --git a/compiler/src/dmd/backend/gsroa.d b/compiler/src/dmd/backend/gsroa.d index 6019724059..bae8947097 100644 --- a/compiler/src/dmd/backend/gsroa.d +++ b/compiler/src/dmd/backend/gsroa.d @@ -11,7 +11,7 @@ * Copyright: Copyright (C) 2016-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/gsroa.c, backend/gsroa.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/gsroa.d, backend/gsroa.d) */ module dmd.backend.gsroa; diff --git a/compiler/src/dmd/backend/iasm.d b/compiler/src/dmd/backend/iasm.d index c1fcac22bb..6ff44fb0af 100644 --- a/compiler/src/dmd/backend/iasm.d +++ b/compiler/src/dmd/backend/iasm.d @@ -5,9 +5,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: Mike Cote, John Micco, $(LINK2 https://www.digitalmars.com, Walter Bright), * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/iasm.d, backend/iasm.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/iasm.d, backend/iasm.d) * Documentation: https://dlang.org/phobos/dmd_backend_iasm.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/iasm.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/iasm.d */ module dmd.backend.iasm; diff --git a/compiler/src/dmd/backend/inliner.d b/compiler/src/dmd/backend/inliner.d index 4c14d3ddf9..93e080e4ea 100644 --- a/compiler/src/dmd/backend/inliner.d +++ b/compiler/src/dmd/backend/inliner.d @@ -19,7 +19,7 @@ * Some parts based on an inliner from the Digital Mars C compiler. * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/inliner.d, backend/inliner.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/inliner.d, backend/inliner.d) */ // C++ specific routines diff --git a/compiler/src/dmd/backend/machobj.d b/compiler/src/dmd/backend/machobj.d index dc89956beb..e11c56126e 100644 --- a/compiler/src/dmd/backend/machobj.d +++ b/compiler/src/dmd/backend/machobj.d @@ -7,7 +7,7 @@ * Copyright: Copyright (C) 2009-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/machobj.d, backend/machobj.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/machobj.d, backend/machobj.d) */ module dmd.backend.machobj; diff --git a/compiler/src/dmd/backend/melf.d b/compiler/src/dmd/backend/melf.d index 6e1de11e1d..300061cfb1 100644 --- a/compiler/src/dmd/backend/melf.d +++ b/compiler/src/dmd/backend/melf.d @@ -7,7 +7,7 @@ * * Translation to D of Linux's melf.h * - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/melf.d, backend/melf.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/melf.d, backend/melf.d) * References: $(LINK2 https://github.com/ARM-software/abi-aa/blob/main/aaelf64/aaelf64.rst, aaelf64) */ diff --git a/compiler/src/dmd/backend/mem.d b/compiler/src/dmd/backend/mem.d index c3942fb2b6..78cac60fcd 100644 --- a/compiler/src/dmd/backend/mem.d +++ b/compiler/src/dmd/backend/mem.d @@ -6,8 +6,8 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/mem.d, backend/mem.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/mem.d + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/mem.d, backend/mem.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/mem.d */ diff --git a/compiler/src/dmd/backend/mscoff.d b/compiler/src/dmd/backend/mscoff.d index 1bc8cfbf88..cba88c75fb 100644 --- a/compiler/src/dmd/backend/mscoff.d +++ b/compiler/src/dmd/backend/mscoff.d @@ -1,7 +1,7 @@ /** * Microsoft COFF object file format * - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/mscoff.d, backend/_mscoff.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/mscoff.d, backend/_mscoff.d) */ module dmd.backend.mscoff; diff --git a/compiler/src/dmd/backend/mscoffobj.d b/compiler/src/dmd/backend/mscoffobj.d index b1a4600d9e..4bc16ec228 100644 --- a/compiler/src/dmd/backend/mscoffobj.d +++ b/compiler/src/dmd/backend/mscoffobj.d @@ -5,7 +5,7 @@ * Copyright: Copyright (C) 2009-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/mscoffobj.d, backend/mscoffobj.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/mscoffobj.d, backend/mscoffobj.d) */ module dmd.backend.mscoffobj; diff --git a/compiler/src/dmd/backend/obj.d b/compiler/src/dmd/backend/obj.d index 7fdc85d853..89618fb8da 100644 --- a/compiler/src/dmd/backend/obj.d +++ b/compiler/src/dmd/backend/obj.d @@ -6,7 +6,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/obj.d, backend/obj.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/obj.d, backend/obj.d) */ module dmd.backend.obj; diff --git a/compiler/src/dmd/backend/oper.d b/compiler/src/dmd/backend/oper.d index 5cd026ebc1..2c531ec785 100644 --- a/compiler/src/dmd/backend/oper.d +++ b/compiler/src/dmd/backend/oper.d @@ -6,7 +6,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/oper.d, backend/oper.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/oper.d, backend/oper.d) */ module dmd.backend.oper; diff --git a/compiler/src/dmd/backend/pdata.d b/compiler/src/dmd/backend/pdata.d index f639347b81..a756a2fe1f 100644 --- a/compiler/src/dmd/backend/pdata.d +++ b/compiler/src/dmd/backend/pdata.d @@ -7,7 +7,7 @@ * Copyright: Copyright (C) 2012-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/pdata.d, backend/pdata.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/pdata.d, backend/pdata.d) */ module dmd.backend.pdata; diff --git a/compiler/src/dmd/backend/ptrntab.d b/compiler/src/dmd/backend/ptrntab.d index 5788bff731..f6360e242b 100644 --- a/compiler/src/dmd/backend/ptrntab.d +++ b/compiler/src/dmd/backend/ptrntab.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1985-1998 by Symantec * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/ptrntab.d, backend/ptrntab.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/ptrntab.d, backend/ptrntab.d) * Documentation: https://dlang.org/phobos/dmd_backend_ptrntab.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/ptrntab.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/ptrntab.d */ module dmd.backend.ptrntab; diff --git a/compiler/src/dmd/backend/symtab.d b/compiler/src/dmd/backend/symtab.d index 453a7c7942..89468c92a2 100644 --- a/compiler/src/dmd/backend/symtab.d +++ b/compiler/src/dmd/backend/symtab.d @@ -5,9 +5,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/symtab.d, backend/_symtab.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/symtab.d, backend/_symtab.d) * Documentation: https://dlang.org/phobos/dmd_backend_symtab.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/symtab.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/symtab.d */ module dmd.backend.symtab; diff --git a/compiler/src/dmd/backend/ty.d b/compiler/src/dmd/backend/ty.d index 6eefb3486e..b45888662d 100644 --- a/compiler/src/dmd/backend/ty.d +++ b/compiler/src/dmd/backend/ty.d @@ -8,7 +8,7 @@ * Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/ty.d, backend/_ty.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/ty.d, backend/_ty.d) */ module dmd.backend.ty; diff --git a/compiler/src/dmd/backend/type.d b/compiler/src/dmd/backend/type.d index 9d1346aba8..e095eb05e7 100644 --- a/compiler/src/dmd/backend/type.d +++ b/compiler/src/dmd/backend/type.d @@ -8,7 +8,7 @@ * Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/type.d, backend/_type.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/type.d, backend/_type.d) */ module dmd.backend.type; diff --git a/compiler/src/dmd/backend/util2.d b/compiler/src/dmd/backend/util2.d index 6a0873c11c..6a6f52c4e6 100644 --- a/compiler/src/dmd/backend/util2.d +++ b/compiler/src/dmd/backend/util2.d @@ -10,7 +10,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/util2.d, backend/util2.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/util2.d, backend/util2.d) */ module dmd.backend.util2; diff --git a/compiler/src/dmd/backend/var.d b/compiler/src/dmd/backend/var.d index 6f9854441c..5d6f4436df 100644 --- a/compiler/src/dmd/backend/var.d +++ b/compiler/src/dmd/backend/var.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/var.d, backend/var.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/var.d, backend/var.d) */ module dmd.backend.var; diff --git a/compiler/src/dmd/backend/x86/cg87.d b/compiler/src/dmd/backend/x86/cg87.d index d1cd09a00a..71b49da77a 100644 --- a/compiler/src/dmd/backend/x86/cg87.d +++ b/compiler/src/dmd/backend/x86/cg87.d @@ -8,9 +8,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/cg87.d, backend/cg87.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/cg87.d, backend/cg87.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_cg87.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/cg87.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/cg87.d */ module dmd.backend.x86.cg87; diff --git a/compiler/src/dmd/backend/x86/cgcod.d b/compiler/src/dmd/backend/x86/cgcod.d index 20a02b9f43..76962fe6fb 100644 --- a/compiler/src/dmd/backend/x86/cgcod.d +++ b/compiler/src/dmd/backend/x86/cgcod.d @@ -5,9 +5,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/cgcod.d, backend/cgcod.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/cgcod.d, backend/cgcod.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_cgcod.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/cgcod.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/cgcod.d */ module dmd.backend.x86.cgcod; diff --git a/compiler/src/dmd/backend/x86/cgreg.d b/compiler/src/dmd/backend/x86/cgreg.d index 661b1201ec..ee6700db36 100644 --- a/compiler/src/dmd/backend/x86/cgreg.d +++ b/compiler/src/dmd/backend/x86/cgreg.d @@ -8,7 +8,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/cgreg.c, backend/cgreg.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/cgreg.d, backend/cgreg.d) */ module dmd.backend.x86.cgreg; diff --git a/compiler/src/dmd/backend/x86/cgxmm.d b/compiler/src/dmd/backend/x86/cgxmm.d index 3113f0396d..871f180398 100644 --- a/compiler/src/dmd/backend/x86/cgxmm.d +++ b/compiler/src/dmd/backend/x86/cgxmm.d @@ -7,9 +7,9 @@ * Copyright: Copyright (C) 2011-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/cgxmm.d, backend/cgxmm.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/cgxmm.d, backend/cgxmm.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_cgxmm.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/cgxmm.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/cgxmm.d */ module dmd.backend.x86.cgxmm; diff --git a/compiler/src/dmd/backend/x86/cod1.d b/compiler/src/dmd/backend/x86/cod1.d index 8d08819567..46c400be23 100644 --- a/compiler/src/dmd/backend/x86/cod1.d +++ b/compiler/src/dmd/backend/x86/cod1.d @@ -10,9 +10,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/cod1.d, backend/cod1.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/cod1.d, backend/cod1.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_cod1.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/cod1.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/cod1.d */ module dmd.backend.x86.cod1; diff --git a/compiler/src/dmd/backend/x86/cod2.d b/compiler/src/dmd/backend/x86/cod2.d index 09e3fb7a3f..0566d1c37f 100644 --- a/compiler/src/dmd/backend/x86/cod2.d +++ b/compiler/src/dmd/backend/x86/cod2.d @@ -14,9 +14,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/cod2.d, backend/cod2.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/cod2.d, backend/cod2.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_cod2.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/cod2.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/cod2.d */ module dmd.backend.x86.cod2; diff --git a/compiler/src/dmd/backend/x86/cod3.d b/compiler/src/dmd/backend/x86/cod3.d index 464ad3350b..07290a6c9f 100644 --- a/compiler/src/dmd/backend/x86/cod3.d +++ b/compiler/src/dmd/backend/x86/cod3.d @@ -13,9 +13,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/cod3.d, backend/cod3.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/cod3.d, backend/cod3.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_cod3.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/cod3.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/cod3.d */ module dmd.backend.x86.cod3; diff --git a/compiler/src/dmd/backend/x86/cod4.d b/compiler/src/dmd/backend/x86/cod4.d index 00c244ccce..4e9a0a1efe 100644 --- a/compiler/src/dmd/backend/x86/cod4.d +++ b/compiler/src/dmd/backend/x86/cod4.d @@ -16,9 +16,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/cod4.d, backend/cod4.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/cod4.d, backend/cod4.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_cod4.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/cod4.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/cod4.d */ module dmd.backend.x86.cod4; diff --git a/compiler/src/dmd/backend/x86/cod5.d b/compiler/src/dmd/backend/x86/cod5.d index 1fbd9beac9..3d8937ea16 100644 --- a/compiler/src/dmd/backend/x86/cod5.d +++ b/compiler/src/dmd/backend/x86/cod5.d @@ -10,9 +10,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/cod5.d, backend/cod5.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/cod5.d, backend/cod5.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_cod5.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/cod5.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/cod5.d */ module dmd.backend.x86.cod5; diff --git a/compiler/src/dmd/backend/x86/code_x86.d b/compiler/src/dmd/backend/x86/code_x86.d index 38a9094881..a211afc5b2 100644 --- a/compiler/src/dmd/backend/x86/code_x86.d +++ b/compiler/src/dmd/backend/x86/code_x86.d @@ -5,9 +5,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/code_x86.d, backend/code_x86.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/code_x86.d, backend/code_x86.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86/code_x86.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/code_x86.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/code_x86.d */ module dmd.backend.x86.code_x86; diff --git a/compiler/src/dmd/backend/x86/disasm86.d b/compiler/src/dmd/backend/x86/disasm86.d index c3837b7537..58af881a9a 100644 --- a/compiler/src/dmd/backend/x86/disasm86.d +++ b/compiler/src/dmd/backend/x86/disasm86.d @@ -6,9 +6,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/disasm86.d, backend/cod1.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/disasm86.d, backend/cod1.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_disasm86.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/disasm86.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/disasm86.d */ module dmd.backend.x86.disasm86; diff --git a/compiler/src/dmd/backend/x86/nteh.d b/compiler/src/dmd/backend/x86/nteh.d index fae4389719..d91a9c5da9 100644 --- a/compiler/src/dmd/backend/x86/nteh.d +++ b/compiler/src/dmd/backend/x86/nteh.d @@ -8,8 +8,8 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/nteh.d, backend/nteh.d) - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/nteh.d + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/nteh.d, backend/nteh.d) + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/nteh.d * Documentation: https://dlang.org/phobos/dmd_backend_x86_nteh.html */ diff --git a/compiler/src/dmd/backend/x86/xmm.d b/compiler/src/dmd/backend/x86/xmm.d index ef3c2bd83b..c52a5dc265 100644 --- a/compiler/src/dmd/backend/x86/xmm.d +++ b/compiler/src/dmd/backend/x86/xmm.d @@ -7,9 +7,9 @@ * Copyright: Copyright (C) ?-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/x86/xmm.d, backend/_xmm.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/x86/xmm.d, backend/_xmm.d) * Documentation: https://dlang.org/phobos/dmd_backend_x86_xmm.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/x86/xmm.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/x86/xmm.d */ module dmd.backend.x86.xmm; diff --git a/compiler/src/dmd/blockexit.d b/compiler/src/dmd/blockexit.d index 32012d41db..ae2f12f323 100644 --- a/compiler/src/dmd/blockexit.d +++ b/compiler/src/dmd/blockexit.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/blockexit.d, _blockexit.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/blockexit.d, _blockexit.d) * Documentation: https://dlang.org/phobos/dmd_blockexit.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/blockexit.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/blockexit.d */ module dmd.blockexit; diff --git a/compiler/src/dmd/builtin.d b/compiler/src/dmd/builtin.d index bb4425cd70..17e69b2e1d 100644 --- a/compiler/src/dmd/builtin.d +++ b/compiler/src/dmd/builtin.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/builtin.d, _builtin.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/builtin.d, _builtin.d) * Documentation: https://dlang.org/phobos/dmd_builtin.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/builtin.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/builtin.d */ module dmd.builtin; diff --git a/compiler/src/dmd/canthrow.d b/compiler/src/dmd/canthrow.d index a209a0ce77..96acf05529 100644 --- a/compiler/src/dmd/canthrow.d +++ b/compiler/src/dmd/canthrow.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/canthrow.d, _canthrow.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/canthrow.d, _canthrow.d) * Documentation: https://dlang.org/phobos/dmd_canthrow.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/canthrow.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/canthrow.d */ module dmd.canthrow; diff --git a/compiler/src/dmd/chkformat.d b/compiler/src/dmd/chkformat.d index a16605ef6a..8b2d5b4dd4 100644 --- a/compiler/src/dmd/chkformat.d +++ b/compiler/src/dmd/chkformat.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/chkformat.d, _chkformat.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/chkformat.d, _chkformat.d) * Documentation: https://dlang.org/phobos/dmd_chkformat.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/chkformat.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/chkformat.d */ module dmd.chkformat; diff --git a/compiler/src/dmd/cli.d b/compiler/src/dmd/cli.d index 771f1be6d0..9e231f1c78 100644 --- a/compiler/src/dmd/cli.d +++ b/compiler/src/dmd/cli.d @@ -8,9 +8,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/cli.d, _cli.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/cli.d, _cli.d) * Documentation: https://dlang.org/phobos/dmd_cli.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/cli.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/cli.d */ module dmd.cli; diff --git a/compiler/src/dmd/clone.d b/compiler/src/dmd/clone.d index 9121517e3e..a21f5a05be 100644 --- a/compiler/src/dmd/clone.d +++ b/compiler/src/dmd/clone.d @@ -5,9 +5,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/clone.d, _clone.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/clone.d, _clone.d) * Documentation: https://dlang.org/phobos/dmd_clone.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/clone.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/clone.d */ module dmd.clone; diff --git a/compiler/src/dmd/common/bitfields.d b/compiler/src/dmd/common/bitfields.d index a157f122ae..72cb3e7d91 100644 --- a/compiler/src/dmd/common/bitfields.d +++ b/compiler/src/dmd/common/bitfields.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Dennis Korpel * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/common/bitfields.d, common/bitfields.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/common/bitfields.d, common/bitfields.d) * Documentation: https://dlang.org/phobos/dmd_common_bitfields.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/common/bitfields.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/common/bitfields.d */ module dmd.common.bitfields; diff --git a/compiler/src/dmd/common/charactertables.d b/compiler/src/dmd/common/charactertables.d index 9358667116..7df5234904 100644 --- a/compiler/src/dmd/common/charactertables.d +++ b/compiler/src/dmd/common/charactertables.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://cattermole.co.nz, Richard (Rikki) Andrew Cattermole) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/common/charactertables.d, common/charactertables.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/common/charactertables.d, common/charactertables.d) * Documentation: https://dlang.org/phobos/dmd_common_charactertables.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/common/charactertables.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/common/charactertables.d */ module dmd.common.charactertables; diff --git a/compiler/src/dmd/common/charactertables.h b/compiler/src/dmd/common/charactertables.h index 2c21767da7..b38409e302 100644 --- a/compiler/src/dmd/common/charactertables.h +++ b/compiler/src/dmd/common/charactertables.h @@ -6,7 +6,7 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://cattermole.co.nz, Richard (Rikki) Andrew Cattermole) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/common/charactertables.d, common/charactertables.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/common/charactertables.h, common/charactertables.d) */ #pragma once diff --git a/compiler/src/dmd/common/file.d b/compiler/src/dmd/common/file.d index 66238f7829..1b01a28229 100644 --- a/compiler/src/dmd/common/file.d +++ b/compiler/src/dmd/common/file.d @@ -7,9 +7,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/common/file.d, common/_file.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/common/file.d, common/_file.d) * Documentation: https://dlang.org/phobos/dmd_common_file.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/common/file.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/common/file.d */ module dmd.common.file; diff --git a/compiler/src/dmd/common/int128.d b/compiler/src/dmd/common/int128.d index 011bf40506..aaf38c5157 100644 --- a/compiler/src/dmd/common/int128.d +++ b/compiler/src/dmd/common/int128.d @@ -5,9 +5,9 @@ * Copyright: Copyright (C) 2022-2025 by The D Language Foundation, All Rights Reserved * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) * Authors: Walter Bright - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/common/int128.d, root/_int128.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/common/int128.d, root/_int128.d) * Documentation: https://dlang.org/phobos/dmd_common_int128.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/common/int128.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/common/int128.d */ module dmd.common.int128; diff --git a/compiler/src/dmd/common/outbuffer.d b/compiler/src/dmd/common/outbuffer.d index c0ac098502..01fc377400 100644 --- a/compiler/src/dmd/common/outbuffer.d +++ b/compiler/src/dmd/common/outbuffer.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/outbuffer.d, root/_outbuffer.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/common/outbuffer.d, root/_outbuffer.d) * Documentation: https://dlang.org/phobos/dmd_root_outbuffer.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/outbuffer.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/common/outbuffer.d */ module dmd.common.outbuffer; diff --git a/compiler/src/dmd/common/smallbuffer.d b/compiler/src/dmd/common/smallbuffer.d index a5674820c4..65adec68f4 100644 --- a/compiler/src/dmd/common/smallbuffer.d +++ b/compiler/src/dmd/common/smallbuffer.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/common/smallbuffer.d, common/_smallbuffer.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/common/smallbuffer.d, common/_smallbuffer.d) * Documentation: https://dlang.org/phobos/dmd_common_smallbuffer.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/common/smallbuffer + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/common/smallbuffer.d */ module dmd.common.smallbuffer; diff --git a/compiler/src/dmd/compiler.d b/compiler/src/dmd/compiler.d index 562870a8a4..1f043352c4 100644 --- a/compiler/src/dmd/compiler.d +++ b/compiler/src/dmd/compiler.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/compiler.d, _compiler.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/compiler.d, _compiler.d) * Documentation: https://dlang.org/phobos/dmd_compiler.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/compiler.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/compiler.d */ module dmd.compiler; diff --git a/compiler/src/dmd/cond.d b/compiler/src/dmd/cond.d index 19c6fe3d5c..1b11a9f180 100644 --- a/compiler/src/dmd/cond.d +++ b/compiler/src/dmd/cond.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/cond.d, _cond.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/cond.d, _cond.d) * Documentation: https://dlang.org/phobos/dmd_cond.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/cond.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/cond.d */ module dmd.cond; diff --git a/compiler/src/dmd/console.d b/compiler/src/dmd/console.d index 801103eded..29dc9fb300 100644 --- a/compiler/src/dmd/console.d +++ b/compiler/src/dmd/console.d @@ -5,9 +5,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/console.d, _console.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/console.d, _console.d) * Documentation: https://dlang.org/phobos/dmd_console.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/console.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/console.d */ module dmd.console; diff --git a/compiler/src/dmd/constfold.d b/compiler/src/dmd/constfold.d index 0e07bfaf63..fad9c9ac44 100644 --- a/compiler/src/dmd/constfold.d +++ b/compiler/src/dmd/constfold.d @@ -8,9 +8,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/constfold.d, _constfold.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/constfold.d, _constfold.d) * Documentation: https://dlang.org/phobos/dmd_constfold.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/constfold.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/constfold.d */ module dmd.constfold; diff --git a/compiler/src/dmd/cparse.d b/compiler/src/dmd/cparse.d index 6899468c5e..1a2a1e9470 100644 --- a/compiler/src/dmd/cparse.d +++ b/compiler/src/dmd/cparse.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/cparse.d, _cparse.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/cparse.d, _cparse.d) * Documentation: https://dlang.org/phobos/dmd_cparse.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/cparse.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/cparse.d */ module dmd.cparse; diff --git a/compiler/src/dmd/cpreprocess.d b/compiler/src/dmd/cpreprocess.d index 6eb4e66498..757888e627 100644 --- a/compiler/src/dmd/cpreprocess.d +++ b/compiler/src/dmd/cpreprocess.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 2022-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/cpreprocess.d, _cpreprocess.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/cpreprocess.d, _cpreprocess.d) * Documentation: https://dlang.org/phobos/dmd_cpreprocess.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/cpreprocess.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/cpreprocess.d */ module dmd.cpreprocess; diff --git a/compiler/src/dmd/ctfeexpr.d b/compiler/src/dmd/ctfeexpr.d index 007e693105..2f577cea92 100644 --- a/compiler/src/dmd/ctfeexpr.d +++ b/compiler/src/dmd/ctfeexpr.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/ctfeexpr.d, _ctfeexpr.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/ctfeexpr.d, _ctfeexpr.d) * Documentation: https://dlang.org/phobos/dmd_ctfeexpr.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/ctfeexpr.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/ctfeexpr.d */ module dmd.ctfeexpr; diff --git a/compiler/src/dmd/ctorflow.d b/compiler/src/dmd/ctorflow.d index 3cf9c6917c..e604700e1f 100644 --- a/compiler/src/dmd/ctorflow.d +++ b/compiler/src/dmd/ctorflow.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/ctorflow.d, _ctorflow.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/ctorflow.d, _ctorflow.d) * Documentation: https://dlang.org/phobos/dmd_ctorflow.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/ctorflow.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/ctorflow.d */ module dmd.ctorflow; diff --git a/compiler/src/dmd/cxxfrontend.d b/compiler/src/dmd/cxxfrontend.d index b3d5942696..234b6523af 100644 --- a/compiler/src/dmd/cxxfrontend.d +++ b/compiler/src/dmd/cxxfrontend.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/cxxfrontend.d, _cxxfrontend.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/cxxfrontend.d, _cxxfrontend.d) * Documentation: https://dlang.org/phobos/dmd_cxxfrontend.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/cxxfrontend.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/cxxfrontend.d */ module dmd.cxxfrontend; diff --git a/compiler/src/dmd/dcast.d b/compiler/src/dmd/dcast.d index ff987a3e25..86d2f0f07c 100644 --- a/compiler/src/dmd/dcast.d +++ b/compiler/src/dmd/dcast.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dcast.d, _dcast.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dcast.d, _dcast.d) * Documentation: https://dlang.org/phobos/dmd_dcast.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dcast.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dcast.d */ module dmd.dcast; diff --git a/compiler/src/dmd/dclass.d b/compiler/src/dmd/dclass.d index 50a1235e3e..80d39fac42 100644 --- a/compiler/src/dmd/dclass.d +++ b/compiler/src/dmd/dclass.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dclass.d, _dclass.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dclass.d, _dclass.d) * Documentation: https://dlang.org/phobos/dmd_dclass.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dclass.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dclass.d */ module dmd.dclass; diff --git a/compiler/src/dmd/declaration.d b/compiler/src/dmd/declaration.d index e64acb2379..4510927da7 100644 --- a/compiler/src/dmd/declaration.d +++ b/compiler/src/dmd/declaration.d @@ -5,9 +5,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/declaration.d, _declaration.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/declaration.d, _declaration.d) * Documentation: https://dlang.org/phobos/dmd_declaration.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/declaration.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/declaration.d */ module dmd.declaration; diff --git a/compiler/src/dmd/delegatize.d b/compiler/src/dmd/delegatize.d index fa84db1c84..344130b5e3 100644 --- a/compiler/src/dmd/delegatize.d +++ b/compiler/src/dmd/delegatize.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/delegatize.d, _delegatize.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/delegatize.d, _delegatize.d) * Documentation: https://dlang.org/phobos/dmd_delegatize.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/delegatize.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/delegatize.d */ module dmd.delegatize; diff --git a/compiler/src/dmd/denum.d b/compiler/src/dmd/denum.d index 401a7a1587..e1a4ab6d6a 100644 --- a/compiler/src/dmd/denum.d +++ b/compiler/src/dmd/denum.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/denum.d, _denum.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/denum.d, _denum.d) * Documentation: https://dlang.org/phobos/dmd_denum.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/denum.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/denum.d * References: https://dlang.org/spec/enum.html */ diff --git a/compiler/src/dmd/deps.d b/compiler/src/dmd/deps.d index 1399e6f796..d62d670938 100644 --- a/compiler/src/dmd/deps.d +++ b/compiler/src/dmd/deps.d @@ -24,9 +24,9 @@ * * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/deps.d, makedeps.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/deps.d, makedeps.d) * Documentation: https://dlang.org/phobos/dmd_deps.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/deps.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/deps.d */ module dmd.deps; diff --git a/compiler/src/dmd/dimport.d b/compiler/src/dmd/dimport.d index 38f86d36e5..bbd74a4da2 100644 --- a/compiler/src/dmd/dimport.d +++ b/compiler/src/dmd/dimport.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dimport.d, _dimport.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dimport.d, _dimport.d) * Documentation: https://dlang.org/phobos/dmd_dimport.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dimport.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dimport.d */ module dmd.dimport; diff --git a/compiler/src/dmd/dinifile.d b/compiler/src/dmd/dinifile.d index 3902162913..f481e1c9f5 100644 --- a/compiler/src/dmd/dinifile.d +++ b/compiler/src/dmd/dinifile.d @@ -5,9 +5,9 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dinifile.d, _dinifile.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dinifile.d, _dinifile.d) * Documentation: https://dlang.org/phobos/dmd_dinifile.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dinifile.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dinifile.d */ module dmd.dinifile; diff --git a/compiler/src/dmd/dinterpret.d b/compiler/src/dmd/dinterpret.d index 17c5b649a7..13051db378 100644 --- a/compiler/src/dmd/dinterpret.d +++ b/compiler/src/dmd/dinterpret.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dinterpret.d, _dinterpret.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dinterpret.d, _dinterpret.d) * Documentation: https://dlang.org/phobos/dmd_dinterpret.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dinterpret.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dinterpret.d */ module dmd.dinterpret; diff --git a/compiler/src/dmd/dmacro.d b/compiler/src/dmd/dmacro.d index af3d5dd6f3..307b43fb63 100644 --- a/compiler/src/dmd/dmacro.d +++ b/compiler/src/dmd/dmacro.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dmacro.d, _dmacro.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dmacro.d, _dmacro.d) * Documentation: https://dlang.org/phobos/dmd_dmacro.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dmacro.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dmacro.d */ module dmd.dmacro; diff --git a/compiler/src/dmd/dmdparams.d b/compiler/src/dmd/dmdparams.d index 8da39fb23c..1eac66c266 100644 --- a/compiler/src/dmd/dmdparams.d +++ b/compiler/src/dmd/dmdparams.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dmdparams.d, _dmdparams.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dmdparams.d, _dmdparams.d) * Documentation: https://dlang.org/phobos/dmd_dmdparams.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dmdparams.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dmdparams.d */ module dmd.dmdparams; diff --git a/compiler/src/dmd/dmodule.d b/compiler/src/dmd/dmodule.d index 1d14c085d3..0e0070aab5 100644 --- a/compiler/src/dmd/dmodule.d +++ b/compiler/src/dmd/dmodule.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dmodule.d, _dmodule.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dmodule.d, _dmodule.d) * Documentation: https://dlang.org/phobos/dmd_dmodule.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dmodule.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dmodule.d */ module dmd.dmodule; diff --git a/compiler/src/dmd/dmsc.d b/compiler/src/dmd/dmsc.d index e36d82ec4d..1c80135396 100644 --- a/compiler/src/dmd/dmsc.d +++ b/compiler/src/dmd/dmsc.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dmsc.d, _dmsc.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dmsc.d, _dmsc.d) * Documentation: https://dlang.org/phobos/dmd_dmsc.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dmsc.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dmsc.d */ module dmd.dmsc; diff --git a/compiler/src/dmd/doc.d b/compiler/src/dmd/doc.d index f3ca53fc11..dc4a0b9ace 100644 --- a/compiler/src/dmd/doc.d +++ b/compiler/src/dmd/doc.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/doc.d, _doc.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/doc.d, _doc.d) * Documentation: https://dlang.org/phobos/dmd_doc.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/doc.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/doc.d */ module dmd.doc; diff --git a/compiler/src/dmd/dscope.d b/compiler/src/dmd/dscope.d index 70829f5f36..725a55e941 100644 --- a/compiler/src/dmd/dscope.d +++ b/compiler/src/dmd/dscope.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dscope.d, _dscope.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dscope.d, _dscope.d) * Documentation: https://dlang.org/phobos/dmd_dscope.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dscope.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dscope.d */ module dmd.dscope; diff --git a/compiler/src/dmd/dstruct.d b/compiler/src/dmd/dstruct.d index d1df6f5e42..d07be2f131 100644 --- a/compiler/src/dmd/dstruct.d +++ b/compiler/src/dmd/dstruct.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dstruct.d, _dstruct.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dstruct.d, _dstruct.d) * Documentation: https://dlang.org/phobos/dmd_dstruct.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dstruct.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dstruct.d */ module dmd.dstruct; diff --git a/compiler/src/dmd/dsymbol.d b/compiler/src/dmd/dsymbol.d index 3e40dbef61..74ca9cbda4 100644 --- a/compiler/src/dmd/dsymbol.d +++ b/compiler/src/dmd/dsymbol.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dsymbol.d, _dsymbol.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dsymbol.d, _dsymbol.d) * Documentation: https://dlang.org/phobos/dmd_dsymbol.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dsymbol.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dsymbol.d */ module dmd.dsymbol; diff --git a/compiler/src/dmd/dsymbolsem.d b/compiler/src/dmd/dsymbolsem.d index de5e4bda26..acbac7a0e0 100644 --- a/compiler/src/dmd/dsymbolsem.d +++ b/compiler/src/dmd/dsymbolsem.d @@ -5,9 +5,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dsymbolsem.d, _dsymbolsem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dsymbolsem.d, _dsymbolsem.d) * Documentation: https://dlang.org/phobos/dmd_dsymbolsem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dsymbolsem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dsymbolsem.d */ module dmd.dsymbolsem; diff --git a/compiler/src/dmd/dtemplate.d b/compiler/src/dmd/dtemplate.d index 3efe77d88f..2158895745 100644 --- a/compiler/src/dmd/dtemplate.d +++ b/compiler/src/dmd/dtemplate.d @@ -31,9 +31,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dtemplate.d, _dtemplate.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dtemplate.d, _dtemplate.d) * Documentation: https://dlang.org/phobos/dmd_dtemplate.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dtemplate.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dtemplate.d */ module dmd.dtemplate; diff --git a/compiler/src/dmd/dtoh.d b/compiler/src/dmd/dtoh.d index efc71ad075..3946c25c9f 100644 --- a/compiler/src/dmd/dtoh.d +++ b/compiler/src/dmd/dtoh.d @@ -5,9 +5,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dtohd, _dtoh.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dtoh.d, _dtoh.d) * Documentation: https://dlang.org/phobos/dmd_dtoh.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dtoh.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dtoh.d */ module dmd.dtoh; diff --git a/compiler/src/dmd/dversion.d b/compiler/src/dmd/dversion.d index 6be7528c59..26528e9f51 100644 --- a/compiler/src/dmd/dversion.d +++ b/compiler/src/dmd/dversion.d @@ -7,9 +7,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dversion.d, _dversion.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/dversion.d, _dversion.d) * Documentation: https://dlang.org/phobos/dmd_dversion.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dversion.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dversion.d */ module dmd.dversion; diff --git a/compiler/src/dmd/e2ir.d b/compiler/src/dmd/e2ir.d index 4393c8d84b..136c711da0 100644 --- a/compiler/src/dmd/e2ir.d +++ b/compiler/src/dmd/e2ir.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/e2ir.d, _e2ir.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/e2ir.d, _e2ir.d) * Documentation: https://dlang.org/phobos/dmd_e2ir.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/e2ir.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/e2ir.d */ module dmd.e2ir; diff --git a/compiler/src/dmd/entity.d b/compiler/src/dmd/entity.d index 6457a62e1d..a70029b374 100644 --- a/compiler/src/dmd/entity.d +++ b/compiler/src/dmd/entity.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/entity.d, _entity.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/entity.d, _entity.d) * Documentation: https://dlang.org/phobos/dmd_entity.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/entity.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/entity.d */ module dmd.entity; diff --git a/compiler/src/dmd/enumsem.d b/compiler/src/dmd/enumsem.d index 30dfeb3450..4f0d4e5f53 100644 --- a/compiler/src/dmd/enumsem.d +++ b/compiler/src/dmd/enumsem.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/enumsem.d, _enumsem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/enumsem.d, _enumsem.d) * Documentation: https://dlang.org/phobos/dmd_enumsem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/enumsem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/enumsem.d */ module dmd.enumsem; diff --git a/compiler/src/dmd/errors.d b/compiler/src/dmd/errors.d index ae90c1002a..68bfa60a16 100644 --- a/compiler/src/dmd/errors.d +++ b/compiler/src/dmd/errors.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/errors.d, _errors.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/errors.d, _errors.d) * Documentation: https://dlang.org/phobos/dmd_errors.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/errors.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/errors.d */ module dmd.errors; diff --git a/compiler/src/dmd/errorsink.d b/compiler/src/dmd/errorsink.d index 5514449115..5793ef1c0e 100644 --- a/compiler/src/dmd/errorsink.d +++ b/compiler/src/dmd/errorsink.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 2023-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/errorsink.d, _errorsink.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/errorsink.d, _errorsink.d) * Documentation: https://dlang.org/phobos/dmd_errorsink.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/errorsink.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/errorsink.d */ module dmd.errorsink; diff --git a/compiler/src/dmd/escape.d b/compiler/src/dmd/escape.d index 719ac4b52c..a0c5472375 100644 --- a/compiler/src/dmd/escape.d +++ b/compiler/src/dmd/escape.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/escape.d, _escape.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/escape.d, _escape.d) * Documentation: https://dlang.org/phobos/dmd_escape.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/escape.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/escape.d */ module dmd.escape; diff --git a/compiler/src/dmd/expression.d b/compiler/src/dmd/expression.d index 4bf1f9f25f..d65b163ee6 100644 --- a/compiler/src/dmd/expression.d +++ b/compiler/src/dmd/expression.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/expression.d, _expression.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/expression.d, _expression.d) * Documentation: https://dlang.org/phobos/dmd_expression.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/expression.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/expression.d */ module dmd.expression; diff --git a/compiler/src/dmd/expressionsem.d b/compiler/src/dmd/expressionsem.d index 83f28be96a..04efa1f86f 100644 --- a/compiler/src/dmd/expressionsem.d +++ b/compiler/src/dmd/expressionsem.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/expressionsem.d, _expressionsem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/expressionsem.d, _expressionsem.d) * Documentation: https://dlang.org/phobos/dmd_expressionsem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/expressionsem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/expressionsem.d */ module dmd.expressionsem; diff --git a/compiler/src/dmd/file_manager.d b/compiler/src/dmd/file_manager.d index 8a6ec998e6..2ccb1d2549 100644 --- a/compiler/src/dmd/file_manager.d +++ b/compiler/src/dmd/file_manager.d @@ -3,9 +3,9 @@ * * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/file_manager.d, _file_manager.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/file_manager.d, _file_manager.d) * Documentation: https://dlang.org/phobos/dmd_file_manager.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/file_manager.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/file_manager.d */ module dmd.file_manager; diff --git a/compiler/src/dmd/frontend.d b/compiler/src/dmd/frontend.d index cfeed825b6..08155b3678 100644 --- a/compiler/src/dmd/frontend.d +++ b/compiler/src/dmd/frontend.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/id.d, _id.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/frontend.d, _id.d) * Documentation: https://dlang.org/phobos/dmd_frontend.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/frontend.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/frontend.d */ module dmd.frontend; diff --git a/compiler/src/dmd/func.d b/compiler/src/dmd/func.d index e96c3326b7..064b67f960 100644 --- a/compiler/src/dmd/func.d +++ b/compiler/src/dmd/func.d @@ -11,9 +11,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/func.d, _func.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/func.d, _func.d) * Documentation: https://dlang.org/phobos/dmd_func.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/func.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/func.d */ module dmd.func; diff --git a/compiler/src/dmd/funcsem.d b/compiler/src/dmd/funcsem.d index 269a2000bf..1231496e41 100644 --- a/compiler/src/dmd/funcsem.d +++ b/compiler/src/dmd/funcsem.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/funcsem.d, _funcsem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/funcsem.d, _funcsem.d) * Documentation: https://dlang.org/phobos/dmd_funcsem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/funcsem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/funcsem.d */ module dmd.funcsem; diff --git a/compiler/src/dmd/globals.d b/compiler/src/dmd/globals.d index 132683e624..624738e4e4 100644 --- a/compiler/src/dmd/globals.d +++ b/compiler/src/dmd/globals.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/globals.d, _globals.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/globals.d, _globals.d) * Documentation: https://dlang.org/phobos/dmd_globals.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/globals.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/globals.d */ module dmd.globals; diff --git a/compiler/src/dmd/glue.d b/compiler/src/dmd/glue.d index 3fd5c998cb..d24909c076 100644 --- a/compiler/src/dmd/glue.d +++ b/compiler/src/dmd/glue.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/glue.d, _glue.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/glue.d, _glue.d) * Documentation: $(LINK https://dlang.org/phobos/dmd_glue.html) - * Coverage: $(LINK https://codecov.io/gh/dlang/dmd/src/master/src/dmd/glue.d) + * Coverage: $(LINK https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/glue.d) */ module dmd.glue; diff --git a/compiler/src/dmd/gluelayer.d b/compiler/src/dmd/gluelayer.d index 8dca303579..ba7c1e922c 100644 --- a/compiler/src/dmd/gluelayer.d +++ b/compiler/src/dmd/gluelayer.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/gluelayer.d, _gluelayer.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/gluelayer.d, _gluelayer.d) * Documentation: https://dlang.org/phobos/dmd_gluelayer.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/gluelayer.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/gluelayer.d */ module dmd.gluelayer; diff --git a/compiler/src/dmd/hdrgen.d b/compiler/src/dmd/hdrgen.d index d33bff1c6d..61ff273c6b 100644 --- a/compiler/src/dmd/hdrgen.d +++ b/compiler/src/dmd/hdrgen.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/hdrgen.d, _hdrgen.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/hdrgen.d, _hdrgen.d) * Documentation: https://dlang.org/phobos/dmd_hdrgen.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/hdrgen.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/hdrgen.d */ module dmd.hdrgen; diff --git a/compiler/src/dmd/iasm.d b/compiler/src/dmd/iasm.d index 8301d7529a..689ef0f9fe 100644 --- a/compiler/src/dmd/iasm.d +++ b/compiler/src/dmd/iasm.d @@ -6,9 +6,9 @@ * Copyright (C) 2018-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/iasm.d, _iasm.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/iasm.d, _iasm.d) * Documentation: https://dlang.org/phobos/dmd_iasm.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/iasm.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/iasm.d */ module dmd.iasm; diff --git a/compiler/src/dmd/iasmdmd.d b/compiler/src/dmd/iasmdmd.d index 9aff3ea035..1e3c4142fc 100644 --- a/compiler/src/dmd/iasmdmd.d +++ b/compiler/src/dmd/iasmdmd.d @@ -6,9 +6,9 @@ * Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Mike Cote, John Micco and $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/iasmdmd.d, _iasmdmd.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/iasmdmd.d, _iasmdmd.d) * Documentation: https://dlang.org/phobos/dmd_iasmdmd.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/iasmdmd.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/iasmdmd.d */ module dmd.iasmdmd; diff --git a/compiler/src/dmd/iasmgcc.d b/compiler/src/dmd/iasmgcc.d index f8ebf8fbbb..3d6e6ab5b5 100644 --- a/compiler/src/dmd/iasmgcc.d +++ b/compiler/src/dmd/iasmgcc.d @@ -4,9 +4,9 @@ * Copyright (C) 2018-2025 by The D Language Foundation, All Rights Reserved * Authors: Iain Buclaw * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/iasmgcc.d, _iasmgcc.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/iasmgcc.d, _iasmgcc.d) * Documentation: https://dlang.org/phobos/dmd_iasmgcc.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/iasmgcc.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/iasmgcc.d */ module dmd.iasmgcc; diff --git a/compiler/src/dmd/id.d b/compiler/src/dmd/id.d index 93db559be3..e1c22f2f04 100644 --- a/compiler/src/dmd/id.d +++ b/compiler/src/dmd/id.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/id.d, _id.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/id.d, _id.d) * Documentation: https://dlang.org/phobos/dmd_id.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/id.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/id.d */ module dmd.id; diff --git a/compiler/src/dmd/identifier.d b/compiler/src/dmd/identifier.d index 2cb1b44103..c213597eb0 100644 --- a/compiler/src/dmd/identifier.d +++ b/compiler/src/dmd/identifier.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/identifier.d, _identifier.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/identifier.d, _identifier.d) * Documentation: https://dlang.org/phobos/dmd_identifier.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/identifier.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/identifier.d */ module dmd.identifier; diff --git a/compiler/src/dmd/impcnvtab.d b/compiler/src/dmd/impcnvtab.d index cadb079aa5..b2ab919f1b 100644 --- a/compiler/src/dmd/impcnvtab.d +++ b/compiler/src/dmd/impcnvtab.d @@ -9,9 +9,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/impcnvtab.d, _impcnvtab.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/impcnvtab.d, _impcnvtab.d) * Documentation: https://dlang.org/phobos/dmd_impcnvtab.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/impcnvtab.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/impcnvtab.d */ module dmd.impcnvtab; diff --git a/compiler/src/dmd/imphint.d b/compiler/src/dmd/imphint.d index c01cb6c946..382a0f3786 100644 --- a/compiler/src/dmd/imphint.d +++ b/compiler/src/dmd/imphint.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/imphint.d, _imphint.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/imphint.d, _imphint.d) * Documentation: https://dlang.org/phobos/dmd_imphint.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/imphint.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/imphint.d */ module dmd.imphint; diff --git a/compiler/src/dmd/importc.d b/compiler/src/dmd/importc.d index 6a85e96841..2f88a21c04 100644 --- a/compiler/src/dmd/importc.d +++ b/compiler/src/dmd/importc.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 2021-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/importc.d, _importc.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/importc.d, _importc.d) * Documentation: https://dlang.org/phobos/dmd_importc.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/importc.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/importc.d */ module dmd.importc; diff --git a/compiler/src/dmd/init.d b/compiler/src/dmd/init.d index 39699c24cb..55fb6f3485 100644 --- a/compiler/src/dmd/init.d +++ b/compiler/src/dmd/init.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/init.d, _init.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/init.d, _init.d) * Documentation: https://dlang.org/phobos/dmd_init.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/init.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/init.d */ module dmd.init; diff --git a/compiler/src/dmd/initsem.d b/compiler/src/dmd/initsem.d index d37c85ad46..1ebccf77ee 100644 --- a/compiler/src/dmd/initsem.d +++ b/compiler/src/dmd/initsem.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/initsem.d, _initsem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/initsem.d, _initsem.d) * Documentation: https://dlang.org/phobos/dmd_initsem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/initsem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/initsem.d */ module dmd.initsem; diff --git a/compiler/src/dmd/inline.d b/compiler/src/dmd/inline.d index 1781ce94f3..ce7a4786a8 100644 --- a/compiler/src/dmd/inline.d +++ b/compiler/src/dmd/inline.d @@ -7,9 +7,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/inline.d, _inline.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/inline.d, _inline.d) * Documentation: https://dlang.org/phobos/dmd_inline.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/inline.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/inline.d */ module dmd.inline; diff --git a/compiler/src/dmd/inlinecost.d b/compiler/src/dmd/inlinecost.d index 2b80d4cffc..599808164f 100644 --- a/compiler/src/dmd/inlinecost.d +++ b/compiler/src/dmd/inlinecost.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/inlinecost.d, _inlinecost.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/inlinecost.d, _inlinecost.d) * Documentation: https://dlang.org/phobos/dmd_inlinecost.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/inlinecost.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/inlinecost.d */ module dmd.inlinecost; diff --git a/compiler/src/dmd/intrange.d b/compiler/src/dmd/intrange.d index 8a2caaa300..f68e302f74 100644 --- a/compiler/src/dmd/intrange.d +++ b/compiler/src/dmd/intrange.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/intrange.d, _intrange.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/intrange.d, _intrange.d) * Documentation: https://dlang.org/phobos/dmd_intrange.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/intrange.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/intrange.d */ module dmd.intrange; diff --git a/compiler/src/dmd/json.d b/compiler/src/dmd/json.d index bbc62d7347..080870aa47 100644 --- a/compiler/src/dmd/json.d +++ b/compiler/src/dmd/json.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/json.d, _json.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/json.d, _json.d) * Documentation: https://dlang.org/phobos/dmd_json.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/json.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/json.d */ module dmd.json; diff --git a/compiler/src/dmd/lambdacomp.d b/compiler/src/dmd/lambdacomp.d index 944abb5237..9f9fd77b7e 100644 --- a/compiler/src/dmd/lambdacomp.d +++ b/compiler/src/dmd/lambdacomp.d @@ -8,9 +8,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/lamdbacomp.d, _lambdacomp.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/lambdacomp.d, _lambdacomp.d) * Documentation: https://dlang.org/phobos/dmd_lambdacomp.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/lambdacomp.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/lambdacomp.d */ module dmd.lambdacomp; diff --git a/compiler/src/dmd/lexer.d b/compiler/src/dmd/lexer.d index 4d0a222060..63313ac2ed 100644 --- a/compiler/src/dmd/lexer.d +++ b/compiler/src/dmd/lexer.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/lexer.d, _lexer.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/lexer.d, _lexer.d) * Documentation: https://dlang.org/phobos/dmd_lexer.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/lexer.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/lexer.d */ module dmd.lexer; diff --git a/compiler/src/dmd/lib/elf.d b/compiler/src/dmd/lib/elf.d index 314ae44bb6..9eb7313704 100644 --- a/compiler/src/dmd/lib/elf.d +++ b/compiler/src/dmd/lib/elf.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/libelf.d, _libelf.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/lib/elf.d, _libelf.d) * Documentation: https://dlang.org/phobos/dmd_libelf.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/libelf.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/lib/elf.d */ module dmd.lib.elf; diff --git a/compiler/src/dmd/lib/mach.d b/compiler/src/dmd/lib/mach.d index 92ef5b3000..82482d4c1e 100644 --- a/compiler/src/dmd/lib/mach.d +++ b/compiler/src/dmd/lib/mach.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/libmach.d, _libmach.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/lib/mach.d, _libmach.d) * Documentation: https://dlang.org/phobos/dmd_libmach.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/libmach.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/lib/mach.d */ module dmd.lib.mach; diff --git a/compiler/src/dmd/lib/mscoff.d b/compiler/src/dmd/lib/mscoff.d index 751c822424..f8c9808435 100644 --- a/compiler/src/dmd/lib/mscoff.d +++ b/compiler/src/dmd/lib/mscoff.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/libmscoff.d, _libmscoff.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/lib/mscoff.d, _libmscoff.d) * Documentation: https://dlang.org/phobos/dmd_libmscoff.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/libmscoff.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/lib/mscoff.d */ module dmd.lib.mscoff; diff --git a/compiler/src/dmd/lib/package.d b/compiler/src/dmd/lib/package.d index 1bd730dc82..ff317809dc 100644 --- a/compiler/src/dmd/lib/package.d +++ b/compiler/src/dmd/lib/package.d @@ -5,9 +5,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/lib.d, _lib.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/lib/package.d, _lib.d) * Documentation: https://dlang.org/phobos/dmd_lib.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/lib.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/lib/package.d */ module dmd.lib; diff --git a/compiler/src/dmd/lib/scanelf.d b/compiler/src/dmd/lib/scanelf.d index bd417319b1..9913100a46 100644 --- a/compiler/src/dmd/lib/scanelf.d +++ b/compiler/src/dmd/lib/scanelf.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/scanelf.d, _scanelf.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/lib/scanelf.d, _scanelf.d) * Documentation: https://dlang.org/phobos/dmd_scanelf.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/scanelf.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/lib/scanelf.d */ module dmd.lib.scanelf; diff --git a/compiler/src/dmd/lib/scanmach.d b/compiler/src/dmd/lib/scanmach.d index 0d0d5c2871..99993949d1 100644 --- a/compiler/src/dmd/lib/scanmach.d +++ b/compiler/src/dmd/lib/scanmach.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/scanmach.d, _scanmach.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/lib/scanmach.d, _scanmach.d) * Documentation: https://dlang.org/phobos/dmd_scanmach.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/scanmach.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/lib/scanmach.d */ module dmd.lib.scanmach; diff --git a/compiler/src/dmd/lib/scanmscoff.d b/compiler/src/dmd/lib/scanmscoff.d index 8d772d8a09..16ef269d7d 100644 --- a/compiler/src/dmd/lib/scanmscoff.d +++ b/compiler/src/dmd/lib/scanmscoff.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/scanmscoff.d, _scanmscoff.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/lib/scanmscoff.d, _scanmscoff.d) * Documentation: https://dlang.org/phobos/dmd_scanmscoff.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/scanmscoff.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/lib/scanmscoff.d */ module dmd.lib.scanmscoff; diff --git a/compiler/src/dmd/link.d b/compiler/src/dmd/link.d index a0850b8291..908b9c47e1 100644 --- a/compiler/src/dmd/link.d +++ b/compiler/src/dmd/link.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/link.d, _link.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/link.d, _link.d) * Documentation: https://dlang.org/phobos/dmd_link.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/link.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/link.d */ module dmd.link; diff --git a/compiler/src/dmd/location.d b/compiler/src/dmd/location.d index b9f1cd4449..54b3fb6e0a 100644 --- a/compiler/src/dmd/location.d +++ b/compiler/src/dmd/location.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/location.d, _location.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/location.d, _location.d) * Documentation: https://dlang.org/phobos/dmd_location.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/location.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/location.d */ module dmd.location; diff --git a/compiler/src/dmd/main.d b/compiler/src/dmd/main.d index cf3382a774..c59d3fde6c 100644 --- a/compiler/src/dmd/main.d +++ b/compiler/src/dmd/main.d @@ -9,9 +9,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/main.d, _main.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/main.d, _main.d) * Documentation: https://dlang.org/phobos/dmd_main.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/main.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/main.d */ module dmd.main; diff --git a/compiler/src/dmd/mangle/basic.d b/compiler/src/dmd/mangle/basic.d index cb92b6f7a3..263dd5ed46 100644 --- a/compiler/src/dmd/mangle/basic.d +++ b/compiler/src/dmd/mangle/basic.d @@ -3,9 +3,9 @@ * * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/basicmangle.d, _basicmangle.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/mangle/basic.d, _basicmangle.d) * Documentation: https://dlang.org/phobos/dmd_basicmangle.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/basicmangle.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/mangle/basic.d */ module dmd.mangle.basic; diff --git a/compiler/src/dmd/mangle/cpp.d b/compiler/src/dmd/mangle/cpp.d index 3ab42e2d9d..7e9f0205d1 100644 --- a/compiler/src/dmd/mangle/cpp.d +++ b/compiler/src/dmd/mangle/cpp.d @@ -7,9 +7,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/cppmangle.d, _cppmangle.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/mangle/cpp.d, _cppmangle.d) * Documentation: https://dlang.org/phobos/dmd_cppmangle.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/cppmangle.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/mangle/cpp.d * * References: * Follows Itanium C++ ABI 1.86 section 5.1 diff --git a/compiler/src/dmd/mangle/cppwin.d b/compiler/src/dmd/mangle/cppwin.d index d3c87ad11b..900f98a53a 100644 --- a/compiler/src/dmd/mangle/cppwin.d +++ b/compiler/src/dmd/mangle/cppwin.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/cppmanglewin.d, _cppmanglewin.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/mangle/cppwin.d, _cppmanglewin.d) * Documentation: https://dlang.org/phobos/dmd_cppmanglewin.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/cppmanglewin.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/mangle/cppwin.d */ module dmd.mangle.cppwin; diff --git a/compiler/src/dmd/mangle/package.d b/compiler/src/dmd/mangle/package.d index d630d6a9a0..3ad2c7d579 100644 --- a/compiler/src/dmd/mangle/package.d +++ b/compiler/src/dmd/mangle/package.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/dmangle.d, _dmangle.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/mangle/package.d, _dmangle.d) * Documentation: https://dlang.org/phobos/dmd_dmangle.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dmangle.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/mangle/package.d * References: https://dlang.org/blog/2017/12/20/ds-newfangled-name-mangling/ */ diff --git a/compiler/src/dmd/mars.d b/compiler/src/dmd/mars.d index 743caf79ba..f9689f56dd 100644 --- a/compiler/src/dmd/mars.d +++ b/compiler/src/dmd/mars.d @@ -7,9 +7,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/mars.d, _mars.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/mars.d, _mars.d) * Documentation: https://dlang.org/phobos/dmd_mars.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/mars.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/mars.d */ module dmd.mars; diff --git a/compiler/src/dmd/mtype.d b/compiler/src/dmd/mtype.d index 5ba866c9e5..a3e1a8ca85 100644 --- a/compiler/src/dmd/mtype.d +++ b/compiler/src/dmd/mtype.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/mtype.d, _mtype.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/mtype.d, _mtype.d) * Documentation: https://dlang.org/phobos/dmd_mtype.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/mtype.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/mtype.d */ module dmd.mtype; diff --git a/compiler/src/dmd/mustuse.d b/compiler/src/dmd/mustuse.d index 005a6c074c..fab9723636 100644 --- a/compiler/src/dmd/mustuse.d +++ b/compiler/src/dmd/mustuse.d @@ -3,9 +3,9 @@ * * Copyright: Copyright (C) 2022-2025 by The D Language Foundation, All Rights Reserved * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/mustuse.d, _mustuse.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/mustuse.d, _mustuse.d) * Documentation: https://dlang.org/phobos/dmd_mustuse.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/mustuse.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/mustuse.d */ module dmd.mustuse; diff --git a/compiler/src/dmd/nogc.d b/compiler/src/dmd/nogc.d index 30e469da82..f1494a409f 100644 --- a/compiler/src/dmd/nogc.d +++ b/compiler/src/dmd/nogc.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/nogc.d, _nogc.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/nogc.d, _nogc.d) * Documentation: https://dlang.org/phobos/dmd_nogc.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/nogc.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/nogc.d */ module dmd.nogc; diff --git a/compiler/src/dmd/nspace.d b/compiler/src/dmd/nspace.d index 4a21770c4b..0c93f0e799 100644 --- a/compiler/src/dmd/nspace.d +++ b/compiler/src/dmd/nspace.d @@ -39,9 +39,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/nspace.d, _nspace.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/nspace.d, _nspace.d) * Documentation: https://dlang.org/phobos/dmd_nspace.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/nspace.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/nspace.d */ module dmd.nspace; diff --git a/compiler/src/dmd/ob.d b/compiler/src/dmd/ob.d index 870e8e7b13..099f811589 100644 --- a/compiler/src/dmd/ob.d +++ b/compiler/src/dmd/ob.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/ob.d, _ob.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/ob.d, _ob.d) * Documentation: https://dlang.org/phobos/dmd_escape.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/ob.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/ob.d * References: https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1021.md Argument Ownership and Function Calls */ diff --git a/compiler/src/dmd/objc.d b/compiler/src/dmd/objc.d index 4626f22ee2..32878b57af 100644 --- a/compiler/src/dmd/objc.d +++ b/compiler/src/dmd/objc.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/objc.d, _objc.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/objc.d, _objc.d) * Documentation: https://dlang.org/phobos/dmd_objc.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/objc.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/objc.d */ module dmd.objc; diff --git a/compiler/src/dmd/objc_glue.d b/compiler/src/dmd/objc_glue.d index dba011a5c9..c29e7110b3 100644 --- a/compiler/src/dmd/objc_glue.d +++ b/compiler/src/dmd/objc_glue.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 2015-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/objc_glue.d, _objc_glue.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/objc_glue.d, _objc_glue.d) * Documentation: https://dlang.org/phobos/dmd_objc_glue.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/objc_glue.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/objc_glue.d */ module dmd.objc_glue; diff --git a/compiler/src/dmd/opover.d b/compiler/src/dmd/opover.d index 06b9e82cf0..7baaeaa7fc 100644 --- a/compiler/src/dmd/opover.d +++ b/compiler/src/dmd/opover.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/opover.d, _opover.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/opover.d, _opover.d) * Documentation: https://dlang.org/phobos/dmd_opover.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/opover.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/opover.d */ module dmd.opover; diff --git a/compiler/src/dmd/optimize.d b/compiler/src/dmd/optimize.d index 7f2b030e5b..66b8c6a495 100644 --- a/compiler/src/dmd/optimize.d +++ b/compiler/src/dmd/optimize.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/optimize.d, _optimize.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/optimize.d, _optimize.d) * Documentation: https://dlang.org/phobos/dmd_optimize.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/optimize.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/optimize.d */ module dmd.optimize; diff --git a/compiler/src/dmd/parse.d b/compiler/src/dmd/parse.d index 3d25464fc5..e68017c87e 100644 --- a/compiler/src/dmd/parse.d +++ b/compiler/src/dmd/parse.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/parse.d, _parse.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/parse.d, _parse.d) * Documentation: https://dlang.org/phobos/dmd_parse.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/parse.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/parse.d */ module dmd.parse; diff --git a/compiler/src/dmd/pragmasem.d b/compiler/src/dmd/pragmasem.d index a7299a0e9b..44597740a2 100644 --- a/compiler/src/dmd/pragmasem.d +++ b/compiler/src/dmd/pragmasem.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2023 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/pragmasem.d, _pragmasem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/pragmasem.d, _pragmasem.d) * Documentation: https://dlang.org/phobos/dmd_pragmasem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/pragmasem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/pragmasem.d */ module dmd.pragmasem; diff --git a/compiler/src/dmd/printast.d b/compiler/src/dmd/printast.d index 281851e0f2..5e4c9f787f 100644 --- a/compiler/src/dmd/printast.d +++ b/compiler/src/dmd/printast.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/printast.d, _printast.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/printast.d, _printast.d) * Documentation: https://dlang.org/phobos/dmd_printast.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/printast.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/printast.d */ module dmd.printast; diff --git a/compiler/src/dmd/root/aav.d b/compiler/src/dmd/root/aav.d index 80b1d636b2..014d4a579c 100644 --- a/compiler/src/dmd/root/aav.d +++ b/compiler/src/dmd/root/aav.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/aav.d, root/_aav.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/aav.d, root/_aav.d) * Documentation: https://dlang.org/phobos/dmd_root_aav.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/aav.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/aav.d */ module dmd.root.aav; diff --git a/compiler/src/dmd/root/array.d b/compiler/src/dmd/root/array.d index f36947e396..a80fc804cb 100644 --- a/compiler/src/dmd/root/array.d +++ b/compiler/src/dmd/root/array.d @@ -5,9 +5,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/array.d, root/_array.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/array.d, root/_array.d) * Documentation: https://dlang.org/phobos/dmd_root_array.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/array.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/array.d */ module dmd.root.array; diff --git a/compiler/src/dmd/root/bitarray.d b/compiler/src/dmd/root/bitarray.d index b977602087..b5adaa8903 100644 --- a/compiler/src/dmd/root/bitarray.d +++ b/compiler/src/dmd/root/bitarray.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/bitarray.d, root/_bitarray.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/bitarray.d, root/_bitarray.d) * Documentation: https://dlang.org/phobos/dmd_root_array.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/bitarray.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/bitarray.d */ module dmd.root.bitarray; diff --git a/compiler/src/dmd/root/complex.d b/compiler/src/dmd/root/complex.d index 710d0e9018..777c103ae9 100644 --- a/compiler/src/dmd/root/complex.d +++ b/compiler/src/dmd/root/complex.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/complex.d, _complex.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/complex.d, _complex.d) * Documentation: https://dlang.org/phobos/dmd_root_complex.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/complex.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/complex.d */ module dmd.root.complex; diff --git a/compiler/src/dmd/root/ctfloat.d b/compiler/src/dmd/root/ctfloat.d index 84ff85b24a..39ab18f922 100644 --- a/compiler/src/dmd/root/ctfloat.d +++ b/compiler/src/dmd/root/ctfloat.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/ctfloat.d, root/_ctfloat.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/ctfloat.d, root/_ctfloat.d) * Documentation: https://dlang.org/phobos/dmd_root_ctfloat.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/ctfloat.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/ctfloat.d */ module dmd.root.ctfloat; diff --git a/compiler/src/dmd/root/env.d b/compiler/src/dmd/root/env.d index bc013105dd..25e8a5c10f 100644 --- a/compiler/src/dmd/root/env.d +++ b/compiler/src/dmd/root/env.d @@ -3,9 +3,9 @@ * * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/env.d, env.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/env.d, env.d) * Documentation: https://dlang.org/phobos/dmd_root_env.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/env.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/env.d */ module dmd.root.env; diff --git a/compiler/src/dmd/root/file.d b/compiler/src/dmd/root/file.d index 7accc61089..2046e5930c 100644 --- a/compiler/src/dmd/root/file.d +++ b/compiler/src/dmd/root/file.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/file.d, root/_file.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/file.d, root/_file.d) * Documentation: https://dlang.org/phobos/dmd_root_file.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/file.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/file.d */ module dmd.root.file; diff --git a/compiler/src/dmd/root/filename.d b/compiler/src/dmd/root/filename.d index 602e62cb84..5ad07750b3 100644 --- a/compiler/src/dmd/root/filename.d +++ b/compiler/src/dmd/root/filename.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/filename.d, root/_filename.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/filename.d, root/_filename.d) * Documentation: https://dlang.org/phobos/dmd_root_filename.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/filename.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/filename.d */ module dmd.root.filename; diff --git a/compiler/src/dmd/root/hash.d b/compiler/src/dmd/root/hash.d index 0852a9f779..d327f4b258 100644 --- a/compiler/src/dmd/root/hash.d +++ b/compiler/src/dmd/root/hash.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Martin Nowak, Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/hash.d, root/_hash.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/hash.d, root/_hash.d) * Documentation: https://dlang.org/phobos/dmd_root_hash.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/hash.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/hash.d */ module dmd.root.hash; diff --git a/compiler/src/dmd/root/man.d b/compiler/src/dmd/root/man.d index b88a12dcc2..2ec7de7615 100644 --- a/compiler/src/dmd/root/man.d +++ b/compiler/src/dmd/root/man.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/man.d, root/_man.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/man.d, root/_man.d) * Documentation: https://dlang.org/phobos/dmd_root_man.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/man.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/man.d */ module dmd.root.man; diff --git a/compiler/src/dmd/root/optional.d b/compiler/src/dmd/root/optional.d index 8602bcf3b8..2b518eb8b1 100644 --- a/compiler/src/dmd/root/optional.d +++ b/compiler/src/dmd/root/optional.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/optional.d, root/_optional.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/optional.d, root/_optional.d) * Documentation: https://dlang.org/phobos/dmd_root_optional.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/optional.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/optional.d */ module dmd.root.optional; diff --git a/compiler/src/dmd/root/optional.h b/compiler/src/dmd/root/optional.h index e01a612659..12891f879b 100644 --- a/compiler/src/dmd/root/optional.h +++ b/compiler/src/dmd/root/optional.h @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/optional.h, root/_optional.h) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/optional.h, root/_optional.h) * Documentation: https://dlang.org/phobos/dmd_root_optional.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/optional.h + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/optional.h */ #include "dcompat.h" // for d_bool diff --git a/compiler/src/dmd/root/port.d b/compiler/src/dmd/root/port.d index fd3af0aabe..c96ac86fd0 100644 --- a/compiler/src/dmd/root/port.d +++ b/compiler/src/dmd/root/port.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/port.d, root/_port.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/port.d, root/_port.d) * Documentation: https://dlang.org/phobos/dmd_root_port.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/port.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/port.d */ module dmd.root.port; diff --git a/compiler/src/dmd/root/region.d b/compiler/src/dmd/root/region.d index 3928a5569e..a8efbca1e6 100644 --- a/compiler/src/dmd/root/region.d +++ b/compiler/src/dmd/root/region.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 2019-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/region.d, root/_region.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/region.d, root/_region.d) * Documentation: https://dlang.org/phobos/dmd_root_region.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/region.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/region.d */ module dmd.root.region; diff --git a/compiler/src/dmd/root/response.d b/compiler/src/dmd/root/response.d index 906e46a4cf..99be126f61 100644 --- a/compiler/src/dmd/root/response.d +++ b/compiler/src/dmd/root/response.d @@ -7,9 +7,9 @@ * Some portions copyright (c) 1994-1995 by Symantec * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/response.d, root/_response.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/response.d, root/_response.d) * Documentation: https://dlang.org/phobos/dmd_root_response.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/response.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/response.d */ module dmd.root.response; diff --git a/compiler/src/dmd/root/rmem.d b/compiler/src/dmd/root/rmem.d index 8fa0b08136..32d22d3beb 100644 --- a/compiler/src/dmd/root/rmem.d +++ b/compiler/src/dmd/root/rmem.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/rmem.d, root/_rmem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/rmem.d, root/_rmem.d) * Documentation: https://dlang.org/phobos/dmd_root_rmem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/rmem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/rmem.d */ module dmd.root.rmem; diff --git a/compiler/src/dmd/root/speller.d b/compiler/src/dmd/root/speller.d index e984a9e985..a2151106d0 100644 --- a/compiler/src/dmd/root/speller.d +++ b/compiler/src/dmd/root/speller.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/speller.d, root/_speller.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/speller.d, root/_speller.d) * Documentation: https://dlang.org/phobos/dmd_root_speller.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/speller.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/speller.d */ module dmd.root.speller; diff --git a/compiler/src/dmd/root/string.d b/compiler/src/dmd/root/string.d index 252ed77ff8..369a79be66 100644 --- a/compiler/src/dmd/root/string.d +++ b/compiler/src/dmd/root/string.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/string.d, root/_string.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/string.d, root/_string.d) * Documentation: https://dlang.org/phobos/dmd_root_string.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/string.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/string.d */ module dmd.root.string; diff --git a/compiler/src/dmd/root/stringtable.d b/compiler/src/dmd/root/stringtable.d index b40e7dfece..c7a2c8c56d 100644 --- a/compiler/src/dmd/root/stringtable.d +++ b/compiler/src/dmd/root/stringtable.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/stringtable.d, root/_stringtable.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/stringtable.d, root/_stringtable.d) * Documentation: https://dlang.org/phobos/dmd_root_stringtable.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/stringtable.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/stringtable.d */ module dmd.root.stringtable; diff --git a/compiler/src/dmd/root/strtold.d b/compiler/src/dmd/root/strtold.d index 3bd7f1784c..ef0318952e 100644 --- a/compiler/src/dmd/root/strtold.d +++ b/compiler/src/dmd/root/strtold.d @@ -5,7 +5,7 @@ * Copyright (C) 2000-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/strtold.c, backend/strtold.c) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/strtold.d, backend/strtold.c) */ module dmd.root.strtold; diff --git a/compiler/src/dmd/root/utf.d b/compiler/src/dmd/root/utf.d index ede1fd8678..5b2c42f4ee 100644 --- a/compiler/src/dmd/root/utf.d +++ b/compiler/src/dmd/root/utf.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/root/utf.d, _utf.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/root/utf.d, _utf.d) * Documentation: https://dlang.org/phobos/dmd_root_utf.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/utf.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/root/utf.d */ module dmd.root.utf; diff --git a/compiler/src/dmd/rootobject.d b/compiler/src/dmd/rootobject.d index 8b8a13caaa..71b36a4375 100644 --- a/compiler/src/dmd/rootobject.d +++ b/compiler/src/dmd/rootobject.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: Walter Bright, https://www.digitalmars.com * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/rootobject.d, _rootobject.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/rootobject.d, _rootobject.d) * Documentation: https://dlang.org/phobos/dmd_rootobject.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/rootobject.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/rootobject.d */ module dmd.rootobject; diff --git a/compiler/src/dmd/s2ir.d b/compiler/src/dmd/s2ir.d index 524bf29176..e7f3abede7 100644 --- a/compiler/src/dmd/s2ir.d +++ b/compiler/src/dmd/s2ir.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/tocsym.d, _s2ir.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/s2ir.d, _s2ir.d) * Documentation: $(LINK https://dlang.org/phobos/dmd_s2ir.html) - * Coverage: $(LINK https://codecov.io/gh/dlang/dmd/src/master/src/dmd/s2ir.d) + * Coverage: $(LINK https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/s2ir.d) */ module dmd.s2ir; diff --git a/compiler/src/dmd/safe.d b/compiler/src/dmd/safe.d index 3f83d50ff8..3be9efecc2 100644 --- a/compiler/src/dmd/safe.d +++ b/compiler/src/dmd/safe.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/safe.d, _safe.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/safe.d, _safe.d) * Documentation: https://dlang.org/phobos/dmd_safe.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/safe.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/safe.d */ module dmd.safe; diff --git a/compiler/src/dmd/sarif.d b/compiler/src/dmd/sarif.d index c404eebe21..ba2867874b 100644 --- a/compiler/src/dmd/sarif.d +++ b/compiler/src/dmd/sarif.d @@ -4,8 +4,8 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/sarif.d, sarif.d) - * Coverage: $(LINK2 https://codecov.io/gh/dlang/dmd/src/master/src/dmd/sarif.d, Code Coverage) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/sarif.d, sarif.d) + * Coverage: $(LINK2 https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/sarif.d, Code Coverage) * * Description: * - This module generates SARIF reports for DMD errors, warnings, and messages. diff --git a/compiler/src/dmd/semantic2.d b/compiler/src/dmd/semantic2.d index 4b410a17ca..1c58e63936 100644 --- a/compiler/src/dmd/semantic2.d +++ b/compiler/src/dmd/semantic2.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/semantic2.d, _semantic2.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/semantic2.d, _semantic2.d) * Documentation: https://dlang.org/phobos/dmd_semantic2.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/semantic2.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/semantic2.d */ module dmd.semantic2; diff --git a/compiler/src/dmd/semantic3.d b/compiler/src/dmd/semantic3.d index bfb8c75ea5..a24af7bbbf 100644 --- a/compiler/src/dmd/semantic3.d +++ b/compiler/src/dmd/semantic3.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/semantic3.d, _semantic3.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/semantic3.d, _semantic3.d) * Documentation: https://dlang.org/phobos/dmd_semantic3.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/semantic3.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/semantic3.d */ module dmd.semantic3; diff --git a/compiler/src/dmd/sideeffect.d b/compiler/src/dmd/sideeffect.d index 8f905caceb..5984466d3b 100644 --- a/compiler/src/dmd/sideeffect.d +++ b/compiler/src/dmd/sideeffect.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/sideeffect.d, _sideeffect.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/sideeffect.d, _sideeffect.d) * Documentation: https://dlang.org/phobos/dmd_sideeffect.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/sideeffect.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/sideeffect.d */ module dmd.sideeffect; diff --git a/compiler/src/dmd/statement.d b/compiler/src/dmd/statement.d index 602d3a6629..2ade0a9a9b 100644 --- a/compiler/src/dmd/statement.d +++ b/compiler/src/dmd/statement.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/statement.d, _statement.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/statement.d, _statement.d) * Documentation: https://dlang.org/phobos/dmd_statement.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/statement.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/statement.d */ module dmd.statement; diff --git a/compiler/src/dmd/statementsem.d b/compiler/src/dmd/statementsem.d index 04d0b40265..0c9b6becb7 100644 --- a/compiler/src/dmd/statementsem.d +++ b/compiler/src/dmd/statementsem.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/statementsem.d, _statementsem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/statementsem.d, _statementsem.d) * Documentation: https://dlang.org/phobos/dmd_statementsem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/statementsem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/statementsem.d */ module dmd.statementsem; diff --git a/compiler/src/dmd/staticassert.d b/compiler/src/dmd/staticassert.d index 495241e107..52ded559e5 100644 --- a/compiler/src/dmd/staticassert.d +++ b/compiler/src/dmd/staticassert.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/staticassert.d, _staticassert.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/staticassert.d, _staticassert.d) * Documentation: https://dlang.org/phobos/dmd_staticassert.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/staticassert.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/staticassert.d */ module dmd.staticassert; diff --git a/compiler/src/dmd/staticcond.d b/compiler/src/dmd/staticcond.d index 288cfdc5fb..c2e87c7bf3 100644 --- a/compiler/src/dmd/staticcond.d +++ b/compiler/src/dmd/staticcond.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/staticcond.d, _staticcond.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/staticcond.d, _staticcond.d) * Documentation: https://dlang.org/phobos/dmd_staticcond.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/staticcond.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/staticcond.d */ module dmd.staticcond; diff --git a/compiler/src/dmd/stmtstate.d b/compiler/src/dmd/stmtstate.d index fe53d80211..1c1fd080ee 100644 --- a/compiler/src/dmd/stmtstate.d +++ b/compiler/src/dmd/stmtstate.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/stmtstate.d, _stmtstate.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/stmtstate.d, _stmtstate.d) * Documentation: https://dlang.org/phobos/dmd_stmtstate.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/stmtstate.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/stmtstate.d */ module dmd.stmtstate; diff --git a/compiler/src/dmd/target.d b/compiler/src/dmd/target.d index f52bcc57b8..fe63d08df8 100644 --- a/compiler/src/dmd/target.d +++ b/compiler/src/dmd/target.d @@ -18,9 +18,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/target.d, _target.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/target.d, _target.d) * Documentation: https://dlang.org/phobos/dmd_target.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/target.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/target.d */ module dmd.target; diff --git a/compiler/src/dmd/templateparamsem.d b/compiler/src/dmd/templateparamsem.d index e7a40a0dc4..561181a2cc 100644 --- a/compiler/src/dmd/templateparamsem.d +++ b/compiler/src/dmd/templateparamsem.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/templateparamsem.d, _templateparamsem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/templateparamsem.d, _templateparamsem.d) * Documentation: https://dlang.org/phobos/dmd_templateparamsem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/templateparamsem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/templateparamsem.d */ module dmd.templateparamsem; diff --git a/compiler/src/dmd/templatesem.d b/compiler/src/dmd/templatesem.d index 17526e604c..e5efce4a8b 100644 --- a/compiler/src/dmd/templatesem.d +++ b/compiler/src/dmd/templatesem.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/templatesem.d, _templatesem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/templatesem.d, _templatesem.d) * Documentation: https://dlang.org/phobos/dmd_templatesem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/templatesem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/templatesem.d */ module dmd.templatesem; diff --git a/compiler/src/dmd/timetrace.d b/compiler/src/dmd/timetrace.d index 2c9c89aee7..b921ac433d 100644 --- a/compiler/src/dmd/timetrace.d +++ b/compiler/src/dmd/timetrace.d @@ -9,9 +9,9 @@ This file is originally from LDC (the LLVM D compiler). Copyright: Copyright (C) 1999-2022 by The D Language Foundation, All Rights Reserved Authors: Johan Engelen, Max Haughton, Dennis Korpel License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) -Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/common/timetrace.d, common/_timetrace.d) +Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/timetrace.d, common/_timetrace.d) Documentation: https://dlang.org/phobos/dmd_common_timetrace.html -Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/common/timetrace.d +Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/timetrace.d */ module dmd.timetrace; diff --git a/compiler/src/dmd/tocsym.d b/compiler/src/dmd/tocsym.d index 64ae852fd7..557e2d6e89 100644 --- a/compiler/src/dmd/tocsym.d +++ b/compiler/src/dmd/tocsym.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/tocsym.d, _tocsym.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/tocsym.d, _tocsym.d) * Documentation: https://dlang.org/phobos/dmd_tocsym.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/tocsym.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/tocsym.d */ module dmd.tocsym; diff --git a/compiler/src/dmd/toctype.d b/compiler/src/dmd/toctype.d index c91db3ea77..5e36c2c540 100644 --- a/compiler/src/dmd/toctype.d +++ b/compiler/src/dmd/toctype.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/toctype.d, _toctype.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/toctype.d, _toctype.d) * Documentation: https://dlang.org/phobos/dmd_toctype.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/toctype.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/toctype.d */ module dmd.toctype; diff --git a/compiler/src/dmd/tocvdebug.d b/compiler/src/dmd/tocvdebug.d index 7181020996..543af19743 100644 --- a/compiler/src/dmd/tocvdebug.d +++ b/compiler/src/dmd/tocvdebug.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/tocsym.d, _tocvdebug.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/tocvdebug.d, _tocvdebug.d) * Documentation: https://dlang.org/phobos/dmd_tocvdebug.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/tocvdebug.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/tocvdebug.d */ module dmd.tocvdebug; diff --git a/compiler/src/dmd/todt.d b/compiler/src/dmd/todt.d index beab5f4e92..975072662d 100644 --- a/compiler/src/dmd/todt.d +++ b/compiler/src/dmd/todt.d @@ -5,9 +5,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/todt.d, _todt.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/todt.d, _todt.d) * Documentation: https://dlang.org/phobos/dmd_todt.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/todt.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/todt.d */ module dmd.todt; diff --git a/compiler/src/dmd/toir.d b/compiler/src/dmd/toir.d index 79462386c5..c391de7839 100644 --- a/compiler/src/dmd/toir.d +++ b/compiler/src/dmd/toir.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/_tocsym.d, _toir.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/toir.d, _toir.d) * Documentation: https://dlang.org/phobos/dmd_toir.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/toir.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/toir.d */ module dmd.toir; diff --git a/compiler/src/dmd/tokens.d b/compiler/src/dmd/tokens.d index 3a6e14c487..a10620772a 100644 --- a/compiler/src/dmd/tokens.d +++ b/compiler/src/dmd/tokens.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/tokens.d, _tokens.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/tokens.d, _tokens.d) * Documentation: https://dlang.org/phobos/dmd_tokens.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/tokens.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/tokens.d */ module dmd.tokens; diff --git a/compiler/src/dmd/toobj.d b/compiler/src/dmd/toobj.d index e27ce3ceda..21d9221684 100644 --- a/compiler/src/dmd/toobj.d +++ b/compiler/src/dmd/toobj.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/tocsym.d, _toobj.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/toobj.d, _toobj.d) * Documentation: https://dlang.org/phobos/dmd_toobj.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/toobj.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/toobj.d */ module dmd.toobj; diff --git a/compiler/src/dmd/traits.d b/compiler/src/dmd/traits.d index 37363ffed9..127a89d198 100644 --- a/compiler/src/dmd/traits.d +++ b/compiler/src/dmd/traits.d @@ -6,9 +6,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/traits.d, _traits.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/traits.d, _traits.d) * Documentation: https://dlang.org/phobos/dmd_traits.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/traits.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/traits.d */ module dmd.traits; diff --git a/compiler/src/dmd/typesem.d b/compiler/src/dmd/typesem.d index c5a3b83379..3bc0489bff 100644 --- a/compiler/src/dmd/typesem.d +++ b/compiler/src/dmd/typesem.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/typesem.d, _typesem.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/typesem.d, _typesem.d) * Documentation: https://dlang.org/phobos/dmd_typesem.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/typesem.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/typesem.d */ module dmd.typesem; diff --git a/compiler/src/dmd/typinf.d b/compiler/src/dmd/typinf.d index f774f8636b..38ba6e48e4 100644 --- a/compiler/src/dmd/typinf.d +++ b/compiler/src/dmd/typinf.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/typinf.d, _typinf.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/typinf.d, _typinf.d) * Documentation: https://dlang.org/phobos/dmd_typinf.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/typinf.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/typinf.d */ module dmd.typinf; diff --git a/compiler/src/dmd/utils.d b/compiler/src/dmd/utils.d index e20b86f03c..bfa197aca3 100644 --- a/compiler/src/dmd/utils.d +++ b/compiler/src/dmd/utils.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/utils.d, _utils.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/utils.d, _utils.d) * Documentation: https://dlang.org/phobos/dmd_utils.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/utils.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/utils.d */ module dmd.utils; diff --git a/compiler/src/dmd/visitor/foreachvar.d b/compiler/src/dmd/visitor/foreachvar.d index d170206ead..80611d6f26 100644 --- a/compiler/src/dmd/visitor/foreachvar.d +++ b/compiler/src/dmd/visitor/foreachvar.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/foreachvar.d, _foreachvar.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/visitor/foreachvar.d, _foreachvar.d) * Documentation: https://dlang.org/phobos/dmd_foreachvar.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/foreachvar.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/visitor/foreachvar.d */ module dmd.visitor.foreachvar; diff --git a/compiler/src/dmd/visitor/package.d b/compiler/src/dmd/visitor/package.d index 64e251492e..50b5a54520 100644 --- a/compiler/src/dmd/visitor/package.d +++ b/compiler/src/dmd/visitor/package.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/visitor.d, _visitor.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/visitor/package.d, _visitor.d) * Documentation: https://dlang.org/phobos/dmd_visitor.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/visitor.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/visitor/package.d */ module dmd.visitor; diff --git a/compiler/src/dmd/visitor/postorder.d b/compiler/src/dmd/visitor/postorder.d index 731e682ce0..22549da45d 100644 --- a/compiler/src/dmd/visitor/postorder.d +++ b/compiler/src/dmd/visitor/postorder.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/apply.d, _apply.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/visitor/postorder.d, _apply.d) * Documentation: https://dlang.org/phobos/dmd_apply.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/apply.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/visitor/postorder.d */ module dmd.visitor.postorder; diff --git a/compiler/src/dmd/visitor/statement_rewrite_walker.d b/compiler/src/dmd/visitor/statement_rewrite_walker.d index 6700414b57..25e4c736bb 100644 --- a/compiler/src/dmd/visitor/statement_rewrite_walker.d +++ b/compiler/src/dmd/visitor/statement_rewrite_walker.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/statement_rewrite_walker.d, _statement_rewrite_walker.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/visitor/statement_rewrite_walker.d, _statement_rewrite_walker.d) * Documentation: https://dlang.org/phobos/dmd_statement_rewrite_walker.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/statement_rewrite_walker.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/visitor/statement_rewrite_walker.d */ module dmd.visitor.statement_rewrite_walker; diff --git a/compiler/src/dmd/vsoptions.d b/compiler/src/dmd/vsoptions.d index 0727dc059b..ccc3c60ce8 100644 --- a/compiler/src/dmd/vsoptions.d +++ b/compiler/src/dmd/vsoptions.d @@ -4,9 +4,9 @@ * Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved * Authors: $(LINK2 https://www.digitalmars.com, Walter Bright) * License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) - * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/link.d, _vsoptions.d) + * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/vsoptions.d, _vsoptions.d) * Documentation: https://dlang.org/phobos/dmd_vsoptions.html - * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/vsoptions.d + * Coverage: https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/vsoptions.d */ module dmd.vsoptions; From fa1f860e4be6a0d796a47329be110be14fc1d667 Mon Sep 17 00:00:00 2001 From: "Fares A. Bakhit" Date: Sat, 29 Mar 2025 13:13:38 +0200 Subject: [PATCH 19/32] Fix #21024 - Optimize x^^c expressions (#21082) * Fix #21024 - Optimize x^^c expressions Reason for the *magic* constraint c<8 on inlining x^^c: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_64/fpu/e_powl.S;h=47f129f34d368d7c67b8e5f2462b36b0bebb7621;hb=HEAD#l136 * Fix poor assumption about expression state * Restrict optimization to floating point expressions * Generalize optimization to any scalar data type * Fix segfault on x^^c where x is a single member anonymous enum DMD segfaulted on compiling the unittests in std/algorithm/sorting.o, the unittest that caused the segfault can be reduced to: enum real Two = 2.0; auto _ = Two^^3; I'm not sure why copying the anonymous enum into a `const` variable causes the compiler to segfault. * Add tests to x^^c inlining optimization * Fix missing type for e1 ^^ -1 to 1 / e1 rewrite * Move rewrites from constant folding to expression semantic and restrict them to [-1, 2] * Improve error message for the x^^2 rewrite. Before: ex.d(4): Error: can implicitly convert expression `(const const(double) __powtmp2 = x + 5.0;) , __powtmp2 * ...` of type `double` to `int` int y = ( x + 5 ) ^^ 2; ^ and after: ex.d(4): Error: cannot implicitly convert expression `(x + 5.0) ^^ 2L` of type `double` to `int` int y = ( x + 5 ) ^^ 2; ^ * Update C++ frontend header to match change in `CommaExp` * Address code review feedback Co-authored-by: Dennis Korpel --------- Co-authored-by: Dennis Korpel --- compiler/src/dmd/expression.d | 9 ++++ compiler/src/dmd/expression.h | 1 + compiler/src/dmd/expressionsem.d | 52 ++++++++++++++++++++++ compiler/src/dmd/frontend.h | 1 + compiler/src/dmd/hdrgen.d | 6 +++ compiler/test/fail_compilation/powinline.d | 38 ++++++++++++++++ compiler/test/runnable/powinline.d | 44 ++++++++++++++++++ 7 files changed, 151 insertions(+) create mode 100644 compiler/test/fail_compilation/powinline.d create mode 100644 compiler/test/runnable/powinline.d diff --git a/compiler/src/dmd/expression.d b/compiler/src/dmd/expression.d index d65b163ee6..a51f918cca 100644 --- a/compiler/src/dmd/expression.d +++ b/compiler/src/dmd/expression.d @@ -3851,6 +3851,9 @@ extern (C++) final class CommaExp : BinExp /// false will be passed will be from the parser. bool allowCommaExp; + /// The original expression before any rewriting occurs. + /// This is used in error messages. + Expression originalExp; extern (D) this(Loc loc, Expression e1, Expression e2, bool generated = true) @safe { @@ -3858,6 +3861,12 @@ extern (C++) final class CommaExp : BinExp allowCommaExp = isGenerated = generated; } + extern (D) this(Loc loc, Expression e1, Expression e2, Expression oe) @safe + { + this(loc, e1, e2); + originalExp = oe; + } + override bool isLvalue() { return !rvalue && e2.isLvalue(); diff --git a/compiler/src/dmd/expression.h b/compiler/src/dmd/expression.h index 3c8d90dd7e..4a232fe7ae 100644 --- a/compiler/src/dmd/expression.h +++ b/compiler/src/dmd/expression.h @@ -990,6 +990,7 @@ class CommaExp final : public BinExp public: d_bool isGenerated; d_bool allowCommaExp; + Expression* originalExp; bool isLvalue() override; Optional toBool() override; void accept(Visitor *v) override { v->visit(this); } diff --git a/compiler/src/dmd/expressionsem.d b/compiler/src/dmd/expressionsem.d index 04efa1f86f..f71c888c62 100644 --- a/compiler/src/dmd/expressionsem.d +++ b/compiler/src/dmd/expressionsem.d @@ -12796,6 +12796,58 @@ private extern (C++) final class ExpressionSemanticVisitor : Visitor return; } + // Inline the expression, if possible. + PowExp pe = cast(PowExp)e; + if (pe.e1.type.isScalar() && pe.e2.isIntegerExp()) + { + Expression one; + if (pe.e1.type.isIntegral()) { + one = new IntegerExp(e.loc, 1, pe.e1.type); + } else { + one = new RealExp(e.loc, CTFloat.one, pe.e1.type); + } + + const expo = cast(sinteger_t)pe.e2.toInteger(); + // Replace e1 ^^ -1 with 1 / e1 + if (expo == -1) + { + Expression ex = new DivExp(exp.loc, one, pe.e1); + ex = ex.expressionSemantic(sc); + result = ex; + return; + } + // Replace e1 ^^ 0 with 1 + else if (expo == 0) + { + Expression ex = one; + ex.loc = exp.loc; + ex = ex.expressionSemantic(sc); + result = ex; + return; + } + // Replace e1 ^^ 1 with e1 + else if (expo == 1) + { + Expression ex = pe.e1; + ex.loc = exp.loc; + ex = ex.expressionSemantic(sc); + result = ex; + return; + } + // Replace e1 ^^ 2 with e1 * e1 + else if (expo == 2) + { + auto v = copyToTemp(STC.const_, "__powtmp", pe.e1); + auto ve = new VarExp(exp.loc, v); + auto de = new DeclarationExp(exp.e1.loc, v); + auto me = new MulExp(exp.e2.loc, ve, ve); + Expression ex = new CommaExp(exp.loc, de, me, exp); + ex = ex.expressionSemantic(sc); + result = ex; + return; + } + } + Module mmath = Module.loadStdMath(); if (!mmath) { diff --git a/compiler/src/dmd/frontend.h b/compiler/src/dmd/frontend.h index 730d53e489..c152c724ce 100644 --- a/compiler/src/dmd/frontend.h +++ b/compiler/src/dmd/frontend.h @@ -2766,6 +2766,7 @@ class CommaExp final : public BinExp public: const bool isGenerated; bool allowCommaExp; + Expression* originalExp; bool isLvalue() override; Optional toBool() override; void accept(Visitor* v) override; diff --git a/compiler/src/dmd/hdrgen.d b/compiler/src/dmd/hdrgen.d index 61ff273c6b..97e348350b 100644 --- a/compiler/src/dmd/hdrgen.d +++ b/compiler/src/dmd/hdrgen.d @@ -2724,6 +2724,12 @@ private void expressionPrettyPrint(Expression e, ref OutBuffer buf, ref HdrGenSt void visitComma(CommaExp e) { + if (e.originalExp !is null) + { + e.originalExp.expressionPrettyPrint(buf, hgs); + return; + } + // CommaExp is generated by the compiler so it shouldn't // appear in error messages or header files. // For now, this treats the case where the compiler diff --git a/compiler/test/fail_compilation/powinline.d b/compiler/test/fail_compilation/powinline.d new file mode 100644 index 0000000000..11ebacd16a --- /dev/null +++ b/compiler/test/fail_compilation/powinline.d @@ -0,0 +1,38 @@ +/* +TEST_OUTPUT: +--- +fail_compilation/powinline.d(25): Error: cannot implicitly convert expression `(a + 5.0) ^^ 2L` of type `double` to `int` +fail_compilation/powinline.d(26): Error: cannot implicitly convert expression `(1.0 / foo()) ^^ 2L` of type `double` to `int` +fail_compilation/powinline.d(31): Error: void has no value +fail_compilation/powinline.d(31): Error: incompatible types for `(5.0) * (bar())`: `double` and `void` +fail_compilation/powinline.d(37): Error: cannot modify `immutable` expression `a` +--- +*/ + +double foo() +{ + return 5.0; +} + +void bar() +{ + return; +} + +void test1() +{ + double a = 2.0; + int b = (a + 5.0) ^^ 2.0; + b = (1 / foo()) ^^ 2.0; +} + +void test2() +{ + double a = (5.0 * bar()) ^^ 2.0; +} + +void test3() +{ + immutable double a = 3.0; + (a ^^= 2.0) = 6; +} diff --git a/compiler/test/runnable/powinline.d b/compiler/test/runnable/powinline.d new file mode 100644 index 0000000000..7ec512c526 --- /dev/null +++ b/compiler/test/runnable/powinline.d @@ -0,0 +1,44 @@ +/* +REQUIRED_ARGS: -betterC +RUN_OUTPUT: +--- +Success +--- +*/ +import core.stdc.stdio; + +void test1() +{ + enum real Two = 2.0; + static assert(Two^^3 == 8.0); +} + +void test2() +{ + double x = 5.0; + assert(x^^-1 == 1/x); + x = -1.0; + assert(x^^1 == x); + assert((x += 3) ^^ 2.0 == 4.0); + assert((x) ^^ 2.0 == 4.0); + assert((x *= 5) ^^ 2.0 == (x * x)); + assert(x^^-1 == 1.0 / x); + assert((x^^-1) ^^ 0.0 == 1.0); +} + +void test3() +{ + int x = 6; + assert(x ^^ 0 == 1); + assert((x += 3) ^^ 2 == 81); + assert(x ^^ 2 == (x ^^ 1) * (x ^^ 1)); + static assert(4.0 ^^ -1 == 0.25); +} + +extern(C) void main() +{ + test1(); + test2(); + test3(); + printf("Success\n"); +} From 8dcef66a5f67e5d7c5fd6b51c3b3f45191beaa74 Mon Sep 17 00:00:00 2001 From: Dennis Date: Sat, 29 Mar 2025 12:25:53 +0100 Subject: [PATCH 20/32] Revert "Fix #21024 - Optimize x^^c expressions (#21082)" (#21114) This reverts commit fa1f860e4be6a0d796a47329be110be14fc1d667. --- compiler/src/dmd/expression.d | 9 ---- compiler/src/dmd/expression.h | 1 - compiler/src/dmd/expressionsem.d | 52 ---------------------- compiler/src/dmd/frontend.h | 1 - compiler/src/dmd/hdrgen.d | 6 --- compiler/test/fail_compilation/powinline.d | 38 ---------------- compiler/test/runnable/powinline.d | 44 ------------------ 7 files changed, 151 deletions(-) delete mode 100644 compiler/test/fail_compilation/powinline.d delete mode 100644 compiler/test/runnable/powinline.d diff --git a/compiler/src/dmd/expression.d b/compiler/src/dmd/expression.d index a51f918cca..d65b163ee6 100644 --- a/compiler/src/dmd/expression.d +++ b/compiler/src/dmd/expression.d @@ -3851,9 +3851,6 @@ extern (C++) final class CommaExp : BinExp /// false will be passed will be from the parser. bool allowCommaExp; - /// The original expression before any rewriting occurs. - /// This is used in error messages. - Expression originalExp; extern (D) this(Loc loc, Expression e1, Expression e2, bool generated = true) @safe { @@ -3861,12 +3858,6 @@ extern (C++) final class CommaExp : BinExp allowCommaExp = isGenerated = generated; } - extern (D) this(Loc loc, Expression e1, Expression e2, Expression oe) @safe - { - this(loc, e1, e2); - originalExp = oe; - } - override bool isLvalue() { return !rvalue && e2.isLvalue(); diff --git a/compiler/src/dmd/expression.h b/compiler/src/dmd/expression.h index 4a232fe7ae..3c8d90dd7e 100644 --- a/compiler/src/dmd/expression.h +++ b/compiler/src/dmd/expression.h @@ -990,7 +990,6 @@ class CommaExp final : public BinExp public: d_bool isGenerated; d_bool allowCommaExp; - Expression* originalExp; bool isLvalue() override; Optional toBool() override; void accept(Visitor *v) override { v->visit(this); } diff --git a/compiler/src/dmd/expressionsem.d b/compiler/src/dmd/expressionsem.d index f71c888c62..04efa1f86f 100644 --- a/compiler/src/dmd/expressionsem.d +++ b/compiler/src/dmd/expressionsem.d @@ -12796,58 +12796,6 @@ private extern (C++) final class ExpressionSemanticVisitor : Visitor return; } - // Inline the expression, if possible. - PowExp pe = cast(PowExp)e; - if (pe.e1.type.isScalar() && pe.e2.isIntegerExp()) - { - Expression one; - if (pe.e1.type.isIntegral()) { - one = new IntegerExp(e.loc, 1, pe.e1.type); - } else { - one = new RealExp(e.loc, CTFloat.one, pe.e1.type); - } - - const expo = cast(sinteger_t)pe.e2.toInteger(); - // Replace e1 ^^ -1 with 1 / e1 - if (expo == -1) - { - Expression ex = new DivExp(exp.loc, one, pe.e1); - ex = ex.expressionSemantic(sc); - result = ex; - return; - } - // Replace e1 ^^ 0 with 1 - else if (expo == 0) - { - Expression ex = one; - ex.loc = exp.loc; - ex = ex.expressionSemantic(sc); - result = ex; - return; - } - // Replace e1 ^^ 1 with e1 - else if (expo == 1) - { - Expression ex = pe.e1; - ex.loc = exp.loc; - ex = ex.expressionSemantic(sc); - result = ex; - return; - } - // Replace e1 ^^ 2 with e1 * e1 - else if (expo == 2) - { - auto v = copyToTemp(STC.const_, "__powtmp", pe.e1); - auto ve = new VarExp(exp.loc, v); - auto de = new DeclarationExp(exp.e1.loc, v); - auto me = new MulExp(exp.e2.loc, ve, ve); - Expression ex = new CommaExp(exp.loc, de, me, exp); - ex = ex.expressionSemantic(sc); - result = ex; - return; - } - } - Module mmath = Module.loadStdMath(); if (!mmath) { diff --git a/compiler/src/dmd/frontend.h b/compiler/src/dmd/frontend.h index c152c724ce..730d53e489 100644 --- a/compiler/src/dmd/frontend.h +++ b/compiler/src/dmd/frontend.h @@ -2766,7 +2766,6 @@ class CommaExp final : public BinExp public: const bool isGenerated; bool allowCommaExp; - Expression* originalExp; bool isLvalue() override; Optional toBool() override; void accept(Visitor* v) override; diff --git a/compiler/src/dmd/hdrgen.d b/compiler/src/dmd/hdrgen.d index 97e348350b..61ff273c6b 100644 --- a/compiler/src/dmd/hdrgen.d +++ b/compiler/src/dmd/hdrgen.d @@ -2724,12 +2724,6 @@ private void expressionPrettyPrint(Expression e, ref OutBuffer buf, ref HdrGenSt void visitComma(CommaExp e) { - if (e.originalExp !is null) - { - e.originalExp.expressionPrettyPrint(buf, hgs); - return; - } - // CommaExp is generated by the compiler so it shouldn't // appear in error messages or header files. // For now, this treats the case where the compiler diff --git a/compiler/test/fail_compilation/powinline.d b/compiler/test/fail_compilation/powinline.d deleted file mode 100644 index 11ebacd16a..0000000000 --- a/compiler/test/fail_compilation/powinline.d +++ /dev/null @@ -1,38 +0,0 @@ -/* -TEST_OUTPUT: ---- -fail_compilation/powinline.d(25): Error: cannot implicitly convert expression `(a + 5.0) ^^ 2L` of type `double` to `int` -fail_compilation/powinline.d(26): Error: cannot implicitly convert expression `(1.0 / foo()) ^^ 2L` of type `double` to `int` -fail_compilation/powinline.d(31): Error: void has no value -fail_compilation/powinline.d(31): Error: incompatible types for `(5.0) * (bar())`: `double` and `void` -fail_compilation/powinline.d(37): Error: cannot modify `immutable` expression `a` ---- -*/ - -double foo() -{ - return 5.0; -} - -void bar() -{ - return; -} - -void test1() -{ - double a = 2.0; - int b = (a + 5.0) ^^ 2.0; - b = (1 / foo()) ^^ 2.0; -} - -void test2() -{ - double a = (5.0 * bar()) ^^ 2.0; -} - -void test3() -{ - immutable double a = 3.0; - (a ^^= 2.0) = 6; -} diff --git a/compiler/test/runnable/powinline.d b/compiler/test/runnable/powinline.d deleted file mode 100644 index 7ec512c526..0000000000 --- a/compiler/test/runnable/powinline.d +++ /dev/null @@ -1,44 +0,0 @@ -/* -REQUIRED_ARGS: -betterC -RUN_OUTPUT: ---- -Success ---- -*/ -import core.stdc.stdio; - -void test1() -{ - enum real Two = 2.0; - static assert(Two^^3 == 8.0); -} - -void test2() -{ - double x = 5.0; - assert(x^^-1 == 1/x); - x = -1.0; - assert(x^^1 == x); - assert((x += 3) ^^ 2.0 == 4.0); - assert((x) ^^ 2.0 == 4.0); - assert((x *= 5) ^^ 2.0 == (x * x)); - assert(x^^-1 == 1.0 / x); - assert((x^^-1) ^^ 0.0 == 1.0); -} - -void test3() -{ - int x = 6; - assert(x ^^ 0 == 1); - assert((x += 3) ^^ 2 == 81); - assert(x ^^ 2 == (x ^^ 1) * (x ^^ 1)); - static assert(4.0 ^^ -1 == 0.25); -} - -extern(C) void main() -{ - test1(); - test2(); - test3(); - printf("Success\n"); -} From c403accecf9048802122c17852715251509adf56 Mon Sep 17 00:00:00 2001 From: Dennis Korpel Date: Mon, 31 Mar 2025 12:17:24 +0200 Subject: [PATCH 21/32] bump VERSION to v2.111.0 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 0172d7d7ad..e972d6e93a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.111.0-rc.1 +v2.111.0 From c6863be7206eef3c393726363a480baf0a0c6530 Mon Sep 17 00:00:00 2001 From: Dennis Korpel Date: Mon, 31 Mar 2025 13:33:57 +0200 Subject: [PATCH 22/32] purge changelog --- changelog/dmd.auto-ref-local.dd | 19 --- changelog/dmd.auto-ref-put-adjacent.dd | 18 --- changelog/dmd.default-align.dd | 23 ---- changelog/dmd.delete-keyword.dd | 15 --- changelog/dmd.deprecation-case.dd | 18 --- changelog/dmd.deprecation-dtor-fields.dd | 32 ----- changelog/dmd.deprecation-noop-assignment.dd | 16 --- changelog/dmd.deprecation-pointer-subtract.dd | 11 -- .../dmd.deprecation-throwing-contracts.dd | 17 --- ...dmd.deprecation-typesafe-variadic-class.dd | 40 ------ .../dmd.deprecation-version-debug-number.dd | 5 - changelog/dmd.error-messages.dd | 123 ------------------ changelog/dmd.extern-std-cpp23.dd | 4 - changelog/dmd.ftime-trace.dd | 16 --- changelog/dmd.getBitfieldInfo.dd | 16 --- changelog/dmd.import-c-i.dd | 3 - changelog/dmd.importc-pragma-stc.dd | 25 ---- changelog/dmd.mixin-assign.dd | 8 -- changelog/dmd.obj_extensions.dd | 6 - changelog/dmd.objc-improvements.dd | 38 ------ changelog/dmd.oq-compiler-switch.dd | 15 --- changelog/dmd.placementNew.dd | 20 --- changelog/dmd.postfix-this-attributes.dd | 13 -- changelog/dmd.remove-samples.dd | 8 -- changelog/dmd.rvalue.dd | 40 ------ changelog/dmd.safer.dd | 22 ---- changelog/dmd.shortened-method-constructor.dd | 18 --- changelog/druntime.bcrypt.dd | 7 - changelog/druntime.criticalRegionLock.dd | 5 - changelog/druntime.expect-trap.dd | 7 - changelog/druntime.segfault-message.dd | 65 --------- 31 files changed, 673 deletions(-) delete mode 100644 changelog/dmd.auto-ref-local.dd delete mode 100644 changelog/dmd.auto-ref-put-adjacent.dd delete mode 100644 changelog/dmd.default-align.dd delete mode 100644 changelog/dmd.delete-keyword.dd delete mode 100644 changelog/dmd.deprecation-case.dd delete mode 100644 changelog/dmd.deprecation-dtor-fields.dd delete mode 100644 changelog/dmd.deprecation-noop-assignment.dd delete mode 100644 changelog/dmd.deprecation-pointer-subtract.dd delete mode 100644 changelog/dmd.deprecation-throwing-contracts.dd delete mode 100644 changelog/dmd.deprecation-typesafe-variadic-class.dd delete mode 100644 changelog/dmd.deprecation-version-debug-number.dd delete mode 100644 changelog/dmd.error-messages.dd delete mode 100644 changelog/dmd.extern-std-cpp23.dd delete mode 100644 changelog/dmd.ftime-trace.dd delete mode 100644 changelog/dmd.getBitfieldInfo.dd delete mode 100644 changelog/dmd.import-c-i.dd delete mode 100644 changelog/dmd.importc-pragma-stc.dd delete mode 100644 changelog/dmd.mixin-assign.dd delete mode 100644 changelog/dmd.obj_extensions.dd delete mode 100644 changelog/dmd.objc-improvements.dd delete mode 100644 changelog/dmd.oq-compiler-switch.dd delete mode 100644 changelog/dmd.placementNew.dd delete mode 100644 changelog/dmd.postfix-this-attributes.dd delete mode 100644 changelog/dmd.remove-samples.dd delete mode 100644 changelog/dmd.rvalue.dd delete mode 100644 changelog/dmd.safer.dd delete mode 100644 changelog/dmd.shortened-method-constructor.dd delete mode 100644 changelog/druntime.bcrypt.dd delete mode 100644 changelog/druntime.criticalRegionLock.dd delete mode 100644 changelog/druntime.expect-trap.dd delete mode 100644 changelog/druntime.segfault-message.dd diff --git a/changelog/dmd.auto-ref-local.dd b/changelog/dmd.auto-ref-local.dd deleted file mode 100644 index 28f3a5f4c5..0000000000 --- a/changelog/dmd.auto-ref-local.dd +++ /dev/null @@ -1,19 +0,0 @@ -Storage classes `ref` and `auto ref` can now be applied to local, static, extern, and global variables - -For example, one can now write: -``` -struct S { int a; } - -void main() -{ - S s; - ref int r = s.a; - r = 3; - assert(s.a == 3); - - auto ref x = 0; - auto ref y = x; - static assert(!__traits(isRef, x)); - static assert( __traits(isRef, y)); -} -``` diff --git a/changelog/dmd.auto-ref-put-adjacent.dd b/changelog/dmd.auto-ref-put-adjacent.dd deleted file mode 100644 index 34dbacdb35..0000000000 --- a/changelog/dmd.auto-ref-put-adjacent.dd +++ /dev/null @@ -1,18 +0,0 @@ -Keywords `auto` and `ref` must be adjacent - -It's now deprecated to declare `auto ref` parameters without putting those two keywords next to each other. -This way it's clear that `auto ref` semantics are intended, rather than `ref` and `auto` semantics separately. -For the newly introduced $(RELATIVE_LINK2 dmd.reflocal, `ref` local / global variables), it's an error immediately. - ---- -void t()(ref const auto int x) // Deprecation -{ - ref auto y = x; // Error -} - -// Correction: -void t()(auto ref const int x) -{ - auto ref y = x; -} ---- diff --git a/changelog/dmd.default-align.dd b/changelog/dmd.default-align.dd deleted file mode 100644 index fca9d6374b..0000000000 --- a/changelog/dmd.default-align.dd +++ /dev/null @@ -1,23 +0,0 @@ -The `align` attribute now allows specifying `default` explicitly - -A lone `align` sets the alignment to the type’s default. -To be more explicit, `align(default)` does the same. - -``` -struct S -{ - align(4) - { - byte x; - align(default) long y; - long z; - } -} - -void main() -{ - pragma(msg, S.x.alignof); // 4 - pragma(msg, S.y.alignof); // 8 - pragma(msg, S.z.alignof); // 4 -} -``` diff --git a/changelog/dmd.delete-keyword.dd b/changelog/dmd.delete-keyword.dd deleted file mode 100644 index 9fe599a45b..0000000000 --- a/changelog/dmd.delete-keyword.dd +++ /dev/null @@ -1,15 +0,0 @@ -Remove `delete` as a keyword - -After being superseded by `destroy()`, deprecated, and turned into an error, `delete` can now be used as an identifier: - ---- -enum Action -{ - add, delete -} - -void delete(T)(T obj) -{ - -} ---- diff --git a/changelog/dmd.deprecation-case.dd b/changelog/dmd.deprecation-case.dd deleted file mode 100644 index 97150fdd8a..0000000000 --- a/changelog/dmd.deprecation-case.dd +++ /dev/null @@ -1,18 +0,0 @@ -Case fallthough for multivalued cases is an error now - -This used to give a deprecation and now gives an error: -``` -int i; -switch (0) -{ - case 0, 1: i = 20; - default: assert(0); // Error: switch case fallthrough - use 'goto default;' if intended -} - -switch (0) -{ - default: - case 0, 1: i = 20; - case 2, 3: i = 30; // Error: switch case fallthrough - use 'goto case;' if intended -} -``` diff --git a/changelog/dmd.deprecation-dtor-fields.dd b/changelog/dmd.deprecation-dtor-fields.dd deleted file mode 100644 index 72e74dae97..0000000000 --- a/changelog/dmd.deprecation-dtor-fields.dd +++ /dev/null @@ -1,32 +0,0 @@ -An error is now given for constructors when a field's destructor has stricter attributes - -``` -struct HasDtor -{ - ~this() {} -} - -struct Pure -{ - HasDtor member; - this(int) pure {} // Error: `this` has stricter attributes than its destructor (`pure`) -} - -struct Nothrow -{ - HasDtor member; - this(int) nothrow {} // Error: `this` has stricter attributes than its destructor (`nothrow`) -} - -struct NoGC -{ - HasDtor member; - this(int) @nogc {} // Error: `this` has stricter attributes than its destructor (`@nogc`) -} - -struct Safe -{ - HasDtor member; - this(int) @safe {} // Error: `this` has stricter attributes than its destructor (`@safe`) -} -``` diff --git a/changelog/dmd.deprecation-noop-assignment.dd b/changelog/dmd.deprecation-noop-assignment.dd deleted file mode 100644 index 889c9b2098..0000000000 --- a/changelog/dmd.deprecation-noop-assignment.dd +++ /dev/null @@ -1,16 +0,0 @@ -Initializing a field with itself has been deprecated - -This is to prevent a common mistake when a field and a parameter ought to have the same name, -but one is misspelled where it's declared: - ---- -struct S -{ - int field; - - this(int feild) // supposed to be: this(int field) - { - this.field = field; // equal to this.field = this.field - } -} ---- diff --git a/changelog/dmd.deprecation-pointer-subtract.dd b/changelog/dmd.deprecation-pointer-subtract.dd deleted file mode 100644 index c14b801aeb..0000000000 --- a/changelog/dmd.deprecation-pointer-subtract.dd +++ /dev/null @@ -1,11 +0,0 @@ -An error is now given for subtracting pointers of different types - -The following code now gives errors: -``` -static assert(cast(void*)8 - cast(int*) 0 == 2L); -static assert(cast(int*) 8 - cast(void*)0 == 8L); -void test() -{ - auto foo = (ushort*).init - (ubyte*).init; -} -``` diff --git a/changelog/dmd.deprecation-throwing-contracts.dd b/changelog/dmd.deprecation-throwing-contracts.dd deleted file mode 100644 index cbb0e96c94..0000000000 --- a/changelog/dmd.deprecation-throwing-contracts.dd +++ /dev/null @@ -1,17 +0,0 @@ -An error is now issued for `in`/`out` contracts of `nothrow` functions that may throw - -This used to issue a deprecation, it is now an error: -``` -void test() nothrow -in -{ - throw new Exception(null); // Error: `in` contract may throw but function is marked as `nothrow` -} -out -{ - throw new Exception(null); // Error: `out` contract may throw but function is marked as `nothrow` -} -do -{ -} -``` diff --git a/changelog/dmd.deprecation-typesafe-variadic-class.dd b/changelog/dmd.deprecation-typesafe-variadic-class.dd deleted file mode 100644 index 68fd33dd8b..0000000000 --- a/changelog/dmd.deprecation-typesafe-variadic-class.dd +++ /dev/null @@ -1,40 +0,0 @@ -Typesafe variadic class parameters have been deprecated - -This obscure feature allowed a limited form of implicit construction: - ---- -void check(bool x, Exception e...) -{ - if (!x) - throw e; -} - -void main(string[] args) -{ - check(args.length > 1, "missing argument"); -} ---- - -However, few uses of this feature have been found, and one project was actually mistakenly using it instead of the more common Typesafe variadic array parameter. -Considering D doesn't support implicit construction and already has a confusing amount of different variadic parameter forms, it was decided to remove this feature. - -As a corrective action, either call the constructor in the callee: - ---- -void check(string msg) -{ - if (!x) - throw new Exception(msg); -} ---- - -Or let the caller construct the class instance: - ---- -void check(bool x, Exception e); - -void main(string[] args) -{ - check(args.length > 1, new Exception("missing argument")); -} ---- diff --git a/changelog/dmd.deprecation-version-debug-number.dd b/changelog/dmd.deprecation-version-debug-number.dd deleted file mode 100644 index a0dc6ce5d5..0000000000 --- a/changelog/dmd.deprecation-version-debug-number.dd +++ /dev/null @@ -1,5 +0,0 @@ -Integers in `debug` or `version` statements have been removed from the language - -These were deprecated in 2.101. -Use `-debug=identifier` and `-version=identifier` instead for versions set on the command line, -and likewise `version = identifier;` and `debug = identifier;` for versions set in code at global scope. diff --git a/changelog/dmd.error-messages.dd b/changelog/dmd.error-messages.dd deleted file mode 100644 index d0ca2764d8..0000000000 --- a/changelog/dmd.error-messages.dd +++ /dev/null @@ -1,123 +0,0 @@ -Many error messages have changed - -Some changes have been made without being associated to a reported issue: - -Error messages for `@safe` violations now consistently mention they are related to `@safe` functions (or default functions with `-preview=safer`). -In general, function attributes that failed to infer have a more compact error message: - -Before: -$(CONSOLE -app.d(8): Error: function `attributediagnostic_nothrow.gc1` is not `nothrow` -app.d(2): which wasn't inferred `nothrow` because of: -app.d(2): `object.Exception` is thrown but not caught -) - -After: -$(CONSOLE -app.d(8): Error: function `attributediagnostic_nothrow.gc1` is not `nothrow` -app.d(2): and `object.Exception` being thrown but not caught makes it fail to infer `nothrow` -) - -Function literals are now referred to by their (truncated) function body, instead of the internal `__lambda` name. - ---- -/* -BEFORE: - -../test/test_.d(3): Error: function literal `__lambda1()` is not callable using argument types `(int)` - (() => 42)(1); - ^ -AFTER: - -../test/test_.d(3): Error: function literal `() => 42` is not callable using argument types `(int)` - (() => 42)(1); - ^ -*/ ---- - -Match levels are now mentioned on ambiguous overloads: [#20637](https://github.com/dlang/dmd/pull/20637) - -Before: -$(CONSOLE -Error: `app.bar` called with argument types `(string)` matches both: -) - -After: -$(CONSOLE -Error: `app.bar` called with argument types `(string)` matches multiple overloads after implicit conversions: -) - -Error messages related to operator overloading have been improved. -When the related template functions (`opUnary`, `opBinary`, `opBinaryRight`, `opOpAssign`, `opIndex`, `opSlice`) -are missing, a suggestion to implement them is given. - -When they do exist but fail to instantiate, the error from instantiation is shown. -There's no longer a need to manually e.g. rewrite `s + 1` to `s.opBinary!"+"(1)` to diagnose the error. - ---- -struct S {} - -void main() -{ - S s; - const x = s[3 .. "4"]; -} ---- - -Before: -$(CONSOLE -app.d(6): Error: no `[]` operator overload for type `S` -) - -After: -$(CONSOLE -app.d(6): Error: no `[3.."4"]` operator overload for type `S` -app.d(1): perhaps define `auto opSlice(int lower, string upper) {}` for `app.S` -) - ---- -struct Str {} - -struct Number -{ - int x; - int opBinary(string op : "+")(int rhs) => this.x + x; -} - -void f(Str str, Number number) -{ - const s = str ~ "hey"; - const n = number + "oops"; -} ---- - -Before: -$(CONSOLE -app.d(12): Error: incompatible types for `(str) ~ ("hey")`: `Str` and `string` - const s = str ~ "hey"; - ^ -app.d(13): Error: incompatible types for `(number) + ("oops")`: `Number` and `string` - const n = number + "oops"; -) - -After: -$(CONSOLE -app.d(12): Error: operator `~` is not defined for type `Str` - const s = str ~ "hey"; - ^ -app.d(2): perhaps overload the operator with `auto opBinary(string op : "~")(string rhs) {}` -struct Str {} -^ -app.d(13): Error: function `test_.Number.opBinary!"+".opBinary(int rhs)` is not callable using argument types `(string)` - const n = number + "oops"; - ^ -app.d(13): cannot pass argument `"oops"` of type `string` to parameter `int rhs` -app.d(7): `opBinary` defined here - int opBinary(string op : "+")(int rhs) => this.x + x; - ^ -) - -Furthermore: - -- D1 operator overloading functions (`opAdd`, `opDot`) are completely removed and no longer mentioned in error messages specifically. -- Class allocators (`auto new() {}`) are not only a semantic error, but no longer parse. diff --git a/changelog/dmd.extern-std-cpp23.dd b/changelog/dmd.extern-std-cpp23.dd deleted file mode 100644 index 5b3b2256f0..0000000000 --- a/changelog/dmd.extern-std-cpp23.dd +++ /dev/null @@ -1,4 +0,0 @@ -The compiler now accepts `-extern-std=c++23` - -The compiler now accepts c++23 as a supported standard for `-extern-std=`. -Currently this only changes the value of `__traits(getTargetInfo, "cppStd")`. diff --git a/changelog/dmd.ftime-trace.dd b/changelog/dmd.ftime-trace.dd deleted file mode 100644 index baaa521a14..0000000000 --- a/changelog/dmd.ftime-trace.dd +++ /dev/null @@ -1,16 +0,0 @@ -Build time profiling has been added to DMD - -The `-ftime-trace` switch that the LDC compiler already has, is now also available in dmd. -It can be used to figure out which parts of your code take the longest to compile, so you can optimize your build times. - -$(CONSOLE -dmd -ftime-trace app.d -) - -This will output `app.o.time-trace`. - -A different output file can be selected with `-ftime-trace-file=trace.json`. - -The output is in Google Chrome's profiler format, which can be viewed in an interactive viewer like [ui.perfetto.dev](https://ui.perfetto.dev). - -See also the YouTube tutorial [*Easily Reduce Build Times by Profiling the D Compiler*](https://www.youtube.com/watch?v=b8wZqU5t9vs). diff --git a/changelog/dmd.getBitfieldInfo.dd b/changelog/dmd.getBitfieldInfo.dd deleted file mode 100644 index 9bdf10775f..0000000000 --- a/changelog/dmd.getBitfieldInfo.dd +++ /dev/null @@ -1,16 +0,0 @@ -New traits `getBitfieldOffset` and `getBitfieldWidth` for built-in bitfields - -This completes the introspection capabilities of built-in bitfields. For example: - ---- -struct S -{ - int a,b; - int :2, c:3; -} - -static assert(__traits(getBitfieldOffset, S.b) == 0); -static assert(__traits(getBitfieldOffset, S.c) == 2); -static assert(__traits(getBitfieldWidth, S.b) == 32); -static assert(__traits(getBitfieldWidth, S.c) == 3); ---- diff --git a/changelog/dmd.import-c-i.dd b/changelog/dmd.import-c-i.dd deleted file mode 100644 index 7836f39966..0000000000 --- a/changelog/dmd.import-c-i.dd +++ /dev/null @@ -1,3 +0,0 @@ -Using the compiler flag `-i` will now properly pick up C source files - -Previously, you needed to manually include `*.c` source files, it now works just like with D files. diff --git a/changelog/dmd.importc-pragma-stc.dd b/changelog/dmd.importc-pragma-stc.dd deleted file mode 100644 index c6010ed52f..0000000000 --- a/changelog/dmd.importc-pragma-stc.dd +++ /dev/null @@ -1,25 +0,0 @@ -A pragma for ImportC allows to set `nothrow`, `@nogc` or `pure` - -The following new pragma for ImportC allows to set default storage -classes for function declarations: -```c -#pragma attribute(push, [storage classes...]) -``` -The storage classes `nothrow`, `nogc` and `pure` are supported. -Unrecognized attributes are ignored. -Enabling a default storage class affects all function declarations -after the pragma until it is disabled with another pragma. -Declarations in includes are also affected. -The changed storage classes are pushed on a stack. The last change can -be undone with the following pragma. -The following example -enables `@nogc` and `nothrow` for a library: - -```c -#pragma attribute(push, nogc, nothrow) -#include -#pragma attribute(pop) -``` - -This can also disable multiple default storage classes at the same time, -if they were enabled with a single `#pragma attribute(push, ...)` directive. diff --git a/changelog/dmd.mixin-assign.dd b/changelog/dmd.mixin-assign.dd deleted file mode 100644 index 17e4eeda87..0000000000 --- a/changelog/dmd.mixin-assign.dd +++ /dev/null @@ -1,8 +0,0 @@ -Mixin templates can now use assignment syntax - -Previously, giving a name to a mixed-in mixin template instance required putting the name at the end. -Now, it can also go in front of the instantiation using assignment syntax. ---- -mixin MyMixinTemplate!(Args) myName; // old style -mixin myName = MyMixinTemplate!(Args); // new style ---- diff --git a/changelog/dmd.obj_extensions.dd b/changelog/dmd.obj_extensions.dd deleted file mode 100644 index 0c2d0c289a..0000000000 --- a/changelog/dmd.obj_extensions.dd +++ /dev/null @@ -1,6 +0,0 @@ -Object file extensions `.o` and `.obj` are now accepted on all platforms - -Accepting `.o` and `.obj` file extensions on all platforms makes DMD behave -like Clang and other modern compilers. There is no point in -discarding `*.o` or `*.obj` depending on the current operating system, as both extensions -unambiguously denote object file. diff --git a/changelog/dmd.objc-improvements.dd b/changelog/dmd.objc-improvements.dd deleted file mode 100644 index 491b30eec0..0000000000 --- a/changelog/dmd.objc-improvements.dd +++ /dev/null @@ -1,38 +0,0 @@ -Objective-C selectors are now automatically generated when not specified with `@selector`. - -Additionally, the Objective-C selector generation rules have changed, following these steps: -1. Functions marked with `@property` will generate `setXYZ:` for the setters. -2. For property functions with names starting with `is`, that prefix will be stripped off in the setter. -3. Selector generation now uses the names of the function parameters instead of their D-mangled types. - -Selectors may still be specified with the `@selector` UDA, in which case it takes precedence over the -automatically generated selectors. - -These new rules apply both for `extern` and non-`extern` Objective-C classes and protocols. - ---- -extern(Objective-C) -extern class NSObject { - static NSObject alloc(); // Generates as `alloc` - NSObject init(); // Generates as `init` -} - -extern(Objective-C) -class Fox : NSObject { - bool fluffy; - - @property bool isFluffy() => fluffy; // `isFluffy` - @property void isFluffy(bool value) { fluffy = value; } // `setFluffy:` - - void yip(int a) @selector("bark:") { // `bark:` - // ... - } - - void doSomething(int a, int b, int c) { // `doSomething:b:c:` - // ... - } -} ---- - -These changes should not break any existing code because the automatic selector generation -was not present before. And automatic selector generation only applies to `extern(Objective-C)` methods. diff --git a/changelog/dmd.oq-compiler-switch.dd b/changelog/dmd.oq-compiler-switch.dd deleted file mode 100644 index d3f705d71f..0000000000 --- a/changelog/dmd.oq-compiler-switch.dd +++ /dev/null @@ -1,15 +0,0 @@ -New compiler switch `-oq` for DMD - -The switch gives fully qualified names to object files, preventing name conflicts when using the switch `-od` -while compiling multiple modules with the same name, but inside different packages. -The switch already existed in LDC, but is now in dmd as well. - -Example: - -$(CONSOLE -dmd -c -oq -od=. app.d util/app.d misc/app.d -) - -This will output `app.obj`, `util.app.obj`, and `misc.app.obj`, instead of just `app.obj`. - -The switch `-oq` also applies to other outputs, such as Ddoc (`-D -Dd=.`) and `.di` header generation (`-H -Hd=.`). diff --git a/changelog/dmd.placementNew.dd b/changelog/dmd.placementNew.dd deleted file mode 100644 index 5082d4a3e3..0000000000 --- a/changelog/dmd.placementNew.dd +++ /dev/null @@ -1,20 +0,0 @@ -Added Placement New Expression - -Placement `new` explicitly provides the storage for `new` expression to initialize -with the newly created value, rather than using the GC. - ---- -struct S -{ - float d; - int i; - char c; -} - -void main() @system @nogc -{ - S s; - S* p = new (s) S(3.14, 42, 'X'); // place new object into s - assert(p.i == 42 && p.c == 'X'); -} ---- diff --git a/changelog/dmd.postfix-this-attributes.dd b/changelog/dmd.postfix-this-attributes.dd deleted file mode 100644 index 7e2aa56cbb..0000000000 --- a/changelog/dmd.postfix-this-attributes.dd +++ /dev/null @@ -1,13 +0,0 @@ -Postfix type qualifier method attributes for `-H` and `-D` - -The `.di` interface file generation and Ddoc output will now have type qualifier -attributes placed after the parameter list for methods (and constructors). -This avoids confusion with the return type. - ---- -struct S -{ - const int f(); // before - int f() const; // now -} ---- diff --git a/changelog/dmd.remove-samples.dd b/changelog/dmd.remove-samples.dd deleted file mode 100644 index a553f50d88..0000000000 --- a/changelog/dmd.remove-samples.dd +++ /dev/null @@ -1,8 +0,0 @@ -The folder *samples* has been removed from DMD installations - -Every DMD release has included a folder with small D code examples. -These examples are quite old, and not a good representation of modern D. -They're also hard to discover, since D compilers are often installed through an installer or package manager. - -Since there are better resources available online nowadays, these samples have -been moved to the [undeaD](https://github.com/dlang/undeaD) repository. diff --git a/changelog/dmd.rvalue.dd b/changelog/dmd.rvalue.dd deleted file mode 100644 index 1c33f36d20..0000000000 --- a/changelog/dmd.rvalue.dd +++ /dev/null @@ -1,40 +0,0 @@ -New keyword `__rvalue` - -The newly added primary expression of the form `__rvalue(expression)` -evaluates to `expression`, except that it is treated as an rvalue, -even if would be an lvalue otherwise. - -Overloads on `ref`: -``` -foo( S s); // selected if the argument is an rvalue -foo(ref S s); // selected if the argument is an lvalue - -S s; -S bar(); -... -foo(s); // selects foo(ref S) -foo(bar()); // selects foo(S) -``` -With this change: -``` -foo(__rvalue(s)); // selects foo(S) -``` -This also applies to constructors and assignments, meaning move constructors and -move assignments are enabled. Moving instead of copying can be much more resource -efficient, as, say, a string can be moved rather than copied/deleted. - -A moved object will still be destructed, so take that into account when moving -a field - set it to a benign value that can be destructed. - -`__rvalue` may also be used as an attribute on a function which returns by ref -to declare that the result should be treated as an rvalue at the callsite: -``` -ref T move(T)(return ref T source) __rvalue -{ - return source; -} - -S s; -S t = move(s); // call expression rewritten as: S t = __rvalue(move(s)) -``` -This is used as an internal tool to implement library primitives such as `move` and `forward`. diff --git a/changelog/dmd.safer.dd b/changelog/dmd.safer.dd deleted file mode 100644 index c10af7515e..0000000000 --- a/changelog/dmd.safer.dd +++ /dev/null @@ -1,22 +0,0 @@ -Add `-preview=safer` switch for safety checking on unattributed functions - -All the checks currently enabled in `@safe` code, that are easily fixed (as in -the fix is constrained to the function), will be enabled in `-preview=safer` code. - -Code not easily fixed, such as calls to `@system` or unattributed functions, will -be allowed as before. - ---- -void f(); -@system void g(); - -void main() -{ - int* p; - p++; // Error, pointer arithmetic - f(); // allowed - g(); // allowed -} ---- - -For more information, see [this document](https://github.com/WalterBright/documents/blob/38f0a846726b571f8108f6e63e5e217b91421c86/safer.md). diff --git a/changelog/dmd.shortened-method-constructor.dd b/changelog/dmd.shortened-method-constructor.dd deleted file mode 100644 index 91a0e406ba..0000000000 --- a/changelog/dmd.shortened-method-constructor.dd +++ /dev/null @@ -1,18 +0,0 @@ -Shortened method syntax can now be used in constructors - -This used to raise an error (cannot return expression from constructor), but is now supported: - ---- -struct Number -{ - int x; - - void vf(int); - this(int x) => vf(x); - this(float x) => this(cast(int) x); -} ---- - -The expression body must be a `this`/`super` call or have type `void`. - -Postblits and destructors already supported shortened method syntax because they return `void`. diff --git a/changelog/druntime.bcrypt.dd b/changelog/druntime.bcrypt.dd deleted file mode 100644 index 76be170294..0000000000 --- a/changelog/druntime.bcrypt.dd +++ /dev/null @@ -1,7 +0,0 @@ -Add Windows BCrypt bindings under `core.sys.windows.bcrypt` - -Adds full [BCrypt API](https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/) bindings -to the Windows-specific system bindings. - -The Windows-specific bindings under `core.sys.windows.sdkddkver` and `core.sys.windows.w32api` -have also been updated in order to facilitate the creation of the BCrypt bindings. diff --git a/changelog/druntime.criticalRegionLock.dd b/changelog/druntime.criticalRegionLock.dd deleted file mode 100644 index 45e39694b5..0000000000 --- a/changelog/druntime.criticalRegionLock.dd +++ /dev/null @@ -1,5 +0,0 @@ -Remove `criticalRegionLock` - -The `criticalRegionLock` feature suffer from a serious design flaw: $(LINK https://issues.dlang.org/show_bug.cgi?id=24741) - -It turns out it is not used, so rather than fixing the flaw, the feature was removed. diff --git a/changelog/druntime.expect-trap.dd b/changelog/druntime.expect-trap.dd deleted file mode 100644 index 5bda96069a..0000000000 --- a/changelog/druntime.expect-trap.dd +++ /dev/null @@ -1,7 +0,0 @@ -Adds `expect`, `likely`, `unlikely`, and `trap` to `core.builtins` - -Adds the functions `expect` and `likely`/`unlikely` for branch and value hints for the LDC/GDC compilers. -DMD ignores these hints. - -Adds the function `trap` to be lowered to the target-dependent trap instruction. -If the target does not have a trap instruction, this intrinsic will be lowered to a call of the `abort` function. diff --git a/changelog/druntime.segfault-message.dd b/changelog/druntime.segfault-message.dd deleted file mode 100644 index 37f771f439..0000000000 --- a/changelog/druntime.segfault-message.dd +++ /dev/null @@ -1,65 +0,0 @@ -New segfault handler showing backtraces for null access / call stack overflow on linux - -While buffer overflows are usually caught by array bounds checks, there are still other situations where a segmentation fault occurs in D programs: - -- `null` pointer dereference -- Corrupted or dangling pointer dereference in `@system` code -- Call stack overflow (infinite recursion) - -These result in an uninformative runtime error such as: - -$(CONSOLE -[1] 37856 segmentation fault (core dumped) ./app -) - -In order to find the cause of the error, the program needs to be run again in a debugger like GDB. - -There is the `registerMemoryErrorHandler` function in `etc.linux.memoryerror`, which catches `SIGSEGV` signals and transforms them into a thrown `InvalidPointerError`, providing a better message. -However, it doesn't work on call stack overflow, because it uses stack memory itself, so the segfault handler segfaults. -It also relies on inline assembly, limiting it to the x86 architecture. - -A new function `registerMemoryAssertHandler` has been introduced, which does handle stack overflow by setting up an [altstack](https://man7.org/linux/man-pages/man2/sigaltstack.2.html). -It uses `assert(0)` instead of throwing an `Error` object, so the result corresponds to the chosen `-checkaction` setting. - -Example: - ---- -void main() -{ - version (linux) - { - import etc.linux.memoryerror; - registerMemoryAssertHandler(); - } - int* p = null; - int* q = cast(int*) 0xDEADBEEF; - - // int a = *p; // segmentation fault: null pointer read/write operation - // int b = *q; // segmentation fault: invalid pointer read/write operation - recurse(); // segmentation fault: call stack overflow -} - -void recurse() -{ - recurse(); -} ---- - -Output with `dmd -g -run app.d`: - -$(CONSOLE -core.exception.AssertError@src/etc/linux/memoryerror.d(82): segmentation fault: call stack overflow -$(NDASH)$(NDASH)$(NDASH)$(NDASH)$(NDASH)$(NDASH)$(NDASH)$(NDASH)$(NDASH)$(NDASH) -src/core/exception.d:587 onAssertErrorMsg [0x58e270d2802d] -src/core/exception.d:803 _d_assert_msg [0x58e270d1fb64] -src/etc/linux/memoryerror.d:82 _d_handleSignalAssert [0x58e270d1f48d] -??:? [0x7004139e876f] -./app.d:16 void scratch.recurse() [0x58e270d1d757] -./app.d:18 void scratch.recurse() [0x58e270d1d75c] -./app.d:18 void scratch.recurse() [0x58e270d1d75c] -./app.d:18 void scratch.recurse() [0x58e270d1d75c] -./app.d:18 void scratch.recurse() [0x58e270d1d75c] -... -... -... -) From dbe0ddbde68a1bf359001154393c120224265b00 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Tue, 1 Apr 2025 22:10:37 +0200 Subject: [PATCH 23/32] [stable] build.d: Fix VERSION fallback if `git describe` fails (#21133) * build.d: Fix VERSION fallback if `git describe` fails Which can fail for *shallow* git clones, as used for GitHub Actions. * [apply to config.d as well; e.g., used by Visual Studio project] --- compiler/src/build.d | 2 +- config.d | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/src/build.d b/compiler/src/build.d index a611d00260..e0169d6ea4 100755 --- a/compiler/src/build.d +++ b/compiler/src/build.d @@ -411,7 +411,7 @@ alias versionFile = makeRule!((builder, rule) { return gitResult.output.strip; } // version fallback - return dmdRepo.buildPath("VERSION").readText; + return dmdRepo.buildPath("VERSION").readText.strip; }); builder .target(env["G"].buildPath("VERSION")) diff --git a/config.d b/config.d index cf1bd129c8..80596824a6 100755 --- a/config.d +++ b/config.d @@ -55,7 +55,7 @@ string generateVersion(const string versionFile) enum workDir = __FILE_FULL_PATH__.dirName; const result = execute(["git", "-C", workDir, "describe", "--dirty"]); - return result.status == 0 ? result.output.strip : versionFile.readText; + return result.status == 0 ? result.output.strip : versionFile.readText.strip; } /** From ed17b3e95dc3fc3264a4c91843da824f5541f3e1 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Wed, 2 Apr 2025 01:42:03 +0200 Subject: [PATCH 24/32] Fix #21098 (#21132) By reverting #10718 - it seems superfluous nowadays? --- compiler/src/dmd/expressionsem.d | 11 +-- .../compilable/imports/test21098_phobos.d | 77 +++++++++++++++++++ compiler/test/compilable/imports/test21098b.d | 12 +++ compiler/test/compilable/test21098.d | 4 + 4 files changed, 96 insertions(+), 8 deletions(-) create mode 100644 compiler/test/compilable/imports/test21098_phobos.d create mode 100644 compiler/test/compilable/imports/test21098b.d create mode 100644 compiler/test/compilable/test21098.d diff --git a/compiler/src/dmd/expressionsem.d b/compiler/src/dmd/expressionsem.d index 04efa1f86f..b0278cbaca 100644 --- a/compiler/src/dmd/expressionsem.d +++ b/compiler/src/dmd/expressionsem.d @@ -1247,6 +1247,9 @@ private Expression resolveUFCS(Scope* sc, CallExp ce) } else { + if (arrayExpressionSemantic(ce.arguments.peekSlice(), sc)) + return ErrorExp.get(); + if (Expression ey = die.dotIdSemanticProp(sc, 1)) { if (ey.op == EXP.error) @@ -1254,19 +1257,11 @@ private Expression resolveUFCS(Scope* sc, CallExp ce) ce.e1 = ey; if (isDotOpDispatch(ey)) { - // even opDispatch and UFCS must have valid arguments, - // so now that we've seen indication of a problem, - // check them for issues. - Expressions* originalArguments = Expression.arraySyntaxCopy(ce.arguments); - const errors = global.startGagging(); e = ce.expressionSemantic(sc); if (!global.endGagging(errors)) return e; - if (arrayExpressionSemantic(originalArguments.peekSlice(), sc)) - return ErrorExp.get(); - /* fall down to UFCS */ } else diff --git a/compiler/test/compilable/imports/test21098_phobos.d b/compiler/test/compilable/imports/test21098_phobos.d new file mode 100644 index 0000000000..29c77eb047 --- /dev/null +++ b/compiler/test/compilable/imports/test21098_phobos.d @@ -0,0 +1,77 @@ +struct Nullable(T) +{ + static struct DontCallDestructorT + { + T payload; + } + + DontCallDestructorT _value; + + string toString() const + { + Appender!string app; + formatValueImpl(app, _value); + return null; + } +} + + + +struct Appender(A) +{ + InPlaceAppender!A impl; +} + +struct InPlaceAppender(T) +{ + static void toStringImpl(const T[] data) + { + string app; + formatValue(app, data); + } +} + + + +void formatValueImpl(Writer, T)(Writer, const(T)) {} + +void formatValueImpl(Writer, T)(Writer w, T obj) +if (is(T == U[], U)) +{ + formatValue(w, obj[0]); +} + +enum HasToStringResult +{ + none, + bla +} + +template hasToString(T) +{ + static if (is(typeof( + (T val) { + val.toString(s); + }))) + enum hasToString = HasToStringResult.bla; + else + enum hasToString = HasToStringResult.none; +} + +void formatValueImpl(Writer, T)(ref Writer w, T val) +if (is(T == struct) || is(T == union)) +{ + static if (hasToString!T) + int dummy; + formatElement(w, val.tupleof); +} + +void formatElement(Writer, T)(Writer w, T val) +{ + formatValueImpl(w, val); +} + +void formatValue(Writer, T)(Writer w, T val) +{ + formatValueImpl(w, val); +} diff --git a/compiler/test/compilable/imports/test21098b.d b/compiler/test/compilable/imports/test21098b.d new file mode 100644 index 0000000000..74c9fa80c8 --- /dev/null +++ b/compiler/test/compilable/imports/test21098b.d @@ -0,0 +1,12 @@ +import imports.test21098_phobos : Appender, Nullable; + +struct Type { + Nullable!(Type[]) templateArgs; +} + +Type[] parseDeclarations() { + Appender!(Type[]) members; + return null; +} + +enum ast = parseDeclarations(); diff --git a/compiler/test/compilable/test21098.d b/compiler/test/compilable/test21098.d new file mode 100644 index 0000000000..9b02b7b4d6 --- /dev/null +++ b/compiler/test/compilable/test21098.d @@ -0,0 +1,4 @@ +// https://github.com/dlang/dmd/issues/21098 + +// EXTRA_FILES: imports/test21098b.d imports/test21098_phobos.d +import imports.test21098b; From a6b3751b19a4ab257bcfd87e1ba03f396186a454 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Sun, 6 Apr 2025 01:31:30 +0200 Subject: [PATCH 25/32] fix #21153 - [REG 2.111.0] Infinite loop in isAliasThisTuple (#21154) --- compiler/src/dmd/expressionsem.d | 4 ++++ compiler/test/compilable/test21153.d | 8 ++++++++ 2 files changed, 12 insertions(+) create mode 100644 compiler/test/compilable/test21153.d diff --git a/compiler/src/dmd/expressionsem.d b/compiler/src/dmd/expressionsem.d index b0278cbaca..7d47f5bc56 100644 --- a/compiler/src/dmd/expressionsem.d +++ b/compiler/src/dmd/expressionsem.d @@ -655,7 +655,11 @@ TupleDeclaration isAliasThisTuple(Expression e) return td; } if (Type att = t.aliasthisOf()) + { t = att; + continue; + } + return null; } } diff --git a/compiler/test/compilable/test21153.d b/compiler/test/compilable/test21153.d new file mode 100644 index 0000000000..cd92a31240 --- /dev/null +++ b/compiler/test/compilable/test21153.d @@ -0,0 +1,8 @@ +// https://github.com/dlang/dmd/issues/21153 +alias AliasSeq(TList...) = TList; +class DataClass; +void reduce(DataClass[] r) +{ + alias Args = AliasSeq!(DataClass); + Args result = r[0]; +} From 21b6202f54d8fffd8aa73429275f2e9ae46db543 Mon Sep 17 00:00:00 2001 From: Denis Feklushkin Date: Sun, 6 Apr 2025 19:08:02 +0700 Subject: [PATCH 26/32] fix compilation of ucontext_t-based fibers (#21156) --- druntime/src/core/thread/fiber/base.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/druntime/src/core/thread/fiber/base.d b/druntime/src/core/thread/fiber/base.d index 64e1d7e41b..74e9de0f9c 100644 --- a/druntime/src/core/thread/fiber/base.d +++ b/druntime/src/core/thread/fiber/base.d @@ -558,7 +558,7 @@ protected: // of the executing thread. static ucontext_t sm_utxt = void; ucontext_t m_utxt = void; - ucontext_t* m_ucur = null; + package ucontext_t* m_ucur = null; } From ce16000c48f033309395c2a21ba8a1a9c3b1331c Mon Sep 17 00:00:00 2001 From: Rainer Schuetze Date: Tue, 8 Apr 2025 01:12:12 +0200 Subject: [PATCH 27/32] remove duplicate dependency on versionFile and sysconfDirFile, lexer already has it (#21164) --- compiler/src/build.d | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/src/build.d b/compiler/src/build.d index e0169d6ea4..18dd9a531d 100755 --- a/compiler/src/build.d +++ b/compiler/src/build.d @@ -469,7 +469,7 @@ alias dmdExe = makeRuleWithArgs!((MethodInitializer!BuildRule builder, BuildRule .sources(dmdSources.chain(lexer.targets, backend.targets, common.targets).array) .target(env["DMD_PATH"] ~ targetSuffix) .msg("(DC) DMD" ~ targetSuffix) - .deps([versionFile, sysconfDirFile, lexer, backend, common]) + .deps([lexer, backend, common]) .command([ env["HOST_DMD_RUN"], "-of" ~ rule.target, @@ -646,7 +646,7 @@ alias runTests = makeRule!((testBuilder, testRule) /// BuildRule to run the DMD unittest executable. alias runDmdUnittest = makeRule!((builder, rule) { -auto dmdUnittestExe = dmdExe("-unittest", ["-version=NoMain", "-unittest", env["HOST_DMD_KIND"] == "gdc" ? "-fmain" : "-main"], ["-unittest"]); + auto dmdUnittestExe = dmdExe("-unittest", ["-version=NoMain", "-unittest", env["HOST_DMD_KIND"] == "gdc" ? "-fmain" : "-main"], ["-unittest"]); builder .name("unittest") .description("Run the dmd unittests") From 51816cd01deee5cc1d7d2c6e1e24788ec655b73e Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Sat, 5 Apr 2025 18:42:56 +0200 Subject: [PATCH 28/32] fix #21153 - [REG 2.111.0] Infinite loop in isAliasThisTuple Partially reverts the regressing change in 08901365d4. The "fixed" refactoring should be applied to master/development branch. --- compiler/src/dmd/expressionsem.d | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/compiler/src/dmd/expressionsem.d b/compiler/src/dmd/expressionsem.d index 7d47f5bc56..19111e31ba 100644 --- a/compiler/src/dmd/expressionsem.d +++ b/compiler/src/dmd/expressionsem.d @@ -641,23 +641,23 @@ TupleDeclaration isAliasThisTuple(Expression e) Type t = e.type.toBasetype(); while (true) { - Dsymbol s = t.toDsymbol(null); - if (!s) - return null; - auto ad = s.isAggregateDeclaration(); - if (!ad) - return null; - s = ad.aliasthis ? ad.aliasthis.sym : null; - if (s && s.isVarDeclaration()) + if (Dsymbol s = t.toDsymbol(null)) { - TupleDeclaration td = s.isVarDeclaration().toAlias().isTupleDeclaration(); - if (td && td.isexp) - return td; - } - if (Type att = t.aliasthisOf()) - { - t = att; - continue; + if (auto ad = s.isAggregateDeclaration()) + { + s = ad.aliasthis ? ad.aliasthis.sym : null; + if (s && s.isVarDeclaration()) + { + TupleDeclaration td = s.isVarDeclaration().toAlias().isTupleDeclaration(); + if (td && td.isexp) + return td; + } + if (Type att = t.aliasthisOf()) + { + t = att; + continue; + } + } } return null; } From 3070fc288aac1ab1d63f8acf3bb7ed759761f5bb Mon Sep 17 00:00:00 2001 From: drpriver Date: Tue, 8 Apr 2025 23:05:05 -0700 Subject: [PATCH 29/32] ImportC: undefined identifier _Float16 (#21184) Fixes: https://github.com/dlang/dmd/issues/21183 The previous MR put the macro in a `#if linux` which meant it didn't actually solve the problem of being unable to `#include ` on macos. So put it in a better spot. Also enable the test that includes that header for macos so that it stays solved. --- compiler/test/compilable/stdcheaders.c | 2 -- druntime/src/importc.h | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/compiler/test/compilable/stdcheaders.c b/compiler/test/compilable/stdcheaders.c index 2ea982e65b..0632924602 100644 --- a/compiler/test/compilable/stdcheaders.c +++ b/compiler/test/compilable/stdcheaders.c @@ -19,12 +19,10 @@ #include #include -#ifndef __APPLE__ // /Applications/Xcode-14.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/tgmath.h(39): Error: named parameter required before `...` #include #ifndef _MSC_VER // C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\corecrt_math.h(93): Error: reinterpretation through overlapped field `f` is not allowed in CTFE float x = NAN; #endif -#endif #ifndef _MSC_VER // setjmp.h(51): Error: missing tag `identifier` after `struct #include diff --git a/druntime/src/importc.h b/druntime/src/importc.h index 959959fc64..dcca9ea5d4 100644 --- a/druntime/src/importc.h +++ b/druntime/src/importc.h @@ -168,12 +168,12 @@ typedef unsigned long long __uint64_t; */ #define __STDC_NO_VLA__ 1 +#define _Float16 float #if linux // Microsoft won't allow the following macro // Ubuntu's assert.h uses this #define __PRETTY_FUNCTION__ __func__ #ifndef __aarch64__ -#define _Float16 float #define _Float32 float #define _Float32x double #define _Float64 double From 0aee4697bdabbd81048c98e971fb8e12e285b71d Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 10 Apr 2025 01:19:58 +0200 Subject: [PATCH 30/32] Fix #21189 - wrong/missing error line when source file isn't regular (#21190) --- compiler/src/dmd/errors.d | 14 ++++------- compiler/src/dmd/frontend.h | 4 +++- compiler/src/dmd/globals.h | 1 + compiler/src/dmd/lexer.d | 4 ++-- compiler/src/dmd/location.d | 23 +++++++++++-------- compiler/test/compilable/pragmapack.c | 2 +- .../fail_compilation/fail_pretty_errors.d | 18 ++++++++------- compiler/test/fail_compilation/failcstuff6.c | 3 +++ 8 files changed, 39 insertions(+), 30 deletions(-) diff --git a/compiler/src/dmd/errors.d b/compiler/src/dmd/errors.d index 68bfa60a16..aa0be3a161 100644 --- a/compiler/src/dmd/errors.d +++ b/compiler/src/dmd/errors.d @@ -442,7 +442,7 @@ private struct ErrorInfo this.kind = kind; } - const SourceLoc loc; // location of error + const SourceLoc loc; // location of error Classification headerColor; // color to set `header` output to const(char)* p1; // additional message prefix const(char)* p2; // additional message prefix @@ -731,13 +731,9 @@ private void verrorPrint(const(char)* format, va_list ap, ref ErrorInfo info) !loc.filename.startsWith(".d-mixin-") && !global.params.mixinOut.doOutput) { - import dmd.root.filename : FileName; - if (auto text = cast(const(char[])) global.fileManager.getFileContents(FileName(loc.filename))) - { - tmp.reset(); - printErrorLineContext(tmp, text, loc.fileOffset); - fputs(tmp.peekChars(), stderr); - } + tmp.reset(); + printErrorLineContext(tmp, loc.fileContent, loc.fileOffset); + fputs(tmp.peekChars(), stderr); } old_loc = loc; fflush(stderr); // ensure it gets written out in case of compiler aborts @@ -750,7 +746,7 @@ private void printErrorLineContext(ref OutBuffer buf, const(char)[] text, size_t import dmd.root.utf : utf_decodeChar; if (offset >= text.length) - return; // Out of bounds (can happen in pre-processed C files currently) + return; // Out of bounds (missing source content in SourceLoc) // Scan backwards for beginning of line size_t s = offset; diff --git a/compiler/src/dmd/frontend.h b/compiler/src/dmd/frontend.h index 730d53e489..910dd0d037 100644 --- a/compiler/src/dmd/frontend.h +++ b/compiler/src/dmd/frontend.h @@ -383,12 +383,14 @@ struct SourceLoc final uint32_t line; uint32_t column; uint32_t fileOffset; + _d_dynamicArray< const char > fileContent; const char* toChars(bool showColumns = Loc::showColumns, MessageStyle messageStyle = Loc::messageStyle) const; SourceLoc() : filename(), line(), column(), - fileOffset() + fileOffset(), + fileContent() { } }; diff --git a/compiler/src/dmd/globals.h b/compiler/src/dmd/globals.h index 59952a2c10..62a575e322 100644 --- a/compiler/src/dmd/globals.h +++ b/compiler/src/dmd/globals.h @@ -421,6 +421,7 @@ struct SourceLoc uint32_t line; uint32_t column; uint32_t fileOffset; + DString fileContent; }; struct Loc diff --git a/compiler/src/dmd/lexer.d b/compiler/src/dmd/lexer.d index 63313ac2ed..ed9f7f1ce7 100644 --- a/compiler/src/dmd/lexer.d +++ b/compiler/src/dmd/lexer.d @@ -132,7 +132,7 @@ class Lexer // debug printf("Lexer::Lexer(%p)\n", base); // debug printf("lexer.filename = %s\n", filename); token = Token.init; - this.baseLoc = newBaseLoc(filename, endoffset); + this.baseLoc = newBaseLoc(filename, base[0 .. endoffset]); this.linnum = 1; this.base = base; this.end = base + endoffset; @@ -224,7 +224,7 @@ class Lexer inTokenStringConstant = 0; lastDocLine = 0; - baseLoc = newBaseLoc("#defines", slice.length); + baseLoc = newBaseLoc("#defines", slice); scanloc = baseLoc.getLoc(0); } diff --git a/compiler/src/dmd/location.d b/compiler/src/dmd/location.d index 54b3fb6e0a..393ffb8a92 100644 --- a/compiler/src/dmd/location.d +++ b/compiler/src/dmd/location.d @@ -64,7 +64,7 @@ nothrow: extern (C++) static Loc singleFilename(const char* filename) { Loc result; - locFileTable ~= new BaseLoc(filename.toDString, locIndex, 0, [0]); + locFileTable ~= new BaseLoc(filename.toDString, null, locIndex, 0, [0]); result.index = locIndex++; return result; } @@ -235,16 +235,20 @@ struct SourceLoc uint column; /// column number (starts at 1) uint fileOffset; /// byte index into file + /// Index `fileOffset` into this to to obtain source code context of this location + const(char)[] fileContent; + // aliases for backwards compatibility alias linnum = line; alias charnum = column; - this(const(char)[] filename, uint line, uint column, uint fileOffset = 0) nothrow @nogc pure @safe + this(const(char)[] filename, uint line, uint column, uint fileOffset = 0, const(char)[] fileContent = null) nothrow @nogc pure @safe { this.filename = filename; this.line = line; this.column = column; this.fileOffset = fileOffset; + this.fileContent = fileContent; } this(Loc loc) nothrow @nogc @trusted @@ -300,15 +304,15 @@ private size_t fileTableIndex(uint index) nothrow @nogc * Create a new source location map for a file * Params: * filename = source file name - * size = space to reserve for locations, equal to the file size in bytes + * fileContent = content of source file * Returns: new BaseLoc */ -BaseLoc* newBaseLoc(const(char)* filename, size_t size) nothrow +BaseLoc* newBaseLoc(const(char)* filename, const(char)[] fileContent) nothrow { - locFileTable ~= new BaseLoc(filename.toDString, locIndex, 1, [0]); + locFileTable ~= new BaseLoc(filename.toDString, fileContent, locIndex, 1, [0]); // Careful: the endloc of a FuncDeclaration can // point to 1 past the very last byte in the file, so account for that - locIndex += size + 1; + locIndex += fileContent.length + 1; return locFileTable[$ - 1]; } @@ -354,6 +358,7 @@ struct BaseLoc @safe nothrow: const(char)[] filename; /// Source file name + const(char)[] fileContents; /// Source file contents uint startIndex; /// Subtract this from Loc.index to get file offset int startLine = 1; /// Line number at index 0 uint[] lines; /// For each line, the file offset at which it starts. At index 0 there's always a 0 entry. @@ -384,11 +389,11 @@ struct BaseLoc { auto fname = filename.toDString; if (substitutions.length == 0) - substitutions ~= BaseLoc(this.filename, 0, 0); + substitutions ~= BaseLoc(this.filename, null, 0, 0); if (fname.length == 0) fname = substitutions[$ - 1].filename; - substitutions ~= BaseLoc(fname, offset, cast(int) (line - lines.length + startLine - 2)); + substitutions ~= BaseLoc(fname, null, offset, cast(int) (line - lines.length + startLine - 2)); } /// Returns: `loc` modified by substitutions from #file / #line directives @@ -408,7 +413,7 @@ struct BaseLoc private SourceLoc getSourceLoc(uint offset) @nogc { const i = getLineIndex(offset); - const sl = SourceLoc(filename, cast(int) (i + startLine), cast(int) (1 + offset - lines[i]), offset); + const sl = SourceLoc(filename, cast(int) (i + startLine), cast(int) (1 + offset - lines[i]), offset, fileContents); return substitute(sl); } diff --git a/compiler/test/compilable/pragmapack.c b/compiler/test/compilable/pragmapack.c index 7c2470e566..938c7cde4d 100644 --- a/compiler/test/compilable/pragmapack.c +++ b/compiler/test/compilable/pragmapack.c @@ -1,4 +1,4 @@ -/* REQUIRED_ARGS: -wi +/* REQUIRED_ARGS: -wi -verrors=simple TEST_OUTPUT: --- compilable/pragmapack.c(101): Warning: current pack attribute is default diff --git a/compiler/test/fail_compilation/fail_pretty_errors.d b/compiler/test/fail_compilation/fail_pretty_errors.d index 2016a50175..79242b163e 100644 --- a/compiler/test/fail_compilation/fail_pretty_errors.d +++ b/compiler/test/fail_compilation/fail_pretty_errors.d @@ -1,22 +1,24 @@ -/* +/* REQUIRED_ARGS: -verrors=context TEST_OUTPUT: --- -fail_compilation/fail_pretty_errors.d(27): Error: undefined identifier `a` +fail_compilation/fail_pretty_errors.d(29): Error: undefined identifier `a` a = 1; ^ -fail_compilation/fail_pretty_errors.d-mixin-32(32): Error: undefined identifier `b` -fail_compilation/fail_pretty_errors.d(37): Error: cannot implicitly convert expression `5` of type `int` to `string` +fail_compilation/fail_pretty_errors.d-mixin-34(34): Error: undefined identifier `b` +b = 1; +^ +fail_compilation/fail_pretty_errors.d(39): Error: cannot implicitly convert expression `5` of type `int` to `string` string x = 5; ^ -fail_compilation/fail_pretty_errors.d(42): Error: mixin `fail_pretty_errors.testMixin2.mixinTemplate!()` error instantiating +fail_compilation/fail_pretty_errors.d(44): Error: mixin `fail_pretty_errors.testMixin2.mixinTemplate!()` error instantiating mixin mixinTemplate; ^ -fail_compilation/fail_pretty_errors.d(48): Error: invalid array operation `"" + ""` (possible missing []) +fail_compilation/fail_pretty_errors.d(50): Error: invalid array operation `"" + ""` (possible missing []) auto x = ""+""; ^ -fail_compilation/fail_pretty_errors.d(48): did you mean to concatenate (`"" ~ ""`) instead ? -fail_compilation/fail_pretty_errors.d(51): Error: cannot implicitly convert expression `1111` of type `int` to `byte` +fail_compilation/fail_pretty_errors.d(50): did you mean to concatenate (`"" ~ ""`) instead ? +fail_compilation/fail_pretty_errors.d(53): Error: cannot implicitly convert expression `1111` of type `int` to `byte` byte ɑ = 1111; ^ --- diff --git a/compiler/test/fail_compilation/failcstuff6.c b/compiler/test/fail_compilation/failcstuff6.c index 88c541ca64..24ea19c81d 100644 --- a/compiler/test/fail_compilation/failcstuff6.c +++ b/compiler/test/fail_compilation/failcstuff6.c @@ -1,7 +1,10 @@ // check dsymbolSemantic analysis of C files /* TEST_OUTPUT: +REQUIRED_ARGS: -verrors=context --- fail_compilation/failcstuff6.c(56): Error: enum member `failcstuff6.test_overflow.boom` initialization with `2147483647+1` causes overflow for type `int` + boom, + ^ --- */ From bb25d82a3bd83a479ac511d6d23a55a117804a2c Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Thu, 10 Apr 2025 23:03:54 +0200 Subject: [PATCH 31/32] build.d: Fix dependencies on generated string-import files (#21192) This is just a byproduct of taking a closer look at this code, as part of investigating the recent CI failures on Windows, where the VERSION and SYSCONFDIR.imp rules seem to run twice - and then fail for the 2nd run, Windows complaining about another process using the file. I guess that could be an Anti-malware process running right after creating the file the first time. And both rules check the file contents as part of their condition, so if the rule is processed twice, we try to immediately read its contents after the write. Each of these 2 auto-generated files is string-imported exactly once: * `SYSCONFDIR.imp` in the driver's `dmd/dinifile.d` (and actually on Posix only) * `VERSION` in the lexer's `dmd/globals.d` I've revised the deps accordingly, which might avoid processing these rules multiple times as a side-effect. --- compiler/src/build.d | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/compiler/src/build.d b/compiler/src/build.d index 18dd9a531d..2bc12af6b4 100755 --- a/compiler/src/build.d +++ b/compiler/src/build.d @@ -263,7 +263,6 @@ alias lexer = makeRuleWithArgs!((MethodInitializer!BuildRule builder, BuildRule .sources(sources.lexer) .deps([ versionFile, - sysconfDirFile, common(suffix, extraFlags) ]) .msg("(DC) LEXER" ~ suffix) @@ -378,7 +377,7 @@ alias backend = makeRuleWithArgs!((MethodInitializer!BuildRule builder, BuildRul ).array) ); -/// Returns: the rules that generate required string files: VERSION and SYSCONFDIR.imp +/// Returns: the rule that generates string-import file `VERSION` (for the lexer) alias versionFile = makeRule!((builder, rule) { alias contents = memoize!(() { if (dmdRepo.buildPath(".git").exists) @@ -420,6 +419,7 @@ alias versionFile = makeRule!((builder, rule) { .commandFunction(() => writeText(rule.target, contents)); }); +/// Returns: the rule that generates string-import file `SYSCONFDIR.imp` (for the driver) alias sysconfDirFile = makeRule!((builder, rule) => builder .target(env["G"].buildPath("SYSCONFDIR.imp")) .condition(() => !rule.target.exists || rule.target.readText != env["SYSCONFDIR"]) @@ -469,7 +469,7 @@ alias dmdExe = makeRuleWithArgs!((MethodInitializer!BuildRule builder, BuildRule .sources(dmdSources.chain(lexer.targets, backend.targets, common.targets).array) .target(env["DMD_PATH"] ~ targetSuffix) .msg("(DC) DMD" ~ targetSuffix) - .deps([lexer, backend, common]) + .deps([sysconfDirFile, lexer, backend, common]) .command([ env["HOST_DMD_RUN"], "-of" ~ rule.target, @@ -757,13 +757,15 @@ alias runCxxUnittest = makeRule!((runCxxBuilder, runCxxRule) { .name("cxx-unittest") .description("Build the C++ unittests") .msg("(DC) CXX-UNITTEST") - .deps([lexer(null, null), cxxFrontend]) + .deps([sysconfDirFile, lexer(null, null), cxxFrontend]) .sources(sources.dmd.driver ~ sources.dmd.frontend ~ sources.root ~ sources.common ~ env["D"].buildPath("cxxfrontend.d")) .target(env["G"].buildPath("cxx-unittest").exeName) .command([ env["HOST_DMD_RUN"], "-of=" ~ exeRule.target, "-vtls", "-J" ~ env["RES"], "-L-lstdc++", "-version=NoMain", "-version=NoBackend" ].chain( - flags["DFLAGS"], exeRule.sources, exeRule.deps.map!(d => d.target) + flags["DFLAGS"], exeRule.sources, + // don't compile deps[0], the SYSCONFDIR.imp string-import file + exeRule.deps[1 .. $].map!(d => d.target) ).array) ); @@ -967,7 +969,7 @@ alias html = makeRule!((htmlBuilder, htmlRule) { .sources(sourceArray) .target(env["DOC_OUTPUT_DIR"].buildPath(d2html(source)[srcDir.length + 1..$] .replace(dirSeparator, "_"))) - .deps([dmdDefault, versionFile, sysconfDirFile]) + .deps([dmdDefault]) .command([ dmdDefault.deps[0].target, "-o-", From 1b34fea4788136b54ec77c6ed9678754d109fc79 Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 10 Apr 2025 23:05:48 +0200 Subject: [PATCH 32/32] Fix #21179 - Failure to convert const(T) to T after type is used in cast() (#21201) --- compiler/src/dmd/typesem.d | 16 +++++++++++++--- compiler/test/compilable/test21179.d | 11 +++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 compiler/test/compilable/test21179.d diff --git a/compiler/src/dmd/typesem.d b/compiler/src/dmd/typesem.d index 3bc0489bff..d4c7a5865d 100644 --- a/compiler/src/dmd/typesem.d +++ b/compiler/src/dmd/typesem.d @@ -3266,9 +3266,19 @@ Type merge(Type type) case Tsarray: // prevents generating the mangle if the array dim is not yet known - if (!type.isTypeSArray().dim.isIntegerExp()) - return type; - goto default; + if (auto ie = type.isTypeSArray().dim.isIntegerExp()) + { + // After TypeSemantic, the length is always converted to size_t, but the parser + // usually generates regular integer types (e.g. in cast(const ubyte[2])) which + // it may try to merge, which then leads to failing implicit conversions as 2LU != 2 + // according to Expression.equals. Only merge array types with size_t lengths for now. + // https://github.com/dlang/dmd/issues/21179 + if (ie.type != Type.tsize_t) + return type; + + goto default; + } + return type; case Tenum: break; diff --git a/compiler/test/compilable/test21179.d b/compiler/test/compilable/test21179.d new file mode 100644 index 0000000000..78bdffda55 --- /dev/null +++ b/compiler/test/compilable/test21179.d @@ -0,0 +1,11 @@ +// https://github.com/dlang/dmd/issues/21179 + +void bigEndianToNative(ubyte[2] a) {} + +void main() +{ + ubyte[] arr; + const ubyte[2] bytes; + bigEndianToNative(bytes); + auto b = cast(const ubyte[2][]) arr; +}