Commit Graph

140479 Commits

Author SHA1 Message Date
Jakub Jelinek
3b0c6e3ef9 Remove mistakenly added file.
From-SVN: r227461
2015-09-03 19:26:59 +02:00
Renlin Li
3743a2ccd8 [PATCH][AARCH64]Make arm_align_max_stack_pwr.c and arm_align_max_pwr.c compile
testcase, instead of execution.

gcc/testsuite/

2015-09-03  Renlin Li  <renlin.li@arm.com>

	* gcc.target/aarch64/arm_align_max_pwr.c: Make it a compile test case,
	  check the assembly.
	* gcc.target/aarch64/arm_align_max_stack_pwr.c: Likewise.

From-SVN: r227459
2015-09-03 17:16:33 +00:00
Martin Sebor
1807ffc1a5 re PR c/66516 (missing diagnostic on taking the address of a builtin function)
gcc/ChangeLog
2015-09-03  Martin Sebor  <msebor@redhat.com>

	PR c/66516
	* doc/extend.texi (Other Builtins): Document when the address
	of a built-in function can be taken.

gcc/c-family/ChangeLog
2015-09-03  Martin Sebor  <msebor@redhat.com>

	PR c/66516
	* c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
	functions.
	* c-common.c (reject_gcc_builtin): Define.

gcc/c/ChangeLog
2015-09-03  Martin Sebor  <msebor@redhat.com>

	PR c/66516
	* c/c-typeck.c (convert_arguments, parser_build_unary_op)
	(build_conditional_expr, c_cast_expr, convert_for_assignment)
	(build_binary_op, _objc_common_truthvalue_conversion): Call
	reject_gcc_builtin.
	(c_decl_implicit): Define.

gcc/cp/ChangeLog
2015-09-03  Martin Sebor  <msebor@redhat.com>

	PR c/66516
	* cp/cp-tree.h (mark_rvalue_use, decay_conversion): Add new
	argument(s).
	* cp/expr.c (mark_rvalue_use): Use new argument.
	* cp/call.c (build_addr_func): Call decay_conversion with new
	argument.
	* cp/pt.c (convert_template_argument): Call reject_gcc_builtin.
	* cp/typeck.c (decay_conversion): Use new argument.
	(c_decl_implicit): Define.

gcc/testsuite/ChangeLog
2015-09-03  Martin Sebor  <msebor@redhat.com>

	PR c/66516
	* g++.dg/addr_builtin-1.C: New test.
	* gcc.dg/addr_builtin-1.c: New test.

From-SVN: r227458
2015-09-03 10:23:11 -06:00
Jakub Jelinek
97875f4a94 configure.tgt: Add missing ;; in between nvptx and rtems snippets.
* configure.tgt: Add missing ;; in between nvptx and rtems
	snippets.

From-SVN: r227457
2015-09-03 18:20:35 +02:00
Jonathan Wakely
eb8bf686b7 Make std::experimental::not_fn SFINAE-friendly.
PR libstdc++/66998
	* include/experimental/functional (_Not_fn): Add exception
	specifications and non-deduced return types.
	(not_fn): Add exception specification and wrap pointer-to-member.
	* testsuite/experimental/functional/not_fn.cc: Test in SFINAE context
	and test pointer-to-member.

From-SVN: r227448
2015-09-03 15:36:03 +01:00
Jonathan Wakely
500dc9a6c3 Add concept checks to std::next and std::prev.
PR libstdc++/62039
	* include/bits/stl_iterator_base_funcs.h (next, prev): Add concept
	checks.
	* testsuite/24_iterators/operations/prev_neg.cc: New.
	* testsuite/24_iterators/operations/next_neg.cc: New.

From-SVN: r227447
2015-09-03 15:35:43 +01:00
Richard Biener
42ec4ec863 dwarf2out.c (flush_limbo_die_list): Split out from ...
2015-09-03  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (flush_limbo_die_list): Split out from ...
	(dwarf2out_early_finish): ... here.
	(dwarf2out_finish): Do not call dwarf2out_early_finish but
	flush_limbo_die_list.  Assert we have no deferred asm names.

From-SVN: r227446
2015-09-03 14:13:54 +00:00
Bill Schmidt
5179d2a213 optabs.c (expand_binop): Don't create a broadcast vector with a source element wider than the inner mode.
[gcc]

2015-09-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* optabs.c (expand_binop): Don't create a broadcast vector with a
	source element wider than the inner mode.

[gcc/testsuite]

2015-09-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-shift.c: New test.

From-SVN: r227444
2015-09-03 13:52:17 +00:00
Richard Biener
4413ddbcb2 varasm.c (output_constant): Use fold_convert instead of wide_int_to_tree.
2015-09-03  Richard Biener  <rguenther@suse.de>

	* varasm.c (output_constant): Use fold_convert instead of
	wide_int_to_tree.

From-SVN: r227443
2015-09-03 12:45:33 +00:00
Sebastian Huber
06441dd5e3 [gomp] Add thread attribute customization
libgomp/ChangeLog

	* config/posix/pool.h (gomp_adjust_thread_attr): New.
	* config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
	(gomp_thread_pool_reservoir): Add priority member.
	* confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
	priority.
	(parse_thread_pools): Likewise.
	* team.c (gomp_team_start): Call configuration provided
	gomp_adjust_thread_attr(). Destroy thread attributes if
	necessary.
	* libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.

From-SVN: r227442
2015-09-03 11:34:28 +00:00
Sebastian Huber
66c59f9238 [gomp] Thread pool management
libgomp/ChangeLog

	* config/posix/pool.h: New.
	* config/rtems/pool.h: Likewise.
	* config/rtems/proc.c: Likewise.
	* libgomp.h (gomp_thread_destructor): Declare.
	* team.c: Include configuration provided "pool.h".
	(gomp_get_thread_pool): Define in configuration.
	(gomp_team_end): Call configuration defined
	gomp_release_thread_pool().

From-SVN: r227441
2015-09-03 11:29:59 +00:00
Sebastian Huber
13c41b2e3e [gomp] Add RTEMS configuration
libgomp/ChangeLog

	* config/rtems/bar.c: New.
	* config/rtems/bar.h: Likewise.
	* config/rtems/mutex.c: Likewise.
	* config/rtems/mutex.h: Likewise.
	* config/rtems/sem.c: Likewise.
	* config/rtems/sem.h: Likewise.
	* configure.ac (*-*-rtems*): Check that Newlib provides a proper
	<sys/lock.h> header file.
	* configure.tgt (*-*-rtems*): Enable RTEMS configuration if
	supported by Newlib.
	* configure: Regenerate.

From-SVN: r227440
2015-09-03 11:26:36 +00:00
Sebastian Huber
7892ec670c [gomp] Simplify thread pool initialization
libgomp/ChangeLog

	* team.c (gomp_new_thread_pool): Delete and move content to ...
	(gomp_get_thread_pool): ... new function.  Allocate and
	initialize thread pool on demand.
	(get_last_team): Use gomp_get_thread_pool().
	(gomp_team_start): Delete thread pool initialization.

From-SVN: r227439
2015-09-03 11:24:34 +00:00
Tom de Vries
17720e84bf Handle 2 preds for fin_bb in expand_omp_for_static_chunk
2015-09-03  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65637
	* omp-low.c (expand_omp_for_static_chunk): Handle case that fin_bb has 2
	predecessors.

	* gcc.dg/autopar/reduc-4.c: New test.

From-SVN: r227438
2015-09-03 11:01:22 +00:00
Tom de Vries
1b96e9a4bf Fix inner loop phi in expand_omp_for_static_chunk
2015-09-03  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65637
	* omp-low.c (find_phi_with_arg_on_edge): New function.
	(expand_omp_for_static_chunk): Fix inner loop phi.

	* testsuite/libgomp.c/autopar-2.c: New test.

From-SVN: r227437
2015-09-03 11:01:14 +00:00
Tom de Vries
8050766eae Fix gcc_assert in expand_omp_for_static_chunk
2015-09-03  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65637
	* omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case
	that head is NULL.

	* gcc.dg/autopar/pr46099-2.c: New test.

From-SVN: r227436
2015-09-03 11:01:05 +00:00
Tom de Vries
8cba6b9527 Handle simple latch bb in expand_omp_for_static_chunk
2015-09-03  Tom de Vries  <tom@codesourcery.com>

	* omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb.

From-SVN: r227435
2015-09-03 11:00:56 +00:00
Tom de Vries
f7f186847d Add param parloops-chunk-size
2015-09-03  Tom de Vries  <tom@codesourcery.com>

	* doc/invoke.texi (parloops-chunk-size): Add item.
	* params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
	* tree-parloops.c: Include params.h.
	(create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
	param parloops-chunk-size is used.

From-SVN: r227434
2015-09-03 11:00:46 +00:00
Naveen H.S
2699123aab pr67351.C: Correct the testcase name.
2015-09-03  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* g++.dg/pr67351.C: Correct the testcase name.

From-SVN: r227433
2015-09-03 10:25:28 +00:00
Naveen H.S
1208539016 re PR tree-optimization/67351 (Missed optimisation on 64-bit field compared to 32-bit)
2015-09-03  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	PR middle-end/67351

	gcc/ChangeLog: 
	* fold-const.c (fold_binary_loc) : Move 
	Transform (x >> c) << c into x & (-1<<c) or
	transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned
	types using simplify and match.
	* match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier.
	(rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier.

	gcc/testsuite/ChangeLog: 
	* g++.dg/pr66752-2.C: New test.

From-SVN: r227432
2015-09-03 10:20:03 +00:00
Richard Biener
27e2bd9f39 re PR ipa/66705 (section is missing linker error with -flto -fipa-pta)
2015-09-03  Richard Biener  <rguenther@suse.de>

	PR ipa/66705
	* tree-ssa-structalias.c (ctor_for_analysis): New function.
	(create_variable_info_for_1): Use ctor_for_analysis instead
	of get_constructor.
	(create_variable_info_for): Likewise.

	* g++.dg/lto/pr66705_0.C: New testcase.

From-SVN: r227430
2015-09-03 09:24:51 +00:00
Sebastian Huber
37d13ae648 libstdc++: Run tests on RTEMS
libstdc++-v3/ChangeLog

	* testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target
	selector to all lines which contain a *-*-cygwin target selector.
	* testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread33394.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.
	* testsuite/30_threads/async/49668.cc: Likewise.
	* testsuite/30_threads/async/54297.cc: Likewise.
	* testsuite/30_threads/async/any.cc: Likewise.
	* testsuite/30_threads/async/async.cc: Likewise.
	* testsuite/30_threads/async/launch.cc: Likewise.
	* testsuite/30_threads/async/lwg2021.cc: Likewise.
	* testsuite/30_threads/async/sync.cc: Likewise.
	* testsuite/30_threads/call_once/39909.cc: Likewise.
	* testsuite/30_threads/call_once/49668.cc: Likewise.
	* testsuite/30_threads/call_once/60497.cc: Likewise.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/54185.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/3.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
	* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
	* testsuite/30_threads/future/cons/move.cc: Likewise.
	* testsuite/30_threads/future/members/45133.cc: Likewise.
	* testsuite/30_threads/future/members/get.cc: Likewise.
	* testsuite/30_threads/future/members/get2.cc: Likewise.
	* testsuite/30_threads/future/members/share.cc: Likewise.
	* testsuite/30_threads/future/members/valid.cc: Likewise.
	* testsuite/30_threads/future/members/wait.cc: Likewise.
	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/lock/1.cc: Likewise.
	* testsuite/30_threads/lock/2.cc: Likewise.
	* testsuite/30_threads/lock/3.cc: Likewise.
	* testsuite/30_threads/lock/4.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/2.cc: Likewise.
	* testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* testsuite/30_threads/packaged_task/60564.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
	Likewise.
	* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
	* testsuite/30_threads/promise/60966.cc: Likewise.
	* testsuite/30_threads/promise/cons/1.cc: Likewise.
	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* testsuite/30_threads/promise/cons/move.cc: Likewise.
	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
	* testsuite/30_threads/promise/members/swap.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
	* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/this_thread/1.cc: Likewise.
	* testsuite/30_threads/this_thread/2.cc: Likewise.
	* testsuite/30_threads/this_thread/3.cc: Likewise.
	* testsuite/30_threads/this_thread/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/1.cc: Likewise.
	* testsuite/30_threads/thread/cons/2.cc: Likewise.
	* testsuite/30_threads/thread/cons/3.cc: Likewise.
	* testsuite/30_threads/thread/cons/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* testsuite/30_threads/thread/cons/5.cc: Likewise.
	* testsuite/30_threads/thread/cons/6.cc: Likewise.
	* testsuite/30_threads/thread/cons/7.cc: Likewise.
	* testsuite/30_threads/thread/cons/8.cc: Likewise.
	* testsuite/30_threads/thread/cons/9.cc: Likewise.
	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* testsuite/30_threads/thread/members/1.cc: Likewise.
	* testsuite/30_threads/thread/members/2.cc: Likewise.
	* testsuite/30_threads/thread/members/3.cc: Likewise.
	* testsuite/30_threads/thread/members/4.cc: Likewise.
	* testsuite/30_threads/thread/members/5.cc: Likewise.
	* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
	* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
	* testsuite/30_threads/thread/swap/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
	* testsuite/30_threads/try_lock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/2.cc: Likewise.
	* testsuite/30_threads/try_lock/3.cc: Likewise.
	* testsuite/30_threads/try_lock/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.

From-SVN: r227429
2015-09-03 05:45:33 +00:00
Sebastian Huber
4efab40251 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
2015-09-03 05:28:46 +00:00
Ian Lance Taylor
fc25333495 compiler: Report invalid receiver types in function definitions.
Fixes golang/go#12324.
    
    Reviewed-on: https://go-review.googlesource.com/13988

From-SVN: r227427
2015-09-03 04:33:32 +00:00
GCC Administrator
5b07801722 Daily bump.
From-SVN: r227426
2015-09-03 00:16:16 +00:00
Balaji V. Iyer
3894284078 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
2015-09-02 16:59:21 -07:00
Marek Polacek
d04ff41777 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
2015-09-02 21:00:38 +00:00
Ian Lance Taylor
db3015e9e3 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
2015-09-02 20:52:42 +00:00
Charles Baylis
ce8bdcefc5 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
2015-09-02 15:24:54 +00:00
Janne Blomqvist
1b0b9fcb92 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
2015-09-02 17:51:40 +03:00
Dmitry Vyukov
710465235b libstdc++: fix data races in basic_string implementation
* include/bits/basic_string.h: Fix data races on _M_refcount.

From-SVN: r227403
2015-09-02 07:35:20 -07:00
Christophe Lyon
7e4713f887 [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
2015-09-02 16:04:22 +02:00
Christophe Lyon
dfda198c74 [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
2015-09-02 16:01:51 +02:00
Sebastian Huber
d8e19f3114 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
2015-09-02 11:51:14 +01:00
Alan Modra
1c743086d2 [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
2015-09-02 17:28:03 +09:30
Ian Lance Taylor
3d32e50634 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
2015-09-02 00:46:23 +00:00
GCC Administrator
ad47aff5c5 Daily bump.
From-SVN: r227394
2015-09-02 00:16:12 +00:00
Kenneth Zadeck
842b619d9c fixed misplaced testcase
From-SVN: r227390
2015-09-01 23:37:20 +00:00
Alan Modra
b2c72901da [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
2015-09-02 08:33:19 +09:30
Matthew Fortune
22219d9b1a 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
2015-09-01 22:41:08 +00:00
James Bowman
2503fd9e07 * MAINTAINERS: add myself
From-SVN: r227383
2015-09-01 19:38:16 +00:00
Vladimir Makarov
3363daad0c 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
2015-09-01 19:37:52 +00:00
Steven G. Kargl
aef90c1d3d 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
2015-09-01 18:06:10 +00:00
Ilya Enkovich
53f303165e 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
2015-09-01 14:38:42 +00:00
Aldy Hernandez
d4c6109400 + * trans-mem.c: Add contributed-by.
+       * trans-mem.c: Add contributed-by.
+       * trans-mem.h: Same.

From-SVN: r227372
2015-09-01 13:52:09 +00:00
Rainer Orth
201fd8bb69 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
2015-09-01 13:48:29 +00:00
Richard Biener
fa3d595c3a 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
2015-09-01 13:27:17 +00:00
David Sherwood
f22b057522 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
2015-09-01 12:40:10 +00:00
Kyrylo Tkachov
e65bf4e814 [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
2015-09-01 12:33:51 +00:00
Rainer Orth
2674213872 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
2015-09-01 11:50:19 +00:00