Open
Description
ponce reported this on 2016-05-19T13:22:32Z
Transferred from https://issues.dlang.org/show_bug.cgi?id=16045
CC List
- basile-z
Description
Consider the following source file `asm_pic.d`:
align(16) static immutable short[8] A = [ 1, 1, 1, 1, 3, 3, 3, 3 ];
void main()
{
asm
{
pmullw XMM0, A;
}
}
LDC 1.0.0-b1 thinks it's compatible with PIC code.
```bash
$ ldc2 asm_pic.d # ok
$ ldc2 -relocation-model=pic asm_pic.d # ok
```
DMD disallows to load the constant in PIC code.
$ dmd asm_pic.d # ok
$ dmd -fPIC asm_pic.d # fail
asm_pic.d(7): Error: cannot directly load global variable 'A' with PIC code