Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

core.sys.posix.signal: add @system #3009

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

WalterBright
Copy link
Member

No description provided.

@dlang-bot
Copy link
Contributor

dlang-bot commented Mar 26, 2020

Thanks for your pull request, @WalterBright!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

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 + druntime#3009"

@Geod24
Copy link
Member

Geod24 commented Mar 30, 2020

@WalterBright : Looks like there is a difference in the output of stringof for Linux32. The test relies on stringof, so I don't think it's a good test (we explicitly advise against it), but regardless the difference should be investigated.

@pbackus
Copy link
Contributor

pbackus commented May 28, 2020

I did some digging on the failing .stringof test for #3117 , and I think it's issue 3796. Here's a reduced test case:

module testInference;

import core.demangle: demangle;

void foo8504()() {}

auto toDelegate8504a(F)(auto ref F fp) { return fp; }

extern(C) void testC8504() {}

void test8504()
{
    // commenting out the following line makes the test pass on 32-bit linux
    static assert(demangle(foo8504!().mangleof) == "pure nothrow @nogc @safe void testInference.foo8504!().foo8504()");

    auto fp1 = toDelegate8504a(&testC8504);
    static assert(typeof(fp1).stringof == "extern (C) void function()");
}

@RazvanN7
Copy link
Contributor

There doesn't seem to be any failures any more (for the tests that completed up until now). Is there anything blocking this PR?

@dlang-bot dlang-bot removed the stalled label Aug 31, 2021
@RazvanN7
Copy link
Contributor

This seems to break the dmd test suite:

compilable/testInference.d(287): Error: static assert:  `"extern (C) void function() @system" == "extern (C) void function()"` is false

@dkorpel
Copy link
Contributor

dkorpel commented Mar 1, 2022

Probably blocked by https://issues.dlang.org/show_bug.cgi?id=18269, where because of an import of this module, the first extern (C) void function() that dmd sees now has an explicit @system attribute.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants