Paul Thomas [Sun, 3 Feb 2008 11:29:27 +0000 (11:29 +0000)]
re PR fortran/32760 (Error defining subroutine named PRINT)
2008-02-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32760
* resolve.c (resolve_allocate_deallocate): New function.
(resolve_code): Call it for allocate and deallocate.
* match.c (gfc_match_allocate, gfc_match_deallocate) : Remove
the checking of the STAT tag and put in above new function.
* primary,c (match_variable): Do not fix flavor of host
associated symbols yet if the type is not known.
2008-02-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32760
* gfortran.dg/host_assoc_variable_1.f90: New test.
* gfortran.dg/allocate_stat.f90: Change last three error messages.
Michael Matz [Sat, 2 Feb 2008 15:00:57 +0000 (15:00 +0000)]
re PR target/35045 (gcc-4.3 generates wrong code on i386 with -O3)
PR target/35045
* postreload-gcse.c (record_last_reg_set_info_regno): Renamed
from record_last_reg_set_info.
(record_last_reg_set_info): Take an RTX argument, iterate over all
constituent hardregs.
(record_last_set_info, record_opr_changes): Change calls to
new signature or to record_last_reg_set_info_regno.
re PR rtl-optimization/34773 (miscompilation of vfprintf_r)
PR rtl-optimization/34773
* reg-notes.def (EQUAL): Mention significance of combination of
REG_EQUAL and REG_RETVAL.
* fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
insn that has a REG_RETVAL.
Tom Browder [Thu, 31 Jan 2008 23:58:50 +0000 (23:58 +0000)]
sourcebuild.texi (Front End): Remove references to CVS and CVSROOT/modules.
* doc/sourcebuild.texi (Front End): Remove references to CVS
and CVSROOT/modules.
(Texinfo Manuals): Replace reference to CVS by one to SVN.
(Back End): Remove reference to CVS.
Douglas Gregor [Thu, 31 Jan 2008 20:06:33 +0000 (20:06 +0000)]
re PR c++/34935 (ICE with attribute may_alias)
2008-01-31 Douglas Gregor <doug.gregor@gmail.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/34935
PR c++/34936
* typeck.c (structural_comptypes): Handle comparisons of
VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, FIXED_POINT_TYPE, and
REAL_TYPE nodes.
* mangle.c (write_builtin_type): Map down to the canonical type,
which will be one of the predefined type nodes.
2008-01-31 Douglas Gregor <doug.gregor@gmail.com>
Jakub Jelinek <jakub@redhat.com>
* doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
options. Minor fixes.
(-std): Move reference to standards closer to where language
standards are first mentioned.
re PR target/34995 (MIPS16 ICE in gcc.c-torture/compile/pr34856.c)
gcc/
PR rtl-optimization/34995
* reload.c (alternative_allows_const_pool_ref): Take an rtx
parameter and return a bool. If the rtx parameter is nonnull,
check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
(find_reloads): Update call accordingly. Pass the new operand
if it needed no address reloads, otherwise pass null.
re PR rtl-optimization/34998 (gcc.c-torture/execute/20040709-1.c fails for -EL -mips16 -O3)
gcc/
PR rtl-optimization/34998
* global.c (build_insn_chain): Treat non-subreg_lowpart
SUBREGs of pseudos as clobbering all the words covered by the
SUBREG, not just all the bytes.
* ra-conflict.c (clear_reg_in_live): Likewise. Take the
original df_ref rather than an extract parameter.
(global_conflicts): Update call accordingly.
Andreas Krebbel [Wed, 30 Jan 2008 08:00:51 +0000 (08:00 +0000)]
fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange the overflow check to make it easier to read.
2008-01-30 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
the overflow check to make it easier to read.
(__fixtfdi): Change the type of the ll member in union
long_double to UDItype_x.
Paul Thomas [Wed, 30 Jan 2008 06:56:10 +0000 (06:56 +0000)]
re PR fortran/34975 (Bogus error with USEing modules)
2008-01-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34975
* symbol.c (gfc_delete_symtree, gfc_undo_symbols): Rename
delete_symtree to gfc_delete_symtree.
* gfortran.h : Add prototype for gfc_delete_symtree.
* module.c (load_generic_interfaces): Transfer symbol to a
unique symtree and delete old symtree, instead of renaming.
(read_module): The rsym and the found symbol are the same, so
the found symtree can be deleted.
PR fortran/34429
* decl.c (match_char_spec): Remove the constraint on deferred
matching of functions and free the length expression.
delete_symtree to gfc_delete_symtree.
(gfc_match_type_spec): Whitespace.
(gfc_match_function_decl): Defer characteristic association for
all types except BT_UNKNOWN.
* parse.c (decode_specification_statement): Only derived type
function matching is delayed to the end of specification.
2008-01-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34975
* gfortran.dg/use_only_3.f90: New test.
* gfortran.dg/use_only_3.inc: Modules for new test.
PR fortran/34429
* gfortran.dg/function_charlen_2.f90: New test.
Jakub Jelinek [Tue, 29 Jan 2008 23:21:24 +0000 (00:21 +0100)]
re PR middle-end/34969 (ICE with -fipa-cp -ffast-math)
PR middle-end/34969
* cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
* cgraph.c (cgraph_update_edges_for_call_stmt): New function.
* tree-inline.c (fold_marked_statements): Call
cgraph_update_edges_for_call_stmt if folding a call statement.
* cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
debug_generic_stmt calls, reset it back afterwards.
Jakub Jelinek [Tue, 29 Jan 2008 23:19:07 +0000 (00:19 +0100)]
re PR c/35017 (PR11377 pedwarns even about valid code)
PR c/35017
* c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
static decls.
* c-typeck.c (build_external_ref): Don't pedwarn about
static vars in current function's scope.
* gcc.dg/inline-25.c: New test.
* gcc.dg/inline-26.c: New test.
* gcc.dg/inline-27.c: New test.
Richard Guenther [Tue, 29 Jan 2008 15:47:19 +0000 (15:47 +0000)]
re PR tree-optimization/35006 (Segfault in remove_unused_locals with nested functions)
2008-01-29 Richard Guenther <rguenther@suse.de>
PR middle-end/35006
* tree-inline.h (struct copy_body_data): Add remapping_type_depth
field.
* tree-inline.c (remap_type): Increment remapping_type_depth
around remapping types.
(copy_body_r): Only add referenced variables if they are referenced
from code, not types.
Douglas Gregor [Tue, 29 Jan 2008 13:59:59 +0000 (13:59 +0000)]
re PR c++/34055 (ICE with invalid specialization of variadic template)
2008-01-29 Douglas Gregor <doug.gregor@gmail.com>
PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
2008-01-29 Douglas Gregor <doug.gregor@gmail.com>
PR c++/34055
PR c++/34103
PR c++/34219
PR c++/34606
PR c++/34753
PR c++/34754
PR c++/34755
PR c++/34919
PR c++/34961
* typeck.c (check_return_expr): Tweak call to
check_for_bare_parameter_packs.
* class.c (add_method): Be careful with error_mark_nodes.
* cp-tree.h (check_for_bare_parameter_packs): Remove "*" from
signature.
* pt.c (struct find_parameter_pack_data): Remove
SET_PACKS_TO_ERROR.
(find_parameter_packs_r): Don't use SET_PACKS_TO_ERROR.
(uses_parameter_packs): Don't set SET_PACKS_TO_ERROR.
(make_pack_expansion): Ditto.
(check_for_bare_parameter_packs): Parameter is now a tree, not a
tree*.
(process_template_parm): Tweak call to
check_for_bare_parameter_packs.
(push_template_decl_real): Tweak calls to
check_for_bare_parameter_packs. If bare parameter packs are found
in the list of exceptions, clear out that list after giving an
error.
* semantics.c (finish_cond): Tweak call to
check_for_bare_parameter_packs.
(finish_expr_stmt): Ditto.
(finish_for_expr): Ditto.
(finish_switch_cond): Ditto.
(finish_mem_initializers): Ditto.
(finish_member_declaration): Ditto.
(finish_static_assert): Check for bare parameter packs in the
condition.
* decl2.c (cplus_decl_attributes): Check for bare parameter packs in the
attributes of a declaration.
* parser.c (cp_parser_using_declaration): Tweak call to
check_for_bare_parameter_packs.
(cp_parser_base_clause): Ditto.
Ian Lance Taylor [Mon, 28 Jan 2008 19:43:51 +0000 (19:43 +0000)]
re PR c++/34862 (operator new placement variant with reference arg not accepted by g++ 4.3)
PR c++/34862
PR c++/33407
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
coalesce pointers if they have different DECL_NO_TBAA_P values.
* tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
between variables with different DECL_NO_TBAA_P values.
Bernhard Fischer [Sun, 27 Jan 2008 16:43:07 +0000 (17:43 +0100)]
configure.ac (__stack_chk_fail): Add detecion for availability of SSP in uClibc by checking if...
2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
* configure.ac (__stack_chk_fail): Add detecion for availability
of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
* configure: Regenerate.
include/
2008-01-26 David Daney <ddaney@avtrex.com>
* demangle.h (demangle_component_type): Add
DEMANGLE_COMPONENT_JAVA_RESOURCE,
DEMANGLE_COMPONENT_COMPOUND_NAME, and
DEMANGLE_COMPONENT_CHARACTER as new enum values.
(demangle_component): Add struct s_character to union u.
libiberty/
2008-01-26 David Daney <ddaney@avtrex.com>
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_JAVA_RESOURCE,
DEMANGLE_COMPONENT_COMPOUND_NAME, and
DEMANGLE_COMPONENT_CHARACTER cases.
(d_make_comp): Handle DEMANGLE_COMPONENT_COMPOUND_NAME and
DEMANGLE_COMPONENT_JAVA_RESOURCE cases.
(d_make_character): New function.
(d_java_resource): Same.
(d_special_name): Handle "Gr" case.
(d_print_comp): Handle DEMANGLE_COMPONENT_JAVA_RESOURCE,
DEMANGLE_COMPONENT_COMPOUND_NAME, and
DEMANGLE_COMPONENT_CHARACTER cases.
* testsuite/demangle-expected: Add test for java resource name
mangling.
Zdenek Dvorak [Sat, 26 Jan 2008 22:44:19 +0000 (23:44 +0100)]
re PR target/34711 (g++.dg/tree-ssa/ivopts-1.C fails for power and arm)
PR target/34711
* tree-ssa-loop-ivopts.c (comp_cost): New type.
(zero_cost, infinite_cost): New constants.
(struct cost_pair): Change type of cost to comp_cost.
(struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
(new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
New functions.
(set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
split_address_cost, ptr_difference_cost, difference_cost,
get_computation_cost_at, get_computation_cost,
determine_use_iv_cost_generic, determine_use_iv_cost_address,
determine_use_iv_cost_condition, determine_use_iv_costs,
cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
Change type of cost to comp_cost.
(determine_iv_cost): Increase cost of non-original ivs, instead
of decreasing the cost of original ones.
(get_address_cost): Indicate the complexity of the addressing mode
in comp_cost.
(try_add_cand_for): Prefer using ivs not specific to some object.
* tree-flow.h (force_expr_to_var_cost): Declaration removed.
Thomas Koenig [Sat, 26 Jan 2008 15:22:59 +0000 (15:22 +0000)]
re PR libfortran/34887 (reverse tabbing before slash descriptor (regression vs. g77))
2008-01-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfofortran/34887
* io/transfer.c (next_record_w): Always move to the farthest
position when completing the record (also when we are
processing a slash edit descriptor).
2008-01-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfofortran/34887
* gfortran.dg/x_slash_2.f: New test.
re PR rtl-optimization/34959 (23_containers/bitset/ext/15361.cc fails for MIPS n64)
gcc/
PR rtl-optimization/34959
* optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
popcount and parity rtxes the same mode as their operand.
Truncate or extend the result to the return value's mode
if necessary.