PR target/33579
* tree.h (DECL_INIT_PRIORITY): Do not require
DECL_HAS_INIT_PRIORITY_P.
(DECL_FINI_PRIORITY): Likewise.
* tree.c (decl_init_priority_lookup): Remove assert.
(decl_fini_priority_insert): Likewise.
* cgraphunit.c (static_ctors): Make it a VEC.
(static_dtors): Likewise.
(record_cdtor_fn): Adjust accordingly.
(build_cdtor): Generate multiple functions for each initialization
priority.
(compare_ctor): New function.
(compare_dtor): Likewise.
(cgraph_build_cdtor_fns): Sort the functions by priority before
calling build_cdtor.
(cgraph_build_static_cdtor): Put the priority in the function's
name.
From-SVN: r129918
2007-11-05 Nick Clifton <nickc@redhat.com>
Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/32540
PR tree-optimization/33922
* doc/invoke.texi: Document PARAM_MAX_PARTIAL_ANTIC_LENGTH.
* tree-ssa-pre.c: Include params.h.
(compute_partial_antic_aux): Use PARAM_MAX_PARTIAL_ANTIC_LENGTH
to limit the maximum length of the PA set for a given block.
* Makefile.in: Add a dependency upon params.h for tree-ssa-pre.c
* params.def (PARAM_MAX_PARTIAL_ANTIC_LENGTH): New parameter.
* gcc.dg/tree-ssa/pr32540-1.c: New.
* gcc.dg/tree-ssa/pr32540-2.c: New.
* gcc.dg/tree-ssa/pr33922.c: New.
Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r129901
2007-11-05 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33939
* pt.c (unify_pack_expansion): bring handling of function call
arguments into line with type_unification_real.
2007-11-05 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33939
* g++.dg/cpp0x/variadic-rref.C: New.
From-SVN: r129900
PR tree-optimization/33856
* tree-data-ref.c (get_references_in_stmt): Don't add
REFERENCE_CLASS_P trees to references vector if get_base_address
returns NULL on them.
* gcc.c-torture/compile/20071027-1.c: New test.
From-SVN: r129897
PR c++/33836
* parser.c (cp_parser_unary_expression): For &&label call
cp_parser_non_integral_constant_expression and return error_mark_node
if it returned true.
* g++.dg/ext/label10.C: New test.
From-SVN: r129896
PR c++/33969
* decl.c (grokdeclarator): Don't call build_memfn_type if type
is neither FUNCTION_TYPE nor METHOD_TYPE.
* g++.dg/other/ptrmem9.C: New test.
From-SVN: r129895
2007-11-04 Andrew Pinski <pinskia@gmail.com>
PR middle-end/32931
* fold-const.c (fold_binary <case EQ_EXPR>): Convert the inner type
for TRUTH_NOT_EXPR to type.
2007-11-04 Andrew Pinski <pinskia@gmail.com>
PR middle-end/32931
* gfortran.fortran-torture/compile/forall-1.f90: New testcase.
From-SVN: r129886
PR fortran/10220
* dwarf2out.c (add_calling_convention_attribute): Change
second argument. Set calling convention to DW_CC_program for
Fortran main program.
(gen_subprogram_die): Adjust to new prototype for
add_calling_convention_attribute.
From-SVN: r129882
2007-11-03 Paolo Carlini <pcarlini@suse.de>
Kai-Uwe Bux <bux@kubux.net>
* include/tr1_impl/random (variate_generator<>::min, max,
operator()()): Return non-trivial values when _Engine_result_type
is a floating point type and result_type is an integer type.
Co-Authored-By: Kai-Uwe Bux <bux@kubux.net>
From-SVN: r129875
2007-11-03 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c/29062
* c-parser.c (c_parser_statement_after_labels): Error if a
declaration is parsed after a label.
testsuite/
* gcc.dg/20031223-1.c: Adjust error output.
* gcc.dg/parse-decl-after-label.c: New.
From-SVN: r129873
2007-11-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33985
* io/transfer.c (finalize_transfer): Do not flush for
unformatted STREAM I/O.
From-SVN: r129870
* gfortran.h: Shorten comment.
* trans-types.c (gfc_get_function_type): Allow argument to have
flavor FL_PROGRAM.
* trans-decl.c (gfc_sym_mangled_function_id): Mangle main program
name into MAIN__.
(build_function_decl): Fix comment.
* parse.c (main_program_symbol): Give the main program its proper
name, if any. Set its flavor to FL_PROGRAM.
(gfc_parse_file): Likewise.
From-SVN: r129869
PR middle-end/33670
* haifa-sched.c (ok_for_early_queue_removal): Don't walk out of the
current sched region.
* gcc.dg/pr33670.c: New test.
From-SVN: r129863
PR c++/33516
* parser.c (cp_parser_nested_name_specifier_opt): Use
TYPE_MAIN_VARIANT (new_scope) as scope if new_scope is an incomplete
typedef of currently open class.
* g++.dg/lookup/typedef1.C: New test.
From-SVN: r129862
* config/ia64/ia64.c (struct reg_write_state): Change into
unsigned short bitfields rather than unsigned int, decrease
first_pred to just 10 bits.
(rws_insn): Change into a bitmap or if not ENABLE_CHECKING
into two char array.
(rws_insn_set, rws_insn_test): New functions.
(in_safe_group_barrier): New variable.
(rws_update): Remove first argument, always set rws_sum array.
(rws_access_regno): Use rws_insn_set macro. Only call rws_update
or update rws_sum if !in_safe_group_barrier, adjust rws_update
args.
(rtx_needs_barrier): Use rws_insn_test macro.
(safe_group_barrier_needed): Don't save/restore rws_sum array,
instead set/clear in_safe_group_barrier flag.
From-SVN: r129861
* config/xtensa/xtensa.c (xtensa_expand_prologue): Put a
REG_FRAME_RELATED_EXPR note on the last insn that sets up the stack
pointer or frame pointer.
* config/xtensa/xtensa.h (DWARF_UNWIND_INFO): Delete.
(MUST_USE_SJLJ_EXCEPTIONS): Define.
(DWARF2_UNWIND_INFO): Define.
(INCOMING_RETURN_ADDR_RTX): Define.
(DWARF_FRAME_RETURN_COLUMN): Define.
From-SVN: r129854
2007-11-02 Johannes Singler <singler@ira.uka.de>
PR libstdc++/33892
* include/parallel/workstealing.h: Replaced pragma by function
call lock.
* include/parallel/search.h: Same
* include/parallel/partition.h: Same
* include/parallel/find.h: Same
From-SVN: r129852