| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fPIE" } */ |
| /* { dg-require-effective-target pie } */ |
| |
| typedef struct { |
| int unspecified : 1; |
| int secure : 1; |
| } MemTxAttrs; |
| |
| enum { MSCAllowNonSecure } tz_msc_read_pdata; |
| |
| int tz_msc_read_s_0; |
| int tz_msc_check(); |
| int address_space_ldl_le(); |
| |
| void tz_msc_read(MemTxAttrs attrs) { |
| int as = tz_msc_read_s_0; |
| long long data; |
| switch (tz_msc_check()) { |
| case MSCAllowNonSecure: |
| attrs.secure = attrs.unspecified = 0; |
| data = address_space_ldl_le(as, attrs); |
| } |
| tz_msc_read_pdata = data; |
| } |