diff -uNr gcc-3.1.1.orig/gcc/builtin-attrs.def gcc-3.1.1/gcc/builtin-attrs.def --- gcc-3.1.1.orig/gcc/builtin-attrs.def Fri Dec 21 11:36:34 2001 +++ gcc-3.1.1/gcc/builtin-attrs.def Sun Sep 8 13:30:33 2002 @@ -91,18 +91,43 @@ CONCAT2 (ATTR_,TYPE), CONCAT2 (ATTR_LIST_,VALUES)) \ DEF_ATTR_TREE_LIST (CONCAT4 (ATTR_FORMAT_,TYPE,_,VALUES), ATTR_FORMAT, \ CONCAT4 (ATTR_,TYPE,_,VALUES), ATTR_NULL) -DEF_FORMAT_ATTRIBUTE(PRINTF,1_0) -DEF_FORMAT_ATTRIBUTE(PRINTF,1_2) -DEF_FORMAT_ATTRIBUTE(PRINTF,2_0) -DEF_FORMAT_ATTRIBUTE(PRINTF,2_3) -DEF_FORMAT_ATTRIBUTE(PRINTF,3_0) -DEF_FORMAT_ATTRIBUTE(PRINTF,3_4) -DEF_FORMAT_ATTRIBUTE(SCANF,1_0) -DEF_FORMAT_ATTRIBUTE(SCANF,1_2) -DEF_FORMAT_ATTRIBUTE(SCANF,2_0) -DEF_FORMAT_ATTRIBUTE(SCANF,2_3) -DEF_FORMAT_ATTRIBUTE(STRFTIME,3_0) -DEF_FORMAT_ATTRIBUTE(STRFMON,3_4) + +DEF_ATTR_TREE_LIST( ATTR_PRINTF_1_0, ATTR_NULL, ATTR_PRINTF, ATTR_LIST_1_0 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_PRINTF_1_0, ATTR_FORMAT, ATTR_PRINTF_1_0, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_PRINTF_1_2, ATTR_NULL, ATTR_PRINTF, ATTR_LIST_1_2 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_PRINTF_1_2, ATTR_FORMAT, ATTR_PRINTF_1_2, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_PRINTF_2_0, ATTR_NULL, ATTR_PRINTF, ATTR_LIST_2_0 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_PRINTF_2_0, ATTR_FORMAT, ATTR_PRINTF_2_0, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_PRINTF_2_3, ATTR_NULL, ATTR_PRINTF, ATTR_LIST_2_3 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_PRINTF_2_3, ATTR_FORMAT, ATTR_PRINTF_2_3, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_PRINTF_3_0, ATTR_NULL, ATTR_PRINTF, ATTR_LIST_3_0 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_PRINTF_3_0, ATTR_FORMAT, ATTR_PRINTF_3_0, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_PRINTF_3_4, ATTR_NULL, ATTR_PRINTF, ATTR_LIST_3_4 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_PRINTF_3_4, ATTR_FORMAT, ATTR_PRINTF_3_4, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_SCANF_1_0, ATTR_NULL, ATTR_SCANF, ATTR_LIST_1_0 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_SCANF_1_0, ATTR_FORMAT, ATTR_SCANF_1_0, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_SCANF_1_2, ATTR_NULL, ATTR_SCANF, ATTR_LIST_1_2 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_SCANF_1_2, ATTR_FORMAT, ATTR_SCANF_1_2, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_SCANF_2_0, ATTR_NULL, ATTR_SCANF, ATTR_LIST_2_0 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_SCANF_2_0, ATTR_FORMAT, ATTR_SCANF_2_0, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_SCANF_2_3, ATTR_NULL, ATTR_SCANF, ATTR_LIST_2_3 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_SCANF_2_3, ATTR_FORMAT, ATTR_SCANF_2_3, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_STRFTIME_3_0, ATTR_NULL, ATTR_STRFTIME, ATTR_LIST_3_0 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_STRFTIME_3_0, ATTR_FORMAT, ATTR_STRFTIME_3_0, ATTR_NULL) +DEF_ATTR_TREE_LIST( ATTR_STRFMON_3_4, ATTR_NULL, ATTR_STRFMON, ATTR_LIST_3_4 ) +DEF_ATTR_TREE_LIST( ATTR_FORMAT_STRFMON_3_4, ATTR_FORMAT, ATTR_STRFMON_3_4, ATTR_NULL) +/* DEF_FORMAT_ATTRIBUTE(PRINTF,1_0) */ +/* DEF_FORMAT_ATTRIBUTE(PRINTF,1_2) */ +/* DEF_FORMAT_ATTRIBUTE(PRINTF,2_0) */ +/* DEF_FORMAT_ATTRIBUTE(PRINTF,2_3) */ +/* DEF_FORMAT_ATTRIBUTE(PRINTF,3_0) */ +/* DEF_FORMAT_ATTRIBUTE(PRINTF,3_4) */ +/* DEF_FORMAT_ATTRIBUTE(SCANF,1_0) */ +/* DEF_FORMAT_ATTRIBUTE(SCANF,1_2) */ +/* DEF_FORMAT_ATTRIBUTE(SCANF,2_0) */ +/* DEF_FORMAT_ATTRIBUTE(SCANF,2_3) */ +/* DEF_FORMAT_ATTRIBUTE(STRFTIME,3_0) */ +/* DEF_FORMAT_ATTRIBUTE(STRFMON,3_4) */ #undef DEF_FORMAT_ATTRIBUTE DEF_ATTR_TREE_LIST (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG, ATTR_LIST_1, ATTR_NULL) diff -uNr gcc-3.1.1.orig/gcc/stmt.c gcc-3.1.1/gcc/stmt.c --- gcc-3.1.1.orig/gcc/stmt.c Wed Apr 17 10:43:57 2002 +++ gcc-3.1.1/gcc/stmt.c Sun Sep 8 13:30:33 2002 @@ -5156,12 +5156,15 @@ /* We deliberately use calloc here, not cmalloc, so that we can suppress this optimization if we don't have enough memory rather than aborting, as xmalloc would do. */ - && (cases_seen = - (unsigned char *) really_call_calloc (bytes_needed, 1)) != NULL) + && (cases_seen = (unsigned char *)alloca(bytes_needed) ) != NULL ) +/* && (cases_seen = */ +/* (unsigned char *) really_call_calloc (bytes_needed, 1)) != NULL) */ { HOST_WIDE_INT i; tree v = TYPE_VALUES (type); + unsigned char *x; + for( x = cases_seen; x < cases_seen + bytes_needed; x++){ *x = 0; } /* The time complexity of this code is normally O(N), where N being the number of members in the enumerated type. However, if type is a ENUMERAL_TYPE whose values do not