// PERMUTE_ARGS: -fPIC -O -fPIE // DISABLED: win32 win64 extern (C) int printf(const char*, ...); /***************************************************/ align(16) struct S41 { int[4] a; } shared int x41; shared S41 s41; void test11310() { printf("&x = %p\n", &x41); printf("&s = %p\n", &s41); assert((cast(int)&s41 & 0xF) == 0); } /***************************************************/ struct S17034 { @nogc pure nothrow: private long v; void foo() { v >>>= 1; if (!v) return; v >>>= 1; } } void test17034() { auto s = S17034(1L); s.foo(); assert(s.v == 0); } /***************************************************/ // https://issues.dlang.org/show_bug.cgi?id=20441 const(char)* moo(const (char) *s) { return s; } void test20441() { const(char) *x = "abc".ptr; assert( moo(x) - x == 0 ); } /***************************************************/ int main() { test11310(); test17034(); test20441(); printf("Success\n"); return 0; }