view gcc/testsuite/gdc.dg/asm4.d @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

// https://issues.dlang.org/show_bug.cgi?id=12979
// { dg-do compile }
// { dg-options "-Wall -Wdeprecated -Werror" }
module asm4;

void test1()
{
    asm pure nothrow @nogc @trusted {}
    asm @safe {}
}

void test2() pure nothrow @nogc @safe
{
    asm pure nothrow @nogc @trusted {}
}

void test3()()
{
    asm pure nothrow @nogc @trusted {}
}

static assert(__traits(compiles, () pure nothrow @nogc @safe => test3()));

void test4()()
{
    asm {}
}

// wait for deprecation of asm pure inference
// static assert(!__traits(compiles, () pure => test4()));
static assert(!__traits(compiles, () nothrow => test4()));
// wait for deprecation of asm @nogc inference
// static assert(!__traits(compiles, () @nogc => test4()));
static assert(!__traits(compiles, () @safe => test4()));

@safe
void test5()
{
    static assert(!__traits(compiles, { asm { ""; } }() ));
}