Nick Clifton [Wed, 26 Feb 2003 11:26:37 +0000 (11:26 +0000)]
arm.c (is_load_address): Rename to...
* config/arm/arm.c (is_load_address): Rename to... (arm_memory_load_p) ... this
and make it check for SUBREGs and constant loads that will be converted into
loads from the minipool.
(is_cirrus_insn): Rename to ... (arm_cirrus_insn_p): ... this, for consistency.
Replace test of CIRRUS_NO with CIRRUS_NOT.
(cirrus_reorg): Use renamed functions.
(note_invalid_constants): Change from a void function to bool. Add an extra
parameter, saying whether the fixups should be pushed. Return true if fixups
are needed.
(arm_reorg): Use renamed functions. Use INSN_P. Replace test of CIRRUS_NO
with CIRRUS_NOT.
* config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that other floating point
co-processors can also affect this.
* config/arm/arm.md ("type" attribute): Add mav_farith and mav_dmult. Replace
references to "cirrus_type" attribute with "type".
* config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
("cirrus_type" attribute): Delete - use "type" instead.
("cirrus" attribute): Replace 'no' with 'not' and 'yes' with 'normal'.
Jan Hubicka [Wed, 26 Feb 2003 11:09:33 +0000 (12:09 +0100)]
objc-act.c: Include cgraph.h
* objc-act.c: Include cgraph.h
(mark_referenced_methods): New function.
(objc_init): Call it.
* objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
* c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
mode.
* optabs.c (expand_fix): Do not widen the input operand.
* expr.c (emit_group_store): Fix crash when converting single
register into complex register.
* Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
* alias.c: Include timevar.h
(init_alias_analysis): Set timevar
* jump.c: Include timevar.h
(rebuild_jump_labels): Set timevar
* regcalss.c: Include timevar.h
(reg_scan): Set timevar
* timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
Mark Mitchell [Wed, 26 Feb 2003 05:39:01 +0000 (05:39 +0000)]
re PR c++/9683 (bug in initialization chains for static const variables from template classes)
PR c++/9683
* decl2.c (prune_vars_needing_no_initialization): Do not throw
away initializations for DECL_EXTERNAL VAR_DECLs.
(finish_file): Adjust accordingly.
* pt.c (instantiate_decl): Do not defer VAR_DECLs.
PR c++/9683
* g++.dg/template/static3.C: New test.
Phil Edwards [Wed, 26 Feb 2003 00:02:16 +0000 (00:02 +0000)]
Intro.3: Update with new (proper) names.
2003-02-25 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/Intro.3: Update with new (proper) names.
* docs/doxygen/TODO: Update.
* docs/doxygen/run_doxygen: More comments, fix up man pages.
Fake entries for standard typedefs.
* docs/doxygen/user.cfg.in: Turn INLINE_INHERITED_MEMB back on.
* docs/html/documentation.html: Top-level man page is now called
C++Intro.
* include/std/std_limits.h: Doxygenate.
Vladimir Makarov [Tue, 25 Feb 2003 20:40:57 +0000 (20:40 +0000)]
sched-int.h (INSN_TRAP_CLASS, [...]): Move them from sched-rgn.c.
2003-02-25 Vladimir Makarov <vmakarov@redhat.com>
Richard Henderson <rth@redhat.com>
* sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
sched-rgn.c.
(add_forward_dependence): New function prototype.
* sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
sched-init.h.
(CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
them to haifa-sched.c.
* haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
haifa_classify_insn): Move them from sched-rgn.c.
* sched-deps.c (add_dependence): Return flag of creating a new
entry.
(add_forward_dependence): New function.
(compute_forward_dependences): Use the function.
* sched-ebb.c (earliest_block_with_similiar_load): New function.
(add_deps_for_risky_insns): New function.
(schedule_ebb): Call the function.
* config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
Remove.
(is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
a vector type. Change return type to bool.
(TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
(TARGET_VECTOR_OPAQUE_P): Define.
* cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
target hook.
Include target.h.
(cp_parser_init_declarator): Fix typo in function comments.
Mark Mitchell [Mon, 24 Feb 2003 21:52:00 +0000 (21:52 +0000)]
re PR c++/9836 (Error with typdefs in partial specializations of classes)
PR c++/9836
* cp-tree.h (CLASSTYPE_PRIMARY_TEMPLATE): Do not skip from
specializations back to the main template.
* parser.c (cp_parser_diagnose_invalid_type_name):Adjust use.
* pt.c (resolve_typename_type): Likewise.
re PR c++/9778 (ICE with sizeof(expr) in non-type template arg)
2003-02-24 Jeffrey D. Oldham <oldham@codesourcery.com>
PR c++/9778
* cp/pt.c (tsubst_copy_and_build): For a templated function inside a
scope, process template arguments.
* testsuite/g++.dg/parse/template6.C: New test case.
Paolo Carlini [Mon, 24 Feb 2003 18:22:58 +0000 (19:22 +0100)]
PR libstdc++/9404, PR libstdc++/9701 (partial)
2003-02-24 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
PR libstdc++/9404, PR libstdc++/9701 (partial)
(aka pptr == epptr implies overflow)
* include/bits/fstream.tcc (_M_allocate_internal_buffer):
Consistently, _M_out_end points to the end of the buffer just
created.
(overflow): Tweak to use _M_out_buf_size().
(_M_convert_to_external): The role of the old _M_out_end is
now played by _M_out_lim.
(_M_really_overflow): Likewise.
(seekoff): Likewise.
(setbuf): _M_out_end points to the end of the external buffer.
* include/bits/sstream.tcc (overflow): Rewrote, taking into
account the resolution of DR 169 (TC).
(seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
(seekpos): Use _M_string.capacity(); tweak.
* include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
* include/std/std_fstream.h (sync): The role of the old
_M_out_end is now played by _M_out_lim.
(_M_set_indeterminate): Use _M_set_determinate.
(_M_set_determinate): _M_out_end is now _M_out_lim.
(_M_is_indeterminate): Likewise.
* include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
(_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
which have the information readily available as _M_string.capacity();
for ate and app modes, pass the string size to _M_really_sync.
(_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
point to the end of the buffer (i.e., epptr) and to the string end,
respectively.
* include/std/std_streambuf.h: tweak comments, add _M_out_lim,
which points to the right limit of the used put area.
(_M_out_cur_move): The role of the old _M_out_end is now played
by _M_out_lim.
(_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
_M_out_end - _M_out_cur (i.e., pptr), _very_ close to the letter
of the standard.
(basic_streambuf()): Initialize _M_out_lim too.
* testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
* testsuite/27_io/filebuf_virtuals.cc (test11): Add.
* testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
Mark Mitchell [Mon, 24 Feb 2003 07:43:23 +0000 (07:43 +0000)]
re PR c++/5333 (ICE on nested template classes using other nested template classes)
PR c++/5333
* cp-tree.h (CLASSTYPE_PRIMARY_TEMPLATE): New macro.
* parser.c (cp_parser_diagnose_invalid_type_name): Use it.
* pt.c (instantiate_class_template): Don't try to instantiate
dependent types.
(resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE.
* calls.c (store_one_arg): Revert 1999-02-16 change. Revert
2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
* expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
(enum block_op_methods): Reorder for better store_expr optimization.
* expr.c (store_expr): Test bit 1 of "want_value" for call param
stores, test bit 0 for original want_value meaning. Pass
BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
recursive calls, and calls to expand_param.
(expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
expected, set target to 0 rather than to subtarget. Formatting.
Kaveh R. Ghazi [Sun, 23 Feb 2003 16:56:04 +0000 (16:56 +0000)]
invoke.texi (ggc-min-expand, [...]): Document new default behavior.
* doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
new default behavior.
* ggc-common.c: Include sys/resource.h.
(ggc_rlimit_bound): New function.
(ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
defaults to account for rlimits.
Kelley Cook [Sun, 23 Feb 2003 03:10:03 +0000 (03:10 +0000)]
i386.c: Replace "mcpu" with "mtune".
* config/i386/i386.c: Replace "mcpu" with "mtune".
* config/i386/i386.h (TARGET_OPTIONS): Likewise.
(CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
* doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
Kaveh R. Ghazi [Sat, 22 Feb 2003 15:39:16 +0000 (15:39 +0000)]
configure.in: Check for sys/systemcfg.h and _system_configuration.
* configure.in: Check for sys/systemcfg.h and
_system_configuration.
* physmem.c: Add support for AIX. Tweek formatting as per
upstream coreutils beta.
Jan Hubicka [Sat, 22 Feb 2003 10:02:31 +0000 (11:02 +0100)]
expmed.c (expand_divmod): Undo sign extensions for unsigned operands
* expmed.c (expand_divmod): Undo sign extensions for unsigned operands
* cfgcleanup.c (try_forward_edges): Don't check loop structures
when not optimizing.
(cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
when not expensive.
* toplev.c (rest_of_compilation): Duplicate loop headers only when
optimizing; Delete trivially dead insns early; fix optimize check.
* Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
dependency on cgraph.h
* c-decl.c: Include cgraph.h
(finish_function): Update call of tree_inlinable_function_p.
* c-objc-common.c: Include cgraph.h
* cgraph.h: New file.
* cgraphunit.c: New file.
* cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
(cgraph_nodes, cgraph_n_nodes): Globalize.
(cgraph_finalize_function, cgraph_finalize_compilation_unit
cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
Move into cgraphunit.c
* tree-inline.c: Include cgraph.h
* tree-inline.c: Include cgraph.h
Roger Sayle [Sat, 22 Feb 2003 04:16:18 +0000 (04:16 +0000)]
fold-const.c (omit_one_operand): No longer static.
* fold-const.c (omit_one_operand): No longer static.
* tree.h (omit_one_operand): Prototype here.
(div_and_round_double): Keep fold-const.c prototypes together.
* builtins.c (builtin_mathfn_code): Handle binary built-in
funtions, such as "pow" and "atan2".
(fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
Simplify optimizations using "type" the builtin's return type.
* builtins.c (expand_builtin_expect): Do not predict
flag_guess_branch_prob is not set.
* c-semantics.c (expand_stmt): Likewise.
* predict.c (predict_insn): Likewise.
* stmt.c (expand_continue_loop): Likewise.
* toplev.c (rest_of_compilation): Do not call
note_prediction_to_br_prob and note_prediction_to_br_prob
when not optimizing.
Jan Hubicka [Fri, 21 Feb 2003 22:14:23 +0000 (23:14 +0100)]
cfgrtl.c (commit_edge_insertions): Call find_many_sub_basic_block only when some code has been emitted.
* cfgrtl.c (commit_edge_insertions): Call
find_many_sub_basic_block only when some code has been emitted.
(commit_edge_insertions_watch_calls): Bring into sync with
commit_edge_insertions
Rainer Orth [Fri, 21 Feb 2003 20:33:50 +0000 (20:33 +0000)]
physmem.c (physmem_total): Use getsysinfo on Tru64 UNIX.
* physmem.c (physmem_total) [HAVE_GETSYSINFO]: Use getsysinfo on
Tru64 UNIX.
(physmem_available) [HAVE_TABLE && HAVE_SYS_TABLE_H]: Use table on
Tru64 UNIX.
* configure.in (AC_CHECK_HEADERS): Check for sys/sysinfo.h,
machine/hal_sysinfo.h, sys/table.h.
(checkfuncs, AC_CHECKFUNCS): Check for getsysinfo, table.
* configure, config.in: Regenerate.