2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-13 11:41:12 +08:00

89th Cygnus<->FSF quick merge

From-SVN: r12952
This commit is contained in:
Mike Stump 1996-10-11 20:08:01 +00:00
parent ce61cc7357
commit 3d4683cb70
4 changed files with 37 additions and 34 deletions

@ -1,3 +1,38 @@
Thu Oct 10 15:58:08 1996 Mike Stump <mrs@cygnus.com>
* typeck.c (unary_complex_lvalue): Add code to handle intermediate
pmd conversions.
* typeck.c (get_delta_difference): Fix wording, as we can be used
for pointer to data members.
Tue Oct 8 12:43:51 1996 Bob Manson <manson@charmed.cygnus.com>
* pt.c (tsubst): If the function decl isn't a member of this
template, return a copy of the decl (including copying the
lang-specific part) so we don't hose ourselves later.
Thu Oct 3 16:24:28 1996 Jason Merrill <jason@yorick.cygnus.com>
* class.c (finish_struct): Remove DWARF-specific tag handling.
* decl.c (pushtag): Likewise.
(finish_function): Always clear DECL_ARGUMENTS on function decls with
no saved RTX.
* decl2.c (finish_file): Emit DWARF debugging info for static data
members.
Wed Oct 2 21:58:01 1996 Bob Manson <manson@charmed.cygnus.com>
* decl.c (duplicate_decls): Make sure the old DECL_LANG_SPECIFIC
isn't the same as the new one before we whack it.
Mon Sep 30 13:38:24 1996 Jason Merrill <jason@yorick.cygnus.com>
* class.c, cp-tree.h, cvt.c, decl.c, decl2.c, gxx.gperf, hash.h,
lex.c, method.c, parse.y, typeck.c, typeck2.c: Remove
warn_traditional and warn_strict_prototypes; remove ancient
'overload' code; remove references to flag_traditional.
Mon Sep 30 12:58:40 1996 Mike Stump <mrs@cygnus.com>
* input.c (sub_getch): Handle 8-bit characters in string literals.

@ -3466,11 +3466,6 @@ finish_struct_1 (t, warn_anon)
DECL_INITIAL (x) = NULL_TREE;
DECL_FIELD_SIZE (x) = width;
DECL_BIT_FIELD (x) = 1;
/* Traditionally a bit field is unsigned
even if declared signed. */
if (flag_traditional
&& TREE_CODE (TREE_TYPE (x)) == INTEGER_TYPE)
TREE_TYPE (x) = unsigned_type_node;
}
}
else
@ -4349,15 +4344,6 @@ finish_struct (t, list_of_fieldlists, attributes, warn_anon)
{
tree tag = TYPE_NAME (TREE_VALUE (x));
#ifdef DWARF_DEBUGGING_INFO
if (write_symbols == DWARF_DEBUG)
{
/* Notify dwarfout.c that this TYPE_DECL node represent a
gratuitous typedef. */
DECL_IGNORED_P (tag) = 1;
}
#endif /* DWARF_DEBUGGING_INFO */
TREE_NONLOCAL_FLAG (TREE_VALUE (x)) = 0;
x = TREE_CHAIN (x);
last_x = chainon (last_x, tag);

@ -208,10 +208,6 @@ extern int warn_write_strings;
extern int warn_pointer_arith;
/* Nonzero means warn for all old-style non-prototype function decls. */
extern int warn_strict_prototypes;
/* Nonzero means warn about suggesting putting in ()'s. */
extern int warn_parentheses;
@ -238,10 +234,6 @@ extern int warn_char_subscripts;
extern int warn_cast_qual;
/* Warn about traditional constructs whose meanings changed in ANSI C. */
extern int warn_traditional;
/* Warn about *printf or *scanf format/argument anomalies. */
extern int warn_format;
@ -254,10 +246,6 @@ extern int warn_nonvdtor;
/* Non-zero means warn when a function is declared extern and later inline. */
extern int warn_extern_inline;
/* Nonzero means do some things the same way PCC does. */
extern int flag_traditional;
/* Nonzero means to treat bitfields as unsigned unless they say `signed'. */
extern int flag_signed_bitfields;
@ -2287,10 +2275,6 @@ extern tree cplus_exception_name PROTO((tree));
extern tree build_decl_overload PROTO((tree, tree, int));
extern tree build_typename_overload PROTO((tree));
extern tree build_overload_with_type PROTO((tree, tree));
extern void declare_overloaded PROTO((tree));
#ifdef NO_AUTO_OVERLOAD
extern int is_overloaded PROTO((tree));
#endif
extern tree build_opfncall PROTO((enum tree_code, int, tree, tree, tree));
extern tree hack_identifier PROTO((tree, tree));
extern tree build_component_type_expr PROTO((tree, tree, tree, int));

@ -1833,11 +1833,9 @@ type_promotes_to (type)
}
else if (C_PROMOTING_INTEGER_TYPE_P (type))
{
/* Traditionally, unsignedness is preserved in default promotions.
Otherwise, retain unsignedness if really not getting bigger. */
/* Retain unsignedness if really not getting bigger. */
if (TREE_UNSIGNED (type)
&& (flag_traditional
|| TYPE_PRECISION (type) == TYPE_PRECISION (integer_type_node)))
&& TYPE_PRECISION (type) == TYPE_PRECISION (integer_type_node))
type = unsigned_type_node;
else
type = integer_type_node;