aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-11-08Fix a darwin10 build problem.Richard Henderson2-2/+12
local.cc:113:6: error: only weak aliases are supported in this configuration * local.cc (_ITM_LB): Use a normal call, not a function alias. From-SVN: r181182
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-08re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from ↵Francois-Xavier Coudert2-13/+12
integer without a cast) PR libfortran/47972 * runtime/error.c (gf_strerror): Silence warning. From-SVN: r181180
2011-11-08Test for libitm directory present before testing for support.Richard Henderson3-23/+31
From-SVN: r181179
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-08Build softfp for c6xRainer Orth2-10/+14
* config/c6x/t-elf (LIB2ADD): Add instead of assigning. From-SVN: r181173
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-08shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.Jonathan Wakely9-79/+307
* include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'. (_Sp_counted_deleter): Make 'final'. Use allocator_traits. (_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits. Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO for the allocator. (__shared_count, __shared_ptr): Use allocator_traits. * include/std/future (__future_base::_Result_alloc): Make 'final'. Use allocator traits. (__future_base::_Task_state): Make 'final'. (__future_base::_Deferred_state): Likewise. (__future_base::_Async_state): Likewise. * testsuite/20_util/shared_ptr/cons/alloc_min.cc: New. * testsuite/20_util/shared_ptr/creation/alloc_min.cc: New. * testsuite/20_util/shared_ptr/creation/private.cc: New. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. * testsuite/30_threads/packaged_task/cons/alloc_min.cc: New. * testsuite/30_threads/promise/cons/alloc_min.cc: New. From-SVN: r181171
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-08Fix tests for libitm support.Richard Henderson5-3/+11
From-SVN: r181169
2011-11-08Check for libitm support at top-level.Richard Henderson7-71/+52
From-SVN: r181168
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-08ChangeLog for last change.Rainer Orth1-0/+8
From-SVN: r181164
2011-11-08Fix Solaris/x86 libitm buildRainer Orth3-2/+6
* configure.tgt: Handle i386 like i[456]86. * config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't take address. * config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD || !HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable. From-SVN: r181163
2011-11-08acinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to ↵Paolo Carlini5-38/+51
[GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY]... 2011-11-08 Paolo Carlini <paolo.carlini@oracle.com> * acinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to [GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY], likewise for the option itself, to --enable-libstdcxx-visibility. * configure.ac: Adjust call. * doc/xml/manual/configure.xml: Update. * configure: Regenerate. From-SVN: r181162
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-08macros.cc: Avoid -Wall warnings.Paolo Carlini3-2/+8
2011-11-08 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/29_atomics/headers/atomic/macros.cc: Avoid -Wall warnings. * testsuite/29_atomics/atomic/cons/user_pod.cc: Likewise. From-SVN: r181159
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-08re PR libstdc++/51018 (Test failures on NetBSD)Jonathan Wakely2-3/+9
PR libstdc++/51018 * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run on netbsd. From-SVN: r181156
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 Hernandez304-230/+53780
From-SVN: r181154
2011-11-08re PR libfortran/47970 (c99_functions.c:611:5: warning: implicit declaration ↵Francois-Xavier Coudert2-30/+36
of function 'round') PR libfortran/47970 * intrinsics/c99_functions.c (round): Move higher in the file. From-SVN: r181153
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-08compare_tests: Add ability to compare all .sum files from two build directories.Quentin Neill2-10/+98
2011-11-07 Quentin Neill <quentin.neill@amd.com> * compare_tests: Add ability to compare all .sum files from two build directories. From-SVN: r181149
2011-11-08re PR libstdc++/51018 (Test failures on NetBSD)Paolo Carlini2-5/+11
2011-11-07 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/51018 * include/profile/impl/profiler_node.h (__stack_hash:: operator()(__stack_t)): Just use std::size_t everywhere. From-SVN: r181147
2011-11-08future (__future_base::_Ptr): Use alias-declaration.Jonathan Wakely2-29/+27
* include/std/future (__future_base::_Ptr): Use alias-declaration. (__is_same_pkgdtask): Rename to __constrain_pkgdtask and use decay instead of remove_reference so that cv-quals are removed. From-SVN: r181145
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-08stdc++.h: Add cstdalign.Ed Smith-Rowland2-0/+5
2011-11-08 Ed Smith-Rowland <3dw4rd@verizon.net> * include/precompiled/stdc++.h: Add cstdalign. From-SVN: r181142
2011-11-08complex (complex<>::real(), [...]): Remove redundant const qualifiers.Paolo Carlini2-9/+14
2011-11-07 Paolo Carlini <paolo.carlini@oracle.com> * include/std/complex (complex<>::real(), complex<>::imag()): Remove redundant const qualifiers. From-SVN: r181141
2011-11-08ptr_traits.h (__rebind): Replace with...Jonathan Wakely6-79/+26
* include/bits/ptr_traits.h (__rebind): Replace with... (rebind): Implement using alias-declaration. * include/ext/pointer.h (__rebind): Replace with... (rebind): Implement using alias-declaration. * include/bits/alloc_traits.h (__rebind_alloc, __rebind_traits): Replace with... (rebind_alloc, rebind_traits): Implement using alias-declaration. * include/ext/alloc_traits.h (rebind): Use rebind_alloc instead of __rebind_alloc. * include/std/scoped_allocator (rebind): Likewise. From-SVN: r181139
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-07mutex (call_once): Store closure in __once_functor as bound function wrapper ↵Jonathan Wakely2-1/+7
might not be copyable. * include/std/mutex (call_once): Store closure in __once_functor as bound function wrapper might not be copyable. From-SVN: r181128
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-07re PR target/51007 (Quadmath I/O doesn't work on MinGW)Kai Tietz2-0/+15
PR target/51007 * quadmath-imp.h (ieee854_float128): Adjust for ms-bitfield layout. From-SVN: r181125
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-07atomic_base.h (atomic_thread_fence): Revert.Andrew MacLeod2-8/+7
2011-11-07 Andrew MacLeod <amacleod@redhat.com> * include/bits/atomic_base.h (atomic_thread_fence): Revert. (atomic_signal_fence): Revert. From-SVN: r181119
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