summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lang/gcc-devel/Makefile2
-rw-r--r--lang/gcc-devel/distinfo10
-rw-r--r--lang/gcc-devel/files/patch-fa65
-rw-r--r--lang/gcc-ooo/Makefile2
-rw-r--r--lang/gcc-ooo/distinfo10
-rw-r--r--lang/gcc-ooo/files/patch-fa65
-rw-r--r--lang/gcc/Makefile2
-rw-r--r--lang/gcc/distinfo10
-rw-r--r--lang/gcc/files/patch-fa65
-rw-r--r--lang/gcc30/Makefile2
-rw-r--r--lang/gcc30/distinfo10
-rw-r--r--lang/gcc30/files/patch-fa65
-rw-r--r--lang/gcc31/Makefile2
-rw-r--r--lang/gcc31/distinfo10
-rw-r--r--lang/gcc31/files/patch-fa65
-rw-r--r--lang/gcc32/Makefile2
-rw-r--r--lang/gcc32/distinfo10
-rw-r--r--lang/gcc32/files/patch-fa65
-rw-r--r--lang/gcc33/Makefile2
-rw-r--r--lang/gcc33/distinfo10
-rw-r--r--lang/gcc33/files/patch-fa65
-rw-r--r--lang/gcc34/Makefile2
-rw-r--r--lang/gcc34/distinfo10
-rw-r--r--lang/gcc34/files/patch-fa65
-rw-r--r--lang/gcc35/Makefile2
-rw-r--r--lang/gcc35/distinfo10
-rw-r--r--lang/gcc35/files/patch-fa65
-rw-r--r--lang/gcc40/Makefile2
-rw-r--r--lang/gcc40/distinfo10
-rw-r--r--lang/gcc40/files/patch-fa65
-rw-r--r--lang/gcc41/Makefile2
-rw-r--r--lang/gcc41/distinfo10
-rw-r--r--lang/gcc41/files/patch-fa65
-rw-r--r--lang/gcc42/Makefile2
-rw-r--r--lang/gcc42/distinfo10
-rw-r--r--lang/gcc42/files/patch-fa65
-rw-r--r--lang/gcc43/Makefile2
-rw-r--r--lang/gcc43/distinfo10
-rw-r--r--lang/gcc43/files/patch-fa65
-rw-r--r--lang/gcc44/Makefile2
-rw-r--r--lang/gcc44/distinfo10
-rw-r--r--lang/gcc44/files/patch-fa65
-rw-r--r--lang/gcc45/Makefile2
-rw-r--r--lang/gcc45/distinfo10
-rw-r--r--lang/gcc45/files/patch-fa65
-rw-r--r--lang/gcc46/Makefile2
-rw-r--r--lang/gcc46/distinfo10
-rw-r--r--lang/gcc46/files/patch-fa65
-rw-r--r--lang/gcc47/Makefile2
-rw-r--r--lang/gcc47/distinfo10
-rw-r--r--lang/gcc47/files/patch-fa65
-rw-r--r--lang/gcc48/Makefile2
-rw-r--r--lang/gcc48/distinfo10
-rw-r--r--lang/gcc48/files/patch-fa65
54 files changed, 756 insertions, 630 deletions
diff --git a/lang/gcc-devel/Makefile b/lang/gcc-devel/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc-devel/Makefile
+++ b/lang/gcc-devel/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc-devel/distinfo b/lang/gcc-devel/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc-devel/distinfo
+++ b/lang/gcc-devel/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc-devel/files/patch-fa b/lang/gcc-devel/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc-devel/files/patch-fa
+++ b/lang/gcc-devel/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);
diff --git a/lang/gcc-ooo/Makefile b/lang/gcc-ooo/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc-ooo/Makefile
+++ b/lang/gcc-ooo/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc-ooo/distinfo b/lang/gcc-ooo/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc-ooo/distinfo
+++ b/lang/gcc-ooo/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc-ooo/files/patch-fa b/lang/gcc-ooo/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc-ooo/files/patch-fa
+++ b/lang/gcc-ooo/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);
diff --git a/lang/gcc/Makefile b/lang/gcc/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc/Makefile
+++ b/lang/gcc/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc/distinfo b/lang/gcc/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc/distinfo
+++ b/lang/gcc/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc/files/patch-fa b/lang/gcc/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc/files/patch-fa
+++ b/lang/gcc/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);
diff --git a/lang/gcc30/Makefile b/lang/gcc30/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc30/Makefile
+++ b/lang/gcc30/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc30/distinfo b/lang/gcc30/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc30/distinfo
+++ b/lang/gcc30/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc30/files/patch-fa b/lang/gcc30/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc30/files/patch-fa
+++ b/lang/gcc30/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);
diff --git a/lang/gcc31/Makefile b/lang/gcc31/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc31/Makefile
+++ b/lang/gcc31/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc31/distinfo b/lang/gcc31/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc31/distinfo
+++ b/lang/gcc31/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc31/files/patch-fa b/lang/gcc31/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc31/files/patch-fa
+++ b/lang/gcc31/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);
diff --git a/lang/gcc32/Makefile b/lang/gcc32/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc32/Makefile
+++ b/lang/gcc32/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc32/distinfo b/lang/gcc32/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc32/distinfo
+++ b/lang/gcc32/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc32/files/patch-fa b/lang/gcc32/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc32/files/patch-fa
+++ b/lang/gcc32/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);
diff --git a/lang/gcc33/Makefile b/lang/gcc33/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc33/Makefile
+++ b/lang/gcc33/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc33/distinfo b/lang/gcc33/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc33/distinfo
+++ b/lang/gcc33/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc33/files/patch-fa b/lang/gcc33/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc33/files/patch-fa
+++ b/lang/gcc33/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);
diff --git a/lang/gcc34/Makefile b/lang/gcc34/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc34/Makefile
+++ b/lang/gcc34/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc34/distinfo b/lang/gcc34/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc34/distinfo
+++ b/lang/gcc34/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc34/files/patch-fa b/lang/gcc34/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc34/files/patch-fa
+++ b/lang/gcc34/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);
diff --git a/lang/gcc35/Makefile b/lang/gcc35/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc35/Makefile
+++ b/lang/gcc35/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc35/distinfo b/lang/gcc35/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc35/distinfo
+++ b/lang/gcc35/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc35/files/patch-fa b/lang/gcc35/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc35/files/patch-fa
+++ b/lang/gcc35/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);
diff --git a/lang/gcc40/Makefile b/lang/gcc40/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc40/Makefile
+++ b/lang/gcc40/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc40/distinfo b/lang/gcc40/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc40/distinfo
+++ b/lang/gcc40/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc40/files/patch-fa b/lang/gcc40/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc40/files/patch-fa
+++ b/lang/gcc40/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);
diff --git a/lang/gcc41/Makefile b/lang/gcc41/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc41/Makefile
+++ b/lang/gcc41/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc41/distinfo b/lang/gcc41/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc41/distinfo
+++ b/lang/gcc41/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc41/files/patch-fa b/lang/gcc41/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc41/files/patch-fa
+++ b/lang/gcc41/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);
diff --git a/lang/gcc42/Makefile b/lang/gcc42/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc42/Makefile
+++ b/lang/gcc42/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc42/distinfo b/lang/gcc42/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc42/distinfo
+++ b/lang/gcc42/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc42/files/patch-fa b/lang/gcc42/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc42/files/patch-fa
+++ b/lang/gcc42/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);
diff --git a/lang/gcc43/Makefile b/lang/gcc43/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc43/Makefile
+++ b/lang/gcc43/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc43/distinfo b/lang/gcc43/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc43/distinfo
+++ b/lang/gcc43/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc43/files/patch-fa b/lang/gcc43/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc43/files/patch-fa
+++ b/lang/gcc43/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);
diff --git a/lang/gcc44/Makefile b/lang/gcc44/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc44/Makefile
+++ b/lang/gcc44/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc44/distinfo b/lang/gcc44/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc44/distinfo
+++ b/lang/gcc44/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc44/files/patch-fa b/lang/gcc44/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc44/files/patch-fa
+++ b/lang/gcc44/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);
diff --git a/lang/gcc45/Makefile b/lang/gcc45/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc45/Makefile
+++ b/lang/gcc45/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc45/distinfo b/lang/gcc45/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc45/distinfo
+++ b/lang/gcc45/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc45/files/patch-fa b/lang/gcc45/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc45/files/patch-fa
+++ b/lang/gcc45/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);
diff --git a/lang/gcc46/Makefile b/lang/gcc46/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc46/Makefile
+++ b/lang/gcc46/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc46/distinfo b/lang/gcc46/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc46/distinfo
+++ b/lang/gcc46/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
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);
diff --git a/lang/gcc47/Makefile b/lang/gcc47/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc47/Makefile
+++ b/lang/gcc47/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc47/distinfo b/lang/gcc47/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc47/distinfo
+++ b/lang/gcc47/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc47/files/patch-fa b/lang/gcc47/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc47/files/patch-fa
+++ b/lang/gcc47/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);
diff --git a/lang/gcc48/Makefile b/lang/gcc48/Makefile
index fa6b2fc..11f121d 100644
--- a/lang/gcc48/Makefile
+++ b/lang/gcc48/Makefile
@@ -6,7 +6,7 @@
# $FreeBSD$
#
-SNAPDATE= 2000-11-20
+SNAPDATE= 2000-12-11
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
diff --git a/lang/gcc48/distinfo b/lang/gcc48/distinfo
index 498df7e..b07154a 100644
--- a/lang/gcc48/distinfo
+++ b/lang/gcc48/distinfo
@@ -1,5 +1,5 @@
-MD5 (gcc-core-20001120.tar.gz) = f67efcbeed3992408d30d80bbbc1b6ee
-MD5 (gcc-g++-20001120.tar.gz) = 0054eb67dfd8024d80c260cbdc2ac6fd
-MD5 (gcc-g77-20001120.tar.gz) = 605472386cecfa918b6e15a9ef734ee6
-MD5 (gcc-java-20001120.tar.gz) = 1fd7570d055e62a6cf0eb941e7996190
-MD5 (gcc-objc-20001120.tar.gz) = b056a4a48fadf687138e1b10bd3ce73a
+MD5 (gcc-core-20001211.tar.gz) = 7ef68c16744114f172e5f6978e79c62d
+MD5 (gcc-g++-20001211.tar.gz) = c9738cfe54971bc96db5a8def578b5e4
+MD5 (gcc-g77-20001211.tar.gz) = e5276529ae63b0487e256a2b244dbcc1
+MD5 (gcc-java-20001211.tar.gz) = d1ffa05c3d4991495e7b6457c261d98b
+MD5 (gcc-objc-20001211.tar.gz) = f816bca0ffb483c0b60f907b4d0a2198
diff --git a/lang/gcc48/files/patch-fa b/lang/gcc48/files/patch-fa
index d04530a..d671513 100644
--- a/lang/gcc48/files/patch-fa
+++ b/lang/gcc48/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