Skip to content

Fixes for bug 4833 #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 3, 2011
Merged

Fixes for bug 4833 #6

merged 2 commits into from
Apr 3, 2011

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