src__lib__libast__features__common.diff   [plain text]


--- src/lib/libast/features/common.orig	2010-10-19 00:51:50.000000000 -0700
+++ src/lib/libast/features/common	2011-06-03 12:01:49.000000000 -0700
@@ -256,7 +256,11 @@ tst	- -DN=1 - -DN=2 - -DN=3 - -DN=4 - -D
 				}
 				else
 	#endif
+				{
+				printf("#ifndef _ast_int%d_t\n", m);
 				printf("#define _ast_int%d_t		%s\n", m, int_type[t].name);
+				printf("#endif\n");
+				}
 				if (m > 1)
 				{
 					if (*int_type[t].swap)
@@ -266,9 +270,13 @@ tst	- -DN=1 - -DN=2 - -DN=3 - -DN=4 - -D
 			}
 		}
 		printf("#define _ast_intmax_t		_ast_int%d_t\n", m);
-		if (m == sizeof(long))
-			printf("#define _ast_intmax_long		1\n");
-		printf("#define _ast_intswap		%d\n", w);
+		printf("#if __LITTLE_ENDIAN__\n");
+		printf("#define _ast_intswap        7\n");
+		printf("#elif __BIG_ENDIAN__\n");
+		printf("#define _ast_intswap        0\n");
+		printf("#else\n");
+		printf("#error Unknown byte sex\n");
+		printf("#endif\n");
 		printf("\n");
 		return 0;
 	}
@@ -301,9 +309,17 @@ tst	- output{
 	main()
 	{
 		register int	t;
-
+#if 1
+    printf("#define _ast_sizeof_short sizeof(short)\n");
+    printf("#define _ast_sizeof_int sizeof(int)\n");
+    printf("#define _ast_sizeof_long sizeof(long)\n");
+    printf("#define _ast_sizeof_pointer sizeof(void*)\n");
+    printf("#define _ast_sizeof_float sizeof(float)\n");
+    printf("#define _ast_sizeof_double sizeof(double)\n");
+#else
 		for (t = 0; t < elementsof(types); t++)
 			printf("#define _ast_sizeof_%s%s	%d	/* sizeof(%s) */\n", types[t].name, strlen(types[t].name) < 4 ? "\t" : "", types[t].size, types[t].name);
+#endif
 		printf("\n");
 		return 0;
 	}