aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-01-27Daily bump.GCC Administrator1-1/+1
From-SVN: r195491
2013-01-26gcc: PR target/54663David Holsgrove2-0/+8
gcc: PR target/54663 * config.gcc (microblaze*-linux*): Add tmake_file to allow building of microblaze-c.o. libgcc: * config.host(microblaze*-linux*): tmake_file: Remove t-slibgcc-nolc-override, add t-slibgcc-libgcc. * config/microblaze/t-microblaze: Set LIB2FUNCS_EXCLUDE to exclude functions from being built with libgcc.c and use the microblaze assembly. From-SVN: r195488
2013-01-26gcc/config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update tm_file.Edgar E. Iglesias2-3/+8
libgcc/config.host (microblaze*-*-*): Rename microblaze*-*-elf, update extra_parts. From-SVN: r195487
2013-01-25configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.Michael Haubenwallner3-0/+17
2013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at> * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld. * configure: Regenerate. From-SVN: r195486
2013-01-26Daily bump.GCC Administrator1-1/+1
From-SVN: r195485
2013-01-25remove unnecessary bits from g++.dg/warn/pmf2.CJason Merrill1-2/+0
From-SVN: r195477
2013-01-25re PR middle-end/56098 (conditional write through volatile pointer produces ↵Jakub Jelinek5-4/+61
unintended read) PR tree-optimization/56098 * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr for stmts with volatile ops. (cond_store_replacement): Don't optimize if assign has volatile ops. (cond_if_else_store_replacement_1): Don't optimize if either then_assign or else_assign have volatile ops. (hoist_adjacent_loads): Don't optimize if either def1 or def2 have volatile ops. * gcc.dg/pr56098-1.c: New test. * gcc.dg/pr56098-2.c: New test. From-SVN: r195475
2013-01-25re PR c++/56095 (Crash casting function pointer as non-type template argument)Jason Merrill3-16/+39
PR c++/56095 * pt.c (convert_nontype_argument_function): Handle invalid input. (convert_nontype_argument): Likewise. From-SVN: r195474
2013-01-25invoke.texi (AVR Built-in Macros): Document __XMEGA__.Georg-Johann Lay2-0/+7
* doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__. From-SVN: r195473
2013-01-25extend.texi (Example of asm with clobbered asm reg): Fix missing ':' in asm ↵Georg-Johann Lay2-1/+6
example. * doc/extend.texi (Example of asm with clobbered asm reg): Fix missing ':' in asm example. From-SVN: r195471
2013-01-25re PR c++/56104 (Wrong "dereferencing type-punned pointer" warning)Jason Merrill4-10/+49
PR c++/56104 * typeck.c (get_member_function_from_ptrfunc): Optimize if the dynamic type has no virtual functions. From-SVN: r195470
2013-01-25aarch64-simd-builtins.def: Separate sq<r>dmulh_lane entries into lane and ↵Tejas Belagod5-33/+91
laneq entries. 2013-01-25 Tejas Belagod <tejas.belagod@arm.com> * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane entries into lane and laneq entries. * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>): Remove AdvSIMD scalar modes. (aarch64_sq<r>dmulh_laneq<mode>): New. (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD modes. * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics' builtin implementations to relfect changes in RTL in aarch64-simd.md. * config/aarch64/iterators.md (VCOND): New. (VCONQ): New. From-SVN: r195467
2013-01-25re PR target/54222 ([avr] Implement fixed-point support)Georg-Johann Lay7-30/+389
gcc/ PR target/54222 * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument. Add NULL LIBNAME argument to existing definitions. (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New. * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument. * config/avr/avr.c (DEF_BUILTIN): Same. (avr_init_builtins): Pass down LIBNAME to add_builtin_function. (avr_expand_builtin): Expand to a vanilla call if a libgcc implementation is available (DECL_ASSEMBLER_NAME is set). (avr_fold_absfx): New static function. (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR, AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR, AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK, AVR_BUILTIN_ABSLLK. * config/avr/stdfix.h (abshr, absr, abslr, absllr) (abshk, absk, abslk, absllk): Provide as static inline functions. gcc/testsuite/ PR target/54222 * gcc.target/avr/torture/builtins-3-absfx.c: New test. From-SVN: r195464
2013-01-25Fix PR56035.Marek Polacek4-4/+47
From-SVN: r195462
2013-01-25Remove conflict markerEric Botcazou1-8/+7
From-SVN: r195461
2013-01-25Daily bump.GCC Administrator1-1/+1
From-SVN: r195451
2013-01-24i386.md (*movti_internal_rex64): Add (o,e) alternative.Uros Bizjak2-23/+35
* config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative. (*movtf_internal_rex64): Add (!o,C) alternative (*movxf_internal_rex64): Ditto. (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives. From-SVN: r195446
2013-01-24bind_c_array_params_2.f90: Require -mno-relax-pic-calls for MIPS.Richard Sandiford2-0/+6
gcc/testsuite/ * gfortran.dg/bind_c_array_params_2.f90: Require -mno-relax-pic-calls for MIPS. From-SVN: r195443
2013-01-24octeon-pipe-1.c: Add -ffat-lto-objectsRichard Sandiford2-1/+5
gcc/testsuite/ * gcc.target/mips/octeon-pipe-1.c: Add -ffat-lto-objects From-SVN: r195441
2013-01-24invoke.texi: fix typo.Shenghou Ma3-2/+7
* doc/invoke.texi: fix typo. * doc/objc.texi: fix typo. From-SVN: r195437
2013-01-24mips.md (*and<mode>3_mips16): Use the "W" constraint for the first two ↵Richard Sandiford2-1/+6
alternatives. gcc/ * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint for the first two alternatives. From-SVN: r195433
2013-01-24re PR c/56078 (causes cc1 to crash)Jakub Jelinek5-7/+48
PR c/56078 * c-typeck.c (set_nonincremental_init_from_string): If constructor_max_index is NULL, treat it as if tree_int_cst_lt returned false. (process_init_element): Likewise. * gcc.dg/pr56078.c: New test. * gcc.c-torture/compile/20030305-1.c: Add dg-error lines. From-SVN: r195432
2013-01-24re PR tree-optimization/55927 (FAIL: g++.dg/ipa/devirt-10.C -std=gnu++11 ↵Martin Jambor2-1/+6
scan-ipa-dump-times inline "Discovered a virtual call to a known target" 1) 2013-01-24 Martin Jambor <mjambor@suse.cz> PR tree-optimization/55927 * g++.dg/ipa/devirt-10.C: Disable early inlining. From-SVN: r195430
2013-01-24Remove zone allocator.Diego Novillo18-2889/+110
This patch removes the GC zone allocator. It is not used and it produces several regressions in the testsuite. Furthermore, it complicates things for the plan to implement manual GC markers (http://gcc.gnu.org/wiki/cxx-conversion/gc-alternatives#Do_GC_marking_manually). Tested on x86_64 with standard checking, --enable-checking=gc and --enable-checking=release. From-SVN: r195426
2013-01-24avr.c (avr_out_fract): Make register numbers that might be outside of source ↵Georg-Johann Lay2-6/+11
operand signed. * config/avr/avr.c (avr_out_fract): Make register numbers that might be outside of source operand signed. From-SVN: r195424
2013-01-24constraints.md (Yf): New constraint.Uros Bizjak5-13/+41
* config/i386/constraints.md (Yf): New constraint. * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead of f constraint to conditionaly disable x87 register preferences. (*movdf_internal): Ditto. (*movsf_internal): Ditto. testsuite/ChangeLog: * gcc.target/i386/movsd.c: New test. From-SVN: r195423
2013-01-24re PR inline-asm/55934 (LRA inline asm error recovery)Steven Bosscher5-4/+62
gcc/ PR inline-asm/55934 * lra-assigns.c (assign_by_spills): Throw away the pattern of asms that have operands with impossible constraints. Add a FIXME for a speed-up opportunity. * lra-constraints.c (process_alt_operands): Verify that a class selected from constraints on asms is valid for the operand mode. (curr_insn_transform): Remove incorrect comment. testsuite/ PR inline-asm/55934 * gcc.target/i386/pr55934.c: New test. From-SVN: r195420
2013-01-24Daily bump.GCC Administrator1-1/+1
From-SVN: r195417
2013-01-23re PR fortran/56081 (Seg fault ICE on select with bad case)Janus Weil4-4/+40
2013-01-23 Janus Weil <janus@gcc.gnu.org> PR fortran/56081 * resolve.c (resolve_select): Add argument 'select_type', reject non-scalar expressions. (resolve_select_type,resolve_code): Pass new argument to 'resolve_select'. 2013-01-23 Janus Weil <janus@gcc.gnu.org> PR fortran/56081 * gfortran.dg/select_8.f90: New. From-SVN: r195412
2013-01-23* ChangeLog: Add missing entry.Uros Bizjak1-0/+5
From-SVN: r195411
2013-01-23i386.md (*movdf_internal_rex64): Disparage alternatives involving stack ↵Uros Bizjak1-2/+2
registers slightly. * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives involving stack registers slightly. From-SVN: r195410
2013-01-23rs6000.c (rs6000_delegitimize_address): Check that TOC operand is a valid ↵David Edelsohn2-1/+8
symbol ref in the constant pool. * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that TOC operand is a valid symbol ref in the constant pool. From-SVN: r195409
2013-01-23Add TARGET_OS_CPP_BUILTINS for microblaze*-linuxEdgar E. Iglesias2-0/+8
From-SVN: r195408
2013-01-23re PR target/54222 ([avr] Implement fixed-point support)Georg-Johann Lay3-0/+383
PR target/54222 * config/avr/stdfix.h: New file. * t-avr (stdfix-gcc.h): New rule to build it. (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h. From-SVN: r195407
2013-01-23Remove obsolete check for target_config_cflags, no longer set.David Holsgrove2-6/+4
From-SVN: r195406
2013-01-23libsanitizer merge from upstream r173241Kostya Serebryany2-1/+5
From-SVN: r195404
2013-01-23re PR fortran/56052 ([OOP] ICE in omp_add_variable, at gimplify.c:5606)Jakub Jelinek4-1/+34
PR fortran/56052 * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P on select_type_temporary and don't set DECL_BY_REFERENCE. * gfortran.dg/gomp/pr56052.f90: New test. From-SVN: r195399
2013-01-23re PR target/49069 (ICE in gen_cstoredi4, at config/arm/arm.md:7554)Jakub Jelinek5-13/+32
PR target/49069 * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand instead of cmpdi_operand for first comparison operand. Don't assert that comparison operands aren't both constants. * gcc.dg/pr49069.c: New test. From-SVN: r195398
2013-01-23Daily bump.GCC Administrator1-1/+1
From-SVN: r195396
2013-01-22re PR c++/55944 ([C++11] static local member with constexpr c'tor causes ICE)Paolo Carlini4-1/+31
/cp 2013-01-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/55944 * decl.c (check_initializer): Use TARGET_EXPR_DIRECT_INIT_P only on TARGET_EXPR nodes. /testsuite 2013-01-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/55944 * g++.dg/cpp0x/constexpr-static10.C: New. From-SVN: r195391
2013-01-22* testsuite/ChangeLog: Move ChangeLog entries to 2013.Uros Bizjak1-8/+8
From-SVN: r195389
2013-01-22install.texi (Downloading the Source): Update references to downloading ↵Jonathan Wakely2-24/+21
separate components. * doc/install.texi (Downloading the Source): Update references to downloading separate components. From-SVN: r195388
2013-01-22* doc/extend.texi (__int128): Improve grammar.Jonathan Wakely2-4/+8
From-SVN: r195387
2013-01-22re PR target/56028 (Splitting a 64-bit volatile store)Uros Bizjak4-73/+192
PR target/56028 * config/i386/i386.md (*movti_internal_rex64): Change (o,riF) alternative to (o,r). (*movdi_internal_rex64): Remove (!o,n) alternative. (DImode immediate->memory splitter): Remove. (DImode immediate->memory peephole2): Remove. (movtf): Enable for TARGET_64BIT || TARGET_SSE. (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r) alternative to (!o,*r). (*movtf_internal_sse): New pattern. (*movxf_internal_rex64): New pattern. (*movxf_internal): Disable for TARGET_64BIT. (*movdf_internal_rex64): Remove (!o,F) alternative. testsuite/ChangeLog: 2012-01-22 Uros Bizjak <ubizjak@gmail.com> PR target/56028 * gcc.target/i386/pr56028.c: New test. From-SVN: r195386
2013-01-22re PR middle-end/56074 (ICE compiling gcc.dg/vect/pr49093.c)Jakub Jelinek3-3/+11
PR middle-end/56074 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc) isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION. * tree-vect-loop-manip.c (find_loop_location): Also ignore stmt locations where LOCATION_LOCUS of the stmt location is UNKNOWN_LOCATION or BUILTINS_LOCATION. From-SVN: r195382
2013-01-22re PR rtl-optimization/55686 (ICE in assign_by_spills, at lra-assigns.c:1244)Jakub Jelinek4-5/+39
PR target/55686 * config/i386/i386.md (UNSPEC_STOS): New. (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1): Add UNSPEC_STOS. * gcc.target/i386/pr55686.c: New test. From-SVN: r195381
2013-01-22re PR c++/56071 (friend class template cannot access private constructor in ↵Jason Merrill3-0/+29
exception-specification) PR c++/56071 * pt.c (maybe_instantiate_noexcept): Don't defer access checks. From-SVN: r195378
2013-01-22re PR c++/56067 (Removal of -Wsynth from doc didn't remove example)Paolo Carlini2-17/+5
2013-01-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/56067 * doc/invoke.texi: Remove left over -Wsynth example. From-SVN: r195375
2013-01-22trans.c (gnat_to_gnu): Do not translate the Etype of the node before ↵Eric Botcazou2-1/+6
translating the Actions. * 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
2013-01-22PR c++/53609 - Wrong variadic template pack expansion in alias templateDodji Seketeli6-146/+291
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