PR c++/31665
* decl.c (duplicate_decls, grokdeclarator): Put the
diagnostics in full sentences for easy translation and wrapped into
G_().
* typeck.c (build_x_unary_op): Likewise.
Jakub Jelinek [Thu, 17 Dec 2009 22:07:13 +0000 (23:07 +0100)]
dwarf2out.c (loc_descriptor): For SYMBOL_REFs and LABEL_REFs use DW_OP_addr+DW_OP_stack_value instead of...
* dwarf2out.c (loc_descriptor): For SYMBOL_REFs and LABEL_REFs
use DW_OP_addr+DW_OP_stack_value instead of DW_OP_implicit_value.
(add_const_value_attribute): For CONST_STRING, SYMBOL_REFs and
LABEL_REFs use DW_OP_addr+DW_OP_stack_value DW_AT_location instead of
DW_AT_const_value.
* gcc.dg/debug/dwarf2/const-1.c: Don't expect DW_AT_const_value,
but instead DW_AT_location with DW_OP_addr+DW_OP_stack_value. Add
-gno-strict-dwarf -fno-merge-debug-strings to dg-options.
* g++.dg/debug/dwarf2/const1.C: Likewise.
* g++.dg/debug/dwarf2/template-params-3.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-3.C: Likewise.
Julian Brown [Thu, 17 Dec 2009 15:37:23 +0000 (15:37 +0000)]
bpabi-v6m.S (test_div_by_zero): New macro.
gcc/
* config/arm/bpabi-v6m.S (test_div_by_zero): New macro.
(aeabi_ldivmod, aeabi_uldivmod): Use above macro.
* config/arm/bpabi.S (test_div_by_zero): New macro.
(aeabi_ldivmod, aeabi_uldivmod): Use above macro.
* config/arm/lib1funcs.asm (ARM_LDIV0): Tail-call int div-by-zero
handler for EABI. Add signed/unsigned argument, pass correct value
to that handler.
(THUMB_LDIV0): Same, for Thumb.
(DIV_FUNC_END): Add signed argument.
(WEAK): New macro (for EABI).
(__udivsi3, __umodsi3): Add unsigned argument to DIV_FUNC_END. For
__udivsi3, add entry point which skips division-by-zero test.
(__divsi3, __modsi3): Add signed argument to DIV_FUNC_END.
(__aeabi_uidivmod, __aeabi_idivmod): Check for division by zero.
Call __udivsi3 or __divsi3 via entry points which skip
division-by-zero tests.
(__div0): Rename to __aeabi_idiv0, __aeabi_ldiv0 for EABI, and
declare those names weak.
Richard Guenther [Thu, 17 Dec 2009 14:36:43 +0000 (14:36 +0000)]
re PR middle-end/42397 (FAIL: gfortran.dg/lto/20091028-2 f_lto_20091028-2_0.o-f_lto_20091028-2_1.o link, internal compiler error)
2009-12-17 Richard Guenther <rguenther@suse.de>
PR middle-end/42397
* builtins.c (get_object_alignment): Properly deal with
a CONST_DECL base.
* expr.c (emit_block_move_hints): Assert the alignment makes
sense.
Uros Bizjak [Thu, 17 Dec 2009 12:33:09 +0000 (13:33 +0100)]
re PR target/32280 (_mm_srli_si128, heinous code for some shifts)
PR target/32280
* config/i386/i386-modes.def (V1TI): New vector mode.
* config/i386/i386.h (VALID_SSE_REG_MODE): Add V1TImode.
(SSE_REG_MODE_P): Ditto.
* config/i386/sse.md (SSEMODE16): New mode iterator.
(AVXMODE16): Ditto.
(avxvecmode): Handle V1TI mode.
(*avx_mov<mode>_internal): Use AVXMODE16 instead of AVXMODE.
(mov<mode>): Use SSEMODE16 instead of SSEMODE.
(*mov<mode>_internal): Ditto.
(push<mode>1): Ditto.
(movmisalign<mode>): Ditto.
(sse2_ashlv1ti): Rename from sse2_ashlti.
(sse2_lshrv1ti): Rename from sse2_lshrti.
(*avx_ashlv1ti): Rename from *avx_ashlti and move from i386.md.
(*avx_lshrv1ti): Rename from *avx_lshrti and move from i386.md.
(vec_shl_<mode>): Convert operands to V1TImode and use V1TI shift.
(vec_shr_<mode>): Ditto.
(*sse2_mulv4si3): Update for renamed sse2_ashlv1ti3.
(udot_prodv4si): Ditto.
* config/i386/i386.c (classify_argument): Handle V1TImode.
(function_arg_advance_32): Ditto.
(function_arg_32): Ditto.
(ix86_expand_sse4_unpack): Convert operands to V1TImode and update
for renamed gen_sse2_lshrv1ti3.
(ix86_expand_args_builtin) <V2DI_FTYPE_V2DI_INT_CONVERT>: Set rmode
to V1TImode.
(struct builtin_description) <__builtin_ia32_pslldqi128>: Update
for renamed sse2_ashlv1ti3.
<__builtin_ia32_psrldqi128>: Update for renamed sse2_lshrv1ti3.
Ralf Wildenhues [Tue, 15 Dec 2009 18:33:16 +0000 (18:33 +0000)]
Fix @itemx vs. @itemx
gcc/:
* doc/c-tree.texi (Expression trees): Use @itemx for all but
the first item for merged items.
* doc/extend.texi (Variable Attributes): Likewise.
* doc/install.texi (Configuration): Likewise.
* doc/invoke.texi (RS/6000 and PowerPC Options, RX Options):
Likewise.
Richard Guenther [Tue, 15 Dec 2009 16:30:22 +0000 (16:30 +0000)]
tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET and BINFO_VPTR_FIELD.
2009-12-15 Richard Guenther <rguenther@suse.de>
* tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET
and BINFO_VPTR_FIELD.
(free_lang_data_in_type): Do not free TYPE_STUB_DECL if we
generate debug information.
(free_lang_data_in_decl): Do not free DECL_SIZE_UNIT,
DECL_SIZE, DECL_FIELD_OFFSET and DECL_FCONTEXT.
(free_lang_data): Do not disable debuginfo.
* lto-streamer-out.c (write_symbol_vec): Deal with
non-constant DECL_SIZE.
(pack_ts_base_value_fields): Write types with false
TREE_ASM_WRITTEN.
(lto_output_ts_type_tree_pointers): Stream TYPE_STUB_DECL.
* lto-streamer-in.c (lto_input_ts_type_tree_pointers): Stream
TYPE_STUB_DECL.
* dwarf2out.c (add_pure_or_virtual_attribute): Check for
DECL_CONTEXT.
(gen_type_die_for_member): Test for TYPE_STUB_DECL.
* opts.c (decode_options): Do not disable var-tracking for lto.
* doc/invoke.texi (-flto): Document -flto vs. -g experimental
status.
(-fwhopr): Document experimental status.
lto/
* lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
(lto_post_options): Do not disable debuginfo.
Aldy Hernandez [Tue, 15 Dec 2009 15:17:46 +0000 (15:17 +0000)]
re PR tree-optimization/42185 ([graphite] expected gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs_code, at gimple.h:1820)
PR graphite/42185
* graphite-sese-to-poly.c (is_reduction_operation_p): Assert that
we are a GIMPLE_ASSIGN. Do not calculate rhs code twice.
(follow_ssa_with_commutative_ops): Return NULL on non assignment.
Tobias Burnus [Tue, 15 Dec 2009 08:37:41 +0000 (09:37 +0100)]
re PR fortran/41235 (Missing explicit interface for variable-length character functions)
2009-12-15 Tobias Burnus <burnus@net-b.de>
Daniel Franke <franke.daniel@gmail.com>
PR fortran/41235
* resolve.c (resolve_global_procedure): Add check for
presence of an explicit interface for nonconstant,
nonassumed character-length functions.
(resolve_fl_procedure): Remove check for nonconstant
character-length functions.
2009-12-15 Tobias Burnus <burnus@net-b.de>
PR fortran/41235
* auto_char_len_1.f90: New test.
* auto_char_len_2.f90: New test.
* auto_char_len_4.f90: Correct test.
Jason Merrill [Tue, 15 Dec 2009 02:11:54 +0000 (21:11 -0500)]
re PR c++/42364 (C++ testsuite fails with -g)
PR c++/42364
* pt.c (function_parameter_expanded_from_pack_p): Don't require
a pack to have a name.
(tsubst_decl): Do typedef magic after applying attributes.
cp:
2009-12-15 Paolo Bonzini <bonzini@gnu.org>
Shujing Zhao <pearly.zhao@oracle.com>
* Makefile.in (cp/pt.o): Depend on intl.h
* call.c (print_z_candidates): Make loop more compact,
choose head string depending on number of candidates,
extract creation of spaces string to intl.c.
* pt.c (print_overloaded_functions): Replace with...
(print_candidates_1): ... this rewrite.
(print_candidates): Rewrite to call print_candidates_1.
(most_specialized_class): Make loop more compact,
choose head string depending on number of candidates,
and size indents depending on translations.
Paolo Carlini [Tue, 15 Dec 2009 00:07:52 +0000 (00:07 +0000)]
PR libstdc++/25304, DR 865 [Ready]
2009-12-14 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/25304, DR 865 [Ready]
* include/bits/stl_algobase.h (fill_n): Add comment about DR 865.
* include/bits/stl_algo.h (generate_n): Likewise.
* include/bits/algorithmfwd.h: Remove obsolete comment.
* doc/xml/manual/intro.xml: Add an entry for DR 865.
Alexandre Oliva [Mon, 14 Dec 2009 16:55:12 +0000 (16:55 +0000)]
re PR target/41473 (dsymutil "Assertion failed ...")
PR debug/41473
* dwarf2out.c (add_var_loc_to_decl): Don't drop initial empty
locations.
(new_loc_list): Drop gensym arg. Move generation of ll_symbol...
(gen_llsym): ... here. New function.
(add_loc_descr_to_loc_list): Removed.
(loc_descriptor): Infer mode from CONST_DOUBLEs and CONST_VECTORs.
(single_element_loc_list): Removed.
(dw_loc_list): Don't create entries without a location. Don't
special-case the first node of the list, only single nodes.
(single_element_loc_list_p): Simplify.
(loc_list_from_tree): Don't use DECL_RTL if loc_list is nonempty.
(add_location_or_const_value_attribute): Test var loc for NULL.
(convert_cfa_to_fb_loc_list): Adjust calls to new new_loc_list,
call gen_llsym if needed.
Sebastian Pop [Mon, 14 Dec 2009 16:49:47 +0000 (16:49 +0000)]
re PR tree-optimization/42284 (failing tree check in graphite-sese-to-poly.c for 164.gzip)
Fix PR42284.
2009-12-12 Sebastian Pop <sebpop@gmail.com>
PR middle-end/42284
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Call
insert_out_of_ssa_copy_on_edge for anything else than SSA_NAMEs.
(detect_commutative_reduction_arg): Simplified.
(detect_commutative_reduction): Early return when the argument of
the close phi is not of an SSA_NAME.
Paolo Carlini [Sun, 13 Dec 2009 23:45:12 +0000 (23:45 +0000)]
re PR libstdc++/40133 (exception propagation support not enabled in libstdc++ 4.4 on {armeabi,hppa}-linux)
2009-12-11 Paolo Carlini <paolo.carlini@oracle.com>
Matthias Klose <doko@ubuntu.com>
PR libstdc++/40133
* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): On *-*-linux*,
*-*-uclinux*, *-*-kfreebsd*-gnu | *-*-gnu* targets do link tests when
possible.
* configure: Regenerate.
Michael Matz [Sun, 13 Dec 2009 21:51:34 +0000 (21:51 +0000)]
re PR tree-optimization/42027 (Performance regression in convolution loop optimization)
PR tree-optimization/42027
* dojump.c (do_jump <TRUTH_AND_EXPR, TRUTH_OR_EXPR>): Go to
TRUTH_ANDIF_EXPR resp. TRUTH_ORIF_EXPR expander, instead of
falling through.
Richard Guenther [Sat, 12 Dec 2009 01:12:55 +0000 (01:12 +0000)]
tree.c (need_assembler_name_p): Abstract decls do not need an assembler name.
2009-12-12 Richard Guenther <rguenther@suse.de>
* tree.c (need_assembler_name_p): Abstract decls do not need
an assembler name.
* dwarf2out.c (dwarf2out_abstract_function): Preserve
DECL_ABSTRACT properly.
Paolo Carlini [Fri, 11 Dec 2009 22:04:56 +0000 (22:04 +0000)]
re PR libstdc++/42352 (-std=c++0x reference binding problem)
2009-12-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/42352
* include/bits/list.tcc (sort): Use _GLIBCXX_MOVE for list::splice
and list::merge calls.
* testsuite/23_containers/list/operations/42352.cc: New.
Daniel Franke [Fri, 11 Dec 2009 21:08:39 +0000 (16:08 -0500)]
re PR fortran/40290 (Spurious warning on REAL*COMPLEX with -Wconversion)
2009-12-11 Daniel Franke <franke.daniel@gmail.com>
PR fortran/40290
* expr.c (gfc_type_convert_binary): Added warn-on-conversion flag,
passed on to gfc_convert_type_warn() instead of gfc_convert_type();
enabled warnings on all callers but ...
* arith.c (eval_intrinsic): Disabled warnings on implicit type
conversion.
* gfortran.h gfc_type_convert_binary): Adjusted prototype.