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
7 participants