Skip to content

Comments

Fixes for bug 4833#6

Merged
WalterBright merged 2 commits intodlang:masterfrom
braddr:bug4833
Apr 3, 2011
Merged

Fixes for bug 4833#6
WalterBright merged 2 commits intodlang:masterfrom
braddr:bug4833

Conversation

@braddr
Copy link
Member

@braddr braddr commented Feb 14, 2011

dmd test.d --> no map
dmd -map test.d -> test.map
dmd -map -odoutput test.d -> output/test.map
dmd -map -ofoutput test.d -> output.map
dmd -map -ofobj/output test.d -> obj/{output,output.map,output.o}
dmd -map -odobj -ofmytest test.d -> obj/mytest.map

unchanged:
dmd -map somespecificpath.map test.d -> somespacificpath.map

@WalterBright WalterBright merged commit 6f1c92e into dlang:master Apr 3, 2011
braddr pushed a commit to braddr/dmd that referenced this pull request Jul 28, 2011
This is a fix for the bug which is dlang#6 on my list. CTFE has not been
checking for usage of local variables, and this creates a host of
problems.
Several forms of ICE and wrong-code are fixed by this patch.

Another drop-in replacement for interpret.c on both D1 and D2. But you
also need to modify
declaration.c, line 1554. Remove the check for !isDataSeg(), it's wrong.
Also need the != 0, because it returns an int, not a bool.
Function becomes:

int VarDeclaration::isCTFE()
{
    return (storage_class & STCctfe) != 0;
}

This is the underlying bug -- a local variable in a function isn't
CTFEable just because it's not a static; the function it's in must
have have been CTFEd. This necessitates many small changes in
interpret.c.

Fixes
4257 ICE(interpret.c): passing parameter into CTFE as ref parameter

Bug 3809 is the only open wrong-code regression, this patch also turns
it into rejects-valid:
3809 Struct initializers apparently always CTFE'd, and incorrectly
MartinNowak pushed a commit that referenced this pull request May 3, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Aug 13, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Aug 13, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Aug 31, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Aug 31, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Sep 1, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Sep 1, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Sep 4, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Sep 4, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Sep 19, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Sep 19, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Sep 25, 2016
UplinkCoder added a commit to UplinkCoder/dmd that referenced this pull request Sep 25, 2016
kinke pushed a commit that referenced this pull request Nov 14, 2024
Add hooks for pre and post suspend events.
gorsing referenced this pull request in gorsing/dmd Jul 14, 2025
# This is the 1st commit message:

refactoring

# This is the commit message #2:

refactoring

# This is the commit message #3:

refactoring

# This is the commit message #4:

refactoring

# This is the commit message #5:

refactoring

# This is the commit message #6:

refactoring

# This is the commit message #7:

refactoring

# This is the commit message #8:

refactor/irstate-attrs

refactoring

add pragma(inline, true)

change pragma(inline, true) -> pragma(inline, false)

introduce root.Array.only and test it out in expressionsem (dlang#21520)

[attrib.d] remove unused semantic import

[dstruct.d] remove unused import

[aggregate.d] move `searchCtor` to `expressionsem.d`

remove some now unused semantic symbols from the import list.

[cond.d] remove unused `typesem` import (dlang#21538)

[expression.d] restrict `typesem` import

fix dlang#19587 No debug line info for simple code blocks (dlang#21544)

set location info on return statement, not only on return expression

[dsymbol.d] remove dependance on glue layer (dlang#21532)

move `loadModuleFromLibrary` to `dsymbolsem.d` (dlang#21535)

remove `dmodule.d` dependance of a few more `dsymbolsem.d` symbols.

[func.d] remove dependance on glue layer (dlang#21534)

[aggregate.d] move `checkOverlappedFields` to `dsymbolsem.d` (dlang#21542)

and make private

Templatize `_adEq2` (dlang#21513)

* Mark array literals as `on-stack` to bypass `@nogc` analysis

* Update `fail_compilation` test output

After updating the memcmp-ability criteria, now dynamic array can also
be compared using `memcmp` if their element type is comparable bit by
bit.

refactor: use new array constructor throughout expressionsem

refactoring

refactoring

refactoring

refactoring

refactoring

refactoring

refactoring

refactoring

refactoring
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants