Doug Gregor [Fri, 1 Apr 2005 03:35:59 +0000 (03:35 +0000)]
[multiple changes]
2005-03-31 Chris Jefferson <chris@bubblescope.net>
* include/tr1/tuple: Support iteration via tuple_iterate.h.
* include/tr1/tuple_iterate.h: Iteration file for tuple.
2005-03-31 Douglas Gregor <doug.gregor@gmail.com>
* include/Makefile.am (tr1_headers): Add bind and mu repetition
headers and reference_wrapper<> forwarding header.
* include/Makefile.in: Regenerate.
* include/tr1/bind_iterate.h: Implementation of function call
operators for the function object returned from tr1::bind().
* include/tr1/bind_repeat.h: Bind-specific repetition header,
akin to include/tr1/repeat.h.
* include/tr1/functional (_Mem_fn): Bug fix: declare result
member
template for use with result_of.
(is_bind_expression): New.
(is_placeholder): New.
(_Placeholder): New. Placeholder type for bind.
(_Mu): New. Implementation detail of bind.
(_Bind, _Bind_result): New. Function objects returned by bind.
(_GLIBCXX_JOIN): New. Required to create bind placeholders.
* include/tr1/functional_iterate.h (_Bind, _Bind_result, bind):
New. Implementation of tr1::bind.
* include/tr1/mu_iterate.h (_Mu): result template and operator()
for the _Mu helper to bind.
* include/tr1/ref_fwd.h (reference_wrapper): Forward declaration
used by tuple header.
(ref): Ditto.
(cref): Ditto.
* include/tr1/repeat.h: Add bind-specific repetition macros.
* include/tr1/tuple: Use reference_wrapper forwarding header for
initial definitions, then include <tr1/functional> at the end, to
make the circular dependencies work.
(tie): Support zero-argument tie() function.
* testsuite/tr1/3_function_objects/bind/all_bound.cc: New test of
bind() functionality with parameters bound.
* testsuite/tr1/3_function_objects/bind/nested.cc: New test of
nested bind() expressions.
* testsuite/tr1/3_function_objects/bind/placeholders.cc: New test
of bind() placeholders.
* testsuite/tr1/3_function_objects/bind/ref.cc: New test of bind()
with arguments bound via reference_wrapper<>.
* scripts/gen_includers.pl: Generate the repetitive part of
include/tr1/repeat.h.
* scripts/gen_bind_includers.pl: Generate the repetitive part of
include/tr1/bind_repeat.h.
Caroline Tice [Thu, 31 Mar 2005 19:38:44 +0000 (11:38 -0800)]
Committing ChangeLog that goes with hot/cold partitioning fix I checked in...
Committing ChangeLog that goes with hot/cold partitioning fix I checked
in earlier today (I forgot to check in the ChangeLog at the time and only
just noticed).
J"orn Rennecke [Thu, 31 Mar 2005 16:38:25 +0000 (16:38 +0000)]
postreload-gcse.c: Include target.h.
* postreload-gcse.c: Include target.h.
(gcse_after_reload_main): Return early if we cannot modify jumps.
* Makefile.in (postreload-gcse.o): Depend on $(TARGET_H).
re PR libfortran/20660 (INQUIRE incorrectly reports the existence of UNITS)
PR libfortran/20660
* io/inquire.c (inquire_via_unit): Non-opened units should still be
reported by an INQUIRE statement as existing.
* io/transfer.c (data_transfer_init): Never accept negative units.
PR libfortran/20660
* gfortran.dg/negative_unit.f: New test.
Ian Lance Taylor [Thu, 31 Mar 2005 14:53:17 +0000 (14:53 +0000)]
collect2.c (lderrout): New variable.
* collect2.c (lderrout): New variable.
(collect_exit): Dump ldout to stdout. Dump and unlink lderrout,
if it is set, to stderr.
(handler): Unlink lderrout if it is set.
(dump_file): Add "to" parameter. Change all callers.
(main): Initialize lderrout.
(collect_execute): Add errname parameter. Change all callers.
Rename redir parameter to outname. Never pass
PEX_STDERR_TO_STDOUT to pex_run.
* collect2.h (collect_execute, dump_file): Update declarations.
* tlink.c (tlink_execute): Add errname parameter. Change all
callers.
(do_tlink): Check lderrout as well as ldout.
Alan Modra [Wed, 30 Mar 2005 23:46:28 +0000 (09:16 +0930)]
config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
* config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
(powerpc64-*-linux*): Use it. Rearrange tm_file assignment.
(powerpc-*-linux*): Build a biarch compiler when --enable-targets
is given with "powerpc64*" or "all", or when --with-cpu chooses
a 64-bit cpu.
James E Wilson [Wed, 30 Mar 2005 23:08:17 +0000 (15:08 -0800)]
Emit DW_AT_ranges for inlined subroutines that contain disjoint blocks.
PR debug/20268
* dwarf2out.c (add_high_low_attributes): New function, extracted from
gen_lexical_block_die.
(gen_lexical_block_die, gen_inlined_subroutine_die): Call it.
Jan Hubicka [Wed, 30 Mar 2005 22:28:02 +0000 (00:28 +0200)]
[multiple changes]
2005-03-31 Jan Hubicka <jh@suse.cz>
2004-11-02 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_varpool_node_name): New function.
(dump_cgraph_varpool_node): New function.
(dump_varpool): New function.
* cgraphunit.c (cgraph_optimize): Dump varpool.
2004-10-16 Jan Hubicka <jh@suse.cz>
* cgraph.c (decide_is_variable_needed): New function.
(cgraph_varpool_finalize_decl): Use it.
* cgraphunit.c (cgraph_optimize): Assemble_pending_decls when not doing
unit-at-a-time.
* final.c (output_addr_const): Do not call mark_referenced.
* passes.c (rest_of_decl_compilation): ifdef out DECL_RTL_SET_P hack;
always go via cgraph.
* toplev.c (wrapup_global_declarations): Kill non-unit-at-a-time code.
(check_global_declarations): Ifdef out code clearing DECL_RTL.
* tree-optimize.c (execute_inline): Mark functions called.
* i386.c (output_pic_addr_const): Do not call mark_decl_referenced.
2004-10-11 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_varpool_first_unanalyzed_node): New global voriable
(cgraph_varpool_last_needed_node): New static variable.
(enqueue_needed_varpool_node): Break out from ...; add items to the
end of queue; update first pointers.
(cgraph_varpool_mark_needed_node): ... here.
(cgraph_varpool_finalize_decl): Use enqueue_needed_varpool_node.
(cgraph_varpool_assemble_pending_decls): Move to cgraphunit.c
* cgraph.h (cgraph_varpool_node): Add analyzed field.
(cgraph_varpool_first_unanalyzed_node): Declare.
* cgraphunit.c: Include output.h.
(cgraph_varpool_analyze_pending_decls): New function.
(cgraph_varpool_assemble_pending_decls): Move from cgraph.c; bail out
for errors, analyze pending decls.
(cgraph_finalize_compilation_unit): Only analyze decls.
(cgraph_optimize): Assemble the decls after expanding.
Daniel Berlin [Wed, 30 Mar 2005 22:10:47 +0000 (22:10 +0000)]
tree-ssa-alias.c (compute_flow_insensitive_aliasing): Make sure subvars get marked properly in tags for grouping.
2005-03-30 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Make sure
subvars get marked properly in tags for grouping.
(add_pointed_to_var): Mark only actual pointed to
variables/subvars in addresses needed.
(create_overlap_variables_for): Clear call clobbered on original
variable.
* tree-ssa-operands.c (get_asm_expr_operands): Don't let regular
addresable vars with subvars into list.
* tree-ssa.c (verify_ssa_name): Verify original is not used where
subvar should be.
* cgraph.h (struct cgraph_node): Add alias.
* varasm.c (assemble_alias): Set it.
* cgraphunit.c (cgraph_assemble_pending_functions): Check it and
avoid calling cgraph_expand_function.
Joseph Myers [Wed, 30 Mar 2005 19:56:39 +0000 (20:56 +0100)]
re PR c++/772 (Statement expressions issues)
PR c/772
PR c/17913
* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR,
C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct
c_label_context, label_context_stack): New.
* c-decl.c (define_label): Check for jumps into statement
expressions. Add label to list of defined labels.
(start_function): Push context on label_context_stack.
(finish_function): Pop context from label_context_stack.
* c-typeck.c (label_context_stack): New.
(c_finish_goto_label): Check for jumps into statement
expressions. Add label to list of jumped to labels.
(struct c_switch): Add blocked_stmt_expr.
(c_start_case): Initialize it.
(do_case): Check it.
(c_finish_case): Verify !blocked_stmt_expr.
(c_begin_stmt_expr): Push context on label_context_stack.
Increment blocked_stmt_expr. Mark labels jumped to from outside
as undefinable.
(c_finish_stmt_expr): December blocked_stmt_expr. Mark labels
defined in the statement expression and no longer jumpable to.
Mark labels jumped to from just outside the statement expression
as again definable. Pop context from label_context_stack.
* doc/extend.texi (Statement Exprs): Update.
objc:
* objc-act.c (objc_start_function): Push context on
label_context_stack.
J"orn Rennecke [Wed, 30 Mar 2005 12:25:24 +0000 (12:25 +0000)]
(See http://gcc.gnu.org/ml/gcc/2004-12/msg00319.html for discussion.)
(See http://gcc.gnu.org/ml/gcc/2004-12/msg00319.html for discussion.)
* config/mh-mingw32: Delete.
* configure.in: Don't use it.
* configure: Regenerate.
Paolo Bonzini [Wed, 30 Mar 2005 08:23:06 +0000 (08:23 +0000)]
Makefile.def (bfd, [...]): Set lib_path.
2005-02-28 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (bfd, opcodes, libstdc++-v3, libmudflap): Set lib_path.
* Makefile.tpl (SET_LIB_PATH, REALLY_SET_LIB_PATH): Remove.
(HOST_EXPORTS, STAGE_HOST_EXPORTS, TARGET_EXPORTS): Set $(RPATH_ENVVAR).
(HOST_LIB_PATH): Generate from Makefile.def.
(TARGET_LIB_PATH): Likewise.
(Old bootstrap targets): Include TARGET_LIB_PATH into RPATH_ENVVAR.
* Makefile.in: Regenerate.
* configure.in (set_lib_path, SET_LIB_PATH, SET_GCC_LIB_PATH): Remove.
(RPATH_ENVVAR): Include Darwin case.
* configure: Regenerate.
config:
2005-02-28 Paolo Bonzini <bonzini@gnu.org>
* config/gcc-lib-path.m4: Remove.
gcc:
2005-02-28 Paolo Bonzini <bonzini@gnu.org>
* gcc/aclocal.m4: Do not include config/gcc-lib-path.m4.
* gcc/Makefile.in: Do not @set_gcc_lib_path@.
* gcc/configure.ac (TL_AC_GNU_MAKE_GCC_LIB_PATH): Remove.
* gcc/configure: Regenerate.
Paolo Bonzini [Wed, 30 Mar 2005 08:18:08 +0000 (08:18 +0000)]
Makefile.def (bfd, [...]): Set lib_path.
2005-03-31 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (bfd, opcodes, libstdc++-v3, libmudflap): Set lib_path.
* Makefile.tpl (SET_LIB_PATH, REALLY_SET_LIB_PATH): Remove.
(HOST_EXPORTS, STAGE_HOST_EXPORTS, TARGET_EXPORTS): Set $(RPATH_ENVVAR).
(HOST_LIB_PATH): Generate from Makefile.def.
(TARGET_LIB_PATH): Likewise.
(Old bootstrap targets): Include TARGET_LIB_PATH into RPATH_ENVVAR.
* Makefile.in: Regenerate.
* configure.in (set_lib_path, SET_LIB_PATH, SET_GCC_LIB_PATH): Remove.
(RPATH_ENVVAR): Include Darwin case.
* configure: Regenerate.
config:
2005-03-31 Paolo Bonzini <bonzini@gnu.org>
* config/gcc-lib-path.m4: Remove.
gcc:
2005-03-31 Paolo Bonzini <bonzini@gnu.org>
* gcc/aclocal.m4: Do not include config/gcc-lib-path.m4.
* gcc/Makefile.in: Do not @set_gcc_lib_path@.
* gcc/configure.ac (TL_AC_GNU_MAKE_GCC_LIB_PATH): Remove.
* gcc/configure: Regenerate.
* doc/options.texi: Document the new MaskExists flag.
* opth-gen.awk: Don't output MASK and TARGET macros for Mask(...)
if the option has the MaskExists flag.
opt-functions.awk (flag_set_p, test_flag): New functions.
* opt-functions.awk (flag_set_p, test_flag): New functions.
(switch_flags): Use them.
* opth-gen.awk: Use flag_set_p to check for flags.
* optc-gen.awk: Likewise. Use opt_args to check for Init(...) flags.
re PR c/20519 (completed type not selected properly with typeof)
PR c/20519
* c-decl.c (c_finish_incomplete_decl): Update complete_array_type call.
(build_compound_literal): Likewise. Propagate decl type into the
initializer.
(finish_decl): Likewise. Use new return value from complete_array_type
for zero sized arrays.
(complete_array_type): Move ...
* c-common.c (complete_array_type): ... here. Change first argument
to pointer-to-type-node. Consistently use sizetype for the index
except for zero sized arrays. Detect zero sized arrays for pedantic
mode diagnostics. Create a new type node instead of modifying the
old node in place.
* c-tree.h (complete_array_type): Move decl ...
* c-common.h (complete_array_type): ... here.
cp/
* decl.c (cp_complete_array_type): Rename from complete_array_type.
Use the new complete_array_type in c-common.c. Update all callers.
* cp-tree.h (cp_complete_array_type): Update to match.
Tom Tromey [Tue, 29 Mar 2005 20:10:21 +0000 (20:10 +0000)]
[multiple changes]
2005-03-26 Chris Burdess <dog@gnu.org>
* gnu/xml/dom/DomNode.java (notifyNode): grow listener array as
required.
2005-03-13 Michael Koch <konqueror@gmx.de>
* gnu/xml/aelfred2/XmlParser.java: Fixed typo.
2005-03-11 Chris Burdess <dog@gnu.org>
* gnu/xml/aelfred2/SAXDriver.java: Corrected bug handling URI
warnings.
2005-02-27 Chris Burdess <dog@gnu.org>
* gnu/xml/aelfred2/JAXPFactory.java,
gnu/xml/aelfred2/SAXDriver.java,
gnu/xml/aelfred2/XmlParser.java,
gnu/xml/aelfred2/XmlReader.java: Applied GNU Classpath source code
formatting conventions. Replaced arrays of Object with struct-like
classes for easier maintainability. Made SAXDriver.stringInterning
package private to allow access from XmlParser inside the loop without
a method call overhead.
2005-03-11 Chris Burdess <dog@gnu.org>
* gnu/xml/aelfred2/SAXDriver.java: Corrected bug handling URI
warnings.
Ian Lance Taylor [Tue, 29 Mar 2005 19:39:35 +0000 (19:39 +0000)]
re PR bootstrap/14316 (collect2 doesnt build on windows hosts)
PR bootstrap/14316
* collect2.c: Never include <vfork.h>.
(VFORK_STRING, vfork): Don't define.
(pid): Remove global variable.
(handler): Call raise instead of kill (getpid(), ...).
(collect_wait): Add pex parameter. Change all callers. Use
pex_get_status rather than pwait.
(do_wait): Add pex parameter. Change all callers.
(collect_execute): Return struct pex_obj * rather than void. Use
pex routines rather than pexecute.
(fork_execute): Get pex_obj from collect_execute, and pass it to
do_wait.
(scan_prog_file): Use pex routines rather than pipe/vfork/exec.
Only declare quit_handler if SIGQUIT is defined.
(scan_libraries): Likewise.
* collect2.h (collect_execute): Update declaration.
(collect_wait): Update declaration.
* tlink.c (tlink_execute): Get pex_obj from collect_execute, and
pass it to collect_wait.
Robert Dewar [Tue, 29 Mar 2005 16:22:15 +0000 (18:22 +0200)]
xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to guarantee Unix style line terminators for...
2005-03-29 Robert Dewar <dewar@adacore.com>
* xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
guarantee Unix style line terminators for the output files, even when
running on windows.
Ed Schonberg [Tue, 29 Mar 2005 16:21:32 +0000 (18:21 +0200)]
sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null indicator, indicate that the formal can never be null.
2005-03-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
indicator, indicate that the formal can never be null.
(Process_Formals): If a formal has a non_null indicator, insert the
resulting subtype immediately before the enclosing subprogram decl,
and not at the beginning of the corresponding declarative part, to
prevent access before elaboration (Ada2005).