--- /dev/null
+typedef int i16 __attribute__ ((__mode__ (__HI__))), i32;
+/*typedef int i16;*/
+
+int size16 = sizeof(i16);
+/*int size32 = sizeof(i32); */
+
+i16 p16;
+short *ps16 = &p16;
+
+int main(void) {
+ return size16 != 2;
+}
--- /dev/null
+struct sockaddr {
+ int bla;
+};
+
+struct sockaddr_at {
+ int blo, blup;
+};
+
+typedef union bla {
+ struct sockaddr *__restrict__ sockaddr_ptr;
+ struct sockaddr_at *__restrict__ sockaddr_at_ptr;
+} sockaddr_arg __attribute__((__transparent_union__));
+
+void *t_recvfrom(sockaddr_arg arg) {
+ return arg.sockaddr_at_ptr;
+}
+
+int main(void) {
+ struct sockaddr_at at;
+ union bla bl;
+ bl.sockaddr_at_ptr = &at;
+ int r = (t_recvfrom(&at) != &at);
+ r |= (bl.sockaddr_at_ptr != &at);
+ return r;
+}