diff options
Diffstat (limited to 'lang/gpc/files/patch-aq')
-rw-r--r-- | lang/gpc/files/patch-aq | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/lang/gpc/files/patch-aq b/lang/gpc/files/patch-aq new file mode 100644 index 000000000000..47bcd62055ef --- /dev/null +++ b/lang/gpc/files/patch-aq @@ -0,0 +1,121 @@ +diff -P -N -C3 -r gpc.std/p/gpc-common.c gpc/p/gpc-common.c +*** p/gpc-common.c.orig Sat Dec 26 02:06:58 1998 +--- p/gpc-common.c Thu Mar 23 18:24:40 2000 +*************** +*** 797,803 **** + + record_function_format (DECL_NAME (decl), + DECL_ASSEMBLER_NAME (decl), +! is_scan, format_num, first_arg_num); + break; + } + +--- 797,803 ---- + + record_function_format (DECL_NAME (decl), + DECL_ASSEMBLER_NAME (decl), +! is_scan, 0, format_num, first_arg_num); + break; + } + +*************** +*** 1038,1043 **** +--- 1038,1044 ---- + tree assembler_name; /* optional mangled identifier (for C++) */ + int is_scan; /* TRUE if *scanf */ + int format_num; /* number of format argument */ ++ int null_format_ok; /* TRUE if the format string may be NULL */ + int first_arg_num; /* number of first arg (zero for varargs) */ + } function_format_info; + +*************** +*** 1068,1082 **** + void + init_function_format_info () + { +! record_function_format (get_identifier ("printf"), NULL_TREE, 0, 1, 2); +! record_function_format (get_identifier ("fprintf"), NULL_TREE, 0, 2, 3); +! record_function_format (get_identifier ("sprintf"), NULL_TREE, 0, 2, 3); +! record_function_format (get_identifier ("scanf"), NULL_TREE, 1, 1, 2); +! record_function_format (get_identifier ("fscanf"), NULL_TREE, 1, 2, 3); +! record_function_format (get_identifier ("sscanf"), NULL_TREE, 1, 2, 3); +! record_function_format (get_identifier ("vprintf"), NULL_TREE, 0, 1, 0); +! record_function_format (get_identifier ("vfprintf"), NULL_TREE, 0, 2, 0); +! record_function_format (get_identifier ("vsprintf"), NULL_TREE, 0, 2, 0); + + record_international_format (get_identifier ("gettext"), NULL_TREE, 1); + record_international_format (get_identifier ("dgettext"), NULL_TREE, 2); +--- 1069,1083 ---- + void + init_function_format_info () + { +! record_function_format (get_identifier ("printf"), NULL_TREE, 0, 0, 1, 2); +! record_function_format (get_identifier ("fprintf"), NULL_TREE, 0, 0, 2, 3); +! record_function_format (get_identifier ("sprintf"), NULL_TREE, 0, 0, 2, 3); +! record_function_format (get_identifier ("scanf"), NULL_TREE, 1, 0, 1, 2); +! record_function_format (get_identifier ("fscanf"), NULL_TREE, 1, 0, 2, 3); +! record_function_format (get_identifier ("sscanf"), NULL_TREE, 1, 0, 2, 3); +! record_function_format (get_identifier ("vprintf"), NULL_TREE, 0, 0, 1, 0); +! record_function_format (get_identifier ("vfprintf"), NULL_TREE, 0, 0, 2, 0); +! record_function_format (get_identifier ("vsprintf"), NULL_TREE, 0, 0, 2, 0); + + record_international_format (get_identifier ("gettext"), NULL_TREE, 1); + record_international_format (get_identifier ("dgettext"), NULL_TREE, 2); +*************** +*** 1093,1104 **** + (e.g. for varargs such as vfprintf). */ + + void +! record_function_format (name, assembler_name, is_scan, + format_num, first_arg_num) + tree name; + tree assembler_name; + int is_scan; + int format_num; + int first_arg_num; + { + function_format_info *info; +--- 1094,1106 ---- + (e.g. for varargs such as vfprintf). */ + + void +! record_function_format (name, assembler_name, is_scan, null_format_ok, + format_num, first_arg_num) + tree name; + tree assembler_name; + int is_scan; + int format_num; ++ int null_format_ok; + int first_arg_num; + { + function_format_info *info; +*************** +*** 1122,1127 **** +--- 1124,1130 ---- + + info->is_scan = is_scan; + info->format_num = format_num; ++ info->null_format_ok = null_format_ok; + info->first_arg_num = first_arg_num; + } + +diff -P -N -C3 -r gpc.std/p/gpc-defs.h gpc/p/gpc-defs.h +*** p/gpc-defs.h.orig Mon Dec 21 04:41:07 1998 +--- p/gpc-defs.h Thu Mar 23 18:20:44 2000 +*************** +*** 622,628 **** + extern tree build_pascal_unary_op PROTO ((enum tree_code, tree, int)); + extern tree build_pascal_pointer_reference PROTO ((tree)); + extern tree build_pascal_address_expression PROTO ((tree)); +! extern void record_function_format PROTO ((tree, tree, int, int, int)); + + /* + * construct an identifier_node for the assembler-name +--- 622,628 ---- + extern tree build_pascal_unary_op PROTO ((enum tree_code, tree, int)); + extern tree build_pascal_pointer_reference PROTO ((tree)); + extern tree build_pascal_address_expression PROTO ((tree)); +! extern void record_function_format PROTO ((tree, tree, int, int, int, int)); + + /* + * construct an identifier_node for the assembler-name |