Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.
/ druntime Public archive

Conversation

@ibuclaw
Copy link
Member

@ibuclaw ibuclaw commented Dec 16, 2018

Replaces #2258.

@dlang-bot
Copy link
Contributor

Thanks for your pull request, @ibuclaw!

Bugzilla references

Auto-close Bugzilla Severity Description
19128 enhancement argument to alloca may be too large

Testing this PR locally

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

dub fetch digger
dub run digger -- build "master + druntime#2409"

@ibuclaw
Copy link
Member Author

ibuclaw commented Dec 17, 2018

Dammit windows, doesn't support basic functionality.

Error: cannot mix `core.std.stdlib.alloca()` and exception handling in `_d_arrayassign()`
--- errorlevel 1

@ibuclaw
Copy link
Member Author

ibuclaw commented Dec 17, 2018

Only fixed _d_arraysetassign to not use scope(exit).

For _d_arrayassign partially reverted back to use void[16] if the element fits, otherwise always use malloc(). This is fine IMO, as this function is deprecated, and the compiler should be calling _d_arrayassign_l directly itself.

}
else
tmp = buf[];
// Need a temporary buffer tmp[] big enough to hold one element
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Need a temporary buffer tmp[] big enough to hold one element
// Need a temporary buffer big enough to hold one element.
// Stack allocate if element_size < 512.

Copy link
Member

@PetarKirov PetarKirov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if it makes sense to abstract the repeated code via mixins. Otherwise LGTM, modulo nits on the comments.

@thewilsonator
Copy link
Contributor

Please give the a kick, FreeBSD seems to be getting a lot of those socket errors.

@wilzbach
Copy link
Contributor

Please give the a kick, FreeBSD seems to be getting a lot of those socket errors.

Auto-tester's agents will automatically restart.

@wilzbach wilzbach merged commit ab890e0 into dlang:master Dec 18, 2018
@wilzbach
Copy link
Contributor

Though I merged this manually as currently some Buildkite agents are running into timeouts.

chunorig pushed a commit to chunorig/gcc-kludges that referenced this pull request Jan 26, 2019
Commits merged from druntime.

    Fix struct tls_index definition on x32
    dlang/druntime#2354

    Update SectionGroup signatures to match on all targets
    dlang/druntime#2401

    Fix issue 19128 - argument to alloca may be too large
    dlang/druntime#2409

    Define some common filesystem limits in core.stdc.limits
    dlang/druntime#2460

    Use version Darwin instead of OSX in core.sys.posix.aio
    dlang/druntime#2470

Commits merged from phobos.

    Don't run HardFloat tests on SoftFloat systems
    dlang/phobos#5358

    Remove reliance on stdin, stdout, stderr being aliasable
    dlang/phobos#5718

    Solaris: add import clock_gettime to currStdTime
    dlang/phobos#5807

    Don't print debug messages when building unittests
    dlang/phobos#6827

    Add HPPA support to phobos
    Fixes https://gcc.gnu.org/PR89054
    dlang/phobos#6836

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@268293 138bc75d-0d04-0410-961f-82ee72b054a4
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Enhancement New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants