[Issue 23143] New: ImportC: forward enum declarations result in uninformative errors

2022-05-27 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23143

  Issue ID: 23143
   Summary: ImportC: forward enum declarations result in
uninformative errors
   Product: D
   Version: D2
  Hardware: x86
OS: Windows
Status: NEW
  Keywords: ImportC
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: maxsamu...@gmail.com

Test case 1:

enum _POOL_TYPE;

enum _POOL_TYPE {
NonPagedPool,
NonPagedPoolExecute = NonPagedPool
};

Error: `enum _POOL_TYPE` has no members


Test case 2:

typedef enum _POOL_TYPE POOL_TYPE;

enum _POOL_TYPE {
NonPagedPool,
NonPagedPoolExecute = NonPagedPool
};

Error: undefined identifier `NonPagedPool`

Forward enum declarations are forbidden by C11. However, they are used in
Windows SDK headers, and there are no workarounds that wouldn't involve
additional preprocessing.

--


[Issue 23114] Can't use noreturn operand in arithmetic expression

2022-05-27 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23114

Dlang Bot  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Dlang Bot  ---
dlang/dmd pull request #14134 "Fix Issue 23114 - Make noreturn conversions
work" was merged into stable:

- 8d9c0a33cecc5ff281659962a723f18a7bfd168f by mhh:
  Fix Issue 23114 - Make noreturn conversions work

https://github.com/dlang/dmd/pull/14134

--


[Issue 23088] spurious case of "`expression` has no effect"

2022-05-27 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23088

Dlang Bot  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Dlang Bot  ---
dlang/dmd pull request #14091 "Fix Issue 23088 - This bug is a symptom of a bad
error message." was merged into master:

- 3eedace3346b6245695f4c00ce6bae760cf7df57 by mhh:
  Fix Issue 23088 - This bug is a symptom of a bad error message.

  The expression (or rather it's context is still worthy of being illegal)

https://github.com/dlang/dmd/pull/14091

--


[Issue 23141] Improve -release switch description

2022-05-27 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23141

Dlang Bot  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Dlang Bot  ---
dlang/dmd pull request #14170 "Fix Issue 23141 - Improve -release switch
description" was merged into master:

- e67c62b43d211d994c2ce0c1b01967a007967118 by RazvanN7:
  Fix Issue 23141 - Improve -release switch description

https://github.com/dlang/dmd/pull/14170

--


[Issue 23114] Can't use noreturn operand in arithmetic expression

2022-05-27 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23114

--- Comment #3 from Dlang Bot  ---
@maxhaton updated dlang/dmd pull request #14091 "Fix Issue 23088 - This bug is
a symptom of a bad error message." fixing this issue:

- Fix Issue 23114 - Make noreturn conversions work

  This meant adding the correct implicit conversions to the table in
  impcnvtab.d

https://github.com/dlang/dmd/pull/14091

--