[Issue 22367] The __ModuleInfo member spuriously linked for modules compiler with -betterC

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=22367

--- Comment #7 from Walter Bright  ---
> $ dmd -betterC -lib mylib1.d mylib2.d

This compiles mylib1.d and mylib2.d, and creates a library file mylib.lib
containing the object code from both.

> $ dmd -I. mylib1 myexe.d -main

This compiles mylib1.d and myexe.d together to form an executable named
mylib1.exe. It fails to find anything from mylib2.d, because that wasn't given
on the command line. This is not a compiler bug.

I think what you really meant was:

dmd -betterC mylib1.d mylib2.d

which creates mylib1.obj into which is placed the compiled versions of mylib1.d
and mylib2.d

dmd -I. myexe.d mylib1.obj -main

which compiles myexe.d and links it to mylib1.obj, creating an executable named
myexe.exe. Or at least it tries to, as it gives:

myexe.obj(myexe)
 Error 42: Symbol Undefined __D6mylib212__ModuleInfoZ

because -betterC suppresses generating a ModuleInfo, while myexe.d expects it
to be there. This is a compiler bug, or at least a compiler problem.

--


[Issue 6019] Phobos imports in autogenerated .di header files break implicit linking with DLLs

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6019

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=22367

--


[Issue 9816] Export is mostly broken

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9816

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=22367

--


[Issue 22367] The __ModuleInfo member spuriously linked for modules compiler with -betterC

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=22367

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=6019,
   ||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=9816,
   ||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=4071

--


[Issue 4071] Missing support to share memory and objects between DLLs and executable

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4071

Walter Bright  changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=22367

--


[Issue 22367] The __ModuleInfo member spuriously linked for modules compiler with -betterC

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=22367

Walter Bright  changed:

   What|Removed |Added

   Keywords||dll

--


[Issue 23520] pragma(inline, false) not applied to nested function declaration

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23520

Iain Buclaw  changed:

   What|Removed |Added

   Keywords||wrong-code
 CC||ibuc...@gdcproject.org

--


[Issue 23520] New: pragma(inline, false) not applied to nested function declaration

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23520

  Issue ID: 23520
   Summary: pragma(inline, false) not applied to nested function
declaration
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: ibuc...@gdcproject.org

pragma(inline, false) inside a function applies to the outer function, not the
nested declaration it is apparently part of.
---
void inline(ref int x)
{
pragma(inline, false) static void noinline(ref int x) { }
return noinline(x);
}
---

Not a single call to the nested static function when compiled with inline.

--


[Issue 23519] New: Unnecessary and inconsistent restrictions on delegate subtyping

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23519

  Issue ID: 23519
   Summary: Unnecessary and inconsistent restrictions on delegate
subtyping
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Keywords: rejects-valid
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: timon.g...@gmx.ch

DMD v2.101.0:

class Super{}
class Sub: Super{}

void main(){
void delegate(Super) a0;
void delegate(Sub) b0=a0; // error

const(void delegate(Super))[] a1;
const(void delegate(Sub))[] b1=a1; // ok

Sub delegate() a2;
Super delegate() b2=a2; // ok

const(Sub delegate())[] a3;
const(Super delegate())[] b3=a3; // error
}

All of those should work.

--


[Issue 23518] buildkite ae Socket.bind error

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23518

Nick Treleaven  changed:

   What|Removed |Added

   Keywords||TestSuite

--


[Issue 23518] New: buildkite ae Socket.bind error

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23518

  Issue ID: 23518
   Summary: buildkite ae Socket.bind error
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: minor
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: n...@geany.org

buildkite often errors for me due to `ae` failing:

```
 Running ae-test-library
std.socket.SocketOSException@std/socket.d(2841): Unable to bind socket: Cannot
assign requested address

??:? @trusted void std.socket.Socket.bind(std.socket.Address) [0x55ba8484d144]
```
https://buildkite.com/dlang/dmd/builds/29012#0184c473-9a1b-45c8-b62f-310779ccadcf

--


[Issue 9352] Memory corruption in delegate called by struct dtor

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9352

RazvanN  changed:

   What|Removed |Added

 CC||luka8...@owave.net

--- Comment #5 from RazvanN  ---
*** Issue 9911 has been marked as a duplicate of this issue. ***

--


[Issue 9911] postblit not called when function is returning a initialized struct

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9911

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |DUPLICATE

--- Comment #2 from RazvanN  ---


*** This issue has been marked as a duplicate of issue 9352 ***

--


[Issue 9848] Better diagnostic when type declaration was not expected

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9848

RazvanN  changed:

   What|Removed |Added

   Keywords||bootcamp
 CC||razvan.nitu1...@gmail.com

--


[Issue 10123] Can't subtract positive number from length of array of struct with disabled default construction

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10123

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |INVALID

--


[Issue 10177] irrelevant compiler error messages: should stop semantic3 passes after 1st error is encountered

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=10177

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |WORKSFORME

--- Comment #4 from RazvanN  ---
I cannot reproduce this. Running `rdmd --force -unittest main.d` on the example
in comment 1 yields: test.d(3): Error: undefined identifier `b`.

--


[Issue 5207] Immutability is broken in constructors

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5207

--- Comment #9 from RazvanN  ---
Thinking more about this, isn't the idea of module constructors to not type
check qualifiers because it is considered that they are used to initialize data
before the program is actually run? For example, this works:

immutable int a;

shared static this()
{
a = 2;
a = 3;
}

I guess this should be documented.

--


[Issue 5187] Attribute hiding error or warning

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5187

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |WONTFIX

--- Comment #3 from RazvanN  ---
This is documented behavior [1]. There is no need to issue a warning for this.

[1] https://dlang.org/spec/class.html#fields

--


[Issue 5040] opOpAssign should be automatically visible for types.

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5040

RazvanN  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |WONTFIX

--- Comment #2 from RazvanN  ---
The operators may only be defined for classes and structs. For generic code,
the mixin construct may be used as previously stated. In D there is a
distinction between basic types and aggregate types and not all aggregate
operators make sense in the context of builtin types. Also, adding the extra
complexity in the compiler does not worth it, considering that we have a
perfectly valid workaround.

--


[Issue 23517] New: dmd with -g flag fails to link on macOS 13.0.1 (i368) with unaligned pointer

2022-11-29 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23517

  Issue ID: 23517
   Summary: dmd with -g flag fails to link on macOS 13.0.1 (i368)
with unaligned pointer
   Product: D
   Version: D2
  Hardware: x86
OS: Mac OS X
Status: NEW
  Severity: critical
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: paolo.inverni...@gmail.com

It looks like Apple's linker is getting tighter on what it will allow:


~/dlang/dmd-2.101.0/osx/bin/dmd -g hello.d
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: pointer not aligned at address 0x10007023A ('anon' + 570 from
hello.o)
ld: warning: pointer not aligned at address 0x100070257 ('anon' + 599 from
hello.o)
ld: warning: pointer not aligned at address 0x100070347 ('anon' + 839 from
hello.o)
ld: warning: pointer not aligned at address 0x100070382 ('anon' + 898 from
hello.o)
ld: warning: pointer not aligned at address 0x10007039E ('anon' + 926 from
hello.o)
ld: warning: pointer not aligned at address 0x1000703D6 ('anon' + 982 from
hello.o)
ld: warning: pointer not aligned at address 0x100070429 ('anon' + 1065 from
hello.o)
ld: warning: pointer not aligned at address 0x100070459 ('anon' + 1113 from
hello.o)
ld: warning: pointer not aligned at address 0x100070475 ('anon' + 1141 from
hello.o)
ld: unaligned pointer(s) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: linker exited with status 1

--