aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gdc.test/fail_compilation/ccast.d
blob: f1ca6c0fada9a3655f1e4e7ac523d7bb06b4bcaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
TEST_OUTPUT:
---
fail_compilation/ccast.d(11): Error: C style cast illegal, use `cast(byte)i`
fail_compilation/ccast.d(24): Error: C style cast illegal, use `cast(foo)5`
fail_compilation/ccast.d(26): Error: C style cast illegal, use `cast(void*)5`
---
*/

int i;
byte b = (byte)i;

void bar(int x);

void main()
{
    (&bar)(5); // ok
    auto foo = &bar;
    (foo = foo)(5); // ok
    (*foo)(5); // ok

    (foo)(5); // ok
    (bar)(5); // ok
    (foo)5;

    (void*)5;
    (void*)(5); // semantic implicit cast error
}