int main(int argc, char const *argv[]) {
	asm( "nop" );
	__asm( "nop" );
	__asm__( "nop" );

	__complex__ c1;
	_Complex c2;

	const int i1;
	__const int i2;
	__const__ int i3;

	__extension__ const int ex;
	struct S {
		__extension__ int a, b, c;
	};
	int i = __extension__ 3;
	__extension__ int a, b, c;
	__extension__ a, __extension__ b, __extension__ c;
	__extension__ a = __extension__ b + __extension__ c;
	__extension__ a = __extension__ ( __extension__ b + __extension__ c );

	__inline int f1() {}
	__inline__ int f2() {}

	__signed s1;
	__signed s2;

	__typeof(s1) t1;
	__typeof__(s1) t2;

	__volatile int v1;
	__volatile__ int v2;

	__attribute__(()) int a1;
	const __attribute(()) int a2;
	const static __attribute(()) int a3;
	const static int __attribute(()) a4;
	const static int a5 __attribute(());
	const static int a6, __attribute(()) a7;

	int * __attribute(()) p1;
	int (* __attribute(()) p2);
//	int (__attribute(()) (p3));
//	int ( __attribute(()) (* __attribute(()) p4));

	struct __attribute(()) s1;
	struct __attribute(()) s2 { int i; };
	struct __attribute(()) s3 { int i; } x1, __attribute(()) y1;
	struct __attribute(()) s4 { int i; } x2, y2 __attribute(());

	int m1 [10] __attribute(());
	int m2 [10][10] __attribute(());
	int __attribute(()) m3 [10][10];
//	int ( __attribute(()) m4 [10] )[10];

	return 0;
}
