aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-06-04[patch, testsuite, ARM] don't clobber dg-do-what-default in ↵Sandra Loosemore2-1/+9
advsimd-intrinsics.exp gcc/testsuite/ * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: Move set of dg-do-what-default after early return. From-SVN: r224119
2015-06-04Remove TARGET_RELAXED_ORDERING and optimize for weak memory models.Ramana Radhakrishnan16-96/+65
This patch removes the special casing for targets with relaxed memory ordering and handles guard accesses with equivalent atomic load acquire operations. In this process we change the algorithm to load the guard variable with an atomic load that has ACQUIRE semantics. This then means that on targets which have weak memory models, the fast path is inlined and can directly use a load-acquire instruction where available (and yay! one more hook gone). 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR c++/66192 PR target/66200 * doc/tm.texi: Regenerate. * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete. * target.def (TARGET_RELAXED_ORDERING): Likewise. * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise. * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise. * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise. * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise. * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise. * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise. * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise. * system.h (TARGET_RELAXED_ORDERING): Poison. 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR c++/66192 PR target/66200 * cp-tree.h (get_guard_cond): Adjust declaration * decl.c (expand_static_init): Use atomic load acquire and adjust call to get_guard_cond. * decl2.c (build_atomic_load_byte): New function. (get_guard_cond): Handle thread_safety. (one_static_initialization_or_destruction): Adjust call to get_guard_cond. From-SVN: r224118
2015-06-04[AArch64] Always register fma_steering pass but gate it on the target option ↵Kyrylo Tkachov3-3/+9
instead * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally register fma steering pass. * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on AARCH64_TUNE_FMA_STEERING. From-SVN: r224116
2015-06-04re PR c/66341 (Some casts wrongly produce a lvalue)Marek Polacek4-1/+31
PR c/66341 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if it is a lvalue. * gcc.dg/lvalue-8.c: New test. From-SVN: r224115
2015-06-04Daily bump.GCC Administrator1-1/+1
From-SVN: r224112
2015-06-03lto.c (iterative_hash_canonical_type, [...]): only hash main variants of typesJan Hubicka4-2/+41
* lto.c (iterative_hash_canonical_type, gimple_register_canonical_type): only hash main variants of types * tree.c (verify_type_variant): Verify that type and variant is compatible. (gimple_canonical_types_compatible_p): Look for main variants. From-SVN: r224107
2015-06-03re PR c++/44282 (fastcall is not mangled at all)Jason Merrill5-23/+59
PR c++/44282 * mangle.c (mangle_decl): Always SET_IDENTIFIER_GLOBAL_VALUE. (write_CV_qualifiers_for_type): Set G.need_abi_warning. (decl_implicit_alias_p): Split out from maybe_remove_implicit_alias. * cp-tree.h (DECL_REALLY_EXTERN): Handle null DECL_LANG_SPECIFIC. From-SVN: r224101
2015-06-03re PR c++/66130 ("invalid use of non-static member function" message could ↵Manuel López-Ibáñez9-12/+65
be clearer) 2015-06-03 Manuel López-Ibáñez <manu@gcc.gnu.org> Paolo Carlini <paolo.carlini@oracle.com> PR c++/66130 * typeck.c (invalid_nonstatic_memfn_p): Add location_t parameter and use it in the diagnostic. (decay_conversion): Adjust call. * semantics.c (finish_decltype_type): Likewise. * call.c (resolve_args, build_new_op_1, perform_implicit_conversion_flags): Adjust calls. * cvt.c (ocp_convert, convert_to_void): Likewise. * cp-tree.h (invalid_nonstatic_memfn_p): Update declaration. 2015-06-03 Manuel López-Ibáñez <manu@gcc.gnu.org> Paolo Carlini <paolo.carlini@oracle.com> PR c++/66130 * g++.dg/other/pr66130.C: New. * g++.dg/cpp0x/pr66130.C: Likewise. Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com> From-SVN: r224099
2015-06-03decl.c (check_tag_decl): Use declspecs->locations as locations in error_at ↵Paolo Carlini8-23/+65
and warning_at calls. /cp 2015-06-03 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (check_tag_decl): Use declspecs->locations as locations in error_at and warning_at calls. /testsuite 2015-06-03 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/decl-loc1.C: New. * g++.dg/cpp0x/constexpr-neg1.C: Adjust. * g++.dg/cpp0x/constexpr-object1.C: Likewise. * g++.dg/init/ctor8.C: Likewise. * g++.dg/parse/semicolon4.C: Likewise. From-SVN: r224097
2015-06-03re PR sanitizer/66190 (ICE: tree code ‘call_expr’ is not supported in ↵Marek Polacek6-3/+92
LTO streams with -fsanitize=null) PR sanitizer/66190 * cp-gimplify.c (struct cp_genericize_data): Add no_sanitize_p. (cp_genericize_r): Don't instrument static initializers. (cp_genericize_tree): Initialize wtd.no_sanitize_p. * g++.dg/ubsan/static-init-1.C: New test. * g++.dg/ubsan/static-init-2.C: New test. * g++.dg/ubsan/static-init-3.C: New test. From-SVN: r224096
2015-06-03config.gcc (powerpc*-*-*): Add support for a new configure option ↵Michael Meissner4-8/+127
--with-advance-toolchain=<xxx> which... 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com> * config.gcc (powerpc*-*-*): Add support for a new configure option --with-advance-toolchain=<xxx> which overrides using the default header files, libraries and dynamic linker. * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new specs to support the configure --with-advance-toolchain=<xxx> option. (INCLUDE_EXTRA_SPEC): Likewise. (LINK_OS_EXTRA_SPEC32): Likewise. (LINK_OK_EXTRA_SPEC64): Likewise. (LINK_OS_NEW_DTAGS_SPEC): Likewise. (DYNAMIC_LINKER_PREFIX): Likewise. (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance toolchain support. (GLIBC_DYNAMIC_LINKER32): Likewise. (GLIBC_DYNAMIC_LINKER64): Likewise. (LINK_OS_LINUX_SPEC32): Likewise. (LINK_OS_LINUX_SPEC64): Likewise. * doc/install.texi (--enable-advance-toolchain=<xx>): Document new configuration option. From-SVN: r224095
2015-06-03re PR target/66275 (__attribute__((sysv_abi)) with x86_64-w64-mingw32-gcc ↵Uros Bizjak4-7/+30
generates incorrect code) PR target/66275 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi to determine current function ABI. (ix86_function_value_regno_p): Ditto. testsuite/ChangeLog: PR target/66275 * gcc.target/i386/pr66275.c: New test. From-SVN: r224094
2015-06-03c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.Prathamesh Kulkarni8-2/+39
2015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> c/ * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc. Warn for empty struct. (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct. testsuite/ * gcc.dg/Wcxx-compat-22.c: New testcase. * c-c++-common/Wsizeof-pointer-memaccess1.c: Pass -Wno-c++-compat. * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise. * c-c++-common/pr58346-1.c: Likewise. * c-c++-common/transparent-union-1.c: Likewise. From-SVN: r224083
2015-06-03Fix GNU coding style in memory statistics.Martin Liska6-58/+122
* alloc-pool.h (struct pool_usage): Correct GNU coding style. * bitmap.h (struct bitmap_usage): Likewise. * ggc-common.c (struct ggc_usage): Likewise. * mem-stats.h (struct mem_location): Likewise. (struct mem_usage): Likewise. * vec.c (struct vec_usage): Likewise. From-SVN: r224082
2015-06-03Fix FT32 ChangeLogsJeff Law1-0/+8
From-SVN: r224080
2015-06-03netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into -Bsymbolic.Benigno B. Junior2-0/+6
2015-06-03 Benigno B. Junior <bbj@gentoo.org> * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into -Bsymbolic. From-SVN: r224079
2015-06-03plugins.texi (enum plugin_event): New event.Andres Tiraboschi12-1/+99
* doc/plugins.texi (enum plugin_event): New event. * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION and PLUGIN_FINISH_FUNCTION. * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event (PLUGIN_FINISH_PARSE_FUNCTION): Likewise. cp/ * decl.c (start_function): Call plugin before parsing. (finish_function): Call plugin after parsing. c/ * c-decl.c (start_function): Call plugin before parsing. (finish_function): Call plugin after parsing. testsuite/ * g++.dg/plugin/plugin.exp: Add def-plugin-test.C. * g++.dg/plugin/def_plugin.c: New file. * g++.dg/plugin/def-plugin-test.C: New file. From-SVN: r224078
2015-06-03tree-vect-data-refs.c (vect_analyze_group_access): Properly compute ↵Richard Biener5-30/+76
GROUP_GAP for the first element. 2015-06-03 Richard Biener <rguenther@suse.de> * tree-vect-data-refs.c (vect_analyze_group_access): Properly compute GROUP_GAP for the first element. * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction on in-group gaps. * gcc.dg/vect/bb-slp-36.c: New testcase. From-SVN: r224077
2015-06-03rl78-real.md: Add peepholes to avoid a register copy when calling a function.Nick Clifton3-3/+50
* config/rl78/rl78-real.md: Add peepholes to avoid a register copy when calling a function. * config/rl78/rl78.c (need_to_save): Do not push the frame pointer in an interrupt handler prologue if it is never used. From-SVN: r224076
2015-06-03[ifcvt][obvious] Fix typo in commentKyrylo Tkachov2-1/+5
* ifcvt (end_ifcvt_sequence): Fix typo in comment above. From-SVN: r224075
2015-06-03ipa-chkp.c (chkp_maybe_create_clone): Create alias reference when cloning ↵Ilya Enkovich4-7/+42
alias node. gcc/ * ipa-chkp.c (chkp_maybe_create_clone): Create alias reference when cloning alias node. gcc/testsuite/ * gcc.dg/lto/chkp-removed-alias_0.c: New. From-SVN: r224074
2015-06-03Fix memory report layout at various places.Martin Liska5-31/+47
* alloc-pool.h (struct pool_usage): Correct space padding. * ggc-page.c (ggc_print_statistics): Align columns in a report. * mem-stats.h (struct mem_usage): Add argument to print_dash_line. * tree.c (dump_tree_statistics): Align columns in a report. From-SVN: r224071
2015-06-03Port pool-allocator memory stats to a new infrastructure.Martin Liska7-120/+187
* alloc-pool.c (allocate_pool_descriptor): Remove. (struct pool_output_info): Likewise. (print_alloc_pool_statistics): Likewise. (dump_alloc_pool_statistics): Likewise. * alloc-pool.h (struct pool_usage): New struct. (pool_allocator::initialize): Change usage of memory statistics to a new interface. (pool_allocator::release): Likewise. (pool_allocator::allocate): Likewise. (pool_allocator::remove): Likewise. * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value for a pool allocator. * mem-stats.h (struct mem_location): Add new ctor. (struct mem_usage): Add counter for number of instances. (mem_alloc_description::register_descriptor): New overload of * mem-stats.h (mem_location::to_string): New function. * bitmap.h (struct bitmap_usage): Use this new function. * ggc-common.c (struct ggc_usage): Likewise. the function. From-SVN: r224070
2015-06-03defaults.h (SWITCHABLE_TARGET, [...]): Move out of GCC_INSN_FLAGS_H block.Richard Sandiford2-12/+17
gcc/ * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out of GCC_INSN_FLAGS_H block. From-SVN: r224069
2015-06-03* gcc-interface/utils.c (copy_type): Also set TYPE_CANONICAL.Eric Botcazou2-0/+5
From-SVN: r224068
2015-06-03trans.c (gnat_to_gnu): Fix typo in latest change.Eric Botcazou2-1/+6
* gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>: Fix typo in latest change. From-SVN: r224066
2015-06-03Update check after force_const_mem call in the plus_constant function to see ↵Andrew Bennett2-1/+8
if the value returned is not a NULL_RTX. 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com> gcc/ * explow.c (plus_constant): Update check after force_const_mem call to see if the value returned is not a NULL_RTX. From-SVN: r224064
2015-06-03ipa.c (symbol_table::remove_unreachable_nodes): Don't remove instumentation ↵Ilya Enkovich10-32/+169
thunks calling reachable functions. gcc/ * ipa.c (symbol_table::remove_unreachable_nodes): Don't remove instumentation thunks calling reachable functions. * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP. * lto/lto-partition.c (privatize_symbol_name_1): New. (privatize_symbol_name): Privatize both decl and orig_decl names for instrumented functions. * cgraph.c (cgraph_node::verify_node): Add transparent alias chain check for instrumented node. gcc/testsuite/ * gcc.dg/lto/chkp-privatize-1_0.c: New. * gcc.dg/lto/chkp-privatize-1_1.c: New. * gcc.dg/lto/chkp-privatize-2_0.c: New. * gcc.dg/lto/chkp-privatize-2_1.c: New. From-SVN: r224063
2015-06-03re PR c/64223 (same warning repeated twice with same line number)Marek Polacek5-36/+106
PR c/64223 PR c/29358 * tree.c (attribute_value_equal): Handle attribute format. (cmp_attrib_identifiers): Factor out of lookup_ident_attribute. * gcc.dg/pr64223-1.c: New test. * gcc.dg/pr64223-2.c: New test. From-SVN: r224062
2015-06-03re PR tree-optimization/63916 (value-numbering fails to forward variable ↵Richard Biener4-7/+52
addresses) 2015-06-03 Richard Biener <rguenther@suse.de> PR tree-optimization/63916 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Forward-propagate non-invariant addresses by splicing their reference ops if the result isn't going to be used by PRE. (vn_reference_lookup_3): Remove pointless assert. * gcc.dg/tree-ssa/ssa-fre-45.c: New testcase. From-SVN: r224061
2015-06-03re PR middle-end/66375 (wrong code at -O2 and -O3 on x86_64-linux-gnu)Richard Biener4-26/+48
2015-06-03 Richard Biener <rguenther@suse.de> PR tree-optimization/66375 * tree-scalar-evolution.c (follow_ssa_edge_binary): First add to the evolution before following SSA edges. * gcc.dg/torture/pr66375.c: New testcase. From-SVN: r224060
2015-06-03tree-ssa-loop-ivopts.c (dump_iv): New parameter.Bin Cheng2-9/+12
* tree-ssa-loop-ivopts.c (dump_iv): New parameter. (dump_use, dump_cand, find_induction_variables): Pass new argument to dump_iv. (record_use): Preserve the ssa name information in IV. From-SVN: r224058
2015-06-03genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as NO_MODE_TEST.Richard Sandiford2-10/+53
gcc/ * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as NO_MODE_TEST. (add_mode_tests): Don't add mode tests if the predicate only accepts scalar constant integers. Otherwise, allow the mode of "op" to be VOIDmode if the predicate does accept such integers. From-SVN: r224056
2015-06-03pr65447.c: Increase searching number.Bin Cheng2-2/+6
gcc/testsuite * gcc.dg/tree-ssa/pr65447.c: Increase searching number. Also fix date mis-match in ChangeLog. From-SVN: r224055
2015-06-02re PR target/66258 (compiling a stdarg function with arch +nofp generates an ↵Jim Wilson2-5/+16
ICE) gcc/ PR target/66258 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT. (aarch64_secondary_reload): Likewise (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY to !TARGET_FLOAT. (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs): Likewise. From-SVN: r224054
2015-06-03Daily bump.GCC Administrator1-1/+1
From-SVN: r224053
2015-06-02re PR target/65768 (sub-optimimal code for constant Uses in loop)Kugan Vivekanandarajah4-1/+37
gcc/ChangeLog: 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org> Zhenqiang Chen <zhenqiang.chen@linaro.org> PR target/65768 * cprop.c (try_replace_reg): Check cost of constants before propagating. gcc/testsuite/ChangeLog: 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org> PR target/65768 * gcc.target/arm/maskdata.c: Remove -fno-gcse. Co-Authored-By: Zhenqiang Chen <zhenqiang.chen@linaro.org> From-SVN: r224048
2015-06-02Add the PR number that I forgot in m y previous commit.Steven G. Kargl2-0/+2
From-SVN: r224044
2015-06-02simplify.c (gfc_simplify_reshape): Convert assert into returning NULL, which ↵Steven G. Kargl4-2/+31
triggers an error condition. 2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org> * simplify.c (gfc_simplify_reshape): Convert assert into returning NULL, which triggers an error condition. 2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/reshape_7.f90: New test. From-SVN: r224043
2015-06-02rs6000-modes.def (IFmode): Define IFmode to provide access to the IBM ↵Michael Meissner6-0/+122
extended double floating point mode... 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to provide access to the IBM extended double floating point mode if long double is IEEE 128-bit floating point. (KFmode): Define KFmode to provide access to IEEE 128-bit floating point if long double is the IBM extended double type. * config/rs6000/rs6000.opt (-mfloat128-none): New switches to enable adding IEEE 128-bit floating point support. (-mfloat128-software): Likewise. (-mfloat128-sw): Likewise. * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow 128-bit floating point types to occupy any register if -mlong-double-64. Do not allow use of IFmode/KFmode unless -mfloat128-software is enabled. (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug support. (rs6000_option_override_internal): Add -mfloat128-* support. (rs6000_init_builtins): Setup __ibm128 and __float128 type modes. * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128 and float128 type nodes. (ieee128_float_type_node): Likewise. (ibm128_float_type_node): Likewise. From-SVN: r224042
2015-06-02PR c/66220: Fix false positive from -Wmisleading-indentationDavid Malcolm4-8/+70
gcc/c-family/ChangeLog: PR c/66220: * c-indentation.c (should_warn_for_misleading_indentation): Use expand_location rather than expand_location_to_spelling_point. Don't warn if the guarding statement is more indented than the next/body stmts. gcc/testsuite/ChangeLog: PR c/66220: * c-c++-common/Wmisleading-indentation.c (fn_35): New. (fn_36): New. From-SVN: r224041
2015-06-02Avoid unnecessary work when -Wmisleading-indentation isn't enabledDavid Malcolm2-0/+11
gcc/c-family/ChangeLog: * c-indentation.c (warn_for_misleading_indentation): Bail out immediately if -Wmisleading-indentation isn't enabled. From-SVN: r224040
2015-06-02* g++.dg/warn/Wsystem-headers1.C: Use extern "C".Jason Merrill1-1/+1
From-SVN: r224038
2015-06-02cp-tree.h (init_error): Remove declaration.Patrick Palka4-14/+11
* cp-tree.h (init_error): Remove declaration. * error.c (scratch_pretty_printer): Rename to ... (actual_pretty_printer): ... this. (cxx_pp): Constify and update accordingly. (init_error): Remove definition. * lex.c (cxx_init): Do not call init_error. From-SVN: r224037
2015-06-02re PR target/49551 (tentative declaration after definition and ↵Prathamesh Kulkarni4-0/+23
-fdata-sections cause ICE in C front-end.) 2015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR c/49551 * c-decl.c (merge_decls): Merge DECL_COMMON. * gcc.dg/pr49551.c: New test-case. From-SVN: r224033
2015-06-02[AArch64][PR 66136] rewrite geniterators.sh in awkSzabolcs Nagy2-20/+52
2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com> PR target/66136 * config/aarch64/geniterators.sh: Rewrite in awk. From-SVN: r224031
2015-06-02Pool allocator fallout: fix uninialized class members.Martin Liska2-4/+8
* alloc-pool.h (pool_allocator::pool_allocator): Set implicit values to avoid -Wmaybe-uninitialized errors. From-SVN: r224030
2015-06-02re PR debug/65549 (crash in htab_hash_string with -flto -g)Richard Biener4-3/+193
2015-06-02 Richard Biener <rguenther@suse.de> PR debug/65549 * dwarf2out.c (lookup_context_die): New function. (resolve_addr): Avoid forcing a full DIE for the target of a DW_TAG_GNU_call_site during late compilation. Instead create a stub DIE without a type if we have a context DIE present. * g++.dg/lto/pr65549_0.C: New testcase. From-SVN: r224029
2015-06-02[PR libgomp/65742, PR middle-end/66332] XFAIL acc_on_device compile-time ↵Thomas Schwinge2-1/+15
evaluation The OpenACC 2.0a specification mandates differently, but we currently do get a library call in the host code. PR libgomp/65742 PR middle-end/66332 gcc/testsuite/ * c-c++-common/goacc/acc_on_device-2.c: XFAIL for C, too. From-SVN: r224028
2015-06-02mangle-regparm.C (dg-do): Fix x86_32 target selector.Uros Bizjak2-1/+5
* g++.dg/abi/mangle-regparm.C (dg-do): Fix x86_32 target selector. From-SVN: r224026