Skip to content

Comments

merge stable#15609

Merged
ibuclaw merged 19 commits intodlang:masterfrom
ibuclaw:merge_stable
Sep 16, 2023
Merged

merge stable#15609
ibuclaw merged 19 commits intodlang:masterfrom
ibuclaw:merge_stable

Conversation

@ibuclaw
Copy link
Member

@ibuclaw ibuclaw commented Sep 15, 2023

RazvanN7 and others added 18 commits August 3, 2023 15:14
…ssed an opaque class (dlang#15495)

* Fix Issue 24066 - __traits(isAbstractClass) causes a segfault when passed an opaque class

* Update comment

Co-authored-by: Dennis <dkorpel@users.noreply.github.com>

---------

Co-authored-by: Dennis <dkorpel@users.noreply.github.com>
[stable] Make enum function a deprecation, not an error

Signed-off-by: Dennis <dkorpel@users.noreply.github.com>
Signed-off-by: Vladimir Panteleev <CyberShadow@users.noreply.github.com>
Signed-off-by: Petar Kirov <PetarKirov@users.noreply.github.com>
Merged-on-behalf-of: Vladimir Panteleev <CyberShadow@users.noreply.github.com>
…t recognized correctly as declarations.

The fix was simply to amend `isDeclarator` to look for TOK.goesTo (i.e. `=>`)
Without this limitation, the code could incorrectly concatenate
`["c"] ~ "a" ~ "b"` as `["c"] ~ "ab"`, which was incorrect.

Signed-off-by: Teodor Dutu <teodor.dutu@gmail.com>
…for uClibc that only works when real and double are the same size
I guess the recent removal of module constructors in druntime has
brought these to light, for a little LDC ASan smoke test, which
newly complains with D v2.105, e.g.:

> Direct leak of 78624 byte(s) in 126 object(s) allocated from:
>     #0 0x55606978c40d in malloc /local/mnt/workspace/tmp/final/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3
>     #1 0x5560698050b1 in _D2rt5minfo11ModuleGroup9sortCtorsMFNbAyaZv
…ing via TypeInfo_Struct (dlang#15598)

For the `TypeInfo_Struct.xdtor` field, the linkage of the aggregate
itself plays no role; it's the linkage of the destructor that matters.

A real-life example for this is DMD's own `OutBuffer`.
…5604)

* Print an ICE message for Loc.filename overflows
* Increase the Loc size again, raising the file name limit from 64K
  to 4G but keeping the index indirection from dlang#15199. The `Loc`
  size for DMD-as-a-library is 16 bytes then, and 12 bytes otherwise.
@dlang-bot
Copy link
Contributor

Thanks for your pull request, @ibuclaw!

Bugzilla references

Auto-close Bugzilla Severity Description
24065 critical __traits(getTargetInfo) causes a segfault when passed a non value
24066 regression __traits(isAbstractClass) causes a segfault when passed an opaque class
24070 normal Opaque struct with nested definition when taking pointer segfaults
24078 regression [REG] crash related to concatenation
24079 normal core.sys.windows.winnt.IMAGE_FIRST_SECTION returns bad pointer
24088 minor A nested function that returns a tuple that is written with short syntax function does not want to compile.
24106 normal core.stdc.math provides an implementation of modfl for uClibc that only works when real and double are the same size
24109 regression [REG2.103] 'need this' when invoking outer method from inner method
24110 regression [REG2.104] Array comparison lowering apparently not handled properly in __traits(compiles)
24118 regression ICE / regression from 2.103.1 - segfault on CTFE only code in 2.104.2 and 2.105.0
24139 major 'this' corruption in extern(C++) dtor when destructing via TypeInfo_Struct
24144 regression [REG2.105] Silent file name index overflow

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#15609"

@ibuclaw ibuclaw merged commit 59e224a into dlang:master Sep 16, 2023
@ibuclaw ibuclaw deleted the merge_stable branch September 16, 2023 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants