Applites, While I've been perusing c-common.c, I have found a warning that you might not be seeing because of compiler differences:
../../src-2/gcc/c-common.c: In function ‘iasm_extra_clobbers’: ../../src-2/gcc/c-common.c:7017: warning: comparison of unsigned expression < 0 is always false This comes from this function: > static void > iasm_extra_clobbers (const char *opcode, tree *clobbersp) > { > struct iasm_op_clobber db[] = { IASM_EXTRA_CLOBBERS }; Note number of elements of db is 1. > struct iasm_op_clobber key; > struct iasm_op_clobber *r; > const char **clobbers; > int num; > > /* APPLE LOCAL LLVM */ > #if defined(TARGET_IASM_EXTRA_CLOBBERS) && defined(ENABLE_CHECKING) > /* Ensure that the table is sorted. */ > static int once; > if (once == 0) > { > size_t i; > once = 1; > for (i=0; i < sizeof (db) / sizeof(db[0]) - 1; ++i) Are you sure you want to subtract one from the size computation? Perhaps at one time this was null terminated? In any event (sizeof(db) / sizeof(db[0])) == 1, which if you subtract 1 from it is causing the unsigned range warning on the comparison with i. Not sure if this matters, but thought I'd point it out. > gcc_assert (iasm_op_clobber_comp (&db[i+1], &db[i]) >= 0); > } > #endif > _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits