WIP: Upgrade frontend & libs to v2.113#5113
Draft
kinke wants to merge 489 commits intoldc-developers:masterfrom
Draft
WIP: Upgrade frontend & libs to v2.113#5113kinke wants to merge 489 commits intoldc-developers:masterfrom
kinke wants to merge 489 commits intoldc-developers:masterfrom
Conversation
…FrameRefs` to `funcsem` (dlang/dmd!22331)
…dlang/dmd!22343) Fix dlang/dmd!19733 - wrong real literals on windows use _atoldbl() from the MS runtime instead of strtold_dm to parse decimal floating point literals
…variant` to `funcsem` (dlang/dmd!22341)
…!22347)
Convert object-like macros whose value is a bare function-like macro
invocation (without outer parentheses):
#define FUNC(x) ((x) * 2)
#define RESULT FUNC(5) // Now converted to D
Previously only the parenthesized form was recognized:
#define RESULT (FUNC(5)) // Already worked
This is restricted to bare function calls only (not expressions like
`FUNC(5) + 1`) to preserve C semantics - function call `()` has highest
precedence in C, so bare calls have identical behavior in both languages.
…asier for GDC (dlang/dmd!22346)
…g/dmd!22349)
* ImportC: Add test for function-like macro calling another macro
Tests the `if (params) break;` branch in TOK.identifier case,
ensuring function-like macros with identifier bodies are handled
by caseFunctionLike, not the new nullary template path.
* ImportC: Replace unreachable branch with assertion
When we reach TOK.identifier case, params is always false because
if params were true (macro name followed by '('), the next token
would be TOK.leftParenthesis, not TOK.identifier.
Fix debug stomping size and safety in Array
fix for location of undefined identifier
That function was converted to a free-standing function in v2.113.
…n NRVO functions In the presence of an NRVO variable, `__result` is newly a *ref* variable.
…case range statement (dlang/dmd!22926) Fixes: dlang/dmd!22925
…r causes ICE (dlang/dmd!22941) CTFE used to check after interpreting if there were any changes, but it neglected the interpretation of the basis element, keeping it around uninterpreted which trips up the compiler down the line. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
… string literal causes segfault Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…sion In `elcond`, when restructuring `((a,b) ? c : d)` into `(a, (b ? c : d))`, `Ety` was copied to the new inner OPcond but `ET` was not. This left the OPcond with TYstruct Ety but null ET, causing `elstruct` to return early and `exp2_copytotemp` to crash with `assert(ty != TYstruct)`. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…equence (dlang/dmd!22914) * Fix dlang/dmd!21707 - segfault with -vcg-ast and foreach on a tuple sequence * List vcg-ast output as OUTPUT_FILES * Add expected output file to TEST_OUTPUT --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…ray type Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…set for struct arrays, fixing the segfault in rt_finalize2 during GC sweep (dlang/dmd!22884)
Conflicts: gen/asm-x86.h
Like DMD. After a quick search, it looks like only PPC64 has a v2. We've been predefining it for Linux only, do it for all ELF targets now. New test `runnable/sectiondefs.d` depends on these predefined versions to determine ELF targets.
…e subnormal Which LDC detects and rejects at parse time: ``` Error: number `1e-308` is not representable as a `double` ```
As tested by new compilable/issue22254.d.
Firstly, Apple targets diverge and don't have a special case for ARM64 wrt. anonymous bit fields contributing to the aggregate alignment: https://cpp.godbolt.org/z/44GcTKnvY Secondly, some `extern(D)` sizeofs were wrong (probably typos).
If initialized with a StringExp, as newly tested by runnable/testconst.d (dlang/dmd!21194).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.