Commit Graph

129748 Commits

Author SHA1 Message Date
Jakub Jelinek
dd2fc5256e tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
* tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
	* tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
	number of operands to 3.
	(walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
	* tree-nested.c (convert_nonlocal_omp_clauses,
	convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
	* gimplify.c (gimplify_scan_omp_clauses): Handle
	OMP_CLAUSE_LINEAR_STMT.
	* omp-low.c (lower_rec_input_clauses): Fix typo.
	(maybe_add_implicit_barrier_cancel, lower_omp_1): Add
	cast between Fortran boolean_type_node and C _Bool if
	needed.
gcc/fortran/
	* gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
	ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
	ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
	ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
	ST_OMP_DECLARE_SIMD.
	(gfc_omp_namelist): New typedef.
	(gfc_get_omp_namelist): Define.
	(OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
	OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
	(gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
	(gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
	Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
	simdlen_expr fields.
	(gfc_omp_declare_simd): New typedef.
	(gfc_get_omp_declare_simd): Define.
	(gfc_namespace): Add omp_declare_simd field.
	(gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
	EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
	EXEC_OMP_PARALLEL_DO_SIMD.
	(gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
	and GFC_OMP_ATOMIC_SWAP.
	(gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
	(gfc_free_omp_namelist, gfc_free_omp_declare_simd,
	gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
	prototypes.
	* trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
	* symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
	* openmp.c (gfc_free_omp_clauses): Free safelen_expr and
	simdlen_expr.  Use gfc_free_omp_namelist instead of
	gfc_free_namelist.
	(gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
	functions.
	(gfc_match_omp_variable_list): Add end_colon, headp and
	allow_sections arguments.  Handle parsing of array sections.
	Use *omp_namelist* instead of *namelist* data structure and
	functions/macros.  Allow termination at : character.
	(OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
	OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
	OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
	(gfc_match_omp_clauses): Change first and needs_space variables
	into arguments with default values.  Parse inbranch, notinbranch,
	proc_bind, safelen, simdlen, uniform, linear, aligned and
	depend clauses.
	(OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
	(OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
	(OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
	(gfc_match_omp_do_simd): New function.
	(gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
	data structure and functions/macros.
	(gfc_match_omp_simd, gfc_match_omp_declare_simd,
	gfc_match_omp_parallel_do_simd): New functions.
	(gfc_match_omp_atomic): Handle seq_cst clause.  Handle atomic swap.
	(gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
	gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
	functions.
	(resolve_omp_clauses): Add where, omp_clauses and ns arguments.
	Use *omp_namelist* instead of *namelist* data structure and
	functions/macros.  Resolve uniform, aligned, linear, depend,
	safelen and simdlen clauses.
	(resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
	addition, recognize atomic swap.
	(gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
	of gfc_namelist.  Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
	EXEC_OMP_PARALLEL_DO.
	(gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
	data structure and functions/macros.
	(resolve_omp_do): Likewise.  Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
	EXEC_OMP_PARALLEL_DO_SIMD.
	(gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
	EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL.  Adjust
	resolve_omp_clauses caller.
	(gfc_resolve_omp_declare_simd): New function.
	* parse.c (decode_omp_directive): Parse cancellation point, cancel,
	declare simd, end do simd, end simd, end parallel do simd,
	end taskgroup, parallel do simd, simd and taskgroup directives.
	(case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
	(case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
	ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
	(case_decl): Add ST_OMP_DECLARE_SIMD.
	(gfc_ascii_statement): Handle ST_OMP_CANCEL,
	ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
	ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
	ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
	ST_OMP_DECLARE_SIMD.
	(parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
	ST_OMP_PARALLEL_DO_SIMD.
	(parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
	(parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
	ST_OMP_PARALLEL_DO_SIMD.
	(parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
	ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
	* trans-decl.c (gfc_get_extern_function_decl,
	gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
	needed.
	* frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
	EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD.  Walk
	safelen_expr and simdlen_expr.  Walk expressions in gfc_omp_namelist
	of depend, aligned and linear clauses.
	* match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
	and EXEC_OMP_PARALLEL_DO_SIMD.
	(gfc_free_omp_namelist): New function.
	* dump-parse-tree.c (show_namelist): Removed.
	(show_omp_namelist): New function.
	(show_omp_node): Handle OpenMP 4.0 additions.
	(show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
	EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
	EXEC_OMP_TASKGROUP.
	* match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
	gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
	gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
	gfc_match_omp_taskgroup): New prototypes.
	* trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
	argument, handle it.  Allow current_function_decl to be NULL.
	(gfc_trans_omp_variable_list): Add declare_simd argument, pass
	it through to gfc_trans_omp_variable and disregard whether
	sym is referenced if declare_simd is true.  Work on gfc_omp_namelist
	instead of gfc_namelist.
	(gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
	gfc_namelist.  Adjust gfc_trans_omp_variable caller.
	(gfc_trans_omp_clauses): Add declare_simd argument, pass it through
	to gfc_trans_omp_variable{,_list} callers.  Work on gfc_omp_namelist
	instead of gfc_namelist.  Handle inbranch, notinbranch, safelen,
	simdlen, depend, uniform, linear, proc_bind and aligned clauses.
	Handle cancel kind.
	(gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
	adjust for GFC_OMP_ATOMIC_* changes.
	(gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
	functions.
	(gfc_trans_omp_do): Add op argument, handle simd translation into
	generic.
	(GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
	GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
	GFC_OMP_MASK_PARALLEL): New.
	(gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
	(gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
	(gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
	functions.
	(gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
	EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
	EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
	Adjust gfc_trans_omp_do caller.
	(gfc_trans_omp_declare_simd): New function.
	* st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
	EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
	EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
	For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
	gfc_free_namelist.
	* module.c (omp_declare_simd_clauses): New variable.
	(mio_omp_declare_simd): New function.
	(mio_symbol): Call it.
	* trans.c (trans_code): Handle EXEC_OMP_CANCEL,
	EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
	EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
	* resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,  
	EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
	(resolve_code): Handle EXEC_OMP_CANCEL,
	EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
	EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
	(resolve_types): Call gfc_resolve_omp_declare_simd.
gcc/testsuite/
	* gfortran.dg/gomp/affinity-1.f90: New test.
libgomp/
	* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
	* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
	* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
	* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
	* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
	* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
	* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
	* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
	* testsuite/libgomp.fortran/depend-1.f90: New test.
	* testsuite/libgomp.fortran/depend-2.f90: New test.
	* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
	* testsuite/libgomp.fortran/simd1.f90: New test.
	* testsuite/libgomp.fortran/simd2.f90: New test.
	* testsuite/libgomp.fortran/simd3.f90: New test.
	* testsuite/libgomp.fortran/simd4.f90: New test.
	* testsuite/libgomp.fortran/taskgroup1.f90: New test.

From-SVN: r210313
2014-05-11 22:26:36 +02:00
Richard Sandiford
7588d8aae4 re PR c/61136 (ice in tree_nop_conversion)
gcc/
	PR tree-optimization/61136
	* wide-int.h (multiple_of_p): Define a version that doesn't return
	the quotient.
	* fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
	integer_zerop/const_binop pair.
	(multiple_of_p): Likewise, converting both operands to widest_int
	precision.

gcc/testsuite/
	* gcc.dg/torture/pr61136.c: New test.

From-SVN: r210312
2014-05-11 20:21:55 +00:00
Tobias Burnus
a9fe68774e trans-intrinsic.c (gfc_build_builtin_function_decls): Change type of second argument to int.
2014-05-11  Tobias Burnus  <burnus@net-b.de>

       * trans-intrinsic.c (gfc_build_builtin_function_decls):
       Change type of second argument to int.

2014-05-11  Tobias Burnus  <burnus@net-b.de>

       * caf/libcaf.h (_gfortran_caf_num_images): Change type of
       second argument to int.
       * caf/mpi.c (_gfortran_caf_num_images): Ditto.
       * caf/single.c (_gfortran_caf_num_images): Ditto.

From-SVN: r210311
2014-05-11 20:25:55 +02:00
Paolo Carlini
3af89f8bdf re PR c++/59705 (possible compiler bug regarding SFINAE (program compiles fine))
2014-05-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59705
	* g++.dg/cpp0x/sfinae51.C: New.

	PR c++/58353
	* g++.dg/cpp0x/variadic157.C: New.

From-SVN: r210310
2014-05-11 10:23:34 +00:00
GCC Administrator
6f8531afe1 Daily bump.
From-SVN: r210305
2014-05-11 00:16:47 +00:00
Oleg Endo
229e47f1a0 re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
gcc/testsuite/
	PR target/51244
	* gcc.target/sh/pr51244-14.c: Relax criteria for passing the test.

From-SVN: r210301
2014-05-10 20:19:06 +00:00
Marek Polacek
d033409e94 c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to maybe_warn_string_init.
* c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
	maybe_warn_string_init.
	(c_parser_postfix_expression_after_paren_type): Pass type_loc to
	maybe_warn_string_init.
	* c-tree.h (maybe_warn_string_init): Update declaration.
	* c-typeck.c (maybe_warn_string_init): Add location parameter.
	Call pedwarn_init with loc instead of with input_location.
	(digest_init): Pass init_loc to maybe_warn_string_init.
	(pop_init_level): Call pedwarn_init with loc instead of with
	input_location.
	(set_init_index): Likewise.
	(process_init_element): Likewise.

	* gcc.dg/pedwarn-init.c: New test.
	* gcc.dg/init-string-1.c: Adjust dg-error.

From-SVN: r210300
2014-05-10 20:03:57 +00:00
Hans-Peter Nilsson
0059920267 * lib/target-supports.exp
(check_effective_target_logical_op_short_circuit): Add mmix-*-*
	to the list.

From-SVN: r210299
2014-05-10 11:58:57 +00:00
GCC Administrator
2ac5e1ec31 Daily bump.
From-SVN: r210298
2014-05-10 00:16:52 +00:00
Momchil Velikov
0b360a07d3 re PR c++/60463 (Lambda function can call a non-const member function with const this)
PR c++/60463
	PR c++/60755
	* lambda.c (lambda_expr_this_capture): Add new parameter
	add_capture_p controlling whether the functions will try to
	capture 'this' via the default capture.
	(maybe_resolve_dummy): Likewise.
	* cp-tree.h: Adjust prototypes.
	* call.c, semantics.c: Change callers of these functions.
	* call.c (build_new_method_call_1): Use the actual 'this' that
	would be potentially captured for the overload resolution, instead
	of the dummy object.

From-SVN: r210292
2014-05-09 16:07:45 -04:00
Jonathan Wakely
91b67b5022 Fix typo in ChangeLog-2013
From-SVN: r210291
2014-05-09 20:39:20 +01:00
Jonathan Wakely
a8218d79f8 gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
	(GLIBCXX_3.4.21): Export base object constructor for regex_error.
	* acinclude.m4 (libtool_VERSION): Bump.
	* configure: Regenerate.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
	* testsuite/28_regex/regex_error/base.cc: New.

From-SVN: r210290
2014-05-09 20:39:14 +01:00
Paolo Carlini
ad31c32a96 pt.c (convert_nontype_argument_function): Add tsubst_flags_t parameter.
2014-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (convert_nontype_argument_function): Add tsubst_flags_t
	parameter.
	(convert_nontype_argument): Adjust calls.
	(coerce_template_parameter_pack): Add missing complain & tf_error
	check.

From-SVN: r210289
2014-05-09 19:30:03 +00:00
Teresa Johnson
e7eee636b3 cgraphunit.c (analyze_functions): Use correct dump file.
2014-05-09  Teresa Johnson  <tejohnson@google.com>

	* cgraphunit.c (analyze_functions): Use correct dump file.

From-SVN: r210286
2014-05-09 18:31:57 +00:00
Jason Merrill
e8ee694a14 DR 587 PR c++/51317
DR 587
	PR c++/51317
	* call.c (build_conditional_expr_1, conditional_conversion): Handle
	non-class lvalues and xvalues that differ only in cv-qualifiers.

From-SVN: r210285
2014-05-09 14:16:18 -04:00
Jason Merrill
bfa589517b DR 5 PR c++/60019
DR 5
	PR c++/60019
	* call.c (build_user_type_conversion_1): The copy-init temporary
	is cv-unqualified.

From-SVN: r210284
2014-05-09 14:16:11 -04:00
Jason Merrill
fc2bfea139 re PR c++/58714 (Bogus overload resolution for the assignment operator in assignment to a conditional)
PR c++/58714
	* tree.c (stabilize_expr): A stabilized prvalue is an xvalue.

From-SVN: r210283
2014-05-09 14:16:05 -04:00
Jason Merrill
5f901ccf18 re PR c++/32019 (Conditional operator ?: and ambiguous convertions)
PR c++/32019
	* call.c (build_conditional_expr_1): Improve ambiguity diagnostic.

	PR c++/54348
	* call.c (build_conditional_expr_1): If overload resolution finds
	no match, just say "different types".

From-SVN: r210282
2014-05-09 14:15:57 -04:00
Jason Merrill
bb8b1f696e re PR c++/22434 (ICE in simplify_{,gen_}subreg)
PR c++/22434
	* call.c (build_conditional_expr_1): Don't try to pool cv-quals
	if we didn't find a conversion.
	Don't accept a bad conversion too early.

From-SVN: r210281
2014-05-09 14:15:46 -04:00
Marek Polacek
ea58ef42e5 re PR c/61096 (error_init lacks a location)
PR c/61096
	* c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
	(c_parser_initelt): Pass location to set_init_label.  Pass array index
	location to set_init_index.
	* c-tree.h (push_init_level): Update declaration.
	(pop_init_level): Likewise.
	(set_init_index): Likewise.
	(set_init_label): Likewise.
	* c-typeck.c (error_init): Add location parameter.  Call error_at
	instead of error.
	(digest_init): Pass init_loc to error_init.
	(really_start_incremental_init):
	(push_init_level): Add location parameter.  Pass loc to pop_init_level
	and error_init.
	(pop_init_level): Likewise.
	(set_designator): Add location parameter.  Pass loc to pop_init_level,
	push_init_level, and error_init.
	(set_init_index): Add location parameter.  Pass loc to error_init and
	set_designator.
	(set_init_label): Likewise.
	(output_init_element): Pass loc to error_init.
	(process_init_element): Pass loc to error_init, pop_init_level,
	pedwarn_init, and push_init_level.

	* gcc.dg/pr61096-1.c: New test.
	* gcc.dg/pr61096-2.c: New test.

From-SVN: r210280
2014-05-09 17:50:25 +00:00
Mike Stump
4f61140c2a re PR fortran/61109 (ICE in fortran/trans-array.c on dimension 0 arrays)
PR fortran/61109
        * trans-array.c (gfc_conv_array_initializer): Fix wide-int
	conversion bug.

From-SVN: r210277
2014-05-09 14:06:15 +00:00
Kenneth Zadeck
971ed35d7d fixed date of changelog entry
From-SVN: r210276
2014-05-09 12:28:05 +00:00
Florian Weimer
6545746e3c -fstack-protector-strong: Instrumentation for return slots
This patch fixes a loophole in the -fstack-protector-strong protection.
If a function call uses a return slot, the caller needs stack protector
instrumentation because the return slot is addressable. 

gcc/

2014-05-09  Florian Weimer  <fweimer@redhat.com>

	* cfgexpand.c (stack_protect_decl_p): New function, extracted from
	expand_used_vars.
	(stack_protect_return_slot_p): New function.
	(expand_used_vars): Call stack_protect_decl_p and
	stack_protect_return_slot_p for -fstack-protector-strong.

gcc/testsuite/

2014-05-09  Florian Weimer  <fweimer@redhat.com>

	* gcc.dg/fstack-protector-strong.c: Add coverage for return slots.
	* g++.dg/fstack-protector-strong.C: Likewise.
	* gcc.target/i386/ssp-strong-reg.c: New file.

From-SVN: r210275
2014-05-09 14:23:46 +02:00
Kenneth Zadeck
b8d29c6659 re PR middle-end/61111 (Infinite recursion between fold_build2_stat_loc and fold_binary_loc)
2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>

	PR middle-end/61111
	* fold-const.c (fold_binary_loc): Changed width of mask.

From-SVN: r210274
2014-05-09 12:21:23 +00:00
David Wohlferd
04e137a19f 014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com> Andrew Haley...
014-05-09  David Wohlferd <LimeGreenSocks@yahoo.com>
	Andrew Haley <aph@redhat.com>
	Richard Sandiford <rdsandiford@googlemail.com>

	* doc/extend.texi: Rewrite inline asm page / re-org asm-related
	pages.

From-SVN: r210273
2014-05-09 12:15:41 +00:00
Georg-Johann Lay
c204f1b547 avr-fixed.md (round<mode>3): Use -1U instead of -1 in unsigned int initializers for regno_in, regno_out.
* config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
	unsigned int initializers for regno_in, regno_out.

From-SVN: r210272
2014-05-09 12:11:30 +00:00
Georg-Johann Lay
b846980537 re PR target/61055 ([avr] wrong test instruction after increment with -O1)
gcc/config/avr
	PR target/61055
	* config/avr/avr.md (cc): Add new attribute set_vzn.
	(addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
	Set cc insn attribute to set_vzn instead of set_zn for alternatives
	with INC, DEC or NEG.
	* config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
	(avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
	INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.

gcc/testsuite/
	PR target/61055
	* gcc.target/avr/torture/pr61055.c: New test.

From-SVN: r210267
2014-05-09 11:20:43 +00:00
Joey Ye
eac3e07966 files.c (find_file_in_dir): Always try to shorten for DOS non-system headers.
2014-05-09  Joey Ye  <joey.ye@arm.com>

	* files.c (find_file_in_dir): Always try to shorten for DOS
	non-system headers.
	* init.c (ENABLE_CANONICAL_SYSTEM_HEADERS): Default enabled for DOS.

From-SVN: r210264
2014-05-09 08:50:22 +00:00
Ramana Radhakrishnan
9db25c6a05 Revert wide-int change.
2014-05-09  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	Revert:
	2014-05-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* wide-int.cc (UTItype): Define.
	(UDWtype): Define for appropriate W_TYPE_SIZE.

From-SVN: r210263
2014-05-09 08:32:37 +00:00
Marek Polacek
661a0813da re PR c/50459 (alignof doesn't work on plain old constant, works with expressions containing it)
PR c/50459
c-family/
	* c-common.c (check_user_alignment): Return -1 if alignment is error
	node.
	(handle_aligned_attribute): Don't call default_conversion on
	FUNCTION_DECLs.
	(handle_vector_size_attribute): Likewise.
	(handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
	(handle_sentinel_attribute): Call default_conversion and allow even
	integral types as an argument.
c/
	* c-parser.c (c_parser_attributes): Parse the arguments as an
	expression-list if the attribute takes identifier.
testsuite/
	* c-c++-common/attributes-1.c: Move test line to a new test.
	* c-c++-common/attributes-2.c: New test.
	* c-c++-common/pr50459.c: New test.
	* c-c++-common/pr59280.c: Add "undeclared" to dg-error.
	* gcc.dg/nonnull-2.c: Likewise.
	* gcc.dg/pr55570.c: Modify dg-error.
	* gcc.dg/tm/wrap-2.c: Likewise.

From-SVN: r210262
2014-05-09 08:24:37 +00:00
Richard Biener
ee3958cfe1 Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
2014-05-09  Richard Biener  <rguenther@suse.de>

	* Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
	* tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
	(interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
	(add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
	ssa_propagate): Adjust.

From-SVN: r210261
2014-05-09 07:49:18 +00:00
Jan-Benedict Glaw
3ce2cd3632 config-list.mk (show): New target.
2014-05-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

       * config-list.mk (show): New target.

From-SVN: r210260
2014-05-09 07:25:21 +00:00
Ian Lance Taylor
d573fd89a5 mmap.c (backtrace_free): If freeing a large aligned block of memory, call munmap rather than holding onto it.
* mmap.c (backtrace_free): If freeing a large aligned block of
	memory, call munmap rather than holding onto it.
	(backtrace_vector_grow): When growing a vector, double the number
	of pages requested.  When releasing the old version of a grown
	vector, pass the correct size to backtrace_free.

From-SVN: r210256
2014-05-09 05:01:08 +00:00
Jeff Law
0600049c86 re PR tree-optimization/61009 (Incorrect jump threading in dom)
2014-05-08  Jeff Law  <law@redhat.com>

	PR tree-optimization/61009
	* tree-ssa-threadedge.c (thread_through_normal_block): Return a
	tri-state rather than a boolean.  When a block is too big to
	thread through, inform caller via negative return value.
	(thread_across_edge): If a block was too big for normal threading,
	then it's too big for a joiner too, so remove temporary equivalences
	and return immediately.

	PR tree-optimization/61009
	* g++.dg/tree-ssa/pr61009.C: New test.

From-SVN: r210254
2014-05-08 22:54:00 -06:00
GCC Administrator
db48367c49 Daily bump.
From-SVN: r210253
2014-05-09 00:16:56 +00:00
Matthias Klose
a82122df1d re PR driver/61106 ([4.8/4.9] impliedness of -Wunused-parameter depends on -W option ordering)
gcc/

2014-05-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
            Matthias Klose  <doko@ubuntu.com>

        PR driver/61106
        * optc-gen.awk: Fix option handling for -Wunused-parameter.

gcc/testsuite/

2014-05-08  Matthias Klose  <doko@ubuntu.com>

        PR driver/61106
        * gcc-dg/unused-8a.c: New.
        * gcc-dg/unused-8b.c: Likewise.

From-SVN: r210246
2014-05-08 22:17:43 +00:00
Richard Sandiford
0af7b53a8b dg-extract-results.py: New file.
contrib/
	* dg-extract-results.py: New file.
	* dg-extract-results.sh: Use it if the environment seems suitable.

From-SVN: r210243
2014-05-08 20:24:33 +00:00
Joshua Gay
e70c7f5bc7 re PR libstdc++/61117 (Manual uses term open source but should say free software)
2014-05-08  Joshua Gay  <jgay@gnu.org>

	PR libstdc++/61117
	* doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
	source" with "free software".
	* doc/html/faq.html: Likewise.

From-SVN: r210241
2014-05-08 20:52:40 +01:00
Uros Bizjak
30e494f1f5 re PR target/59952 (-march=core-avx2 should not enable RTM)
PR target/59952
	* config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.

From-SVN: r210234
2014-05-08 21:13:10 +02:00
Uros Bizjak
b6db8af6f6 re PR target/61092 (wide-int merge broke alpha bootstrap)
PR target/61092
	* config/alpha/alpha.c: Include gimple-iterator.h.
	(alpha_gimple_fold_builtin): New function.  Move
	ALPHA_BUILTIN_UMULH folding from ...
	(alpha_fold_builtin): ... here.
	(TARGET_GIMPLE_FOLD_BUILTIN): New define.

From-SVN: r210233
2014-05-08 21:02:28 +02:00
Jonathan Wakely
07e4f10aa6 iostream: Fix URL in comment.
* include/std/iostream: Fix URL in comment.
	* src/c++98/ios_init.cc: Fix path in comment.

From-SVN: r210232
2014-05-08 20:01:51 +01:00
Jonathan Wakely
2735097a55 re PR libstdc++/13860 (Poor error messages on invalid template parameters for basic_filebuf)
PR libstdc++/13860
	* include/std/fstream (basic_filebuf): Enforce requirements on traits.

From-SVN: r210231
2014-05-08 19:30:14 +01:00
Marek Polacek
2793eeab54 re PR c/61053 (_Alignas(long long) reduces alignment of long long)
PR c/61053
c-family/
	* c-common.c (min_align_of_type): New function factored out from...
	(c_sizeof_or_alignof_type): ...here.
	* c-common.h (min_align_of_type): Declare.
c/
	* c-decl.c (grokdeclarator): Use min_align_of_type instead of
	TYPE_ALIGN_UNIT.
testsuite/
	* gcc.dg/pr61053.c: New test.

From-SVN: r210230
2014-05-08 18:19:09 +00:00
Marek Polacek
f827930ae2 re PR c/61077 (_Atomic in the return type or argument types of main not diagnosed)
PR c/61077
c-family/
	* c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
	parameter type of main.
c/
	* c-decl.c (start_function): Warn for _Atomic-qualified return type
	of main.
testsuite/
	* gcc.dg/pr61077.c: New test.

From-SVN: r210229
2014-05-08 17:42:09 +00:00
Jonathan Wakely
f0fd118f53 re PR libstdc++/57394 ([C++11] basic_streambuf incorrect copy constructor / copy assignment access specifier)
PR libstdc++/57394
	* include/bits/ios_base.h (ios_base(const ios_base&)): Define as
	deleted for C++11.
	(operator=(const ios_base&)): Likewise.
	* include/std/streambuf: Remove trailing whitespace.
	(basic_streambuf(const basic_streambuf&)): Fix initializer for
	_M_out_end. Define as defaulted for C++11.
	(operator=(const basic_streambuf&)): Define as defaulted for C++11.
	(swap(basic_streambuf&)): Define for C++11.
	* testsuite/27_io/basic_streambuf/cons/57394.cc: New.

From-SVN: r210228
2014-05-08 18:17:06 +01:00
Tobias Burnus
8a8d1a16c7 gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET and GFC_ISYM_CAF_SEND.
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
        and GFC_ISYM_CAF_SEND.
        * intrinsic.c (add_functions): Add only internally
        accessible caf_get and caf_send functions.
        * resolve.c (add_caf_get_intrinsic,
        remove_caf_get_intrinsic): New functions.
        (resolve_variable): Resolve expression rank and
        prepare for add_caf_get_intrinsic call.
        (gfc_resolve_expr): For variables, remove rank
        resolution.
        (resolve_ordinary_assign): Prepare call to
        GFC_ISYM_CAF_SEND.
        (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
        the LHS of an assignment.

From-SVN: r210225
2014-05-08 19:00:07 +02:00
Tobias Burnus
9c980a137c trans-intrinsic.c (conv_co_minmaxsum): Change condition style.
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.

From-SVN: r210224
2014-05-08 18:57:42 +02:00
Tobias Burnus
d62cf3dfbe check.c (check_co_minmaxsum, [...]): New.
gcc/fortran/
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * check.c (check_co_minmaxsum, gfc_check_co_minmax,
        gfc_check_co_sum): New.
        * error.c (gfc_notify_std): Update -std=f2008ts.
        * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
        GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
        * intrinsic.h (gfc_check_co_minmax,
        gfc_check_co_sum): Declare.
        * intrinsic.c (add_subroutines): Add co_min, co_max
        and co_sum.
        (gfc_check_intrinsic_standard): Update text for
        -std=f2008ts.
        * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
        them.
        * invoke.texi (-std=f2008ts): Update wording.
        * trans.h (gfor_fndecl_co_max,
        gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
        * trans-decl.c (gfor_fndecl_co_max,
        gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
        (gfc_build_builtin_function_decls): Assign to it.
        * trans-intrinsic.c (conv_co_minmaxsum): New.
        (gfc_conv_intrinsic_subroutine): Call it.

libgfortran/
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
        _gfortran_caf_co_min, _gfortran_caf_co_max): Declare
        * caf/single.c

gcc/testsuite/
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_collectives_1.f90: New.
        * gfortran.dg/coarray_collectives_2.f90: New.
        * gfortran.dg/coarray_collectives_3.f90: New.
        * gfortran.dg/coarray_collectives_4.f90: New.
        * gfortran.dg/coarray_collectives_5.f90: New.
        * gfortran.dg/coarray_collectives_6.f90: New.
        * gfortran.dg/coarray/collectives_1.f90: New.
        * gfortran.dg/assumed_rank_5.f90: Update dg-error.
        * gfortran.dg/assumed_type_4.f90: Update dg-error.
        * gfortran.dg/bind_c_array_params.f03: Update dg-error.
        * gfortran.dg/bind_c_usage_28.f90: Update dg-error.
        * gfortran.dg/c_funloc_tests_5.f03: Update dg-error.
        * gfortran.dg/c_funloc_tests_6.f90: Update dg-error.
        * gfortran.dg/c_loc_tests_11.f03: Update dg-error.

From-SVN: r210223
2014-05-08 18:55:23 +02:00
Wei Mi
272325bd6a re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)
gcc/
2014-05-08  Wei Mi  <wmi@google.com>

	PR target/58066
	* config/i386/i386.c (ix86_compute_frame_layout):
	Update preferred_stack_boundary for call, expanded from
	tls descriptor.
	* config/i386/i386.md:
	(*tls_global_dynamic_32_gnu): Update RTX to depend on
	SP register.
	(*tls_local_dynamic_base_32_gnu): Ditto.
	(*tls_local_dynamic_32_once): Ditto.
	(tls_global_dynamic_64_<mode>): Set
	ix86_tls_descriptor_calls_expanded_in_cfun.
	(tls_local_dynamic_base_64_<mode>): Ditto.
	(tls_global_dynamic_32): Set
	ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
	to depend on SP register.
	(tls_local_dynamic_base_32): Ditto.

gcc/testsuite/
2014-05-08  Wei Mi  <wmi@google.com>

	PR target/58066
	* gcc.target/i386/pr58066.c: New test.

From-SVN: r210222
2014-05-08 16:44:52 +00:00
Joseph Myers
60c52f66f7 avx256-unaligned-load-2.c, [...]: Allow packed-single instructions.
* gcc.target/i386/avx256-unaligned-load-2.c,
	gcc.target/i386/pr49002-1.c, gcc.target/i386/pr53712.c,
	gcc.target/i386/pr53907.c, gcc.target/i386/pr59539-1.c: Allow
	packed-single instructions.

From-SVN: r210220
2014-05-08 16:39:32 +01:00