gcc.git
10 years agoRTEMS: Update RTEMS thread model
Sebastian Huber [Thu, 3 Sep 2015 05:28:46 +0000 (05:28 +0000)]
RTEMS: Update RTEMS thread model

libgcc/ChangeLog

* config/gthr-rtems.h (__GTHREADS_CXX0X): New.
(__GTHREAD_HAS_COND): Likewise.
(__gthread_t): Likewise.
(__gthread_cond_t): Likewise.
(__gthread_time_t): Likewise.
(__GTHREAD_MUTEX_INIT): Likewise.
(__GTHREAD_RECURSIVE_MUTEX_INIT): Likewise.
(__GTHREAD_COND_INIT): Likewise.
(__GTHREAD_COND_INIT_FUNCTION): Likewise.
(__GTHREAD_TIME_INIT): Likewise.
(__gthread_create): Likewise.
(__gthread_join): Likewise.
(__gthread_detach): Likewise.
(__gthread_equal): Likewise.
(__gthread_self): Likewise.
(__gthread_yield): Likewise.
(__gthread_cond_broadcast): Likewise.
(__gthread_cond_signal): Likewise.
(__gthread_cond_wait): Likewise.
(__gthread_cond_timedwait): Likewise.
(__gthread_cond_wait_recursive): Likewise.
(__gthread_cond_destroy): Likewise.
(rtems_gxx_once): Delete.
(rtems_gxx_key_create): Likewise.
(rtems_gxx_key_delete): Likewise.
(rtems_gxx_getspecific): Likewise.
(rtems_gxx_setspecific): Likewise.
(rtems_gxx_mutex_init): Likewise.
(rtems_gxx_mutex_destroy): Likewise.
(rtems_gxx_mutex_lock): Likewise.
(rtems_gxx_mutex_trylock): Likewise.
(rtems_gxx_mutex_unlock): Likewise.
(rtems_gxx_recursive_mutex_init): Likewise.
(rtems_gxx_recursive_mutex_lock): Likewise.
(rtems_gxx_recursive_mutex_trylock): Likewise.
(rtems_gxx_recursive_mutex_unlock): Likewise.
(__GTHREAD_ONCE_INIT): Use <pthread.h> initializer.
(__GTHREAD_MUTEX_INIT_FUNCTION): Use <pthread.h> function.
(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Likewise.
(__gthread_once): Likewise.
(__gthread_key_create): Likewise.
(__gthread_key_delete): Likewise.
(__gthread_getspecific): Likewise.
(__gthread_setspecific): Likewise.
(__gthread_key_t): Use <pthread.h> type.
(__gthread_once_t): Likewise
(__gthread_mutex_t): Use <sys/lock.h> type.
(__gthread_recursive_mutex_t): Likewise
(__gthread_mutex_lock): Use <sys/lock.h> function.
(__gthread_mutex_trylock): Likewise.
(__gthread_mutex_timedlock): Likewise.
(__gthread_mutex_unlock): Likewise.
(__gthread_mutex_destroy): Likewise.
(__gthread_recursive_mutex_lock): Likewise.
(__gthread_recursive_mutex_trylock): Likewise.
(__gthread_recursive_mutex_timedlock): Likewise.
(__gthread_recursive_mutex_unlock): Likewise.
(__gthread_recursive_mutex_destroy): Likewise.

From-SVN: r227428

10 years agocompiler: Report invalid receiver types in function definitions.
Ian Lance Taylor [Thu, 3 Sep 2015 04:33:32 +0000 (04:33 +0000)]
compiler: Report invalid receiver types in function definitions.

    Fixes golang/go#12324.

    Reviewed-on: https://go-review.googlesource.com/13988

From-SVN: r227427

10 years agoDaily bump.
GCC Administrator [Thu, 3 Sep 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227426

10 years agoFix spawned function with lambda function
Balaji V. Iyer [Wed, 2 Sep 2015 23:59:21 +0000 (23:59 +0000)]
Fix spawned function with lambda function

Make sure that the spawned function's arguments will not be pushed
into lambda function.

gcc/c-family/

2015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>

PR middle-end/60586
* c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
prototype.
* c-gimplify.c (c_gimplify_expr): Added a call to the function
cilk_gimplify_call_params_in_spawned_fn.
* cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
(gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
unwrapping.

gcc/cp/

2015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>

PR middle-end/60586
* cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): New
function.
(cp_gimplify_expr): Added a call to the function
cilk_cp_gimplify_call_params_in_spawned_fn.

gcc/testsuite/

2015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>

PR middle-end/60586
* c-c++-common/cilk-plus/CK/pr60586.c: New file.
* g++.dg/cilk-plus/CK/pr60586.cc: Likewise.

From-SVN: r227423

10 years agore PR c/67432 (Improve error message on empty enum)
Marek Polacek [Wed, 2 Sep 2015 21:00:38 +0000 (21:00 +0000)]
re PR c/67432 (Improve error message on empty enum)

PR c/67432
* c-parser.c (c_parser_enum_specifier): Give a better error for
an empty enum.

* gcc.dg/pr67432.c: New test.

From-SVN: r227421

10 years agocompiler: Mark erroneous constants as invalid.
Ian Lance Taylor [Wed, 2 Sep 2015 20:52:42 +0000 (20:52 +0000)]
compiler: Mark erroneous constants as invalid.

    When the compiler failed to evaluate a numeric constant because
    because it was erroneous, there was no way for parent nodes to
    discover the error and lower themselves into error nodes.  This patch
    now uses the NC_INVALID enumerator to mark numeric constants with a
    known, reported error.

    Fixes golang/go#11541.

    Reviewed-on: https://go-review.googlesource.com/13904

From-SVN: r227420

10 years agocgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external in new callgraph...
Charles Baylis [Wed, 2 Sep 2015 15:24:54 +0000 (15:24 +0000)]
cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external in new callgraph edge.

gcc/Changelog

        * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
        in new callgraph edge.

From-SVN: r227407

10 years agoPR 67414 Better diagnostics on backtrace failure, gf_strerror bugfix
Janne Blomqvist [Wed, 2 Sep 2015 14:51:40 +0000 (17:51 +0300)]
PR 67414 Better diagnostics on backtrace failure, gf_strerror bugfix

2015-09-02  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/67414
* io/write.c (gfc_itoa): Move to runtime/string.c.
* libgfortran.h (show_backtrace): Make arg bool.
(gfc_itoa): New prototype.
* runtime/backtrace.c (struct mystate): Change type of try_simple
field, add in_signal_handler field.
(error_callback): Print out error number, or if not in a signal
handler, the error message.
(show_backtrace): Change type of arg, change initialization of
struct mystate.
(backtrace): Call show_backtrace with correct arg type.
* runtime/compile_options.c (backtrace_handler): Call with correct
arg type.
* runtime/error.c (sys_abort): Likewise.
(gf_strerror): Handle newlocale() failure.
* runtime/string.c (gfc_itoa): Function moved here from
io/write.c.

From-SVN: r227404

10 years agolibstdc++: fix data races in basic_string implementation
Dmitry Vyukov [Wed, 2 Sep 2015 14:35:20 +0000 (07:35 -0700)]
libstdc++: fix data races in basic_string implementation

        * include/bits/basic_string.h: Fix data races on _M_refcount.

From-SVN: r227403

10 years ago[AArch64_be] Fix vldX/vstX AdvSIMD intrinsics.
Christophe Lyon [Wed, 2 Sep 2015 14:04:22 +0000 (14:04 +0000)]
[AArch64_be] Fix vldX/vstX AdvSIMD intrinsics.

2015-09-02  Christophe Lyon  <christophe.lyon@linaro.org>

PR target/59810
PR target/63652
PR target/63653
* config/aarch64/aarch64-simd.md
(aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call
gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>.
(aarch64_st<VSTRUCT:nregs><VQ:mode>): Call
gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>.

From-SVN: r227402

10 years ago[testsuite] Clean up effective_target cache.
Christophe Lyon [Wed, 2 Sep 2015 14:01:51 +0000 (14:01 +0000)]
[testsuite] Clean up effective_target cache.

2015-09-02  Christophe Lyon  <christophe.lyon@linaro.org>

* lib/target-supports.exp (clear_effective_target_cache): New.
(check_cached_effective_target): Update et_prop_list.
* lib/asan-dg.exp (asan_finish): Call clear_effective_target_cache.
* g++.dg/compat/compat.exp: Likewise.
* g++.dg/compat/struct-layout-1.exp: Likewise.
* lib/asan-dg.exp: Likewise.
* lib/atomic-dg.exp: Likewise.
* lib/cilk-plus-dg.exp: Likewise.
* lib/clearcap.exp: Likewise.
* lib/mpx-dg.exp: Likewise.
* lib/tsan-dg.exp: Likewise.
* lib/ubsan-dg.exp: Likewise.

From-SVN: r227401

10 years agore PR libstdc++/67408 (<mutex> assumes that __gthread_mutex_t and__gthread_recursive_...
Sebastian Huber [Wed, 2 Sep 2015 10:51:14 +0000 (10:51 +0000)]
re PR libstdc++/67408 (<mutex> assumes that __gthread_mutex_t and__gthread_recursive_mutex_t are the same types)

2015-09-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>

PR libstdc++/67408
* include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use
_Derived::_M_timedlock().
(timed_mutex): Add _M_timedlock() and make base class a friend.
(recursive_timed_mutex): Likewise.

From-SVN: r227400

10 years ago[RS6000] Don't pass --oformat to ld
Alan Modra [Wed, 2 Sep 2015 07:58:03 +0000 (17:28 +0930)]
[RS6000] Don't pass --oformat to ld

ld -m options select a particular ld emulation (e*.c files in ld build
dir) which provides a compiled-in scripts or select a script from
ldscripts/.  Each of these has an OUTPUT_FORMAT statement, which does
the same thing as --oformat.  --oformat is therefore redundant when
using GNU ld built this century, except possibly when overriding the
default ld scripts with -T.

* config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define.
* config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise.
(LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target.

From-SVN: r227397

10 years agocompiler: Accept out of range integer -> unicode conversions.
Ian Lance Taylor [Wed, 2 Sep 2015 00:46:23 +0000 (00:46 +0000)]
compiler: Accept out of range integer -> unicode conversions.

    When converting a signed or unsigned integer value into a constant
    string, if the integer does not fit into the Go "int" type, the string
    will become "\uFFFD."

    Fixes golang/go#11525.

    Reviewed-on: https://go-review.googlesource.com/13906

From-SVN: r227395

10 years agoDaily bump.
GCC Administrator [Wed, 2 Sep 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227394

10 years agofixed misplaced testcase
Kenneth Zadeck [Tue, 1 Sep 2015 23:37:20 +0000 (23:37 +0000)]
fixed misplaced testcase

From-SVN: r227390

10 years ago[RS6000] Weak functions may not be file local
Alan Modra [Tue, 1 Sep 2015 23:03:19 +0000 (08:33 +0930)]
[RS6000] Weak functions may not be file local

A weak symbol defined in the current object file may not turn out to
be the definition used at link time, if other copies of the symbol
exist.  This means they can't be considered file local.

PR target/67417
* config/rs6000/predicates.md (current_file_function_operand): Don't
return true for weak symbols.
* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.

From-SVN: r227386

10 years agoMIPS compact branch support
Matthew Fortune [Tue, 1 Sep 2015 22:41:08 +0000 (22:41 +0000)]
MIPS compact branch support

gcc/
* config/mips/mips-opts.h (mips_cb_setting): New enum.
* config/mips/mips-protos.h: Add definitions for
mips_output_jump and mips_output_equal_conditional_branch
* gcc/config/mips/mips.c (MIPS_JR): Change to support the
JIC instruction.
(mips_emit_compare): Add support for the MIPS R6 conditional
compact branches.
(mips_process_sync_loop): Likewise.
(mips_output_order_conditional_branch): Likewise.
(mips16_build_call_stub): Change MIPS_CALL to
mips_output_jump.
(mips_print_operand_punctuation): Update 's' case to only
apply to micromips r2.
(mips_adjust_insn_length): Add support for forbidden slot
hazards.
(mips_avoid_hazard): Likewise.
(mips_reorg_process_insns): Likewise.
(mips_output_jump): New function.
(mips_output_equal_conditional_branch): Likewise.
(mips_output_conditional_branch): Use jrc/bc if compact
branch support is enabled.  Ensure the forbidden slots
between the two branch instructions is filled with a nop.
(mips_option_override): Add support to process the compact
branch option and set the correct defaults.  Prevent
non-explict relocs being using for MIPS R6.
(mips_trampoline_init): Add compact branch support.
(mips_mult_zero_zero_cost): Allow zero initialisation of
accumulators with TARGET_DSP.
* gcc/config/mips/mips.h (TARGET_CB_NEVER): New define.
(TARGET_CB_MAYBE): New define.
(TARGET_CB_ALWAYS): New define.
(ISA_HAS_DELAY_SLOTS): New define.
(ISA_HAS_COMPACT_BRANCHES): New define.
(ISA_HAS_JRC): New define.
(MIPS_BRANCH_C): New define.
(MIPS_CALL): Removed.
(MICROMIPS_J): Removed.
* config/mips/mips.md (compact_form): New attr.
(hazard): Add support for forbidden slots.
(define_delay): Add support for compact branches.
(*branch_order<mode>): Likewise.
(*branch_order<mode>_inverted): Likewise.
(*branch_equality<mode>): Likewise.
(*branch_equality<mode>_inverted): Likewise.
(*jump_absolute): Likewise.
(*jump_pic): Likewise.
(indirect_jump): Use mips_output_jump to produce assembly output.
(tablejump_<mode>"): Likewise.
(*<optab>"): Likewise.
(<optab>_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(sibcall_value_multiple_internal): Likewise.
(call_internal): Likewise.
(call_split): Likewise.
(call_internal_direct): Likewise.
(call_direct_split): Likewise.
(call_value_internal): Likewise.
(call_value_split): Likewise.
(call_value_internal_direct): Likewise.
(call_value_direct_split): Likewise.
(call_value_multiple_internal): Likewise.
(call_value_multiple_split): Likewise.
(mips_get_fcsr_mips16_<mode>): Likewise.
(mips_set_fcsr_mips16_<mode>): Likewise.
(tls_get_tp_mips16_<mode>): Likewise.
* config/mips/mips.opt: Add -mcompact-branches option.
* config/mips/predicates.md (order_operator): Ensure the
conditional compact branches are only used if the ISA them.
* doc/invoke.texi: Document -mcompact-branches option.

gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Handle the
dependencies between ISA level and compact-branches.
* gcc.target/mips/branch-10.c: Update expected output to allow
compact forms of b/bal.
* gcc.target/mips/branch-11.c: Likewise.
* gcc.target/mips/branch-12.c: Likewise.
* gcc.target/mips/branch-13.c: Likewise.
* gcc.target/mips/branch-3.c: Likewise.
* gcc.target/mips/branch-4.c: Likewise.
* gcc.target/mips/branch-5.c: Likewise.
* gcc.target/mips/branch-6.c: Likewise.
* gcc.target/mips/branch-7.c: Likewise.
* gcc.target/mips/branch-8.c: Likewise.
* gcc.target/mips/branch-9.c: Likewise.
* gcc.target/mips/branch-cost-1.c: Likewise.
* gcc.target/mips/call-1.c: Likewise.
* gcc.target/mips/call-2.c: Likewise.
* gcc.target/mips/call-3.c: Likewise.
* gcc.target/mips/call-4.c: Likewise.
* gcc.target/mips/call-5.c: Likewise.
* gcc.target/mips/call-6.c: Likewise.
* gcc.target/mips/lazy-binding-1.c: Likewise.
* gcc.target/mips/near-far-1.c: Likewise.
* gcc.target/mips/near-far-2.c: Likewise.
* gcc.target/mips/near-far-3.c: Likewise.
* gcc.target/mips/near-far-4.c: Likewise.
* gcc.target/mips/umips-branch-3.c: Ensure the test is
run with compact branches allowed.
* gcc.target/mips/compact-branches-1.c: New file.
* gcc.target/mips/compact-branches-2.c: Likewise.
* gcc.target/mips/compact-branches-3.c: Likewise.
* gcc.target/mips/compact-branches-4.c: Likewise.
* gcc.target/mips/compact-branches-5.c: Likewise.
* gcc.target/mips/compact-branches-6.c: Likewise.
* gcc.target/mips/compact-branches-7.c: Likewise.

Co-Authored-By: Andrew Bennett <andrew.bennett@imgtec.com>
From-SVN: r227385

10 years ago* MAINTAINERS: add myself
James Bowman [Tue, 1 Sep 2015 19:38:16 +0000 (19:38 +0000)]
* MAINTAINERS: add myself

From-SVN: r227383

10 years agore PR target/61578 (Code size increase for ARM thumb compared to 4.8.x when compiling...
Vladimir Makarov [Tue, 1 Sep 2015 19:37:52 +0000 (19:37 +0000)]
re PR target/61578 (Code size increase for ARM thumb compared to 4.8.x when compiling with -Os)

2015-09-01  Vladimir Makarov  <vmakarov@redhat.com>

PR target/61578
* lra-lives.c (process_bb_lives): Process move pseudos with the
same value for copies and preferences
* lra-constraints.c (match_reload): Create match reload pseudo
with the same value from single dying input pseudo.

From-SVN: r227382

10 years agoread_dir.f90: XFAIL this testcase on FreeBSD.
Steven G. Kargl [Tue, 1 Sep 2015 18:06:10 +0000 (18:06 +0000)]
read_dir.f90: XFAIL this testcase on FreeBSD.

2015-09-01  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.dg/read_dir.f90: XFAIL this testcase on FreeBSD.
Clean-up a created directory if testcase fails.

From-SVN: r227381

10 years agore PR target/67405 (ICE on invalid use of struct on x86_64-linux-gnu)
Ilya Enkovich [Tue, 1 Sep 2015 14:38:42 +0000 (14:38 +0000)]
re PR target/67405 (ICE on invalid use of struct on x86_64-linux-gnu)

gcc/

PR target/67405
* tree-chkp.c (chkp_find_bound_slots_1): Add NULL check.

gcc/testsuite/

PR target/67405
* g++.dg/pr67405.C: New test.

From-SVN: r227373

10 years ago+ * trans-mem.c: Add contributed-by.
Aldy Hernandez [Tue, 1 Sep 2015 13:52:09 +0000 (13:52 +0000)]
+ * trans-mem.c: Add contributed-by.

+       * trans-mem.c: Add contributed-by.
+       * trans-mem.h: Same.

From-SVN: r227372

10 years agoDon't xfail gcc.dg/vect/no-scevccp-outer-11.c
Rainer Orth [Tue, 1 Sep 2015 13:48:29 +0000 (13:48 +0000)]
Don't xfail gcc.dg/vect/no-scevccp-outer-11.c

* gcc.dg/vect/no-scevccp-outer-11.c: Don't xfail scan-tree-dump-times.

From-SVN: r227371

10 years agoexpr.c (expand_expr_real_1): For expanding TERed defs set the current location to...
Richard Biener [Tue, 1 Sep 2015 13:27:17 +0000 (13:27 +0000)]
expr.c (expand_expr_real_1): For expanding TERed defs set the current location to that of the def if not UNKNOWN.

2015-09-01  Richard Biener  <rguenther@suse.de>

* expr.c (expand_expr_real_1): For expanding TERed defs
set the current location to that of the def if not UNKNOWN.

From-SVN: r227370

10 years agogenmodes.c: Add CONST_MODE_UNIT_SIZE modifier.
David Sherwood [Tue, 1 Sep 2015 12:40:10 +0000 (12:40 +0000)]
genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.

2015-09-01  David Sherwood  <david.sherwood@arm.com>

    gcc/
* genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.

From-SVN: r227369

10 years ago[RTL-ifcvt] Make non-conditional execution if-conversion more aggressive
Kyrylo Tkachov [Tue, 1 Sep 2015 12:33:51 +0000 (12:33 +0000)]
[RTL-ifcvt] Make non-conditional execution if-conversion more aggressive

* ifcvt.c (struct noce_if_info): Add then_simple, else_simple,
then_cost, else_cost fields.  Change branch_cost field to unsigned
int.
(end_ifcvt_sequence): Call set_used_flags on each insn in the
sequence.
Include rtl-iter.h.
(noce_simple_bbs): New function.
(noce_try_move): Bail if basic blocks are not simple.
(noce_try_store_flag): Likewise.
(noce_try_store_flag_constants): Likewise.
(noce_try_addcc): Likewise.
(noce_try_store_flag_mask): Likewise.
(noce_try_cmove): Likewise.
(noce_try_minmax): Likewise.
(noce_try_abs): Likewise.
(noce_try_sign_mask): Likewise.
(noce_try_bitop): Likewise.
(bbs_ok_for_cmove_arith): New function.
(noce_emit_all_but_last): Likewise.
(noce_emit_insn): Likewise.
(noce_emit_bb): Likewise.
(noce_try_cmove_arith): Handle non-simple basic blocks.
(insn_valid_noce_process_p): New function.
(contains_mem_rtx_p): Likewise.
(bb_valid_for_noce_process_p): Likewise.
(noce_process_if_block): Allow non-simple basic blocks
where appropriate.

* gcc.dg/ifcvt-1.c: New test.
* gcc.dg/ifcvt-2.c: Likewise.
* gcc.dg/ifcvt-3.c: Likewise.

From-SVN: r227368

10 years agoXFAIL gfortran.dg/execute_command_line_2.f90 (PR libfortran/67412)
Rainer Orth [Tue, 1 Sep 2015 11:50:19 +0000 (11:50 +0000)]
XFAIL gfortran.dg/execute_command_line_2.f90 (PR libfortran/67412)

PR libfortran/67412
* gfortran.dg/execute_command_line_2.f90: XFAIL execution on
*-*-solaris2.10.

From-SVN: r227367

10 years agoTidy tree-ssa-dom.c: Use dom_valueize more.
Alan Lawrence [Tue, 1 Sep 2015 10:51:43 +0000 (10:51 +0000)]
Tidy tree-ssa-dom.c: Use dom_valueize more.

* tree-ssa-dom.c (record_equivalences_from_phis,
record_equivalences_from_stmt, optimize_stmt): Use dom_valueize.
(lookup_avail_expr): Likewise, and remove comment and unused temp.

From-SVN: r227366

10 years ago* config/msp430/msp430.opt (mcpu): Fix typo.
Nick Clifton [Tue, 1 Sep 2015 10:38:17 +0000 (10:38 +0000)]
* config/msp430/msp430.opt (mcpu): Fix typo.

From-SVN: r227364

10 years ago[AArch64] Fix FAIL: gcc.target/aarch64/target_attr_crypto_ice_1.c (internal compiler...
Kyrylo Tkachov [Tue, 1 Sep 2015 10:32:24 +0000 (10:32 +0000)]
[AArch64] Fix FAIL: gcc.target/aarch64/target_attr_crypto_ice_1.c (internal compiler error)

* config/aarch64/aarch64.c (aarch64_set_current_function):
Re-layout any vector parameters have non-simd layout.
* config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param):
Delete.
(aarch64_simd_expand_args): Delete call to the above.

* gcc.target/aarch64/target_attr_crypto_ice_2.c: New test.

From-SVN: r227363

10 years agore PR c++/61753 (poor diagnostic for constructor definition that starts with 'const')
Paolo Carlini [Tue, 1 Sep 2015 08:39:47 +0000 (08:39 +0000)]
re PR c++/61753 (poor diagnostic for constructor definition that starts with 'const')

/cp
2015-09-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61753
* decl.c (smallest_type_quals_location): New.
(check_special_function_return_type): Use the latter; add int and
const location_t* parameters.
(grokdeclarator): Adjust check_special_function_return_type call.

/testsuite
2015-09-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61753
* g++.dg/other/pr61753.C: New.

From-SVN: r227361

10 years agogcc: doc: add missing space in asan-stack desc
Mike Frysinger [Tue, 1 Sep 2015 01:04:29 +0000 (01:04 +0000)]
gcc: doc: add missing space in asan-stack desc

From-SVN: r227360

10 years agoDaily bump.
GCC Administrator [Tue, 1 Sep 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227359

10 years agoUpdate my e-mail address.
James Lemke [Mon, 31 Aug 2015 16:15:01 +0000 (16:15 +0000)]
Update my e-mail address.

From-SVN: r227352

10 years agoconfigure.ac: For spu-*-* targets, set have_fcntl to no.
Ulrich Weigand [Mon, 31 Aug 2015 14:03:34 +0000 (14:03 +0000)]
configure.ac: For spu-*-* targets, set have_fcntl to no.

* configure.ac: For spu-*-* targets, set have_fcntl to no.
* configure: Regenerate.

From-SVN: r227348

10 years agore PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01...
Francois-Xavier Coudert [Mon, 31 Aug 2015 14:02:43 +0000 (14:02 +0000)]
re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011)

PR libfortran/47571
* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Reinstate.
* configure.ac: Call LIBGFOR_GTHREAD_WEAK again.
* config.h.in: Regenerate.
* configure: Regenerate.

From-SVN: r227347

10 years agoMove some comparison simplifications to match.pd
Marc Glisse [Mon, 31 Aug 2015 14:02:00 +0000 (16:02 +0200)]
Move some comparison simplifications to match.pd

2015-08-31  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree.h (zerop): New function.
* tree.c (zerop): Likewise.
(element_precision): Handle expressions.
* match.pd (define_predicates): Add zerop.
(x <= +Inf): Fix comment.
(abs (x) == 0, A & C == C, A & C != 0): Converted from ...
* fold-const.c (fold_binary_loc): ... here. Remove.

gcc/testsuite/
* gcc.dg/tree-ssa/cmp-1.c: New file.

From-SVN: r227346

10 years agolto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
Richard Biener [Mon, 31 Aug 2015 14:01:45 +0000 (14:01 +0000)]
lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.

2015-08-31  Richard Biener  <rguenther@suse.de>

lto/
* lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
* lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
(lto_symtab_prevailing_decl): Do not replace a decl that didn't
participate in merging with something else.

From-SVN: r227345

10 years agore PR tree-optimization/67381 (genmatch does not honor the order of patterns)
Richard Biener [Mon, 31 Aug 2015 14:00:16 +0000 (14:00 +0000)]
re PR tree-optimization/67381 (genmatch does not honor the order of patterns)

2015-08-31  Richard Biener  <rguenther@suse.de>

PR middle-end/67381
* genmatch.c (dt_node::gen_kids): Also treat matches as barrier.

From-SVN: r227344

10 years agoMove some complex simplifications to match.pd
Marc Glisse [Mon, 31 Aug 2015 13:58:03 +0000 (15:58 +0200)]
Move some complex simplifications to match.pd

2015-08-31  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
(CEXPI): New operator list.
(real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)),
imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))):
Converted from ...
* fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove.

gcc/testsuite/
* gcc.dg/tree-ssa/complex-7.c: New file.

From-SVN: r227343

10 years agoReimplement rewrite_virtuals_into_loop_closed_ssa
Tom de Vries [Mon, 31 Aug 2015 13:48:29 +0000 (13:48 +0000)]
Reimplement rewrite_virtuals_into_loop_closed_ssa

2015-08-31  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-loop-manip.c (find_uses_to_rename_stmt)
(find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags
parameter.
(find_uses_to_rename_def, find_uses_to_rename_in_loop): New function.
(rewrite_into_loop_closed_ssa_1): New function, factored out of ...
(rewrite_into_loop_closed_ssa): ... here.
(replace_uses_in_dominated_bbs): Remove function.
(rewrite_virtuals_into_loop_closed_ssa): Reimplement using
rewrite_into_loop_closed_ssa_1.

From-SVN: r227342

10 years agocfganal.c (pre_and_rev_post_order_compute_fn): Correctly enter entry and exit blocks...
Michael Matz [Mon, 31 Aug 2015 13:45:48 +0000 (13:45 +0000)]
cfganal.c (pre_and_rev_post_order_compute_fn): Correctly enter entry and exit blocks for reverse post order.

* cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
enter entry and exit blocks for reverse post order.

From-SVN: r227341

10 years agolto-symtab.c (lto_symtab_prevailing_decl): Remove redundant test, do not replace...
Richard Biener [Mon, 31 Aug 2015 11:48:11 +0000 (11:48 +0000)]
lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant test, do not replace a non-builtin with a builtin.

2015-08-31  Richard Biener  <rguenther@suse.de>

lto/
* lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
test, do not replace a non-builtin with a builtin.
* lto.c (compare_tree_sccs_1): Do not merge things we stream
as builtins vs. non-builtins.

From-SVN: r227339

10 years agolto-streamer.h (lto_location_cache::cached_location::sysp): Add.
Richard Biener [Mon, 31 Aug 2015 11:47:30 +0000 (11:47 +0000)]
lto-streamer.h (lto_location_cache::cached_location::sysp): Add.

2015-08-31  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
(lto_location_cache::current_sysp): Likewise.
(output_block::current_sysp): Likewise.
* lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
(lto_location_cache::apply_location_cache): Properly record
system header locations.
(lto_location_cache::input_location): Input whether a file
is a system header.
* lto-streamer-out.c (lto_output_location): Stream whether a file
is a system header.

From-SVN: r227338

10 years agoAvoid strndup in gcc.c (PR bootstrap/67363)
Rainer Orth [Mon, 31 Aug 2015 11:19:42 +0000 (11:19 +0000)]
Avoid strndup in gcc.c (PR bootstrap/67363)

PR bootstrap/67363
* gcc.c (env_manager::xput): Replace strndup by xstrndup.

From-SVN: r227337

10 years agore PR fortran/54833 (Don't wrap __builtin_free(a) in if (a != NULL))
Francois-Xavier Coudert [Mon, 31 Aug 2015 10:54:36 +0000 (10:54 +0000)]
re PR fortran/54833 (Don't wrap __builtin_free(a) in if (a != NULL))

PR fortran/54833
* trans.c (gfc_call_free): Don't check if pointer is NULL.
* trans.h (gfc_call_free): Adjust comment.

From-SVN: r227336

10 years agore PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01...
Francois-Xavier Coudert [Mon, 31 Aug 2015 10:37:30 +0000 (10:37 +0000)]
re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011)

PR libfortran/47571
* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove.
(LIBGFOR_CHECK_WEAKREF): New test.
* configure.ac: Call LIBGFOR_CHECK_WEAKREF instead of
LIBGFOR_GTHREAD_WEAK.
* config.h.in: Regenerate.
* configure: Regenerate.
* intrinsics/system_clock.c: Use SUPPORTS_WEAKREF instead of
SUPPORTS_WEAK and GTHREAD_USE_WEAK.

From-SVN: r227335

10 years agoImprove function header comments in tree-ssa-loop-manip.c
Tom de Vries [Mon, 31 Aug 2015 09:12:15 +0000 (09:12 +0000)]
Improve function header comments in tree-ssa-loop-manip.c

2015-08-31  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-loop-manip.c (find_uses_to_rename_use)
(find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename):
Improve function header comments.

From-SVN: r227334

10 years agoRename [su]sum_widen to widen_[su]sum to reflect correct standard names.
Michael Collison [Mon, 31 Aug 2015 03:19:48 +0000 (03:19 +0000)]
Rename [su]sum_widen to widen_[su]sum to reflect correct standard names.

From-SVN: r227333

10 years agocompiler: Check for invalid UTF8 in Go comments.
Ian Lance Taylor [Mon, 31 Aug 2015 01:58:48 +0000 (01:58 +0000)]
compiler: Check for invalid UTF8 in Go comments.

    Fixes golang/go#11527.

    Reviewed-on: https://go-review.googlesource.com/13905

From-SVN: r227332

10 years agors6000.c (swap_web_entry): Enlarge special_handling bitfield.
Bill Schmidt [Mon, 31 Aug 2015 01:02:47 +0000 (01:02 +0000)]
rs6000.c (swap_web_entry): Enlarge special_handling bitfield.

[gcc]

2015-08-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (swap_web_entry): Enlarge
special_handling bitfield.
(special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
(rtx_is_swappable_p): Add handling for vec_select/vec_concat form
that represents a general xxpermdi.
(insn_is_swappable_p): Add handling for vec_concat of two
doublewords, which maps to a specific xxpermdi.
(adjust_xxpermdi): New function.
(adjust_concat): Likewise.
(handle_special_swappables): Call adjust_xxpermdi and
adjust_concat.
(dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.

[gcc/testsuite]

2015-08-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/swaps-p8-19.c: New test.

From-SVN: r227331

10 years ago[SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456b...
Rich Felker [Mon, 31 Aug 2015 00:18:32 +0000 (00:18 +0000)]
[SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456ble]-*-*.

* [SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456ble]-*-*.

From-SVN: r227330

10 years agoDaily bump.
GCC Administrator [Mon, 31 Aug 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227329

10 years agoDaily bump.
GCC Administrator [Sun, 30 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227326

10 years agoFix c++/67371 (issues with throw in constexpr)
Markus Trippelsdorf [Sat, 29 Aug 2015 18:51:26 +0000 (18:51 +0000)]
Fix c++/67371 (issues with throw in constexpr)

As PR67371 shows gcc currently rejects all throw statements in
constant-expressions, even when they are never executed.

PR c++/67371
* constexpr.c (potential_constant_expression_1): Remove IF_STMT
case. Move label to COND_EXPR case. Remove checking of
SWITCH_STMT_BODY.

From-SVN: r227323

10 years agore PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN(...
Jerry DeLisle [Sat, 29 Aug 2015 15:52:43 +0000 (15:52 +0000)]
re PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN()ed without error)

2015-08-29 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/67367
* gfortran.dg/read_dir.f90: New test. May fail on some platforms.

From-SVN: r227321

10 years agore PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN(...
Jerry DeLisle [Sat, 29 Aug 2015 15:38:39 +0000 (15:38 +0000)]
re PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN()ed without error)

2015-08-29 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/67367
* io/unix.c (buf_read): Check for error condition and if found
return the error code.

From-SVN: r227320

10 years agoacinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
Francois-Xavier Coudert [Sat, 29 Aug 2015 13:17:05 +0000 (13:17 +0000)]
acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.

* acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
* configure.ac: Remove checks for strcasestr, execl, close,
getrlimit, readlink, getppid, powl, erfl, j0l, j1l, y0l, y1l,
tgammal, and lgammal.
* config.h.in: Regenerate.
* configure: Regenerate.

From-SVN: r227319

10 years agoRemove redundant use of REG_CLASS_NAMES maros
Anatoly Sokolov [Sat, 29 Aug 2015 13:10:43 +0000 (16:10 +0300)]
Remove redundant use of REG_CLASS_NAMES maros

From-SVN: r227318

10 years ago* io/unix.c (min): Remove unused macro.
Francois-Xavier Coudert [Sat, 29 Aug 2015 13:01:54 +0000 (13:01 +0000)]
* io/unix.c (min): Remove unused macro.

From-SVN: r227317

10 years agotrans.c (gfc_call_malloc, [...]): Simplify code.
Francois-Xavier Coudert [Sat, 29 Aug 2015 08:03:01 +0000 (08:03 +0000)]
trans.c (gfc_call_malloc, [...]): Simplify code.

* trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
gfc_allocate_using_lib, gfc_allocate_allocatable,
gfc_call_realloc): Simplify code.
* trans-array.c (gfc_trans_allocate_array_storage,
gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
convert gfc_call_free() argument.
* trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
fcncall_realloc_result): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.

From-SVN: r227316

10 years agoHandle mix/max pointer reductions in parloops
Tom de Vries [Sat, 29 Aug 2015 07:07:51 +0000 (07:07 +0000)]
Handle mix/max pointer reductions in parloops

2015-08-29  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/46193
* omp-low.c (omp_reduction_init): Handle pointer type for min or max
clause.

* gcc.dg/autopar/pr46193.c: New test.

* testsuite/libgomp.c/pr46193.c: New test.

From-SVN: r227315

10 years agoDaily bump.
GCC Administrator [Sat, 29 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227314

10 years agore PR fortran/53668 (Cray-pointer diagnostic enhancement)
Francois-Xavier Coudert [Fri, 28 Aug 2015 20:46:43 +0000 (20:46 +0000)]
re PR fortran/53668 (Cray-pointer diagnostic enhancement)

PR fortran/53668

* intrinsic.c (add_functions, add_subroutines): Remove resolution
functions for FREE and MALLOC.
* intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
* iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
* trans-intrinsic.c (conv_intrinsic_free,
gfc_conv_intrinsic_malloc): New functions.

* intrinsics/malloc.c: Adapt comments.

From-SVN: r227311

10 years agostruct-layout-1_generate.c: Simply use exit code for failure.
Nathan Sidwell [Fri, 28 Aug 2015 19:52:28 +0000 (19:52 +0000)]
struct-layout-1_generate.c: Simply use exit code for failure.

* gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c: Simply
use exit code for failure.

From-SVN: r227310

10 years agomatrix-1.c: Use plain printf.
Nathan Sidwell [Fri, 28 Aug 2015 19:04:45 +0000 (19:04 +0000)]
matrix-1.c: Use plain printf.

* gcc/testsuite/gcc.dg/torture/matrix-1.c: Use plain printf.
* gcc/testsuite/gcc.dg/torture/matrix-2.c: Likewise.
* gcc/testsuite/gcc.dg/torture/matrix-5.c: Likewise.
* gcc/testsuite/gcc.dg/torture/matrix-6.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-1.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-2.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-3.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-4.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-5.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-6.c: Likewise.

From-SVN: r227309

10 years ago[PATCH][lto/66752] Fix missed FSM jump thread
Jeff Law [Fri, 28 Aug 2015 16:23:12 +0000 (10:23 -0600)]
[PATCH][lto/66752] Fix missed FSM jump thread

PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure.  Else add nodes from NEXT_PATH
to VISISTED_BBS.
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.

PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.

From-SVN: r227307

10 years agoRevert: completely_scalarize arrays as well as records
Alan Lawrence [Fri, 28 Aug 2015 15:04:17 +0000 (15:04 +0000)]
Revert: completely_scalarize arrays as well as records

gcc/:
Revert:
2015-08-27  Alan Lawrence  <alan.lawrence@arm.com>
PR tree-optimization/67283
* tree-sra.c (type_consists_of_records_p): Rename to...
(scalarizable_type_p): ...this, add case for ARRAY_TYPE.

(completely_scalarize_record): Rename to...
(completely_scalarize): ...this, add ARRAY_TYPE case, move some
 code to:
(scalarize_elem): New.

gcc/testsuite/:

Revert:
2015-08-27  Alan Lawrence  <alan.lawrence@arm.com>
* gcc.dg/tree-ssa/sra-15.c: New.

From-SVN: r227303

10 years ago[Patch] Add to the libgfortran/newlib bodge to "detect" ftruncate support in ARM...
James Greenhalgh [Fri, 28 Aug 2015 14:57:57 +0000 (14:57 +0000)]
[Patch] Add to the libgfortran/newlib bodge to "detect" ftruncate support in ARM/AArch64/SH

* configure.ac: Auto-detect newlib function support unless we
know there are issues when configuring for a host.
* configure: Regenerate.

From-SVN: r227301

10 years agoMIPS: Add the lo register to the clobber list in the madd-8.c and msub-8.c testcases.
Andrew Bennett [Fri, 28 Aug 2015 13:35:01 +0000 (13:35 +0000)]
MIPS: Add the lo register to the clobber list in the madd-8.c and msub-8.c testcases.

The lo register is not listed in the clobber list in the inline asm statement
for the madd-8.c and msub-8.c testcases.  This means that when building for the
n64 ABI GCC is free to use the lo register instead of the stack when
saving/restoring the clobbered registers.  Then then means that it decides to
use the msub/madd instruction to perform the "x - y * z" operation rather than
using mul; addu/subu which the test is looking for.

testsuite/
* gcc.target/mips/madd-8.c: Add lo register to clobber list.
* gcc.target/mips/msub-8.c: Ditto.

From-SVN: r227299

10 years agoMAINTAINERS: Add myself.
David Sherwood [Fri, 28 Aug 2015 10:11:27 +0000 (10:11 +0000)]
MAINTAINERS: Add myself.

2015-08-28  David Sherwood  <david.sherwood@arm.com>

* MAINTAINERS: Add myself.

From-SVN: r227297

10 years ago[AArch64] Rename SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE
Jiong Wang [Fri, 28 Aug 2015 08:53:37 +0000 (08:53 +0000)]
[AArch64] Rename SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE

2015-08-28  Jiong Wang  <jiong.wang@arm.com>

* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
(aarch64_symbol_type): Likewise.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
Likewise.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_print_operand): Likewise.
(aarch64_classify_tls_symbol): Likewise.

From-SVN: r227294

10 years agocgraphunit.c (symbol_table::compile): Move early debug generation and finish...
Richard Biener [Fri, 28 Aug 2015 07:47:37 +0000 (07:47 +0000)]
cgraphunit.c (symbol_table::compile): Move early debug generation and finish...

2015-08-28  Richard Biener  <rguenther@suse.de>

* cgraphunit.c (symbol_table::compile): Move early debug generation
and finish...
(symbol_table::finalize_compilation_unit): ... back here and
add a !seen_error () guard.

From-SVN: r227293

10 years agore PR libstdc++/67362 (std::regex("((.)", std::regex_constants::basic) throws)
Tim Shen [Fri, 28 Aug 2015 02:35:21 +0000 (02:35 +0000)]
re PR libstdc++/67362 (std::regex("((.)", std::regex_constants::basic) throws)

PR libstdc++/67362
* include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
Always returns ordinary char token if the char isn't
considered a special char.
* testsuite/28_regex/regression.cc: New test file for collecting
regression testcases from, typically, bugzilla.

From-SVN: r227289

10 years agoDaily bump.
GCC Administrator [Fri, 28 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227288

10 years agocompiler: Report unused variables initialized to function literals.
Ian Lance Taylor [Thu, 27 Aug 2015 23:09:37 +0000 (23:09 +0000)]
compiler: Report unused variables initialized to function literals.

    Fixes golang/go#12317.

    Reviewed-on: https://go-review.googlesource.com/13908

From-SVN: r227285

10 years agocompiler: Allow multiple blank label definitions.
Ian Lance Taylor [Thu, 27 Aug 2015 22:41:55 +0000 (22:41 +0000)]
compiler: Allow multiple blank label definitions.

    Fixes golang/go#12316.

    Reviewed-on: https://go-review.googlesource.com/13907

From-SVN: r227284

10 years agotarget-supports.exp (check-effective_target_vect_double): Enable for Power targets...
Bill Schmidt [Thu, 27 Aug 2015 22:13:43 +0000 (22:13 +0000)]
target-supports.exp (check-effective_target_vect_double): Enable for Power targets with VSX hardware available.

2015-08-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* lib/target-supports.exp (check-effective_target_vect_double):
Enable for Power targets with VSX hardware available.
* gfortran.dg/vect/O3-pr49957.f: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.

From-SVN: r227283

10 years agofix compile without ISL
Sebastian Pop [Thu, 27 Aug 2015 21:59:06 +0000 (21:59 +0000)]
fix compile without ISL

* toplev.c (process_options): Do not use flag_loop_block,
flag_loop_interchange, and flag_loop_strip_mine.  Add check for
flag_loop_optimize_isl.

From-SVN: r227282

10 years ago* MAINTAINERS: Add myself.
Patrick Marlier [Thu, 27 Aug 2015 20:06:46 +0000 (20:06 +0000)]
* MAINTAINERS:  Add myself.

From-SVN: r227279

10 years agoremove -floop-* flags
Sebastian Pop [Thu, 27 Aug 2015 19:07:04 +0000 (19:07 +0000)]
remove -floop-* flags

2015-08-27  Sebastian Pop  <s.pop@samsung.com>

* Makefile.in (OBJS): Remove graphite-blocking.o and
graphite-interchange.o.
* common.opt (floop-strip-mine, floop-interchange, floop-block):
Alias of floop-nest-optimize.
* doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
Document as alias of -floop-nest-optimize.
* graphite-blocking.c: Remove.
* graphite-interchange.c: Remove.
* graphite-optimize-isl.c: Include dumpfile.h.
(getScheduleForBand): Add dump for tiled loops.  Use
PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
* graphite-poly.c (scop_max_loop_depth): Remove.
(print_scattering_function_1): Remove.
(print_scattering_function): Remove.
(print_scattering_functions): Remove.
(debug_scattering_function): Remove.
(debug_scattering_functions): Remove.
(apply_poly_transforms): Remove use of flag_loop_block,
flag_loop_strip_mine, and flag_loop_interchange.
(new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
PBB_ORIGINAL.
(print_pdr_access_layout): Remove.
(print_pdr): Print ISL representation.
(new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
(free_scop): Same.
(openscop_print_pbb_domain): Remove.
(print_pbb): Remove call to print_scattering_function.
(openscop_print_scop_context): Remove.
(print_scop_context): Do not print matrices anymore.
(print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
SCOP_TRANSFORMED_SCHEDULE.
(print_isl_set): Add printing of a new line.
(print_isl_map): Same.
(print_isl_aff): Same.
(print_isl_constraint): Same.
(loop_to_lst): Remove.
(scop_to_lst): Remove.
(lst_indent_to): Remove.
(print_lst): Remove.
(debug_lst): Remove.
(dot_lst_1): Remove.
(dot_lst): Remove.
(reverse_loop_at_level): Remove.
(reverse_loop_for_pbbs): Remove.
* graphite-poly.h (pdr_dim_iter_domain): Remove.
(pdr_nb_params): Remove.
(pdr_alias_set_dim): Remove.
(pdr_subscript_dim): Remove.
(pdr_iterator_dim): Remove.
(pdr_parameter_dim): Remove.
(same_pdr_p): Remove.
(struct poly_scattering): Remove.
(struct poly_bb): Remove _original, _transformed, _saved.
(PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
(PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
(PBB_NB_LOCAL_VARIABLES): Remove.
(PBB_NB_SCATTERING_TRANSFORM): Remove.
(schedule_to_scattering): Remove.
(number_of_write_pdrs): Remove.
(pbb_dim_iter_domain): Remove.
(pbb_nb_params): Remove.
(pbb_nb_scattering_orig): Remove.
(pbb_nb_scattering_transform): Remove.
(pbb_nb_dynamic_scattering_transform): Remove.
(pbb_nb_local_vars): Remove.
(pbb_iterator_dim): Remove.
(pbb_parameter_dim): Remove.
(psco_scattering_dim): Remove.
(psct_scattering_dim): Remove.
(psct_local_var_dim): Remove.
(psco_iterator_dim): Remove.
(psct_iterator_dim): Remove.
(psco_parameter_dim): Remove.
(psct_parameter_dim): Remove.
(psct_dynamic_dim): Remove.
(psct_static_dim): Remove.
(psct_add_local_variable): Remove.
(new_lst_loop): Remove.
(new_lst_stmt): Remove.
(free_lst): Remove.
(copy_lst): Remove.
(lst_add_loop_under_loop): Remove.
(lst_depth): Remove.
(lst_dewey_number): Remove.
(lst_dewey_number_at_depth): Remove.
(lst_pred): Remove.
(lst_succ): Remove.
(lst_find_pbb): Remove.
(find_lst_loop): Remove.
(lst_find_first_pbb): Remove.
(lst_empty_p): Remove.
(lst_find_last_pbb): Remove.
(lst_contains_p): Remove.
(lst_contains_pbb): Remove.
(lst_create_nest): Remove.
(lst_remove_from_sequence): Remove.
(lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
(lst_niter_for_loop): Remove.
(pbb_update_scattering): Remove.
(lst_update_scattering_under): Remove.
(lst_update_scattering): Remove.
(lst_insert_in_sequence): Remove.
(lst_replace): Remove.
(lst_substitute_3): Remove.
(lst_distribute_lst): Remove.
(lst_remove_all_before_including_pbb): Remove.
(lst_remove_all_before_excluding_pbb): Remove.
(struct scop): Remove original_schedule, transformed_schedule, and
saved_schedule.
(SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
(SCOP_SAVED_SCHEDULE): Remove.
(poly_scattering_new): Remove.
(poly_scattering_free): Remove.
(poly_scattering_copy): Remove.
(store_scattering_pbb): Remove.
(store_lst_schedule): Remove.
(restore_lst_schedule): Remove.
(store_scattering): Remove.
(restore_scattering_pbb): Remove.
(restore_scattering): Remove.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
Remove scattering_dimensions.  Do not use pbb_dim_iter_domain:
compute the scattering polyhedron dimension from the dimension of
pbb->domain.
(build_scop_scattering): Update call to
build_pbb_scattering_polyhedrons.
(build_poly_scop): Remove call to scop_to_lst.
* graphite.c (graphite_transform_loops): Add call to print_scop.
(gate_graphite_transforms): Remove use of flag_loop_block,
flag_loop_interchange, and flag_loop_strip_mine.

testsuite/

* gcc.dg/graphite/graphite.exp (interchange_files, block_files):
Replaced by opt_files, compile with -floop-nest-optimize.
* g++.dg/graphite/graphite.exp: Same.
* gfortran.dg/graphite/graphite.exp: Same.
* gcc.dg/graphite/block-0.c: Adjust pattern.
* gcc.dg/graphite/block-1.c: Same.
* gcc.dg/graphite/block-3.c: Same.
* gcc.dg/graphite/block-4.c: Same.
* gcc.dg/graphite/block-5.c: Same.
* gcc.dg/graphite/block-6.c: Same.
* gcc.dg/graphite/block-7.c: Same.
* gcc.dg/graphite/block-8.c: Same.
* gcc.dg/graphite/block-pr47654.c: Same.
* gcc.dg/graphite/interchange-0.c: Same.
* gcc.dg/graphite/interchange-1.c: Same.
* gcc.dg/graphite/interchange-10.c: Same.
* gcc.dg/graphite/interchange-11.c: Same.
* gcc.dg/graphite/interchange-12.c: Same.
* gcc.dg/graphite/interchange-13.c: Same.
* gcc.dg/graphite/interchange-14.c: Same.
* gcc.dg/graphite/interchange-15.c: Same.
* gcc.dg/graphite/interchange-3.c: Same.
* gcc.dg/graphite/interchange-4.c: Same.
* gcc.dg/graphite/interchange-5.c: Same.
* gcc.dg/graphite/interchange-6.c: Same.
* gcc.dg/graphite/interchange-7.c: Same.
* gcc.dg/graphite/interchange-8.c: Same.
* gcc.dg/graphite/interchange-9.c: Same.
* gcc.dg/graphite/interchange-mvt.c: Same.
* gcc.dg/graphite/pr37485.c: Same.
* gcc.dg/graphite/uns-block-1.c: Same.
* gcc.dg/graphite/uns-interchange-12.c: Same.
* gcc.dg/graphite/uns-interchange-14.c: Same.
* gcc.dg/graphite/uns-interchange-15.c: Same.
* gcc.dg/graphite/uns-interchange-9.c: Same.
* gcc.dg/graphite/uns-interchange-mvt.c: Same.
* gfortran.dg/graphite/interchange-3.f90: Same.

From-SVN: r227277

10 years agocompiler: Don't record dependencies of invalid redefinitions.
Ian Lance Taylor [Thu, 27 Aug 2015 19:06:59 +0000 (19:06 +0000)]
compiler: Don't record dependencies of invalid redefinitions.

    The gofrontend would crash when trying to find the initialization
    order of a variable list where one of the listed variables was an
    invalid redefinition of another in a call statement.  This patch
    fixes initialization from call statements to consider invalid
    redefinitions before recording dependency information.

    Fixes golang/go#11543.

    Reviewed-on: https://go-review.googlesource.com/13895

From-SVN: r227276

10 years agoremove -floop-unroll-and-jam
Sebastian Pop [Thu, 27 Aug 2015 19:06:56 +0000 (19:06 +0000)]
remove -floop-unroll-and-jam

* common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
* doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
-floop-nest-optimize.
* graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
(generate_luj_sepclass): Remove.
(generate_luj_options): Remove.
(set_options): Remove opt_luj.
(scop_to_isl_ast): Remove opt_luj.
* graphite-optimize-isl.c (getScheduleForBand): Remove check for
flag_loop_unroll_jam.
(getPrevectorMap_full): Remove.
(getScheduleForBandList): Remove map_sepcl.
(getScheduleMap): Same.
(apply_schedule_map_to_scop): Remove sepcl.
(optimize_isl): Same.
* graphite-poly.c (apply_poly_transforms): Remove check for
flag_loop_unroll_jam.
(new_poly_bb): Remove map_sepclass.
* graphite-poly.h (struct poly_bb): Same.
* graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
* params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
(PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
* toplev.c (process_options): Remove flag_loop_unroll_jam.

From-SVN: r227275

10 years agore PR libstdc++/67374 (std::cbegin can't call valarray range access functions)
Jonathan Wakely [Thu, 27 Aug 2015 19:05:19 +0000 (20:05 +0100)]
re PR libstdc++/67374 (std::cbegin can't call valarray range access functions)

PR libstdc++/67374
* include/bits/range_access.h (valarray, begin, end): Declare.
* testsuite/26_numerics/valarray/range_access.cc: Test const
overloads.
* testsuite/26_numerics/valarray/range_access2.cc: New.

From-SVN: r227274

10 years agore PR target/67317 ([x86] Silly code generation for _addcarry_u32/_addcarry_u64)
Uros Bizjak [Thu, 27 Aug 2015 18:29:37 +0000 (20:29 +0200)]
re PR target/67317 ([x86] Silly code generation for _addcarry_u32/_addcarry_u64)

PR target/67317
* config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
(addqi3_cc): Ditto.
(UNSPEC_ADD_CARRY): Remove.
(addqi3_cconly_overflow): New expander.
(*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
Adjust for changed add<mode>3_carry.
(*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
(*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
(<plusminus_insn><mode>3_carry): Remove expander.
(*<plusminus_insn><mode>3_carry): Split insn pattern to
add<mode>3_carry and sub<mode>3_carry.
(plusminus_carry_mnemonic): Remove code attribute.
(add<mode>3_carry): Canonicalize insn pattern.
(*addsi3_carry_zext): Ditto.
(sub<mode>3_carry): Ditto.
(*subsi3_carry_zext): Ditto.
(adcx<mode>3): Remove insn pattern.
(addcarry<mode>): New insn pattern.
(subborrow<mode>): Ditto.
* config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
(ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
Rewrite expander to not clobber carry flag chains.

testsuite/ChangeLog:

PR target/67317
* gcc.target/i386/pr67317-1.c: New test.
* gcc.target/i386/pr67317-2.c: Ditto.
* gcc.target/i386/pr67317-3.c: Ditto.
* gcc.target/i386/pr67317-4.c: Ditto.
* gcc.target/i386/adx-addcarryx32-1.c: Also scan for adcl.
* gcc.target/i386/adx-addcarryx32-2.c: Also scan for adcq.

From-SVN: r227271

10 years agovector.md (vec_shr_<mode>): Fix to do a shift instead of a rotate.
Pat Haugen [Thu, 27 Aug 2015 18:20:45 +0000 (18:20 +0000)]
vector.md (vec_shr_<mode>): Fix to do a shift instead of a rotate.

* config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
instead of a rotate.

* gcc.target/powerpc/vec-shr.c: New.

From-SVN: r227270

10 years agore PR middle-end/67005 (ICE: in verify_loop_structure, at cfgloop.c:1647 (loop with...
Marek Polacek [Thu, 27 Aug 2015 17:07:35 +0000 (17:07 +0000)]
re PR middle-end/67005 (ICE: in verify_loop_structure, at cfgloop.c:1647 (loop with header n not in loop tree))

PR middle-end/67005
* tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
an entry into an irreducible region.

* gcc.dg/torture/pr67005.c: New test.

From-SVN: r227268

10 years ago* configure: Regenerate.
Francois-Xavier Coudert [Thu, 27 Aug 2015 16:15:45 +0000 (16:15 +0000)]
* configure: Regenerate.

From-SVN: r227266

10 years agocompletely_scalarize arrays as well as records
Alan Lawrence [Thu, 27 Aug 2015 15:40:10 +0000 (15:40 +0000)]
completely_scalarize arrays as well as records

gcc/:

PR tree-optimization/67283
* tree-sra.c (type_consists_of_records_p): Rename to...
(scalarizable_type_p): ...this, add case for ARRAY_TYPE.

(completely_scalarize_record): Rename to...
(completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
(scalarize_elem): New.

gcc/testsuite/:

* gcc.dg/tree-ssa/sra-15.c: New.

From-SVN: r227265

10 years agoRefactor completely_scalarize_var
Alan Lawrence [Thu, 27 Aug 2015 15:28:39 +0000 (15:28 +0000)]
Refactor completely_scalarize_var

* tree-sra.c (completely_scalarize_var): Rename to...
(create_total_scalarization_access): ... Here. Drop call to
completely_scalarize_record.

(analyze_all_variable_accesses): Replace completely_scalarize_var
with create_total_scalarization_access and completely_scalarize_record.

From-SVN: r227264

10 years agoUpdate copyrights
Rainer Orth [Thu, 27 Aug 2015 14:26:08 +0000 (14:26 +0000)]
Update copyrights

libvtv:
Update copyrights.

contrib:
* update-copyright.py (GCCCmdLine): Add libvtv.

From-SVN: r227262

10 years agoconfigure.ac: Remove [disable-shared] argument to LT_INIT.
Ulrich Weigand [Thu, 27 Aug 2015 14:08:19 +0000 (14:08 +0000)]
configure.ac: Remove [disable-shared] argument to LT_INIT.

* configure.ac: Remove [disable-shared] argument to LT_INIT.
Remove setting PIC_FLAG when building as target library.
* configure: Regenerate.

From-SVN: r227261

10 years ago[RS6000] Correct constraints for ior<mode>_mask
Alan Modra [Thu, 27 Aug 2015 13:56:39 +0000 (23:26 +0930)]
[RS6000] Correct constraints for ior<mode>_mask

ior<mode>_mask always splits to rtl matching rotl<mode>3_insert.  The
latter requires one of its input operands match the output, so let
reload/lra know the equivalent operand match must also occur for
ior<mode>_mask.

PR target/67356
* config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
for operand 1.

From-SVN: r227260

10 years agopasses.c (rest_of_decl_compilation): Guard early_global_decl call with !seen_error ().
Richard Biener [Thu, 27 Aug 2015 13:27:02 +0000 (13:27 +0000)]
passes.c (rest_of_decl_compilation): Guard early_global_decl call with !seen_error ().

2015-08-27  Richard Biener  <rguenther@suse.de>

* passes.c (rest_of_decl_compilation): Guard early_global_decl
call with !seen_error ().
* cgraphunit.c (symbol_table::finalize_compilation_unit): Move
early debug generation and finish...
(symbol_table::compile): ... here to put it after a !seen_error ()
guard.

From-SVN: r227258

10 years agoProvide nearly complete std::locale support for DragonFly
John Marino [Thu, 27 Aug 2015 12:12:41 +0000 (12:12 +0000)]
Provide nearly complete std::locale support for DragonFly

2015-08-27  John Marino  <gnugcc@marino.st>

* acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
from generic to new DragonFly versions.
* configure: Regenerate.
* config/locale/dragonfly/c_locale.cc: Improve locale support.
* config/locale/dragonfly/ctype_members.cc: Likewise.
* config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
* config/locale/dragonfly/c_locale.h: New.
* config/locale/dragonfly/codecvt_members.cc: New.
* config/locale/dragonfly/collate_members.cc: New.
* config/locale/dragonfly/monetary_members.cc: New.
* config/locale/dragonfly/numeric_members.cc: New.
* config/locale/dragonfly/time_members.cc: New.
* config/locale/dragonfly/time_members.h: New.

From-SVN: r227257

10 years ago* configure: Regenerate.
Jonathan Wakely [Thu, 27 Aug 2015 12:12:31 +0000 (13:12 +0100)]
* configure: Regenerate.

From-SVN: r227256

10 years agoUse __cxa_atexit on Solaris 12+
Rainer Orth [Thu, 27 Aug 2015 12:00:32 +0000 (12:00 +0000)]
Use __cxa_atexit on Solaris 12+

* config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
Solaris 12+.

From-SVN: r227255

10 years agoAvoid unstructured procfs on Solaris
Rainer Orth [Thu, 27 Aug 2015 11:26:18 +0000 (11:26 +0000)]
Avoid unstructured procfs on Solaris

* os_dep.c [GC_SOLARIS_THREADS] (GC_dirty_init): Use
/proc/<pid>/pagedata instead of PIOCOPENPD.

From-SVN: r227254

10 years agoaarch64.md (*condjump): Handle functions > 1 MiB.
Thomas Preud'homme [Thu, 27 Aug 2015 10:08:54 +0000 (10:08 +0000)]
aarch64.md (*condjump): Handle functions > 1 MiB.

2015-08-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
            Andre Vieira  <andre.simoesdiasvieira@arm.com>

    gcc/
    * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
    (*cb<optab><mode>1): Likewise.
    (*tb<optab><mode>1): Likewise.
    (*cb<optab><mode>1): Likewise.
    * config/aarch64/iterators.md (inv_cb): New code attribute.
    (inv_tb): Likewise.
    * config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
    * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.

    gcc/testsuite/
    * gcc.target/aarch64/long_branch_1.c: New test.

From-SVN: r227253