- 22 Jan, 2013 8 commits
-
-
PR libgomp/51376 PR libgomp/56073 * task.c (GOMP_task): Revert 2011-12-09 change. (GOMP_taskwait): Likewise. Instead use atomic load with acquire barrier to read task->children.. (gomp_barrier_handle_tasks): ..and matching atomic store with release barrier here when setting parent->children to NULL. From-SVN: r195370
Alan Modra committed -
* gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do not translate the Etype of the node before translating the Actions. From-SVN: r195368
Eric Botcazou committed -
Consider this example: 1 template<class...I> struct List {}; 2 template<int T> struct Z {static const int value = T;}; 3 template<int...T> using LZ = List<Z<T>...>; 4 5 template<class...U> 6 struct F 7 { 8 using N = LZ<U::value...>; //#1 This should amount to List<Z<U::value>...> 9 } 10 11 F<Z<1>, Z<2> >::N A; //#2 which G++ fails to compile, with this error message: test-PR53609-3.cc: In instantiation of 'struct F<Z<1>, Z<2> >': test-PR53609-3.cc:11:15: required from here test-PR53609-3.cc:3:43: error: wrong number of template arguments (2, should be 1) template<int...T> using LZ = List<Z<T>...>; ^ test-PR53609-3.cc:2:24: error: provided for 'template<int T> struct Z' template<int T> struct Z {static const int value = T;}; I think this is because in #1, when we substitute the argument pack {U::value...} into the pack expansion Z<T>..., tsubst_pack_expansion yields Z<U::value...>, instead of Z<U::value>..., so the instantiation of LZ amounts to List<Z<U::value...> >, instead of List<Z<U::value>...>. The idea of this patch is to make tsubst_pack_expansion support substituting an argument pack (into a pack expansion) where one of the arguments (let's call it the Ith argument) is itself a pack expansion P. In that case, the Ith element resulting from the substituting should be a pack expansion P'. The pattern of P' is then the pattern of P into which the pattern of the Ith argument of the argument pack has been substituted. Tested on x86_64-unknown-linux-gnu against trunk. gcc/cp/ * pt.c (argument_pack_element_is_expansion_p) (make_argument_pack_select, use_pack_expansion_extra_args_p) (gen_elem_of_pack_expansion_instantiation): New static functions. (tsubst): When looking through an ARGUMENT_PACK_SELECT tree node, look through the possibly resulting pack expansion as well. (tsubst_pack_expansion): Use use_pack_expansion_extra_p to generalize when to use the PACK_EXPANSION_EXTRA_ARGS mechanism. Use gen_elem_of_pack_expansion_instantiation to build the instantiation piece-wise. Don't use arg_from_parm_pack_p anymore, as gen_elem_of_pack_expansion_instantiation and the change in tsubst above generalize this particular case. (arg_from_parm_pack_p): Remove this for it's not used by tsubst_pack_expansion anymore. gcc/testsuite/ * g++.dg/cpp0x/variadic139.C: New test. * g++.dg/cpp0x/variadic140.C: Likewise. * g++.dg/cpp0x/variadic141.C: Likewise. From-SVN: r195367
Dodji Seketeli committed -
* gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size instead of optimize and adjust warning message. (Compilation_Unit_to_gnu): Process pragmas preceding the unit. From-SVN: r195366
Eric Botcazou committed -
* gcc-interface/gigi.h (ADT_unhandled_except_decl, ADT_unhandled_others_decl): New. (unhandled_others_decl, unhandled_except_decl): Define. * gcc-interface/trans.c: Include common/common-target.h. (gigi): Initialize them. (Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main function in a try/catch clause. From-SVN: r195364
Tristan Gingold committed -
PR libquadmath/56072 * libquadmath.texi (M_PI_2q, M_PI_4q): Fix up description. From-SVN: r195360
Jakub Jelinek committed -
PR c++/56059 * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default template args count. From-SVN: r195355
Jason Merrill committed -
From-SVN: r195354
GCC Administrator committed
-
- 21 Jan, 2013 15 commits
-
-
From-SVN: r195350
Uros Bizjak committed -
2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/55919 * scanner.c (add_path_to_list): Copy path to temporary and strip trailing directory separators before calling stat(). 2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/55919 * gfortran.dg/include_8.f90: New test. From-SVN: r195348
Thomas Koenig committed -
From-SVN: r195347
Uros Bizjak committed -
* gcc.dg/tree-ssa/pr55579.c: Cleanup esra tree dump * gfortran.dg/unlimited_polymorphic_8.f90: Cleanup original tree dump. From-SVN: r195346
Uros Bizjak committed -
PR tree-optimization/56051 * fold-const.c (fold_binary_loc): Don't fold X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either a narrowing conversion, or widening conversion from signed to unsigned. * gcc.c-torture/execute/pr56051.c: New test. From-SVN: r195343
Jakub Jelinek committed -
PR rtl-optimization/56023 * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions, dependent on debug instruction. testsuite/ChangeLog: PR rtl-optimization/56023 * gcc.dg/pr56023.c: New test. From-SVN: r195342
Uros Bizjak committed -
2013-01-21 Martin Jambor <mjambor@suse.cz> PR middle-end/56022 * function.c (allocate_struct_function): Call invoke_set_current_function_hook earlier. testsuite/ * gcc.target/i386/pr56022.c: New test. From-SVN: r195341
Martin Jambor committed -
From-SVN: r195338
Jason Merrill committed -
* reload1.c (init_reload): Only initialize reload_obstack during the first call. From-SVN: r195335
Jakub Jelinek committed -
From-SVN: r195334
Marek Polacek committed -
2013-01-21 Yi-Hsiu Hsu <ahsu@marvell.com> * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift, pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift. From-SVN: r195333
Yi-Hsiu Hsu committed -
2013-01-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/56058 * config/arm/marvell-pj4.md: Update copyright year. Fix up use of alu to alu_reg and simple_alu_imm. From-SVN: r195332
Ramana Radhakrishnan committed -
* config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA. From-SVN: r195331
Uros Bizjak committed -
From-SVN: r195330
Andi Kleen committed -
From-SVN: r195329
GCC Administrator committed
-
- 20 Jan, 2013 9 commits
-
-
2013-01-20 Jack Howarth <howarth@bromo.med.uc.edu> PR debug/53235 * g++.dg/debug/dwarf2/nested-4.C: XFAIL on darwin. From-SVN: r195326
Jack Howarth committed -
Add support for Marvell's PJ4 CPU 2013-01-18 Yi-Hsiu Hsu <ahsu@marvell.com> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/marvell-pj4.md: New file. From-SVN: r195325
Yi-Hsiu Hsu committed -
From-SVN: r195324
Hans-Peter Nilsson committed -
2013-01-20 Vladimir Makarov <vmakarov@redhat.com> PR target/55433 * lra-constraints.c (curr_insn_transform): Don't reuse original insn for secondary memory move when memory mode should be different. From-SVN: r195322
Vladimir Makarov committed -
The underlying compiler supports additional __ATOMIC_HLE_ACQUIRE/RELEASE memmodel flags for TSX, but this was not exposed to the C++ wrapper. Handle it there. These are additional flags, so some of assert checks need to mask off the flags before checking the memory model type. libstdc++-v3/: 2013-01-12 Andi Kleen <ak@linux.intel.com> Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/55223 * include/bits/atomic_base.h (__memory_order_modifier): Add __memory_order_mask, __memory_order_modifier_mask, __memory_order_hle_acquire, __memory_order_hle_release. (operator|,operator&): Add. (__cmpexch_failure_order): Rename to __cmpexch_failure_order2. (__cmpexch_failure_order): Add. (clear, store, load, compare_exchange_weak, compare_exchange_strong): Handle flags. * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Add. Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com> From-SVN: r195321
Andi Kleen committed -
* config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1): New patterns. From-SVN: r195320
John David Anglin committed -
From-SVN: r195319
Venkataramanan Kumar committed -
PR tree-optimization/52631 * tree-ssa-sccvn (visit_use): Before looking up the original statement, try looking up the simplified expression. PR tree-optimization/52631 * tree-ssa/pr52631.c: New test. * tree-ssa/ssa-fre-9: Update expected output. From-SVN: r195318
Jeff Law committed -
From-SVN: r195317
GCC Administrator committed
-
- 19 Jan, 2013 6 commits
-
-
PR libstdc++/55861 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)): Fix return type. (__basic_future::_M_get_result()): Const qualify. (shared_future::get()): Likewise. * testsuite/30_threads/shared_future/members/get.cc: Use const objects. From-SVN: r195314
Jonathan Wakely committed -
From-SVN: r195313
Jason Merrill committed -
From-SVN: r195312
Anthony Green committed -
From-SVN: r195311
Anthony Green committed -
re PR target/54908 (misc regressions on emutls targets remain from dynamic initialization of non-function-local TLS variables) PR target/54908 c-family/ * c.opt (-fextern-tls-init): New. * c-opts.c (c_common_post_options): Handle it. cp/ * decl2.c (get_local_tls_init_fn): New. (get_tls_init_fn): Handle flag_extern_tls_init. Don't bother with aliases for internal variables. Don't use weakrefs if the variable needs destruction. (generate_tls_wrapper): Mark the wrapper as const if no initialization is needed. (handle_tls_init): Don't require aliases. From-SVN: r195310
Jason Merrill committed -
From-SVN: r195309
GCC Administrator committed
-
- 18 Jan, 2013 2 commits
-
-
re PR tree-optimization/56029 (ICE: verify_gimple failed, location references block not in block tree) PR tree-optimization/56029 * tree-phinodes.c (reserve_phi_args_for_new_edge): Set gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION. * g++.dg/torture/pr56029.C: New test. From-SVN: r195304
Jakub Jelinek committed -
2013-01-18 Sharad Singhai <singhai@google.com> PR tree-optimization/55995 * dumpfile.c (dump_loc): Print location only if available. * tree-vectorizer.c (increase_alignment): Intialize vect_location. testsuite/ChangeLog PR tree-optimization/55995 * gcc.dg/vect/vect.exp: Use "details" flags for dump info. From-SVN: r195303
Sharad Singhai committed
-