aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-09-27gcc/Richard Sandiford2-172/+24
* config/arm/neon.md (neon_vget_highv16qi, neon_vget_highv8hi) (neon_vget_highv4si, neon_vget_highv4sf, neon_vget_highv2di) (neon_vget_lowv16qi, neon_vget_lowv8hi, neon_vget_lowv4si) (neon_vget_lowv4sf, neon_vget_lowv2di): Turn into define_expands that produce subreg moves. Define using VQX iterators. From-SVN: r179243
2011-09-27avr.md (ashrqi3): Split alternative "n" into its remaining parts C03...Georg-Johann Lay3-25/+13
* config/avr/avr.md (ashrqi3): Split alternative "n" into its remaining parts C03, C04, C05, C06, C07 and describe impact in CC by attribute "cc" appropriately. * config/avr/avr.c (notice_update_cc): Clean-up: Don't patch CC0 by digging RTX. From-SVN: r179241
2011-09-27rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE from 3 x ↵Jakub Jelinek5-11/+43
MAX_MACHINE_MODE. * rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE from 3 x MAX_MACHINE_MODE. (CONSTM1_RTX): Define. * emit-rtl.c (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE from 3 x MAX_MACHINE_MODE. (gen_rtx_CONST_VECTOR): Use CONSTM1_RTX if all inner constants are CONSTM1_RTX. (init_emit_once): Initialize CONSTM1_RTX for MODE_INT and MODE_VECTOR_INT modes. * simplify-rtx.c (simplify_binary_operation_1) <case IOR, XOR, AND>: Optimize if one operand is CONSTM1_RTX. * config/i386/i386.c (ix86_expand_sse_movcc): Optimize mask ? -1 : x into mask | x. From-SVN: r179238
2011-09-27tinfo.cc (type_info::operator==): Test __name instead of name().Marcus Shawcroft2-1/+9
2011-09-27 Marcus Shawcroft <marcus.shawcroft@arm.com> * libsupc++/tinfo.cc (type_info::operator==): Test __name instead of name(). From-SVN: r179236
2011-09-26Add explicit VIS intrinsics for addition and subtraction.David S. Miller6-0/+155
gcc/ * config/sparc/sparc.c (sparc_vis_init_builtins): Add explicit builtins for VIS vector addition and subtraction. * config/sparc/visintrin.h (__vis_fpadd16, __vis_fpadd16s, __vis_fpadd32, __vis_fpadd32s, __vis_fpsub16, __vis_fpsub16s, __vis_fpsub32, __vis_fpsub32s): New. * doc/extend.texi: Document new VIS intrinsics. gcc/testsuite/ * gcc.target/sparc/fpaddsubi.c: New test. From-SVN: r179235
2011-09-27re PR libstdc++/50529 ([C++0x] std::vector::erase invokes undefined behavior ↵Paolo Carlini9-13/+119
with empty range) 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/50529 * include/bits/vector.tcc (vector<>::erase(iterator, iterator)): Fix to do nothing if the range is empty. * include/bits/stl_bvector.h: Likewise. * include/bits/deque.tcc: Likewise. * include/debug/vector: Adjust. * include/debug/deque: Likewise. * testsuite/23_containers/vector/modifiers/erase/50529.cc: New. * testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise. * testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust. From-SVN: r179234
2011-09-26fix ChangeLogJason Merrill1-1/+1
From-SVN: r179233
2011-09-26re PR c++/45012 (Invalid ambiguity on partial class specialization matching)Jason Merrill4-1/+33
PR c++/45102 * pt.c (tsubst_copy_and_build) [CONST_DECL]: Don't pull out constant value if we're still in a template. From-SVN: r179230
2011-09-26re PR c++/46105 (Ordering failure among partial specializations with ↵Jason Merrill4-1/+36
non-deduced context) PR c++/46105 * typeck.c (structural_comptypes): Ignore cv-quals on typename scope. From-SVN: r179229
2011-09-26re PR c++/50508 ([C++0x] ICE cxx_eval_logical_expression cp/semantics.c:6487)Jason Merrill4-2/+24
PR c++/50508 * semantics.c (cxx_eval_logical_expression): Use tree_int_cst_equal rather than ==. From-SVN: r179228
2011-09-26Improve code generation for edge and pixel-compare...David S. Miller8-112/+185
Improve code generation for edge and pixel-compare, specifically avoid sign and zero extensions on 64-bit and allow such instructions to be placed in delay slots. gcc/ * config/sparc/sparc.md (edge{8,16,32}{,l}): Return Pmode. (fcmp{le,ne,gt,eq}{16,32}): Likewise. * config/sparc/visintrin.h: Update edge and pixel-compare intrinsics to return 'long' instead of 'int'. * doc/extend.texi: Update documentation to match. * config/sparc/sparc.c (eligible_for_return_delay): When leaf or flat, allow any instruction. Otherwise, when V9 allow parallels which consist only of sets to registers outside of %o0 to %o5. (sparc_vis_init_builtins): Update VIS builtin types for edge and pixel-compare. gcc/testsuite/ * gcc.target/sparc/edge.c: Update for new return types. * gcc.target/sparc/fcmp.c: Likewise. From-SVN: r179227
2011-09-27re PR c++/45487 (Request to change comma to semicolon in error message)Paolo Carlini5-7/+38
/cp 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/45487 * error.c (dump_template_bindings): Separate bindings with semicolons instead of commas. /testsuite 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/45487 * g++.dg/diagnostic/bindings1.C: New. * g++.old-deja/g++.pt/memtemp77.C: Adjust. From-SVN: r179226
2011-09-27Daily bump.GCC Administrator1-1/+1
From-SVN: r179225
2011-09-27re PR libstdc++/48698 (gnu-versioned-namespace problems)Benjamin Kosnik9-74/+126
2011-09-26 Benjamin Kosnik <bkoz@redhat.com Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/48698 * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set libtool_VERSION here. * configure.ac: Move AC_SUBST of libtool_VERSION past call to GLIBCXX_ENABLE_SYMVERS. * configure: Regenerate. * include/bits/c++config: Use __7 as versioned namespace name. * config/abi/pre/gnu-versioned-namespace.ver: Change mangling as per above. * include/c_global/cwchar: Adjust nested namespaces. * testsuite/20_util/bind/48698.cc: Add test case. * testsuite/ext/profile/mutex_extensions_neg.cc: Change line number. From-SVN: r179221
2011-09-26re PR lto/47247 (Linker plugin specification makes it difficult to handle ↵Cary Coutant2-2/+16
COMDATs) PR lto/47247 * plugin-api.h (enum ld_plugin_symbol_resolution): Add LDPR_PREVAILING_DEF_IRONLY_EXP. (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V2. From-SVN: r179220
2011-09-26Pass $(MATH_LIBS) $(NET_LIBS) when linking tests.Ian Lance Taylor3-1/+5
From-SVN: r179219
2011-09-26Fix sysinfo.go on systems which don't need to import "unsafe".Ian Lance Taylor1-0/+1
From-SVN: r179216
2011-09-26Add rdgsr, edge, and pixel-compare VIS tests.David S. Miller4-0/+104
gcc/testsuite/ * gcc.target/sparc/rdgsr.c: New test. * gcc.target/sparc/edge.c: New test. * gcc.target/sparc/fcmp.c: New test. From-SVN: r179215
2011-09-26Fix sparc %gsr write elimination and add a testcase.David S. Miller5-7/+30
gcc/ * config/sparc/sparc.c (sparc_conditional_register_usage): When VIS is enabled, mark %gsr as global. * config/sparc/sparc.md (UNSPEC_WRGSR): Delete. (wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus): Don't wrap in an unspec. gcc/testsuite/ * gcc.target/sparc/wrgsr.c: New test. From-SVN: r179214
2011-09-26re PR fortran/50515 (gfortran should not accept an external that is a common ↵Janus Weil11-16/+76
(r178939)) 2011-09-26 Janus Weil <janus@gcc.gnu.org> PR fortran/50515 * resolve.c (resolve_common_blocks): Check for EXTERNAL attribute. PR fortran/50517 * interface.c (gfc_compare_interfaces): Bugfix in check for result type. 2011-09-26 Janus Weil <janus@gcc.gnu.org> PR fortran/50515 * gfortran.dg/common_15.f90: New. PR fortran/50517 * gfortran.dg/dummy_procedure_5.f90: New. * gfortran.dg/interface_26.f90: Modified error message. * gfortran.dg/proc_ptr_11.f90: Ditto. * gfortran.dg/proc_ptr_15.f90: Ditto. * gfortran.dg/proc_ptr_comp_20.f90: Ditto. * gfortran.dg/proc_ptr_result_5.f90: Ditto. From-SVN: r179213
2011-09-26Fix location of error about unused import "unsafe".Ian Lance Taylor1-0/+1
From-SVN: r179211
2011-09-26Move target CPP macro handling to C file and add __VIS/__VIS__.David S. Miller6-31/+119
* config/sparc/sparc-c.c: New file implementing sparc_target_macros, which will now define __VIS and __VIS__ when -mvis is enabled. * config/sparc/t-sparc: Likewise. * config.gcc: Add sparc-c.o to c_target_objs and cxx_target_objs, and add t-sparc to tmake_file for all sparc targets. * config/sparc/sparc-protos.h (sparc_target_macros): Declare. * config/sparc/sparc.h (TARGE_CPU_CPP_BUILTINS): Call it. From-SVN: r179210
2011-09-26re PR c++/50512 (surprising change in overloading resolution)Jason Merrill4-8/+30
PR c++/50512 * call.c (compare_ics): Only consider rvaluedness_matches_p if the target type is the same or it too differs in rvalueness. From-SVN: r179208
2011-09-26avr.md (peephole casesi+2): Use -1 instead of 65536.Georg-Johann Lay3-1/+39
* config/avr/avr.md (peephole casesi+2): Use -1 instead of 65536. * config/avr/avr.c (avr_out_compare): Print shorter sequence for EQ/NE comparisons against +/-1 in the case of unused-after, non-ld-regs target. From-SVN: r179206
2011-09-26gimple-fold.c (gimplify_and_update_call_from_tree): Set gctx.into_ssa after ↵Jakub Jelinek6-17/+78
push_gimplify_context. * gimple-fold.c (gimplify_and_update_call_from_tree): Set gctx.into_ssa after push_gimplify_context. * gimple.c (gimple_build_call_valist): New function. * gimple.h (gimple_build_call_valist): New prototype. * tree-ssa-propagate.c (finish_update_gimple_call): New function. (update_gimple_call): Likewise. (update_call_from_tree): Use finish_update_gimple_call. * tree-ssa-propagate.h (update_gimple_call): New prototype. From-SVN: r179204
2011-09-26re PR c++/50523 (C++ FE apparently incorrectly rejects tramp3d)Jason Merrill4-3/+29
PR c++/50523 * call.c (implicit_conversion): Mask out inappropriate LOOKUP flags at the top of the function. From-SVN: r179203
2011-09-26* pt.c (tsubst_copy) [PARM_DECL]: Handle 'this' in NSDMI.Jason Merrill5-0/+37
From-SVN: r179201
2011-09-26pt.c (convert_nontype_argument): Handle NULLPTR_TYPE.Paolo Carlini4-0/+24
/cp 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (convert_nontype_argument): Handle NULLPTR_TYPE. /testsuite 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/nullptr25.C: New. From-SVN: r179199
2011-09-26re PR c++/26747 (bad break/continue is not detected until the gimplifier)Paolo Carlini2-10/+5
2011-09-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/26747 * cp-gimplify.c (get_bc_label): Remove obsolete diagnostics. From-SVN: r179198
2011-09-26re PR tree-optimization/50472 (Volatile qualification in data is not enough ↵Richard Guenther4-0/+27
to avoid optimization over pointer to data) 2011-09-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/50472 * gimple-fold.c (fold_const_aggregate_ref_1): Do not fold volatile references. * gcc.dg/torture/pr50472.c: New testcase. From-SVN: r179196
2011-09-26tm.texi: Correct documentation for TARGET_ADDR_SPACE_SUBSET_P.Bingfeng Mei3-2/+6
2011-09-26 Bingfeng Mei <bmei@broadcom.com> * doc/tm.texi: Correct documentation for TARGET_ADDR_SPACE_SUBSET_P. * target.def: (addr_space_subset_p): Likewise. From-SVN: r179195
2011-09-26opt22.adb: New test.Eric Botcazou4-0/+47
2011-09-26 Eric Botcazou <ebotcazou@adacore.com> * gnat.dg/opt22.adb: New test. * gnat.dg/opt22_pkg.ad[sb]: New helper. From-SVN: r179194
2011-09-26tree-ssa-alias.h (pt_solution_singleton_p): Declare.Tom de Vries4-0/+34
2011-09-26 Tom de Vries <tom@codesourcery.com> * tree-ssa-alias.h (pt_solution_singleton_p): Declare. * tree-ssa-structalias.c (pt_solution_singleton_p): New function. * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Set points-to solution of new var. From-SVN: r179193
2011-09-262011-09-26 Tristan Gingold <gingold@adacore.com>Tristan Gingold6-5/+254
* inclhack.def (ms_define_can_use_extern_prefix): (vms_use_pragma_extern_model, vms_disable_decc_string_builtins): New fixes. * fixincl.x: Regenerate. * tests/base/rtldef/string.h: New test. * tests/base/rtldef/decc$types.h: Likewise. * tests/base/testing.h: Update From-SVN: r179192
2011-09-26re PR target/50465 ([avr] Use insn attribute to depict if and how ↵Georg-Johann Lay4-135/+99
instruction lengths have to be adjusted) PR target/50465 * config/avr/avr-protos.h (output_reload_insisf): Don't pass insn. * config/avr/avr.md (*reload_insi, *reload_insf): Change call to output_reload_insisf. (adjust_len): Set default to "no". Remove alternative "yes". Add alternatives: "mov8", "mov16", "mov32", "ashlqi", "ashrqi", "lshrqi", "ashlhi", "ashrhi", "lshrhi", "ashlsi, "ashrsi", "lshrsi". (*movqi, *movhi, *movsi, *ashlqi3, ashlhi3, ashlsi3, *ashlhi3_const, *ashlsi3_const, ashrqi3, ashrhi3, ashrsi3, *ashrhi3_const, *ashrsi3_const, *lshrqi3, lshrhi3, *lshrhi3_const, *lshrsi3_const): Set attribute "adjust_len". * config/avr/avr.c (output_reload_insisf): Remove parameter "insn". (output_movsisf): Don't pass insn to output_reload_insisf. (adjust_insn_length): Handle new alternatives to adjust_len. Remove handling of ADJUST_LEN_YES. Clean-up code. From-SVN: r179191
2011-09-26Fix oversightEric Botcazou1-7/+7
From-SVN: r179190
2011-09-26Restore Ada bootstrap on Solaris 8, 9/x86Rainer Orth2-2/+7
From-SVN: r179189
2011-09-26ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of ↵Eric Botcazou6-2/+55
may_trap_p to detect loads that may trap of... * ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of may_trap_p to detect loads that may trap of fault. From-SVN: r179188
2011-09-26utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the dereference of the ↵Eric Botcazou6-42/+81
pointer to the storage area. * gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the dereference of the pointer to the storage area. Remove useless type conversions and factor out common code. From-SVN: r179187
2011-09-26utils.c (maybe_unconstrained_array): Declare TYPE local variable and use it ↵Eric Botcazou5-32/+63
throughout. * gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local variable and use it throughout. <UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end. <RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a first step. Also convert to the unpadded type as a last step. From-SVN: r179186
2011-09-26gigi.h (create_subprog_decl): Replace TREE_CHAIN with DECL_CHAIN in comment.Eric Botcazou4-19/+31
* gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with DECL_CHAIN in comment. * gcc-interface/trans.c (gigi): Likewise. (Attribute_to_gnu): Likewise. (build_function_stub): Likewise. (gnat_to_gnu): Likewise. * gcc-interface/utils.c (create_subprog_decl): Likewise. (convert_vms_descriptor64): Likewise. (convert_vms_descriptor32): Likewise. From-SVN: r179185
2011-09-26trans.c (assoc_to_constructor): Minor tweaks.Eric Botcazou3-42/+45
* gcc-interface/trans.c (assoc_to_constructor): Minor tweaks. * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting issues. Use COMPLETE_TYPE_P in assertion. Also set TREE_READONLY if the type of the record is TYPE_READONLY. From-SVN: r179184
2011-09-26sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN OUT ↵Eric Botcazou2-0/+16
formal parameter which is of an... * sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN OUT formal parameter which is of an null-exclusion access subtype. Co-Authored-By: Robert Dewar <dewar@adacore.com> From-SVN: r179183
2011-09-26ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.Eric Botcazou5-59/+94
* gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag. (gnat_to_gnu_param): Likewise. * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke maybe_unconstrained_array instead of doing the work manually. (maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag. * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand is a DECL with the flag, set TREE_THIS_NOTRAP on the reference. (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag. (gnat_stabilize_reference): Likewise. From-SVN: r179182
2011-09-26avr-protos.h (output_reload_inhi): Change prototype.Georg-Johann Lay4-178/+118
* config/avr/avr-protos.h (output_reload_inhi): Change prototype. * config/avr/avr.md (adjust_len): Add "reload_in16" alternative. (*reload_inhi): Use it. Adapt call to output_reload_inhi to new prototype. (*movhi): Split constraint alternative "r,rL" into "r,r" and "r,L". * config/avr/avr.c: Rename output_reload_insisf_1 to output_reload_in_const. (avr_popcount_each_byte): Handle SFmode, too. (output_reload_in_const): Change so it can handle HI loads, too. Use avr_popcount_each_byte to work out if scratch register must be created on the fly. (output_reload_inhi): Rewrite using output_reload_in_const and... (output_movhi): ...use it to print constants' loads. (adjust_insn_length): New case ADJUST_LEN_RELOAD_IN16. Cleanup code. From-SVN: r179181
2011-09-26ada-tree.h (TYPE_NULL_BOUNDS): New macro.Eric Botcazou6-22/+151
* gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro. (SET_TYPE_NULL_BOUNDS): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template. * gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat pointer types. * gcc-interface/utils.c (create_var_decl_1): If the object is external, check that the initializer is a valid constant expression for use in initializing a static variable. Add missing guard. (update_pointer_to): Adjust TYPE_NULL_BOUNDS if set. (convert_to_fat_pointer): In the null fat pointer case, build a valid pointer for the bounds. * gcc-interface/utils2.c (compare_fat_pointers): New function. (build_binary_op) <EQ_EXPR>: Call it to compare fat pointers. From-SVN: r179180
2011-09-25parser.c (inject_this_parameter): Split out from cp_parser_late_return_type_opt.Jason Merrill5-5/+67
* parser.c (inject_this_parameter): Split out from cp_parser_late_return_type_opt. (cp_parser_class_specifier_1): Use it for NSDMIs. * tree.c (bot_replace): Replace NSDMI 'this' with real 'this'. From-SVN: r179179
2011-09-26Daily bump.GCC Administrator1-1/+1
From-SVN: r179178
2011-09-25Add support for floating-point fused multiply-add on Sparc.David S. Miller10-19/+197
* configure.ac: Add feature check to make sure the assembler supports the FMAF, HPC, and VIS 3.0 instructions found on Niagara-3 and later cpus. * configure: Rebuild. * config.in: Likewise. * config/sparc/sparc.opt: New option '-mfmaf'. * config/sparc/sparc.md: Add float fused multiply-add patterns. * config/sparc/sparc.h (AS_NIAGARA3_FLAG): New macro. (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Use it, as needed. * config/sparc/sol2.h (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Likewise. * config/sparc/sparc.c (sparc_option_override): Turn MASK_FMAF on by default for Niagara-3 and later. Turn it off if TARGET_FPU is disabled. (sparc_rtx_costs): Handle 'FMA'. * doc/invoke.texi: Document -mfmaf. From-SVN: r179174
2011-09-25Generate 'fone' and 'fones' sparc instructions when possible.David S. Miller5-42/+116
* config/sparc/constraints.md (C, P, Z): New constraints for const_doube, const_int, and const_vector "all ones" values. Make unused constraint letters comment match reality. * config/sparc/predicates.md (const_all_ones_operand, register_or_zero_or_all_ones_operand): New predicates. * config/sparc/sparc.c (sparc_expand_move): Allow all ones as well as zero constants when VIS. (sparc_legitimate_constant_p): Likewise. * config/sparc/sparc.md (movsi_insn): Add fones alternative. (movsf_insn): Likewise (movdi_insn_sp64): Add fone alternative. (movdf_insn_sp32_v9): Likewise. (movdf_insn_sp64): Likewise. From-SVN: r179173