Gerald Pfeifer [Sun, 30 Jan 2011 12:25:03 +0000 (12:25 +0000)]
codecvt.xml: Fix link to The Austin Common Standards Revision Group.
* doc/xml/manual/codecvt.xml: Fix link to The Austin Common
Standards Revision Group.
* doc/xml/manual/locale.xml: Ditto.
* doc/xml/manual/messages.xml: Ditto.
* doc/xml/manual/using_exceptions.xml: Ditto.
Jerry DeLisle [Sat, 29 Jan 2011 17:31:04 +0000 (17:31 +0000)]
re PR libfortran/47434 (Wrong field width for NaN with (F0.n) formatting)
2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/47434
* io/write_float.def (write_infnan): Use calculate_sign to determine
if the sign should be given and check field widths accordingly.
Dodji Seketeli [Fri, 28 Jan 2011 23:35:59 +0000 (23:35 +0000)]
re PR preprocessor/47311 ([C++0x] ICE in tsubst @cp/pt.c:10502)
Fix PR c++/47311
gcc/cp/
PR c++/47311
* cp-tree.h (fixup_template_parms): Declare.
* pt.c (end_template_parm_list): Do not fixup template parms here.
(fixup_template_parms): Remove static. Fix typo in the
comments. Remove useless code statement.
(fixup_template_parm): For a template template parameter, fixup
its attributes before fixing up its type.
* parser.c
(cp_parser_template_declaration_after_export): After parsing
template parameters fixup their types.
gcc/testsuite/
PR c++/47311
* g++.dg/template/param2.C: New test.
Jakub Jelinek [Fri, 28 Jan 2011 19:36:44 +0000 (20:36 +0100)]
re PR target/42894 (Invalid rtl sharing in Thumb1.)
PR target/42894
* varasm.c (force_const_mem): Store copy of x in desc->constant
instead of x itself.
* expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
itself into REG_EQUAL note.
Paul Thomas [Fri, 28 Jan 2011 13:53:19 +0000 (13:53 +0000)]
re PR fortran/45170 ([F2003] allocatable character lengths)
2011-01-28 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/45170
PR fortran/35810
PR fortran/47350
* interface.c (compare_actual_formal): An allocatable or pointer
deferred length actual is only allowed if the formal argument
is also deferred length. Clean up whitespace.
* trans-expr.c (gfc_conv_procedure_call): Pass string length for
deferred character length formal arguments by reference. Do the
same for function results.
(gfc_trans_pointer_assignment): Do not do runtime check of lhs
and rhs character lengths, if deferred length lhs. In this case
set the lhs character length to that of the rhs.
(gfc_conv_string_parameter): Remove assert that string length is
an integer type.
(is_scalar_reallocatable_lhs): New function.
(alloc_scalar_allocatable_for_assignment): New function.
(gfc_trans_assignment_1): Call above new function. If the rhs is
a deferred character length itself, makes ure that the function
is called before reallocation, so that the length is available.
(gfc_trans_asssignment): Remove error about assignment to
deferred length character variables.
* gfortran.texi : Update entry about (re)allocation on
assignment.
* trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
length character variables.
* module.c (mio_typespec): Transfer deferred characteristic.
* trans-types.c (gfc_get_function_type): New code to generate
hidden typelist, so that those character lengths that are
passed by reference get the right type.
* resolve.c (resolve_contained_fntype): Supress error for
deferred character length functions.
(resolve_function, resolve_fl_procedure) The same.
(check_symbols): Remove the error that support for
entity with deferred type parameter is not yet implemented.
(resolve_fl_derived): The same.
match.c (alloc_opt_list): Allow MOLD for deferred length object.
* trans-decl.c (gfc_get_symbol_decl): For deferred character
length dummies, generate a local variable for string length.
(create_function_arglist): Hidden length can be a pointer.
(gfc_trans_deferred_vars): For deferred character length
results and dummies, assign the string length to the local
variable from the hidden argument on entry and the other way
round on exit, as appropriate.
2011-01-28 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/45170
PR fortran/35810
PR fortran/47350
* gfortran.dg/realloc_on_assign_3.f03: New test.
* gfortran.dg/realloc_on_assign_4.f03: New test.
* gfortran.dg/realloc_on_assign_5.f90: New test.
* gfortran.dg/allocatable_function_5.f90: New test.
* gfortran.dg/allocate_deferred_char_scalar_1.f90: New test.
* gfortran.dg/deferred_type_param_2.f90: Remove two "not yet
implemented" dg-errors.
Jan Hubicka [Thu, 27 Jan 2011 16:16:34 +0000 (17:16 +0100)]
re PR middle-end/46949 (ICE when weakref is used on a definition (internal compiler error: in function_and_variable_visibility, at ipa.c:904))
PR middle-end/46949
* cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
(process_function_and_variable_attributes): Check defined weakrefs.
* gcc.dg/attr-weakref-4.c: New testcase
Nicola Pero [Thu, 27 Jan 2011 02:09:13 +0000 (02:09 +0000)]
In gcc/: 2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
PR c/43082
* c-typeck.c (c_objc_common_truthvalue_conversion): If we are
passed a VOID_TYPE expression, immediately emit an error and
return error_mark_node.
In gcc/testsuite/:
2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
Andrew Pinski <pinskia@gmail.com>
PR c/43082
* gcc.dg/pr43082.c: New.
Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
From-SVN: r169319
Jan Hubicka [Wed, 26 Jan 2011 14:07:02 +0000 (14:07 +0000)]
re PR tree-optimization/47237 (builtin_apply_args broken WRT local ABI changes.)
PR target/47237
* gcc.c-torture/execute/pr47237.c: New testcase.
* cgraph.h (cgraph_local_info): New field can_change_signature.
* ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
signature can change.
(ipcp_estimate_growth): Call sequence simplify only if calle signature
can change.
(ipcp_insert_stage): Only compute args_to_skip if signature can change.
(cgraph_function_versioning): We can not change signature of functions
that don't allow that.
* lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
(lto_input_node): Likewise.
* ipa-inline.c (compute_inline_parameters): Compute local.can_change_signature.
* ipa-split.c (visit_bb): Never split away APPLY_ARGS.
* tree-sra.c (ipa_sra_preliminary_function_checks): Give up on functions
that can not change signature.
* i386.c (ix86_function_regparm, ix86_function_sseregparm,
init_cumulative_args): Do not use local calling conventions for functions
that can not change signature.
Jan Hubicka [Wed, 26 Jan 2011 14:06:20 +0000 (14:06 +0000)]
re PR tree-optimization/47237 (builtin_apply_args broken WRT local ABI changes.)
PR target/47237
* cgraph.h (cgraph_local_info): New field can_change_signature.
* ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
signature can change.
(ipcp_estimate_growth): Call sequence simplify only if calle signature
can change.
(ipcp_insert_stage): Only compute args_to_skip if signature can change.
(cgraph_function_versioning): We can not change signature of functions
that don't allow that.
* lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
(lto_input_node): Likewise.
* ipa-inline.c (compute_inline_parameters): Compute local.can_change_signature.
* ipa-split.c (visit_bb): Never split away APPLY_ARGS.
* tree-sra.c (ipa_sra_preliminary_function_checks): Give up on functions
that can not change signature.
* i386.c (ix86_function_regparm, ix86_function_sseregparm,
init_cumulative_args): Do not use local calling conventions for functions
that can not change signature.
Richard Guenther [Wed, 26 Jan 2011 14:03:54 +0000 (14:03 +0000)]
re PR tree-optimization/47190 (ICE: in function_and_variable_visibility, at ipa.c:934 with static weakref variable)
PR tree-optimization/47190
* cgraphunit.c (process_common_attributes): New function.
(process_function_and_variable_attributes): Use it.
* gcc.dg/attr-weakref-3.c: New testcase.
Dave Korn [Wed, 26 Jan 2011 04:19:58 +0000 (04:19 +0000)]
re PR target/40125 (libgcc_s DLL installed in wrong directory in cross toolchain)
gcc/ChangeLog:
PR target/40125
* config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
t-dlldir{,-x} fragment for build and add it to tmake_file.
(i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
* Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
* config/i386/t-dlldir: New file.
(SHLIB_DLLDIR): Define.
* config/i386/t-dlldir-x: New file.
(SHLIB_DLLDIR): Define.
* config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
(SHLIB_INSTALL): Use it.
Dave Korn [Wed, 26 Jan 2011 03:46:07 +0000 (03:46 +0000)]
patch_tester.sh (nopristinecache): New shell var, set according to presence or absence of new -nopristinecache option.
* patch_tester.sh (nopristinecache): New shell var, set according
to presence or absence of new -nopristinecache option.
(usage): Document new option.
(bootntest_pristine): Implement it.
PR target/47246
* config/arm/arm.c (thumb2_legitimate_index_p): Change the
lower bound of the allowed Thumb-2 coprocessor load/store
index range to -256. Add explaining comment.
Ian Lance Taylor [Wed, 26 Jan 2011 01:26:48 +0000 (01:26 +0000)]
re PR tree-optimization/26854 (Inordinate compile times on large routines)
PR tree-optimization/26854
* c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
(decl_jump_unsafe): Move higher in file, with no other change.
(bind): Set has_jump_unsafe_decl if appropriate.
(update_label_decls): Test has_jump_unsafe_decl to avoid loop.
(check_earlier_gotos): Likewise.
(c_check_switch_jump_warnings): Likewise.