summaryrefslogtreecommitdiff
path: root/lang/gcc44/files/patch-fa
diff options
context:
space:
mode:
authorGerald Pfeifer <gerald@FreeBSD.org>2003-11-14 22:01:13 +0000
committerGerald Pfeifer <gerald@FreeBSD.org>2003-11-14 22:01:13 +0000
commit48fa42c8e78eff9094098251b07b434893a67959 (patch)
tree43ea2807dd442a128697545260275b7540a419d2 /lang/gcc44/files/patch-fa
parentUse net-snmp v5 by default. Add a switch, WITH_SNMP_4, to allow 4.x to (diff)
Update from repo-copy of lang/gcc33 to the 2003-11-12 snapshot of GCC 3.4.
There is no bounds-checking patch for GCC 3.4 yet, extended printf format checking for FreeBSD has not been ported yet, and the port is BROKEN due to weird libjava build failures which occur if and only if building from within the FreeBSD ports system.
Notes
Notes: svn path=/head/; revision=93976
Diffstat (limited to 'lang/gcc44/files/patch-fa')
-rw-r--r--lang/gcc44/files/patch-fa179
1 files changed, 0 insertions, 179 deletions
diff --git a/lang/gcc44/files/patch-fa b/lang/gcc44/files/patch-fa
deleted file mode 100644
index 064c33a2eb88..000000000000
--- a/lang/gcc44/files/patch-fa
+++ /dev/null
@@ -1,179 +0,0 @@
---- gcc/c-format.c.orig Wed Feb 20 14:54:32 2002
-+++ gcc/c-format.c Mon May 27 20:42:37 2002
-@@ -19,6 +19,8 @@
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
-
-+/* $FreeBSD$ */
-+
- #include "config.h"
- #include "system.h"
- #include "tree.h"
-@@ -75,6 +77,7 @@
- last. */
- enum format_type { printf_format_type, scanf_format_type,
- strftime_format_type, strfmon_format_type,
-+ printf0_format_type,
- format_type_error };
-
- typedef struct function_format_info
-@@ -82,6 +85,7 @@
- enum format_type format_type; /* type of format (printf, scanf, etc.) */
- unsigned HOST_WIDE_INT format_num; /* number of format argument */
- unsigned HOST_WIDE_INT first_arg_num; /* number of first arg (zero for varargs) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
- } function_format_info;
-
- static bool decode_format_attr PARAMS ((tree,
-@@ -249,7 +253,7 @@
- {
- if (validated_p)
- abort ();
-- error ("unrecognized format specifier");
-+ error_with_decl (getdecls (), "unrecognized format specifier");
- return false;
- }
- else
-@@ -540,6 +544,7 @@
- /* Pointer to type of argument expected if '*' is used for a precision,
- or NULL if '*' not used for precisions. */
- tree *const precision_type;
-+ const int null_format_ok;
- } format_kind_info;
-
-
-@@ -783,6 +788,18 @@
- { "S", 1, STD_EXT, { TEX_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "R" },
- /* GNU conversion specifiers. */
- { "m", 0, STD_EXT, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "" },
-+ /* BSD conversion specifiers. */
-+ /* FreeBSD kernel extensions (src/sys/kern/subr_prf.c).
-+ The format %b is supported to decode error registers.
-+ Its usage is: printf("reg=%b\n", regval, "<base><arg>*");
-+ which produces: reg=3<BITTWO,BITONE>
-+ The format %D provides a hexdump given a pointer and separator string:
-+ ("%6D", ptr, ":") -> XX:XX:XX:XX:XX:XX
-+ ("%*D", len, ptr, " ") -> XX XX XX XX ...
-+ */
-+ { "D", 1, STD_EXT, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "cR" },
-+ { "b", 1, STD_EXT, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "" },
-+ { "rz", 0, STD_EXT, { T89_I, BADLEN, BADLEN, T89_L, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp0 +#", "i" },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL }
- };
-
-@@ -847,23 +864,29 @@
- printf_flag_specs, printf_flag_pairs,
- FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK,
- 'w', 0, 'p', 0, 'L',
-- &integer_type_node, &integer_type_node
-+ &integer_type_node, &integer_type_node, 0
- },
- { "scanf", scanf_length_specs, scan_char_table, "*'I", NULL,
- scanf_flag_specs, scanf_flag_pairs,
- FMT_FLAG_ARG_CONVERT|FMT_FLAG_SCANF_A_KLUDGE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_ZERO_WIDTH_BAD|FMT_FLAG_DOLLAR_GAP_POINTER_OK,
- 'w', 0, 0, '*', 'L',
-- NULL, NULL
-+ NULL, NULL, 0
- },
- { "strftime", NULL, time_char_table, "_-0^#", "EO",
- strftime_flag_specs, strftime_flag_pairs,
- FMT_FLAG_FANCY_PERCENT_OK, 'w', 0, 0, 0, 0,
-- NULL, NULL
-+ NULL, NULL, 0
- },
- { "strfmon", strfmon_length_specs, monetary_char_table, "=^+(!-", NULL,
- strfmon_flag_specs, strfmon_flag_pairs,
- FMT_FLAG_ARG_CONVERT, 'w', '#', 'p', 0, 'L',
-- NULL, NULL
-+ NULL, NULL, 0
-+ },
-+ { "printf0", printf_length_specs, print_char_table, " +#0-'I", NULL,
-+ printf_flag_specs, printf_flag_pairs,
-+ FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK,
-+ 'w', 0, 'p', 0, 'L',
-+ &integer_type_node, &integer_type_node, 1
- }
- };
-
-@@ -917,6 +940,14 @@
-
- static void check_format_types PARAMS ((int *, format_wanted_type *));
-
-+
-+inline static int get_null_fmt_ok (fmttype)
-+ enum format_type fmttype;
-+{
-+ return format_types[(int)fmttype].null_format_ok;
-+}
-+
-+
- /* Decode a format type from a string, returning the type, or
- format_type_error if not valid, in which case the caller should print an
- error message. */
-@@ -1986,6 +2017,57 @@
- }
- }
-
-+ if (*format_chars == 'b')
-+ {
-+ /* There should be an int arg to control the string arg. */
-+ if (params == 0)
-+ {
-+ status_warning (status, "too few arguments for format");
-+ return;
-+ }
-+ if (info->first_arg_num != 0)
-+ {
-+ cur_param = TREE_VALUE (params);
-+ params = TREE_CHAIN (params);
-+ ++arg_num;
-+ if ((TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
-+ != integer_type_node)
-+ &&
-+ (TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
-+ != unsigned_type_node))
-+ {
-+ status_warning (status, "bitmap is not type int (arg %d)",
-+ arg_num);
-+ }
-+ }
-+ }
-+ if (*format_chars == 'D')
-+ {
-+ /* There should be an unsigned char * arg before the string arg. */
-+ if (params == 0)
-+ {
-+ status_warning (status, "too few arguments for format");
-+ return;
-+ }
-+ if (info->first_arg_num != 0)
-+ {
-+ tree cur_type;
-+
-+ cur_param = TREE_VALUE (params);
-+ params = TREE_CHAIN (params);
-+ ++arg_num;
-+ cur_type = TREE_TYPE (cur_param);
-+ if (TREE_CODE (cur_type) != POINTER_TYPE
-+ || TYPE_MAIN_VARIANT (TREE_TYPE (cur_type))
-+ != unsigned_char_type_node)
-+ {
-+ status_warning (status,
-+ "ethernet address is not type unsigned char * (arg %d)",
-+ arg_num);
-+ }
-+ }
-+ }
-+
- format_char = *format_chars;
- if (format_char == 0
- || (!(fki->flags & (int) FMT_FLAG_FANCY_PERCENT_OK)
-@@ -2112,7 +2194,7 @@
- else if (strchr (fci->flags2, '2') != 0)
- y2k_level = 2;
- if (y2k_level == 3)
-- status_warning (status, "`%%%c' yields only last 2 digits of year in some locales",
-+ status_warning (status, "`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
- format_char);
- else if (y2k_level == 2)
- status_warning (status, "`%%%c' yields only last 2 digits of year", format_char);