Makefile.in (stmp-fixinc): If we're actually fixing include files...
a
* Makefile.in (stmp-fixinc): If we're actually fixing include
files, copy gcc's assert.h into the fixed include dir.
* fixincludes (assert.h): Avoid any attempts to fix a probably
broken system specific assert.h file.
* fixproto (stdlib.h): Make sure, it'll contain a definition of
size_t.
Makefile.in (stmp-fixinc): If we're actually fixing include files...
d
* Makefile.in (stmp-fixinc): If we're actually fixing include
files, copy gcc's assert.h into the fixed include dir.
* fixincludes (assert.h): Avoid any attempts to fix a probably
broken system specific assert.h file.
* fixproto (stdlib.h): Make sure, it'll contain a definition of
size_t.
Makefile.in (stmp-fixinc): If we're actually fixing include files...
0
* Makefile.in (stmp-fixinc): If we're actually fixing include
files, copy gcc's assert.h into the fixed include dir.
* fixincludes (assert.h): Avoid any attempts to fix a probably
broken system specific assert.h file.
* fixproto (stdlib.h): Make sure, it'll contain a definition of
size_t.
J"orn Rennecke [Thu, 26 Mar 1998 15:08:53 +0000 (15:08 +0000)]
reload inheritance improvement:
* reload1.c (reg_reloaded_contents, reg_reloaded_insn):
Change meaning: index is now hard reg number.
(reg_reloaded_valid, reg_reloaded_dead): New variables.
(reload_spill_index): Content is now a hard reg number.
(reload_as_needed): Change to fit new variable meaning.
(forget_old_reloads_1, allocate_reload_reg): Likewise.
(choose_reload_regs, emit_reload_insns): Likewise.
Jason Merrill [Thu, 26 Mar 1998 11:16:45 +0000 (11:16 +0000)]
decl.c (grokdeclarator): Remove const and volatile from type after setting constp and volatilep.
* decl.c (grokdeclarator): Remove const and volatile from type after
setting constp and volatilep.
* class.c (finish_struct_1): Don't warn about bool bitfield larger
than one bit.
J"orn Rennecke [Thu, 26 Mar 1998 10:44:22 +0000 (10:44 +0000)]
regclass.c (record_reg_classes): '?' increases cost by two.
* regclass.c (record_reg_classes): '?' increases cost by two.
* reload.c (find_reloads): Double previous costs. Output
reloads cost one unit extra.
* reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
boiled down to && ! 0.
* reload.c (find_equiv_reg): Also consider a goal offset from the
frame pointer to be constant.
Jeffrey A Law [Thu, 26 Mar 1998 10:30:41 +0000 (10:30 +0000)]
acinclude.m4: Bring back changes lost during merge.
* acinclude.m4: Bring back changes lost during merge.
(mostly Cygwin, automake and EGCS_PROG_INSTALL stuff).
* aclocal.m4: Likewise.
* configure.in: Likewise.
Jeff Law [Wed, 25 Mar 1998 22:58:40 +0000 (15:58 -0700)]
haifa-sched.c (find_post_sched_live): Use EXECUTE_IF_SET_IN_REG_SET instead of calling REGNO_REG_SET_P for each pseudo.
* haifa-sched.c (find_post_sched_live): Use EXECUTE_IF_SET_IN_REG_SET
instead of calling REGNO_REG_SET_P for each pseudo.
(update_reg_usage): Likewise.
(compute_block_backward)dependences): Do not call "free_list" for
an empty list.
Improves compile times by about 7% on average on my PAs.
Mark Mitchell [Wed, 25 Mar 1998 16:14:49 +0000 (16:14 +0000)]
cp-tree.h (enforce_access): Declare.
Wed Mar 25 16:10:50 1998 Mark Mitchell <mmitchell@usa.net>
* cp-tree.h (enforce_access): Declare.
* call.c (enforce_access): Make it extern, not static.
* class.c (alter_access): Use enforce_access; modify code for ISO
compliance, rather than ARM rules.
Jim Wilson [Wed, 25 Mar 1998 13:42:05 +0000 (13:42 +0000)]
Fix bug reported by David C Binderman, accept 'L' when pedantic with FP format.
* c-common.c (check_format_info): Initialize type, is_type. New local
integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
when pedantic if used with integral format specifier.
Mark Mitchell [Tue, 24 Mar 1998 16:13:12 +0000 (16:13 +0000)]
tree.c (mapcar): When dealing with a DECL, use it's constant value, if any.
�
* tree.c (mapcar): When dealing with a DECL, use it's constant
value, if any.
* pt.c (lookup_template_class): Don't mangle the names of template
classes whose arguments are unknown.
* pt.c (tsubst_expr): Handle GOTO_STMT correctly.
Mark Mitchell [Tue, 24 Mar 1998 16:13:12 +0000 (16:13 +0000)]
tree.c (mapcar): When dealing with a DECL, use it's constant value, if any.
�
* tree.c (mapcar): When dealing with a DECL, use it's constant
value, if any.
* pt.c (lookup_template_class): Don't mangle the names of template
classes whose arguments are unknown.
* pt.c (tsubst_expr): Handle GOTO_STMT correctly.
Mark Mitchell [Tue, 24 Mar 1998 16:13:09 +0000 (16:13 +0000)]
tree.c (mapcar): When dealing with a DECL, use it's constant value, if any.
�
* tree.c (mapcar): When dealing with a DECL, use it's constant
value, if any.
* pt.c (lookup_template_class): Don't mangle the names of template
classes whose arguments are unknown.
* pt.c (tsubst_expr): Handle GOTO_STMT correctly.
Mark Mitchell [Tue, 24 Mar 1998 16:13:08 +0000 (16:13 +0000)]
tree.c (mapcar): When dealing with a DECL, use it's constant value, if any.
�
* tree.c (mapcar): When dealing with a DECL, use it's constant
value, if any.
* pt.c (lookup_template_class): Don't mangle the names of template
classes whose arguments are unknown.
* pt.c (tsubst_expr): Handle GOTO_STMT correctly.
Benjamin Kosnik [Tue, 24 Mar 1998 12:24:59 +0000 (12:24 +0000)]
decl.c (init_decl_processing): Set TYPE_PRECISON for bools to 1.
�
Tue Mar 24 12:21:55 1998 Benjamin Kosnik <bkoz@lisa.cygnus.com>
* decl.c (init_decl_processing): Set TYPE_PRECISON for bools to 1.
Tue Mar 24 12:21:48 1998 Jim Wilson <wilson@cygnus.com>
* decl.c (init_decl_processing): Initialize TYPE_MAX_VALUE for
boolean_type_node to 1.
Fixes for g++/15235
Benjamin Kosnik [Tue, 24 Mar 1998 12:24:56 +0000 (12:24 +0000)]
decl.c (init_decl_processing): Set TYPE_PRECISON for bools to 1.
8
Tue Mar 24 12:21:55 1998 Benjamin Kosnik <bkoz@lisa.cygnus.com>
* decl.c (init_decl_processing): Set TYPE_PRECISON for bools to 1.
Tue Mar 24 12:21:48 1998 Jim Wilson <wilson@cygnus.com>
* decl.c (init_decl_processing): Initialize TYPE_MAX_VALUE for
boolean_type_node to 1.
Fixes for g++/15235
Mark Mitchell [Tue, 24 Mar 1998 10:25:44 +0000 (10:25 +0000)]
cplus-dem.c (optable): Add sizeof.
* cplus-dem.c (optable): Add sizeof.
(demangle_template_value_parm): New function containing code
previously found in demangle_template.
(demangle_integral_value): New function which handles complicated
integral expressions.
(demangle_template): Use them.
* error.c (dump_expr): Remove unused variable `l'.
* pt.c (for_each_template_parm): New function, created by
converting uses_template_parms.
(tree_fn_t): New typedef.
(uses_template_parms): Use it.
(mark_template_parm): New function.
(push_template_decl): Check that the argument list of a partial
specialization uses all the template parameters.
* Make-lang.in (c++filt): Don't delete cxxmain.c after we're done
with it; we might want it for debugging.
* cp-tree.h (type_unification): Change interface.
* class.c (finish_struct_1): Skip nested template types, just like
ordinary nested types.
(instantiate_type): Use new interface to type_unification.
* lex.c (init_lex): Add __sz as opname for sizeof.
* method.c (build_overload_scope_ref): New function.
(build_overload_int): Handle complex expressions. Set
numeric_output_need_bar if necessary.
(build_overload_value): Handle non-PARM_DECL nodes; this
routine is now used by build_overload_int. Remove some
assignments to numeric_output_need_bar. Use
build_overload_scope_ref.
(build_qualified_name): Note that some template mangled names end
with digits, and set numeric_output_need_bar appropriately. Use
build_underscore_int.
* pt.c (unify): Change interface.
(type_unification_real): Likewise.
(determine_specialization): Use new interfaces.
(tsubst): Deal gracefully with situations in which the argument
vector is not fully filled.
(fn_type_unification): Use new interfaces.
(type_unification): Likewise. Remove NOP_EXPR hack.
(type_unification_real): Likewise.
(unify): Likewise. Deal with unification of complex expresions.
Jason Merrill [Mon, 23 Mar 1998 23:08:59 +0000 (23:08 +0000)]
decl.c (make_typename_type): Revert.
* decl.c (make_typename_type): Revert.
(make_implicit_typename): Remove.
(lookup_name_real): Don't call it. Call lookup_field if we see a
TYPE_DECL from a template base.
* search.c (lookup_field): Do implicit typename stuff.
H.J. Lu [Mon, 23 Mar 1998 22:59:18 +0000 (22:59 +0000)]
c-parse.in: Recognize protocol qualifiers in class definitions for objc.
* c-parse.in: Recognize protocol qualifiers in class
definitions for objc.
Include "output.h".
(yyerror): Remove redundant decl.
(yyprint): Fix prototype.
* m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
(zero_extendsidi2): Avoid useless copy.
(iordi_zext): New pattern.
(iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
operand 2.
(iorsi_zext): New name for old unnamed pattern; indentation fixes.
* decl.c (make_implicit_typename): Rewrite removed code.
(make_typename_type): Call it if the type we look up comes from
a base that uses template parms.
Jason Merrill [Fri, 20 Mar 1998 10:44:06 +0000 (05:44 -0500)]
pt.c (complete_template_args): Rewrite.
* pt.c (complete_template_args): Rewrite.
(tsubst, FUNCTION_DECL): Use it.
* semantics.c (finish_asm_stmt): Fix combine strings. Call
c_expand_asm_operands () if output_operands, input_operands or
clobbers is not NULL_TREE.
* pt.c (complete_template_args): New function.
(get_bindings): Deal with specializations of function templates
with return type containing parameters from outer class
templates.
(tsubst, TEMPLATE_TEMPLATE_PARM): When reducing parameter level,
substitute arguments and compose a new type.