[Issue 15504] core.demangle uses exception handling for normal control flow

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15504

RazvanN  changed:

   What|Removed |Added

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

--- Comment #3 from RazvanN  ---
Some progress in this regard:
https://github.com/ljmf00/demangler/tree/basic-implementation

--


[Issue 24043] DMD does not emit IBT/BTI instructions

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=24043

--- Comment #3 from Brian Callahan  ---
For completeness, this is the -fcf-protection=branch flag on GCC and Clang.

--


[Issue 24043] DMD does not emit IBT/BTI instructions

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=24043

Iain Buclaw  changed:

   What|Removed |Added

 CC||ibuc...@gdcproject.org
 Blocks||20933


Referenced Issues:

https://issues.dlang.org/show_bug.cgi?id=20933
[Issue 20933] druntime: core.thread doesn't support shadow stack
--


[Issue 20933] druntime: core.thread doesn't support shadow stack

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20933

Iain Buclaw  changed:

   What|Removed |Added

 Depends on||24043


Referenced Issues:

https://issues.dlang.org/show_bug.cgi?id=24043
[Issue 24043] DMD does not emit IBT/BTI instructions
--


[Issue 24043] DMD does not emit IBT/BTI instructions

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=24043

--- Comment #2 from Brian Callahan  ---
ENDBR and NOTRACK

--


[Issue 24043] DMD does not emit IBT/BTI instructions

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=24043

Dennis  changed:

   What|Removed |Added

 CC||dkor...@live.nl
   Hardware|x86 |All
 OS|Windows |Other

--- Comment #1 from Dennis  ---
Forum link:
https://forum.dlang.org/thread/ertsopsczhtgstoqu...@forum.dlang.org?page=1

It would help if you could explain or give references explaining what "proper
instructions for IBT/BTI" are.

--


[Issue 24043] New: DMD does not emit IBT/BTI instructions

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=24043

  Issue ID: 24043
   Summary: DMD does not emit IBT/BTI instructions
   Product: D
   Version: D2
  Hardware: x86
OS: Windows
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: bcal...@openbsd.org

I asked on the forum. Putting this here as well.

OpenBSD moved to an IBT/BTI world. This causes binaries created with DMD to
fail, as DMD does not emit the proper instructions for IBT/BTI.

It would be good to bring DMD into the IBT/BTI world, as the world is likely
moving in this direction.

--


[Issue 24041] Anon enum member ignores repeated type or identifier

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=24041

--- Comment #2 from Dlang Bot  ---
@ntrel created dlang/dmd pull request #15397 "[dmd/parse] Refactor enum
declaration" fixing this issue:

- Fix Issue 24041 - Anon enum member ignores repeated type or identifier

  Also adds test for missing initializer when type is specified and tweaks
  that error.

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

--


[Issue 24034] Changing this in constructor allows to modify immutable members of other instance

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=24034

RazvanN  changed:

   What|Removed |Added

 CC||razvan.nitu1...@gmail.com
   Severity|normal  |regression

--- Comment #1 from RazvanN  ---
Yeah, this is bad. I guess `this` should not be modifiable for classes when
used in constructors. For normal functions it could be allowed.

--


[Issue 24032] Compiler is parsing string parameters to Templates

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=24032

Dennis  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||dkor...@live.nl
   Hardware|x86_64  |All
 Resolution|--- |INVALID
 OS|Linux   |All

--- Comment #7 from Dennis  ---
Like FeepingCreature said, q{} is a string of D tokens, typically used for
string mixin purposes. dmd's behavior is correct. Please use a different string
literal kind for strings with code from other languages.

--


[Issue 18998] Improve Operator Overloading docs

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18998

--- Comment #7 from Dlang Bot  ---
dlang/dlang.org pull request #3652 "[spec] Improve opCast & `opCast!bool` docs"
was merged into master:

- a6cfd0db7b7f74ec27c2d908d017d82e5355023b by Nick Treleaven:
  Part of
  Issue 18998 - Improve Operator Overloading docs

https://github.com/dlang/dlang.org/pull/3652

--


[Issue 23648] Replace all sprintf with snprintf

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23648

RazvanN  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||razvan.nitu1...@gmail.com
 Resolution|--- |FIXED

--- Comment #4 from RazvanN  ---
The bug report has been closed because the initial claim has been resolved.
Please do not reopen bug reports, instead file new ones.

However, for this particular case I don't think that is necessary since
underflow is not an issue.

--


[Issue 5636] Array ops use lexicographic comparison instead of vector-style element-wise

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5636

Dlang Bot  changed:

   What|Removed |Added

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

--- Comment #8 from Dlang Bot  ---
dlang/dlang.org pull request #3654 "[spec/arrays] Improve vector operations
docs" was merged into master:

- 53199ba50e78879f72401489bbbd38314768ed5e by Nick Treleaven:
  [spec/arrays] Improve vector operations docs

  Change title to Vector Operations, array operations is not precise enough
  IMO and hard to google for.
  Define which operations are supported.
  Rewrite example & make runnable.
  Add note warning about invalid expressions for vector op.

  Fixes Issue 5636 - Array ops use lexicographic comparison instead of
  vector-style element-wise.

https://github.com/dlang/dlang.org/pull/3654

--


[Issue 23571] Discussion of manifest constants in enum documentation is confusing at best

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23571

Dlang Bot  changed:

   What|Removed |Added

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

--- Comment #2 from Dlang Bot  ---
dlang/dlang.org pull request #3656 "[spec/enum] Tweak docs" was merged into
master:

- 163573882de65df967d0048486f31cdc3fda23dc by Nick Treleaven:
  [spec/enum] Tweak docs

  Move EnumMember above EnumMemberAttributes, as it is mentioned first.
  Split anonymous enums into separate grammar block.
  Add subheading for single member syntax.
  Explain that all enum members are manifest constants.
  Fix Issue 23571 - Discussion of manifest constants in enum documentation
  is confusing at best.

https://github.com/dlang/dlang.org/pull/3656

--


[Issue 23850] Differentiate between a module that is in binary vs outside of binary when including -I

2023-07-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=23850

--- Comment #4 from Richard Cattermole  ---
I have unfortunately hit a problem with LDC. There was a type declared in a
-betterC DLL, this type had its __initZ symbol exported. It was referenced by a
TypeInfo generated for an executable that depended on that DLL. The __initZ
symbol was undefined. This situation was very easy to trigger.

The workaround was to use the dllimport override flag in the executable to
force it to see the __initZ symbol. Of course, this means users of my code will
have to manually add this switch.

My proposal for this switch, would have allowed dllimport mode to be placed
upon the DLL module, as it was known to be external to the binary.

This gives me more confidence in saying, this will be a requirement if we ever
want to get shared library support to 100% and not require the override
switches to be used under normal circumstances.

https://github.com/ldc-developers/ldc/issues/4434

--