summaryrefslogtreecommitdiffstats
path: root/lang/gcc46/files
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2000-12-13 02:26:23 +0000
committerobrien <obrien@FreeBSD.org>2000-12-13 02:26:23 +0000
commita53bd4316d3eab3aecec54b654203a788d276964 (patch)
treef4b8953f8f94fcc3f2acf17bb2c28fa72c56dff2 /lang/gcc46/files
parent59778405a3abd566bd6a63b27d95fe7ca52a802c (diff)
downloadFreeBSD-ports-a53bd4316d3eab3aecec54b654203a788d276964.zip
FreeBSD-ports-a53bd4316d3eab3aecec54b654203a788d276964.tar.gz
Upgrade to the 2000-12-11 GCC 2.97 development snapshot.
Diffstat (limited to 'lang/gcc46/files')
-rw-r--r--lang/gcc46/files/patch-fa65
1 files changed, 36 insertions, 29 deletions
diff --git a/lang/gcc46/files/patch-fa b/lang/gcc46/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc46/files/patch-fa
+++ b/lang/gcc46/files/patch-fa
@@ -1,6 +1,6 @@
---- gcc/c-common.c.orig Thu Nov 16 22:05:12 2000
-+++ gcc/c-common.c Mon Nov 27 02:25:55 2000
-@@ -193,7 +193,7 @@
+--- gcc/c-common.c.orig Sat Dec 2 19:46:03 2000
++++ gcc/c-common.c Mon Dec 11 12:11:16 2000
+@@ -232,7 +232,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
static void record_function_format PARAMS ((tree, tree, enum format_type,
@@ -9,7 +9,7 @@
static void record_international_format PARAMS ((tree, tree, int));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -888,6 +888,7 @@
+@@ -927,6 +927,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -898,7 +899,7 @@
+@@ -937,7 +938,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -906,12 +907,26 @@
+@@ -945,12 +946,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,7 +53,7 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -990,7 +1005,8 @@
+@@ -1029,7 +1044,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
@@ -63,21 +63,28 @@
break;
}
-@@ -1654,6 +1670,13 @@
+@@ -1693,6 +1709,20 @@
static const format_char_info print_char_table[] =
{
-+#ifdef XXX_NEED_TO_UPDATE_THIS_FOR_GCC297_CHANGES
-+/* FreeBSD kernel extensions. */
-+ { "D", 1, T_C, T_C, NULL, NULL, NULL, NULL, NULL, "-wp" },
-+ { "b", 1, T_C, T_C, NULL, NULL, NULL, NULL, NULL, "-wp" },
-+ { "rz", 0, NULL, T_I, T_I, T_L, NULL, NULL, NULL, "-wp0 +#" },
++#warning The FreeBSD kernel extensions in print_char_table might not be done correctly.
++/* 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, T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp" "c" },
++ { "b", 1, STD_EXT, { T89_C, T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp" "" },
++ { "rz", 0, STD_EXT, { BADLEN, T89_I, T89_I, T89_L, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp0 +#" "i" },
+#define unextended_print_char_table (print_char_table + 3)
-+#endif
++#warning The FreeBSD kernel extensions in print_char_table might not be done correctly.
/* C89 conversion specifiers. */
{ "di", 0, STD_C89, { T89_I, T99_SC, T89_S, T89_L, T99_LL, TEX_LL, T99_SST, T99_PD, T99_IM }, "-wp0 +'I", "i" },
{ "oxX", 0, STD_C89, { T89_UI, T99_UC, T89_US, T89_UL, T99_ULL, TEX_ULL, T99_ST, T99_UPD, T99_UIM }, "-wp0#", "i" },
-@@ -1752,6 +1775,7 @@
+@@ -1791,6 +1821,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
@@ -85,7 +92,7 @@
} function_format_info;
static function_format_info *function_format_list = NULL;
-@@ -1837,42 +1861,42 @@
+@@ -1876,42 +1907,42 @@
{
/* Functions from ISO/IEC 9899:1990. */
record_function_format (get_identifier ("printf"), NULL_TREE,
@@ -144,7 +151,7 @@
}
if (flag_hosted && flag_noniso_default_format_attributes)
-@@ -1895,12 +1919,13 @@
+@@ -1934,12 +1965,13 @@
static void
record_function_format (name, assembler_name, format_type,
@@ -159,7 +166,7 @@
{
function_format_info *info;
-@@ -1924,6 +1949,7 @@
+@@ -1963,6 +1995,7 @@
info->format_type = format_type;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
@@ -167,7 +174,7 @@
}
/* Record information for the names of function that modify the format
-@@ -2415,7 +2441,7 @@
+@@ -2454,7 +2487,7 @@
specially if info == NULL and add a res->number_null entry for
that case, or maybe add a function pointer to be called at
the end instead of hardcoding check_format_info_main. */
@@ -176,7 +183,7 @@
/* Skip to first argument to check, so we can see if this format
has any arguments (it shouldn't). */
-@@ -2611,6 +2637,54 @@
+@@ -2650,6 +2683,54 @@
main_arg_num = opnum + info->first_arg_num - 1;
}
}
@@ -231,12 +238,12 @@
/* Read any format flags, but do not yet validate them beyond removing
duplicates, since in general validation depends on the rest of
-@@ -2984,7 +3058,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);
+@@ -3024,7 +3105,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);
OpenPOWER on IntegriCloud