aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-11-09re PR c++/51047 ([C++0x] SFINAE does not handle errors of ambiguous base ↵Paolo Carlini11-23/+62
members) /cp 2011-11-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51047 * search.c (lookup_member): Change to take also a tsubst_flags_t parameter. (lookup_field, lookup_fnfields): Adjust calls. * typeck.c (lookup_destructor, finish_class_member_access_expr, build_ptrmemfunc_access_expr): Likewise. * class.c (handle_using_decl, maybe_note_name_used_in_class): Likewise. * pt.c (resolve_typename_type): Likewise. * semantics.c (lambda_function): Likewise. * parser.c (cp_parser_perform_range_for_lookup, cp_parser_lookup_name): Likewise. * friend.c (make_friend_class): Likewise. * name-lookup.c (pushdecl_maybe_friend_1, get_class_binding, do_class_using_decl, lookup_qualified_name): Likewise. * cp-tree.h (lookup_member): Adjust declaration. /testsuite 2011-11-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51047 * g++.dg/cpp0x/sfinae29.C: New. From-SVN: r181213
2011-11-09sparc.c (output_v8plus_shift): Take INSN parameter first and adjust head ↵Eric Botcazou3-26/+68
comment. * config/sparc/sparc.c (output_v8plus_shift): Take INSN parameter first and adjust head comment. (output_v8plus_mult): Change NAME into OPCODE and adjust throughout. (vector_init_bshuffle): Add head comment. (vector_init_move_words): Likewise. (vector_init_prepare_elts): Likewise. Take LOCS parameter first. (sparc_expand_vector_init): Likewise. Adjust call to above function. (sparc_expand_vector_init_vis2): Likewise. (sparc_expand_vector_init_vis1): Likewise. (sparc_expand_conditional_move): Likewise. (sparc_expand_vcond): Likewise. * config/sparc/sparc-protos.h (output_v8plus_shift): Adjust. * config/sparc/sparc.md (ashldi3_v8plus): Adjust call to output_v8plus_shift. (ashrdi3_v8plus): Likewise. (lshrdi3_v8plus): Likewise. From-SVN: r181211
2011-11-09Matthew Gretton-Dann <matthew.gretton-dann@arm.com>Matthew Gretton-Dann6-3/+16
* config/arm/arm-cores.def: Add -mcpu=cortex-a7. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Likewise. * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7. * doc/invoke.texi: Document -mcpu=cortex-a7. From-SVN: r181210
2011-11-09re PR fortran/50960 ([OOP] vtables not marked as constant)Janus Weil2-0/+37
2011-11-09 Janus Weil <janus@gcc.gnu.org> PR fortran/50960 * gfortran.dg/typebound_call_22.f03: New test case. From-SVN: r181208
2011-11-09PR 50016 Slow I/O on MingW due to _commitJanne Blomqvist4-1/+89
frontend ChangeLog: 2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/50016 * gfortran.texi (Data consistency and durability): New section. testsuite ChangeLog: 2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/50016 * gfortran.dg/inquire_size.f90: Don't flush the unit. libgfortran ChangeLog: 2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/50016 * io/inquire.c (inquire_via_unit): Flush the unit and use ssize. * io/unix.c (buf_flush): Don't call _commit. From-SVN: r181207
2011-11-09revert: tree-cfg.c (verify_gimple_call): Verify that ↵Richard Guenther2-10/+9
gimple_call_cannot_inline_p is returning a conservative correct... 2011-11-09 Richard Guenther <rguenther@suse.de> Revert 2011-11-09 Richard Guenther <rguenther@suse.de> * tree-cfg.c (verify_gimple_call): Verify that gimple_call_cannot_inline_p is returning a conservative correct result according to gimple_check_call_matching_types. From-SVN: r181206
2011-11-09re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ↵Richard Guenther6-14/+50
ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr) 2011-11-09 Richard Guenther <rguenther@suse.de> PR tree-optimization/51039 * tree-cfg.c (verify_gimple_call): Verify that gimple_call_cannot_inline_p is returning a conservative correct result according to gimple_check_call_matching_types. * ipa-inline-analysis.c (estimate_function_body_sizes): Remove code dealing with un-inlinablility. * gimple-streamer-in.c (input_gimple_stmt): Update the non-inlinable flag. * gcc.dg/pr51039.c: New testcase. From-SVN: r181205
2011-11-09re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ↵Richard Guenther2-7/+41
ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr) 2011-11-09 Richard Guenther <rguenther@suse.de> PR tree-optimization/51039 * gimple-low.c (gimple_check_call_args): Remove. (gimple_check_call_matching_types): Always return true. * tree-inline.c (setup_one_parameter): Always perform a valid gimple type change. (declare_return_variable): Likewise. From-SVN: r181204
2011-11-09vector.md (vcondv4sfv4si, [...]): New patterns.Jakub Jelinek5-3/+78
* config/rs6000/vector.md (vcondv4sfv4si, vcondv4siv4sf, vconduv4sfv4si): New patterns. * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Handle different dest_mode from comparison mode. * lib/target-supports.exp (check_effective_target_vect_cond_mixed): Enable also for powerpc*-*-*. From-SVN: r181202
2011-11-09re PR fortran/50540 (Internal Error: Can't convert UNKNOWN to INTEGER(4) ↵Francois-Xavier Coudert4-4/+24
(r178939)) PR fortran/50540 * resolve.c (resolve_forall_iterators): Transform internal errors to normal errors. * gfortran.dg/forall_16.f90: New test. From-SVN: r181200
2011-11-09re PR fortran/50960 ([OOP] vtables not marked as constant)Janus Weil4-4/+15
2011-11-09 Janus Weil <janus@gcc.gnu.org> PR fortran/50960 * class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER. * expr.c (gfc_simplify_expr): Prevent vtabs from being replaced with their value. * resolve.c (resolve_values): Use-associated symbols do not need to be resolved again. (resolve_fl_parameter): Make sure the symbol has a value. From-SVN: r181199
2011-11-09re PR fortran/38718 (some simplifiers for elemental intrinsics missing; ↵Francois-Xavier Coudert6-2/+45
required for init expressions) PR fortran/38718 * intrinsic.c (add_functions): Add gfc_simplify_dreal. * intrinsic.h (gfc_simplify_dreal): New proto. * simplify.c (gfc_simplify_dreal): New function. * gfortran.dg/initialization_29.f90: Expand test. From-SVN: r181198
2011-11-09gimple-fold.c (canonicalize_constructor_val): Mark address-taken variables ↵Richard Guenther2-3/+11
addressable. 2011-11-09 Richard Guenther <rguenther@suse.de> * gimple-fold.c (canonicalize_constructor_val): Mark address-taken variables addressable. From-SVN: r181197
2011-11-09PR c++/51027 - accepts alias-declaration without ';'Dodji Seketeli5-1/+18
gcc/cp/ * parser.c (cp_parser_alias_declaration): Require ';' at the end of the declaration. libstdc++-v3/ * include/ext/pointer.h (rebind): Append missing ';'. gcc/testsuite * g++.dg/cpp0x/alias-decl-12.C: New test. * g++.dg/ext/alias-decl-attr4.C: Append missing ';'. From-SVN: r181195
2011-11-09Fix entryEric Botcazou1-1/+0
From-SVN: r181194
2011-11-09PR debug/51032 - ICE in dbxout_type, at dbxout.c:2372Dodji Seketeli5-2/+32
gcc/cp/ * decl2.c (check_member_template): Accept alias templates and ... * parser.c (cp_parser_alias_declaration): ... use it here. gcc/testsuite/ * g++.dg/cpp0x/alias-decl-debug-0.C: New test. From-SVN: r181193
2011-11-09re PR fortran/21881 (ICE instead of error for large arrays in derived types)Francois-Xavier Coudert2-1/+7
PR fortran/21881 * trans-types.c (gfc_get_dtype): Issue a fatal error instead of an internal error. From-SVN: r181192
2011-11-09re PR tree-optimization/51015 (ice in vect_determine_vectorization_factor ↵Ira Rosen4-3/+35
with -O3) PR tree-optimization/51015 * tree-vect-loop.c (vect_determine_vectorization_factor): Expect vectype to be set for pattern def stmts. From-SVN: r181191
2011-11-08Implement vect_cmdline_needed properly on sparc.David S. Miller2-0/+22
* lib/target-supports.exp (check_effective_target_sparc_vis): New. (check_effective_target_vect_cmdline_needed): Use it when sparc*-*-* From-SVN: r181190
2011-11-09function.c (bb_active_p): Delete.Alan Modra7-243/+511
* function.c (bb_active_p): Delete. (dup_block_and_redirect, active_insn_between): New functions. (convert_jumps_to_returns, emit_return_for_exit): New functions, split out from.. (thread_prologue_and_epilogue_insns): ..here. Delete shadowing variables. Don't do prologue register clobber tests when shrink wrapping already failed. Delete all last_bb_active code. Instead compute tail block candidates for duplicating exit path. Remove these from antic set. Duplicate tails when reached from both blocks needing a prologue/epilogue and blocks not needing such. * ifcvt.c (dead_or_predicable): Test both flag_shrink_wrap and HAVE_simple_return. * bb-reorder.c (get_uncond_jump_length): Make global. * bb-reorder.h (get_uncond_jump_length): Declare. * cfgrtl.c (rtl_create_basic_block): Comment typo fix. (rtl_split_edge): Likewise. Warning fix. (rtl_duplicate_bb): New function. (rtl_cfg_hooks): Enable can_duplicate_block_p and duplicate_block. * Makefile.in (function.o): Update dependencies. From-SVN: r181188
2011-11-09Daily bump.GCC Administrator1-1/+1
From-SVN: r181187
2011-11-08re PR fortran/50404 (SIGSEGV in gfc_resolve_close)Francois-Xavier Coudert4-1/+30
PR fortran/50404 * io.c (gfc_resolve_close): CLOSE requires a UNIT. * gfortran.dg/io_constraints_3.f90: Improve testcase. From-SVN: r181183
2011-11-08re PR fortran/50409 (SIGSEGV in gfc_simplify_expr)Francois-Xavier Coudert4-4/+22
PR fortran/50409 * expr.c (gfc_simplify_expr): Substrings can't have negative length. * gcc/testsuite/gfortran.dg/string_5.f90: Improve testcase. From-SVN: r181181
2011-11-08tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument.Ulrich Weigand17-175/+274
* doc/tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument. (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. * doc/tm.texi: Regenerate. * config/cris/cris.h (MODE_CODE_BASE_REG_CLASS): Add address space argument. (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. * config/bfin/bfin.h (MODE_CODE_BASE_REG_CLASS): Likewise. (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. * config/avr/avr.h (MODE_CODE_BASE_REG_CLASS): Add address space argument. (REGNO_MODE_CODE_OK_FOR_BASE_P): Ditto. * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto. (avr_regno_mode_code_ok_for_base_p): Ditto. * config/avr/avr.c (avr_mode_code_base_reg_class): Ditto. (avr_regno_mode_code_ok_for_base_p): Ditto. (avr_reg_ok_for_addr_p): Pass AS down to avr_regno_mode_code_ok_for_base_p. * addresses.h (base_reg_class): Add address space argument. Pass to MODE_CODE_BASE_REG_CLASS. (ok_for_base_p_1): Add address space argument. Pass to REGNO_MODE_CODE_OK_FOR_BASE_P. (regno_ok_for_base_p): Add address space argument. Pass to ok_for_base_p_1. * regrename.c (scan_rtx_address): Add address space argument. Pass address space to regno_ok_for_base_p and base_reg_class. Update recursive calls. (scan_rtx): Pass address space to scan_rtx_address. (build_def_use): Likewise. * regcprop.c (replace_oldest_value_addr): Add address space argument. Pass to regno_ok_for_base_p and base_reg_class. Update recursive calls. (replace_oldest_value_mem): Pass address space to replace_oldest_value_addr. (copyprop_hardreg_forward_1): Likewise. * reload.c (find_reloads_address_1): Add address space argument. Pass address space to base_reg_class and regno_ok_for_base_p. Update recursive calls. (find_reloads_address): Pass address space to base_reg_class, regno_ok_for_base_p, and find_reloads_address_1. (find_reloads): Pass address space to base_reg_class. (find_reloads_subreg_address): Likewise. * ira-costs.c (record_reg_classes): Update calls to base_reg_class. (ok_for_base_p_nonstrict): Add address space argument. Pass to ok_for_base_p_1. (record_address_regs): Add address space argument. Pass to base_reg_class and ok_for_base_p_nonstrict. Update recursive calls. (record_operand_costs): Pass address space to record_address_regs. (scan_one_insn): Likewise. * caller-save.c (init_caller_save): Update call to base_reg_class. * ira-conflicts.c (ira_build_conflicts): Likewise. * reload1.c (maybe_fix_stack_asms): Likewise. Co-Authored-By: Georg-Johann Lay <avr@gjlay.de> From-SVN: r181175
2011-11-08re PR c++/50835 (Lvalue-ness of conditional operator results is incorrect in ↵Jason Merrill5-6/+47
a function template) PR c++/50835 * typeck.c (build_x_conditional_expr): Preserve lvalue/xvalueness. * tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Return clk_ordinary in C++98. From-SVN: r181174
2011-11-08gengtype.c (write_field_root): Avoid out-of-scope access of newv.Michael Matz22-65/+406
* gengtype.c (write_field_root): Avoid out-of-scope access of newv. * tree-stdarg.c (execute_optimize_stdarg): Accept clobbers. * tree.h (TREE_CLOBBER_P): New macro. * gimple.h (gimple_clobber_p): New inline function. * gimplify.c (gimplify_bind_expr): Add clobbers for all variables that go out of scope and live in memory. * tree-ssa-operands.c (get_expr_operands): Transfer volatility also for constructors. * cfgexpand.c (decl_to_stack_part): New static variable. (add_stack_var): Allocate it, and remember mapping. (fini_vars_expansion): Deallocate it. (stack_var_conflict_p): Add early outs. (visit_op, visit_conflict, add_scope_conflicts_1, add_scope_conflicts): New static functions. (expand_used_vars_for_block): Don't call add_stack_var_conflict, tidy. (expand_used_vars): Add scope conflicts. (expand_gimple_stmt_1): Expand clobbers to nothing. (expand_debug_expr): Ditto. * tree-pretty-print.c (dump_generic_node): Dump clobbers nicely. * tree-ssa-live.c (remove_unused_locals): Remove clobbers that refer to otherwise unused locals. * tree-sra.c (build_accesses_from_assign): Ignore clobbers. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Clobbers of SSA names aren't necessary. (propagate_necessity): Accept and ignore constructors on the rhs, tidy. * gimple.c (walk_gimple_op): Accept constructors like mem_rhs. * tree-ssa-structalias.c (find_func_aliases): Clobbers don't store any known value. * tree-ssa-sccvn.c (vn_reference_lookup_3): Ditto, in particular they don't zero-initialize something. * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Ignore clobber RHS, we don't want PHI nodes with those. testsuite/ * gcc.dg/tree-ssa/20031015-1.c: Adjust. * g++.dg/tree-ssa/ehcleanup-1.C: Ditto. * g++.dg/eh/builtin1.C: Rewrite to not use local variables. * g++.dg/eh/builtin2.C: Ditto. * g++.dg/eh/builtin3.C: Ditto. From-SVN: r181172
2011-11-08i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX if not ↵Jakub Jelinek5-6/+30
TARGET_PREFER_AVX128 return 32-byte integer vectors. * config/i386/i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX if not TARGET_PREFER_AVX128 return 32-byte integer vectors. * gcc.target/i386/avx-cvt-2.c: Adjust for 32-byte integer vectors being prefered even for -mavx. * gcc.target/i386/avx-cvt-3.c: New test. From-SVN: r181170
2011-11-08re PR tree-optimization/51012 (ICE: in fold_convert_loc, at ↵Richard Guenther6-0/+61
fold-const.c:1897 with -fno-early-inlining and passing incompatible function ptr) 2011-11-08 Richard Guenther <rguenther@suse.de> PR tree-optimization/51012 * ipa-prop.c (update_indirect_edges_after_inlining): Fixup non-inlinable state. * cgraph.c (cgraph_make_edge_direct): Likewise. * gcc.dg/pr51012-1.c: New testcase. * gcc.dg/pr51012-2.c: Likewise. From-SVN: r181166
2011-11-08re PR middle-end/51010 (bad diagnostics: #'ssa_name' not supported by ↵Richard Guenther6-0/+42
pp_c_expression#]') 2011-11-08 Richard Guenther <rguenther@suse.de> PR middle-end/51010 c-family/ * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs. cp/ * error.c (dump_expr): Handle SSA_NAMEs. * c-c++-common/uninit-pr51010.c: New testcase. From-SVN: r181165
2011-11-08re PR rtl-optimization/47698 (CMOV accessing volatile memory with read side ↵Eric Botcazou2-3/+8
effect) PR rtl-optimization/47698 * ifcvt.c (noce_operand_ok): Move around comment. From-SVN: r181161
2011-11-08re PR regression/50999 (g++.dg/lto/20081109 execute -O2 -flto ↵Richard Guenther2-27/+47
-flto-partition=1to1 -fno-use-linker-plugin) 2011-11-08 Richard Guenther <rguenther@suse.de> PR lto/50999 * lto-opts.c (append_to_collect_gcc_options): Split out from... (lto_write_options): ... here. Prepend frontend specific flags. From-SVN: r181160
2011-11-08sse.md (*avx_vperm2f128<mode>3_nozero): Emit mask 0x12 and 0x20 as ↵Jakub Jelinek2-0/+7
vinsert[fi]128 instead of vperm2[fi]128. * config/i386/sse.md (*avx_vperm2f128<mode>3_nozero): Emit mask 0x12 and 0x20 as vinsert[fi]128 instead of vperm2[fi]128. From-SVN: r181158
2011-11-08tree-vect-stmts.c (vectorizable_call): Add SLP_NODE argument.Jakub Jelinek10-19/+556
* tree-vect-stmts.c (vectorizable_call): Add SLP_NODE argument. Handle vectorization of SLP calls. (vect_analyze_stmt): Adjust caller, add call to it for SLP too. (vect_transform_stmt): Adjust vectorizable_call caller, remove assertion. * tree-vect-slp.c (vect_get_and_check_slp_defs): For calls start with op_idx 3. (vect_build_slp_tree): Allow CALL_EXPR. * lib/target-supports.exp (check_effective_target_vect_call_sqrtf, check_effective_target_vect_call_copysignf, check_effective_target_vect_call_lrint): New procedures. * gcc.dg/vect/vect.exp: Run fast-math-bb-slp* tests using $VECT_SLP_CFLAGS with -ffast-math. * gcc.dg/vect/fast-math-vect-call-1.c: New test. * gcc.dg/vect/fast-math-vect-call-2.c: New test. * gcc.dg/vect/fast-math-bb-slp-call-1.c: New test. * gcc.dg/vect/fast-math-bb-slp-call-2.c: New test. From-SVN: r181157
2011-11-08gimple-fold.c (canonicalize_constructor_val): Make sure we have referenced ↵Richard Guenther2-1/+7
vars setup before adding to them. 2011-11-08 Richard Guenther <rguenther@suse.de> * gimple-fold.c (canonicalize_constructor_val): Make sure we have referenced vars setup before adding to them. From-SVN: r181155
2011-11-08Merge from transactional-memory branch.Aldy Hernandez196-214/+15520
From-SVN: r181154
2011-11-08Fix context handling of alias-declarationDodji Seketeli6-4/+34
gcc/cp/ * decl.c (start_decl): Update comment. * error.c (dump_alias_template_specialization): Dump the context of the specialization. * parser.c (cp_parser_alias_declaration): Call pop_scope on the pushed scope yielded by start_decl. gcc/testsuite * g++.dg/cpp0x/alias-decl-11.C: New test. From-SVN: r181152
2011-11-08re PR c++/50864 (ICE with decltype and "declval" from another namespace)Paolo Carlini5-5/+42
/cp 2011-11-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50864 * parser.c (cp_parser_postfix_dot_deref_expression): Reject invalid uses of '->' and '.' as postfix-expression in namespace scope. /testsuite 2011-11-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50864 * g++.dg/parse/template26.C: New. * g++.dg/template/crash45.C: Adjust dg-error string. From-SVN: r181151
2011-11-08re PR fortran/50334 (interaction between -Wuninitialized and -finit-*)Francois-Xavier Coudert2-0/+10
PR fortran/50334 * invoke.texi (-finit-*): Document interaction with -Wuninitialized. From-SVN: r181150
2011-11-07re PR c++/50848 (ICE in derived template class missing using for member of ↵Jason Merrill4-1/+22
template base class) PR c++/50848 * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't crash if lookup finds a non-function. From-SVN: r181143
2011-11-08Daily bump.GCC Administrator1-1/+1
From-SVN: r181138
2011-11-07Allow libcalls to be installed for legacy __sync optabs.Richard Henderson9-127/+298
This allows a target which implements the __sync interfaces in libgcc to continue to use them transparently with the new __atomic builtins. It is assumed that these libgcc routines DO NOT use spinlocks. This is true of all extant libgcc instances. * optabs.h (OTI_sync_compare_and_swap, OTI_sync_lock_test_and_set, OTI_sync_old_add, OTI_sync_old_sub, OTI_sync_old_ior, OTI_sync_old_and, OTI_sync_old_xor, OTI_sync_old_nand, OTI_sync_new_add, OTI_sync_new_sub, OTI_sync_new_ior, OTI_sync_new_and, OTI_sync_new_xor, OTI_sync_new_nand): Move and rename from the direct_optab_index enum. (sync_compare_and_swap_optab, sync_lock_test_and_set_optab, sync_old_add_optab, sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab, sync_new_nand_optab): Read from the optab_table, not the direct_optab_table. (init_sync_libfuncs): Declare. (can_compare_and_swap_p): Update parameters. * optabs.c (init_sync_libfuncs_1, init_sync_libfuncs): New. (can_compare_and_swap_p): Add allow_libcall parameter; if true, test for the legacy compare-and-swap libcall. (expand_atomic_exchange): Use the legacy test-and-set libcall. (expand_atomic_compare_and_swap): Use the legacy CAS libcall. (struct atomic_op_functions): Update for optab type changes. (maybe_emit_op): Likewise. (expand_atomic_fetch_op): Use the legacy fetch-op libcalls. * builtins.c (fold_builtin_atomic_always_lock_free): Update call to can_compare_and_swap_p. * omp-low.c (expand_omp_atomic_fetch_op): Likewise. (expand_omp_atomic_pipeline): Likewise. * genopinit.c (optabs): Make sync_old_*_optab, sync_new_*_optab, sync_compare_and_swap_optab, sync_lock_test_and_set_optab regular optabs. From-SVN: r181134
2011-11-07re PR c++/50863 ([C++0x] list-initialization with lambda fails to deduce ↵Jason Merrill4-0/+22
constructor argument) PR c++/50863 * parser.c (cp_parser_initializer_list): Parse C99 array designators tentatively. From-SVN: r181132
2011-11-07re PR c++/50870 ([C++0x] [4.6/4.7 Regression] ICE with decltype, operator->, ↵Jason Merrill4-1/+33
and default template arguments) PR c++/50870 * pt.c (tsubst_copy): Handle NAMESPACE_DECL. (tsubst_copy_and_build) [COMPONENT_REF]: Handle a still-dependent object. From-SVN: r181131
2011-11-07re PR libfortran/49188 (Mismatch between -fsign-zero documentation and ↵Francois-Xavier Coudert4-28/+40
formatted output) PR libfortran/49188 PR libfortran/49336 * invoke.texi: Fix documentation of fsign-zero option. Remove contractions. * intrinsic.texi: Fix ATAN2 documentation for signed zeros. Remove contractions. * gfortran.texi: Remove contractions. From-SVN: r181127
2011-11-07pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error call in case ↵Paolo Carlini2-7/+10
COMPONENT_REF. 2011-11-07 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error call in case COMPONENT_REF. From-SVN: r181124
2011-11-07i386-bultin-types.def (V8SI_FTYPE_V4DF_V4DF): Add.Jakub Jelinek3-3/+22
* config/i386/i386-bultin-types.def (V8SI_FTYPE_V4DF_V4DF): Add. * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VEC_PACK_SFIX256. (bdesc_args): Add __builtin_ia32_vec_pack_sfix256. (ix86_expand_args_builtin): Handle V8SI_FTYPE_V4DF_V4DF. (ix86_builtin_vectorized_function): Also vectorize lrint using 256-bit vectors for -mavx. From-SVN: r181122
2011-11-08constraints.md: New file.Anatoly Sokolov5-173/+229
* config/cris/constraints.md: New file. * config/cris/cris.h (REG_CLASS_FROM_LETTER, CONSTRAINT_LEN, CRIS_CONST_OK_FOR_LETTER_P, CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_MEMORY_CONSTRAINT, EXTRA_CONSTRAINT, EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R, EXTRA_CONSTRAINT_T, EXTRA_CONSTRAINT_S, EXTRA_CONSTRAINT_U): Remove. * config/cris/cris.c: Incule "tm-constrs.h". (cris_print_operand): Use satisfies_constraint_O. (cris_normal_notice_update_cc, cris_rtx_costs): Use satisfies_constraint_I. (cris_address_cost): Use satisfies_constraint_L. * config/cris/cris.md: Include "constraints.md". (*mov_side<mode>, *mov_sidesisf, *mov_side<mode>_mem, *mov_sidesisf_mem, *clear_side<mode>, *ext_sideqihi, *ext_side<mode>si, *op_side<mode>, *op_swap_side<mode>, *extopqihi_side, *extop<mode>si_side, *extopqihi_swap_side, *extop<mode>si_swap_side): Use satisfies_constraint_N and satisfies_constraint_J. (moversideqi movemsideqi mover2side peephole2): Use satisfies_constraint_N and satisfies_constraint_J. (andu peephole2): Use satisfies_constraint_I and satisfies_constraint_O. From-SVN: r181120
2011-11-07PR c++/45114 - Support C++11 alias-declarationDodji Seketeli25-69/+898
gcc/cp/ * cp-tree.h (TYPE_DECL_ALIAS_P, TYPE_ALIAS_P) (DECL_TYPE_TEMPLATE_P, DECL_ALIAS_TEMPLATE_P): New accessor macros. (TYPE_TEMPLATE_INFO): Get template info of an alias template specializations from its TYPE_DECL. (SET_TYPE_TEMPLATE_INFO): Set template info of alias template specializations into its TYPE_DECL. (DECL_CLASS_TEMPLATE_P): Re-write using the new DECL_TYPE_TEMPLATE_P. (enum cp_decl_spec): Add new ds_alias enumerator. (alias_type_or_template_p, alias_template_specialization_p): Declare new functions. * parser.c (cp_parser_alias_declaration): New static function. (cp_parser_check_decl_spec): Add "using" name for the `alias' declspec. (cp_parser_type_name): Update comment. Support simple-template-id representing alias template specializations in c++0x mode. (cp_parser_qualifying_entity): Update comment. Use cp_parser_type_name. (cp_parser_block_declaration): Handle alias-declaration in c++11. Update comment. (cp_parser_template_id): Handle specializations of alias templates. (cp_parser_member_declaration): Add alias-declaration production to comment. Support alias-declarations. (cp_parser_template_declaration_after_export): Handle alias templates in c++11. * decl.c (make_typename_type, make_unbound_class_template): Accept alias templates. (grokdeclarator): Set TYPE_DECL_ALIAS_P on alias declarations. * decl2.c (grokfield): Move template creation after setting up the TYPE_DECL of the alias, so that the TEMPLATE_DECL of the alias template actually carries the right type-id of the alias declaration. * pt.c (alias_type_or_template_p) (alias_template_specialization_p): Define new public functions. (maybe_process_partial_specialization): Reject partial specializations of alias templates. (primary_template_instantiation_p): Consider alias template instantiations. (push_template_decl_real): Assert that TYPE_DECLs of alias templates are different from those of class template. Store template info onto the TYPE_DECL of the alias template. (convert_template_argument): Strip aliases from template arguments. (lookup_template_class_1): Handle the creation of the specialization of an alias template. (tsubst_decl): Create a substituted copy of the TYPE_DECL of an member alias template. (tsubst): Handle substituting into the type of an alias template. Handle substituting UNBOUND_CLASS_TEMPLATE into BOUND_TEMPLATE_TEMPLATE_PARM. (do_type_instantiation): Better diagnostics when trying to explicitely instantiate a non-class template. * search.c (lookup_field_1, lookup_field_r): Support looking up alias templates. * semantics.c (finish_template_type): For instantiations of alias templates, return the TYPE_DECL of the actual alias and not the one of the aliased type. * error.c (dump_alias_template_specialization): New static function. (dump_type): Handle printing of alias templates and their specializations. templates. (dump_aggr_type): For specialization of alias templates, fetch arguments from the right place. (dump_decl): Print an alias-declaration like `using decl = type;' (dump_template_decl): Support printing of alias templates. gcc/testsuite/ * g++.dg/cpp0x/alias-decl-0.C: New test case. * g++.dg/cpp0x/alias-decl-1.C: Likewise. * g++.dg/cpp0x/alias-decl-3.C: Likewise. * g++.dg/cpp0x/alias-decl-4.C: Likewise. * g++.dg/cpp0x/alias-decl-6.C: Likewise. * g++.dg/cpp0x/alias-decl-7.C: Likewise. * g++.dg/cpp0x/alias-decl-8.C: Likewise. * g++.dg/cpp0x/alias-decl-9.C: Likewise. * g++.dg/cpp0x/alias-decl-10.C: Likewise. * g++.dg/ext/alias-decl-attr1.C: Likewise. * g++.dg/ext/alias-decl-attr2.C: Likewise. * g++.dg/ext/alias-decl-attr3.C: Likewise. * g++.dg/ext/alias-decl-attr4.C: Likewise. From-SVN: r181118
2011-11-07i386.c (ix86_builtin_vectorized_function): Handle BUILT_IN_IRINT, ↵Uros Bizjak3-4/+13
BUILT_IN_IRINTF, BUILT_IN_LLRINT and BUILT_IN_LLRINTF. * config/i386/i386.c (ix86_builtin_vectorized_function): Handle BUILT_IN_IRINT, BUILT_IN_IRINTF, BUILT_IN_LLRINT and BUILT_IN_LLRINTF. From-SVN: r181116
2011-11-07* gcc.dg/pragma-align-2.c: Compile with -std=gnu99.Eric Botcazou2-0/+5
From-SVN: r181114