Lines Matching defs:__unaligned
58 // __unaligned handling
59 typedef char __unaligned *aligned_type;
60 typedef struct UnalignedTag { int f; } __unaligned *aligned_type2;
61 typedef char __unaligned aligned_type3;
67 __unaligned int aligned_type4::*p1_aligned_type4 = &aligned_type4::i;
68 int aligned_type4::* __unaligned p2_aligned_type4 = &aligned_type4::i;
69 __unaligned int aligned_type4::* __unaligned p3_aligned_type4 = &aligned_type4::i;
70 void (aligned_type4::*__unaligned p4_aligned_type4)();
72 // Check that __unaligned qualifier can be used for overloading
73 void foo_unaligned(int *arg) {} // expected-note {{not viable: 1st argument ('const __unaligned int *') would lose const qualifier}}
74 void foo_unaligned(__unaligned int *arg) {} // expected-note {{not viable: 1st argument ('const __unaligned int *') would lose const qualifier}}
76 void foo_unaligned(__unaligned int arg) {} // expected-error {{redefinition of 'foo_unaligned'}} \
77 // expected-note {{not viable: no known conversion from 'const __unaligned int *' to '__unaligned int'}}
80 int foo_unaligned(__unaligned A_unaligned *arg) { return 0; } // expected-note {{not viable: no known conversion from 'const __unaligned int *' to '__unaligned A_unaligned *'}}
81 void *foo_unaligned(B_unaligned *arg) { return 0; } // expected-note {{not viable: no known conversion from 'const __unaligned int *' to 'B_unaligned *'}}
87 const __unaligned int *const_p1 = 0;
90 __unaligned int *p2 = 0;
93 __unaligned B_unaligned *p3 = 0;
95 // expected-warning@-1 {{implicit cast from type '__unaligned B_unaligned *' to type 'B_unaligned *' drops __unaligned qualifier}}
98 // expected-warning@-1 {{implicit cast from type '__unaligned B_unaligned *' to type 'B_unaligned *' drops __unaligned qualifier}}
100 __unaligned B_unaligned *p6 = p3;
104 // expected-warning@-1 {{implicit cast from type '__unaligned int aligned_type4::*' to type 'int aligned_type4::*' drops __unaligned qualifier}}
107 __unaligned int a[10];
109 // expected-warning@-1 {{implicit cast from type '__unaligned int[10]' to type 'int *' drops __unaligned qualifier}}
113 // We should accept assignment of an __unaligned pointer to a non-__unaligned
116 typedef ITEMIDLIST __unaligned *LPITEMIDLIST;
120 __unaligned int *x = 0;
125 // We should accept type conversion of __unaligned to non-__unaligned references
132 void f(IN_ADDR __unaligned *a) {
137 // expected-warning@-1 {{implicit cast from type '__unaligned IN_ADDR *' (aka '__unaligned in_addr *') to type 'in_addr *' drops __unaligned qualifier}}
139 // expected-warning@-1 {{implicit cast from type '__unaligned IN_ADDR *' (aka '__unaligned in_addr *') to type 'in_addr *' drops __unaligned qualifier}}
601 S __unaligned s;
609 // Check that __unaligned is not recognized if MS extensions are not enabled
610 typedef char __unaligned *aligned_type; // expected-error {{expected ';' after top level declarator}}