Commit Graph

139332 Commits

Author SHA1 Message Date
Richard Biener 805a54065f genmatch.c (commutative_tree_code, [...]): Copy from tree.c
2015-07-03  Richard Biener  <rguenther@suse.de>

	* genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
	Copy from tree.c
	(dt_operand::gen_gimple_expr): After valueizing operands
	re-canonicalize operand order for commutative tree codes.

From-SVN: r225378
2015-07-03 13:46:34 +00:00
H.J. Lu dba9842f05 Add the missing file
From-SVN: r225377
2015-07-03 06:08:35 -07:00
H.J. Lu 2fd98c0acf Add IA MCU support to x86intrin.h
x86intrin.h has useful intrinsics for instructions for IA MCU.  This
patch adds __iamcu__ check to x86intrin.h and ia32intrin.h.

gcc/

	PR target/66746.
	* config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
	is defined.
	(__crc32w): Likewise.
	(__crc32d): Likewise.
	(__rdpmc): Likewise.
	(__rdtscp): Likewise.
	(_rdpmc): Likewise.
	(_rdtscp): Likewise.
	* config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
	is defined.

gcc/testsuite/

	PR target/66746.
	* gcc.target/i386/pr66746.c: New file.

From-SVN: r225376
2015-07-03 05:25:10 -07:00
Richard Biener 07cdc2b892 fold-const.c (fold_mathfn_compare): Remove.
2015-07-03  Richard Biener  <rguenther@suse.de>

	* fold-const.c (fold_mathfn_compare): Remove.
	(fold_inf_compare): Likewise.
	(fold_comparison): Move floating point comparison simplifications...
	* match.pd: ... to patterns here.  Introduce simple_comparisons
	operator list and use it for patterns formerly in fold_comparison.

From-SVN: r225375
2015-07-03 12:02:35 +00:00
Christophe Lyon c8083fc05c vget_lane.c: New testcase.
2015-07-03  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.

From-SVN: r225374
2015-07-03 12:52:03 +02:00
Paolo Carlini d885793d6e 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
* Fix component of my last ChangeLog entries.

From-SVN: r225371
2015-07-03 09:42:52 +00:00
James Greenhalgh 7bd6f24be2 [Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
gcc/

	PR tree-optimization/66119
	* toplev.c (process_options): Don't set up default values for
	the sra_max_scalarization_size_{speed,size} parameters.
	* tree-sra (analyze_all_variable_accesses): If no values
	have been set for the sra_max_scalarization_size_{speed,size}
	parameters, call get_move_ratio to get target defaults.

gcc/testsuite/

	PR tree-optimization/66119
	* g++.dg/opt/pr66119.C: New.

From-SVN: r225369
2015-07-03 09:25:54 +00:00
Richard Biener bab73f11b8 fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
2015-07-03  Richard Biener  <rguenther@suse.de>

	* fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
	* match.pd: ... here.

From-SVN: r225368
2015-07-03 07:55:10 +00:00
Gerald Pfeifer bfdb257aa3 re PR target/37072 (-mfancy-math-387 should be the default in FreeBSD)
PR target/37072
	* doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
	is not actually the default on FreeBSD.

From-SVN: r225367
2015-07-03 01:35:18 +00:00
Jason Merrill a426f31afb re PR c++/66743 (ICE: tree check: expected record_type or union_type or qual_union_type, have underlying_type in for_each_template_parm_r, at cp/pt.c:8234)
PR c++/66743
	* pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
	TYPE_VALUES_RAW rather than TYPE_FIELDS.

From-SVN: r225365
2015-07-02 20:45:34 -04:00
GCC Administrator a3d8e94a1f Daily bump.
From-SVN: r225364
2015-07-03 00:16:13 +00:00
Andrew Sutton ee00eaeaca pt.c (type_dependent_expression_p): Handle expressions that refer to variable templates.
* pt.c (type_dependent_expression_p): Handle expressions
	that refer to variable templates.

From-SVN: r225361
2015-07-02 19:16:51 -04:00
David Edelsohn 5209ef3c0b * trans-common.c: Include <map> after system.h.
From-SVN: r225358
2015-07-02 18:01:36 -04:00
Jonathan Wakely 10d712eb7d acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for --with-default-libstdcxx-abi
* acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
	--with-default-libstdcxx-abi
	* configure: Regenerate.
	* doc/xml/manual/configure.xml: Document valid arguments.

From-SVN: r225356
2015-07-02 22:52:38 +01:00
Paul Thomas 4668d6f9c0 re PR fortran/52846 ([F2008] Support submodules)
2015-07-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/52846
	* decl.c (get_proc_name): Make a partially populated interface
	symbol to carry the characteristics of a module procedure and
	its result.
	(variable_decl): Declarations of dummies or results in the
	abreviated form of module procedure is an error.
	(gfc_match_import): IMPORT is not permitted in the interface
	declaration of module procedures.
	(match_attr_spec): Submodule variables have implicit save
	attribute for F2008 onwards.
	(gfc_match_prefix): Add 'module' as the a prefix and set the
	module_procedure attribute.
	(gfc_match_formal_arglist): For a module procedure keep the
	interface formal_arglist from the interface, match new the
	formal arguments and then compare the number and names of each.
	(gfc_match_procedure): Add case COMP_SUBMODULE.
	(gfc_match_function_decl, gfc_match_subroutine_decl): Set the
	module_procedure attribute.
	(gfc_match_entry, gfc_match_end):  Add case COMP_SUBMODULE. If
	attr abr_modproc_decl is set, switch the message accordingly
	for subroutines and functions.
	(gfc_match_submod_proc): New function to match the abbreviated
	style of submodule declaration.
	* gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
	attribute bits 'used_in_submodule' and 'module_procedure'. Add
	the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
	for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
	'gfc_check_result_characteristics'.
	* interface.c : Add the prefix 'gfc_' to the names of functions
	'check_dummy(result)_characteristics' and all their references.
	* match.h : Add prototype for 'gfc_match_submod_proc' and
	'gfc_match_submodule'.
	(check_sym_interfaces): A module procedure is not an error in
	a module procedure statment in a generic interface.
	* module.c (gfc_match_submodule): New function. Add handling
	for the 'module_procedure' attribute bit.
	(gfc_use_module): Make sure that a submodule cannot use itself.
	* parse.c (decode_statement): Set attr has_'import_set' for
	the interface declaration of module procedures. Handle a match
	occurring in 'gfc_match_submod_proc' and a match for
	'submodule'.
	(gfc_enclosing_unit): Include the state COMP_SUBMODULE.
	(gfc_ascii_statement): Add END SUBMODULE.
	(accept_statement): Add ST_SUBMODULE.
	(parse_spec): Disallow statement functions in a submodule
	specification part.
	(parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
	twice each.
	(get_modproc_result): Copy the result symbol of the interface.
	(parse_progunit): Call it.
	(set_syms_host_assoc): Make symbols from the ancestor module
	and submodules use associated, as required by the standard and
	set all private components public. Module procedures 'external'
	attribute bit is reset and the 'used_in_submodule' bit is set.
	(parse_module): If this is a submodule, use the ancestor module
	and submodules. Traverse the namespace, calling
	'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
	* parse.h : Add COMP_SUBMODULE.
	* primary.c (match_variable): Add COMP_SUBMODULE.
	* resolve.c (compare_fsyms): New function to compare the dummy
	characteristics of a module procedure with its interface.
	(resolve_fl_procedure): Compare the procedure, result and dummy
	characteristics of a module_procedure with its interface, using
	'compare_fsyms' for the dummy arguments.
	* symbol.c (gfc_add_procedure): Suppress the check for existing
	procedures in the case of a module procedure.
	(gfc_add_explicit_interface): Skip checks that must fail for
	module procedures.
	(gfc_add_type): Allow a new type to be added to module
	procedures, their results or their dummy arguments.
	(gfc_copy_dummy_sym): New function to generate new dummy args
	and copy the characteristics from the interface.
	* trans-decl.c (gfc_sym_mangled_function_id): Module procedures
	must always have their names mangled as if they are symbols
	coming from a declaration in a module.
	(gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
	(gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
	set are set DECL_EXTERNAL as if they were use associated.

2015-07-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/52846
	* gfortran.dg/submodule_1.f90: New test
	* gfortran.dg/submodule_2.f90: New test
	* gfortran.dg/submodule_3.f90: New test
	* gfortran.dg/submodule_4.f90: New test
	* gfortran.dg/submodule_5.f90: New test
	* gfortran.dg/submodule_6.f90: New test
	* gfortran.dg/submodule_7.f90: New test

From-SVN: r225354
2015-07-02 20:39:56 +00:00
Paolo Carlini fbb22910cf re PR preprocessor/53690 ([C++11] \u0000 and \U00000000 are wrongly encoded as U+0001.)
/libcpp
2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53690
	* charset.c (_cpp_valid_ucn): Add cppchar_t * parameter and change
	return type to bool.  Fix encoding of \u0000 and \U00000000 in C++.
	(convert_ucn): Adjust call.
	* lex.c (forms_identifier_p): Likewise.
	* internal.h (_cpp_valid_ucn): Adjust declaration.

/gcc/testsuite
2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53690
	* g++.dg/cpp/pr53690.C: New.

From-SVN: r225353
2015-07-02 18:54:41 +00:00
Bill Schmidt a05d02b293 rs6000-builtin.def (CMPGE_16QI): New built-in definition.
[gcc]

2015-07-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
	definition.
	(CMPGE_8HI): Likewise.
	(CMPGE_4SI): Likewise.
	(CMPGE_2DI): Likewise.
	(CMPGE_U16QI): Likewise.
	(CMPGE_U8HI): Likewise.
	(CMPGE_U4SI): Likewise.
	(CMPGE_U2DI): Likewise.
	(CMPLE_16QI): Likewise.
	(CMPLE_8HI): Likewise.
	(CMPLE_4SI): Likewise.
	(CMPLE_2DI): Likewise.
	(CMPLE_U16QI): Likewise.
	(CMPLE_U8HI): Likewise.
	(CMPLE_U4SI): Likewise.
	(CMPLE_U2DI): Likewise.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
	ALTIVEC_BUILTIN_VEC_CMPLE.
	* config/rs6000/vector.md (vector_ge<mode>): Restrict to
	floating-point vector modes.
	(vector_nlt<mode>): New define_expand.
	(vector_nltu<mode>): Likewise.
	(vector_ngt<mode>): Likewise.
	(vector_ngtu<mode>): Likewise.

[gcc/testsuite]

2015-07-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

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

From-SVN: r225351
2015-07-02 18:30:35 +00:00
Steven G. Kargl 83eb71f4e4 re PR fortran/56520 (Syntax error causes misleading message: "Invalid character in name")
2015-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/56520
	* match.c (gfc_match_name): Special case unary minus and plus.

2015-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/56520
	* gfortran.dg/pr56520.f90: New test.

From-SVN: r225349
2015-07-02 17:29:04 +00:00
Steven G. Kargl 70db5f0228 re PR fortran/66545 (ICE on using undefined parameter/variable values)
2015-07-02  Steven G. Kargl   <kargl@gcc.gnu.org>

	PR fortran/66545
	* primary.c (match_sym_complex_part): Do not dereference NULL pointer.

2015-07-02  Steven G. Kargl   <kargl@gcc.gnu.org>

	PR fortran/66545
	* gfortran.dg/pr66545_1.f90: New test.
	* gfortran.dg/pr66545_2.f90: New test.

From-SVN: r225348
2015-07-02 17:02:10 +00:00
Segher Boessenkool e62bb796ef re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
PR rtl-optimization/66706
	* combine.c (make_compound_operation): If an AND of SUBREG of
	LSHIFTRT does not simplify, see if just the AND of SUBREG does.

From-SVN: r225344
2015-07-02 18:27:11 +02:00
Joseph Myers 54e378516d Regenerate .pot files.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r225313
2015-07-02 13:04:27 +01:00
Alan Lawrence 4f9a2b4e88 tree-pass.h (make_pass_ch_vect): New.
gcc/:

	* tree-pass.h (make_pass_ch_vect): New.
	* passes.def: Add pass_ch_vect just before pass_if_conversion.

	* tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
	pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
	make_pass_ch_vect): New.
	(pass_ch): Extend ch_base.

	(pass_ch::execute): Move all but loop_optimizer_init/finalize to...
	(ch_base::copy_headers): ...here.

gcc/testsuite/:

	* gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w.
	* gcc.dg/vect/vect-ifcvt-11.c: New testcase.

From-SVN: r225311
2015-07-02 11:47:31 +00:00
Richard Biener 5fa79de857 builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
2015-07-02  Richard Biener  <rguenther@suse.de>

	* builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
	* fold-const.c (get_pointer_modulus_and_residue): Remove.
	(fold_binary_loc): Implement (T)ptr & CST in terms of
	get_pointer_alignment_1.
	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
	Make sure to build the alignment test on a SSA name without
	final alignment info valid only after the prologue.

From-SVN: r225310
2015-07-02 11:33:16 +00:00
Hans-Peter Nilsson cc2af70593 cris.md ("epilogue"): Remove condition.
* config/cris/cris.md ("epilogue"): Remove condition.
	("prologue"): Ditto.

From-SVN: r225308
2015-07-02 11:25:04 +00:00
Richard Biener a02bf6abb8 re PR tree-optimization/66719 (gcc.dg/vect/bb-slp-32.c FAILs)
2015-07-02  Richard Biener  <rguenther@suse.de>

	PR testsuite/66719
	* gcc.dg/vect/bb-slp-32.c: Re-add XFAIL for targets not supporting
	unaligned loads.

From-SVN: r225303
2015-07-02 08:38:42 +00:00
Uros Bizjak dcbc9df997 configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
	* configure: Regenerate.
	* config.h.in: Ditto.

From-SVN: r225302
2015-07-02 10:30:07 +02:00
Uros Bizjak f70360e7b3 pr66702-1.C: Require vect_simd_clones effective target.
* testsuite/libgomp.c++/pr66702-1.C: Require
	vect_simd_clones effective target.
	* testsuite/libgomp.c++/pr66702-2.C: Ditto.

From-SVN: r225301
2015-07-02 10:17:20 +02:00
Richard Biener a003896684 tree-ssa-dom.c (build_and_record_new_cond): Add optional parameter to record a condition that is false.
2015-07-02  Richard Biener  <rguenther@suse.de>

	* tree-ssa-dom.c (build_and_record_new_cond): Add optional
	parameter to record a condition that is false.
	(record_conditions): When recording an extra NE_EXPR that is
	true also record a EQ_EXPR that is false.

	* gcc.dg/tree-ssa/ssa-dom-cse-4.c: New testcase.

From-SVN: r225299
2015-07-02 07:37:35 +00:00
Uros Bizjak 53ac92c3e0 guard.cc (__test_and_acquire): Use __p after __atomic_load to avoid unused variable warning.
* libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
	to avoid unused variable warning.
	(__set_and_release): Use __p after __atomic_store to avoid unused
	variable warning.

From-SVN: r225298
2015-07-02 07:58:12 +02:00
H.J. Lu 8725e9c4ab Add prototype for exit
* gcc.target/i386/mpx/pr66568.c (exit): New prototype.

From-SVN: r225296
2015-07-01 22:03:34 -07:00
Bin Cheng 6f92998579 tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
* tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
	(tree_ssa_iv_optimize_init): Initialize iv_obstack.
	(alloc_iv): New parameter.  Allocate struct iv using obstack_alloc.
	(set_iv, find_interesting_uses_address, add_candidate_1): New
	argument to alloc_iv.
	(find_interesting_uses_op, find_interesting_uses_cond): Don't
	duplicate struct iv.
	(free_loop_data): Don't free struct iv explicitly.
	(tree_ssa_iv_optimize_finalize): Free iv_obstack.

From-SVN: r225293
2015-07-02 04:32:05 +00:00
GCC Administrator 305ebd10fd Daily bump.
From-SVN: r225286
2015-07-02 00:16:11 +00:00
DJ Delorie b8a4094af1 tpf.h (LIBSTDCXX): Change to CPP1.
* config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
(LIB_SPEC): Add.
(SUPPORTS_DISCRIMINATOR): Define.

From-SVN: r225278
2015-07-01 16:18:59 -04:00
Jason Merrill 36a85135b7 c-common.h (D_CXX11): Rename from D_CXX0X.
gcc/c-family/
	* c-common.h (D_CXX11): Rename from D_CXX0X.
	(RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
	* c-common.c: Adjust.
gcc/cp/
	* lex.c (init_reswords): s/CXX0X/CXX11/.
	* parser.c (cp_lexer_get_preprocessor_token): Likewise.

From-SVN: r225273
2015-07-01 15:25:50 -04:00
Jason Merrill e7fa68d555 c-opts.c (c_common_post_options): Default to C++14.
gcc/c-family/
	* c-opts.c (c_common_post_options): Default to C++14.
gcc/testsuite/
	* lib/target-supports.exp (cxx_default): Set to C++14.

From-SVN: r225272
2015-07-01 14:27:12 -04:00
Jason Merrill a03c9bf1b1 c-opts.c (c_common_post_options): Highest ABI level is now 10.
gcc/c-family/
	* c-opts.c (c_common_post_options): Highest ABI level is now 10.
gcc/cp/
	* mangle.c (write_CV_qualifiers_for_type, write_nested_name):
	Attribute mangling is now -fabi-version=10.

From-SVN: r225271
2015-07-01 13:59:25 -04:00
Jason Merrill d68f848b12 re PR c++/65945 (C++ alignment of nullptr_t is 1 and might cause unaligned stores to the frame)
PR c++/65945
	* decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t.
	* class.c (layout_nonempty_base_or_field): Warn if that affects
	the offset of a field.

From-SVN: r225270
2015-07-01 13:59:19 -04:00
John David Anglin f9a12f7b8f linux-atomic.c (__kernel_cmpxchg): Reorder arguments to better match light-weight syscall argument order.
* config/pa/linux-atomic.c (__kernel_cmpxchg): Reorder arguments to
	better match light-weight syscall argument order.
	(__kernel_cmpxchg2): Likewise.
	Adjust callers.

From-SVN: r225267
2015-07-01 17:42:20 +00:00
Tom de Vries 5747290f51 Use scan-rtl-dump in i386/vararg-loc.c
2015-07-01  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/66723
	* gcc.target/i386/vararg-loc.c: Use scan-rtl-dump instead of
	scan-assembler.

From-SVN: r225266
2015-07-01 17:33:01 +00:00
Richard Sandiford 23bae97dbd re PR middle-end/66685 (conftest.c:16:1: internal compiler error: in as_a, at is-a.h:192)
gcc/
	PR bootstrap/66685
	* rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
	there are no CALLs in the same pattern.

From-SVN: r225263
2015-07-01 16:48:30 +00:00
Thomas Koenig c219aeb7de arith.c (gfc_arith_divide): With -Winteger-division...
2015-07-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* arith.c (gfc_arith_divide):  With -Winteger-division,
	warn about contant integer division if there is a non-zero
	remainder.
	* invoke.texi:  Document -Winteger-division.
	* lang.opt:  Add -Winteger-division.

2015-07-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.dg/warn_conversion_8.f90:  New test.

From-SVN: r225262
2015-07-01 16:43:53 +00:00
Bernd Edlinger 1e67793833 re PR rtl-optimization/61047 (wrong code at -O1 on x86_64-linux)
gcc/ChangeLog:
2015-07-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR rtl-optimization/61047
        * rtlanal.c (get_initial_register_offset): New function.
        (rtx_addr_can_trap_p_1): Check offsets of stack references.

testsuite/ChangeLog:
2015-07-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR rtl-optimization/61047
        * gcc.c-torture/execute/20150611-1.c: New testcase.

From-SVN: r225260
2015-07-01 16:10:30 +00:00
Richard Biener 2ee05f1e9b fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y...
2015-07-01  Richard Biener  <rguenther@suse.de>

	* fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
	X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
	~X CMP C -> X CMP' ~C to ...
	* match.pd: ... patterns here.

From-SVN: r225249
2015-07-01 13:18:49 +00:00
David Malcolm e09abfa408 PR jit/66700: set TREE_ADDRESSABLE when building an ADDR_EXPR
gcc/jit/ChangeLog:
	PR jit/66700
	* jit-playback.c (jit_mark_addressable): New function.
	(gcc::jit::playback::lvalue::get_address): Call
	jit_mark_addressable on the underlying tree.

gcc/testsuite/ChangeLog:
	PR jit/66700
	* jit.dg/all-non-failing-tests.h: Add
	test-pr66700-observing-write-through-ptr.c.
	* jit.dg/test-pr66700-observing-write-through-ptr.c: New testcase.

From-SVN: r225248
2015-07-01 12:50:50 +00:00
David Malcolm e807aeaae3 jit: document union types
gcc/jit/ChangeLog:
	* docs/topics/types.rst (gcc_jit_context_new_union_type): Add
	documentation.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.

gcc/testsuite/ChangeLog:
	* jit.dg/test-accessing-union.c: Add comments for use by
	gcc/jit/docs/topics/types.rst.

From-SVN: r225246
2015-07-01 12:41:18 +00:00
David Malcolm c575221ada jit: clarify (lack of) lifetime requirements on input const char *
gcc/jit/ChangeLog:
	* docs/topics/contexts.rst (gcc_jit_context_set_bool_option):
	Clarify lack of lifetime requirements on (const char *) parameter.
	* docs/topics/expressions.rst
	(gcc_jit_context_new_string_literal): Likewise.
	(gcc_jit_context_new_global): Likewise.
	* docs/topics/functions.rst (gcc_jit_context_new_param): Likewise.
	(gcc_jit_context_new_function): Likewise.
	(gcc_jit_function_new_block): Likewise.
	(gcc_jit_block_add_comment): Likewise.
	* docs/topics/locations.rst (gcc_jit_context_new_location):
	Likewise.
	* docs/topics/types.rst (gcc_jit_context_new_field): Likewise.
	(gcc_jit_context_new_struct_type): Likewise.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r225245
2015-07-01 12:34:24 +00:00
Jonathan Wakely 7946683835 alloc_traits.h (__alloctr_rebind): Remove.
* include/bits/alloc_traits.h (__alloctr_rebind): Remove.
	(__allocator_traits_base): New base class.
	(__alloc_rebind): Reimplement in terms of detection idiom.
	(allocator_traits): Derive from __allocator_traits_base. Reimplement
	nested types in terms of detection idiom. Simplify SFINAE constraints
	on overloaded static member functions.
	* include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
	of __alloctr_rebind.
	* testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
	dg-error line number.

From-SVN: r225244
2015-07-01 13:24:09 +01:00
Jonathan Wakely 4f44c5556f ptr_traits.h (__ptrtr_elt_type, [...]): Remove
* include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
	__ptrtr_rebind, __ptrtr_not_void): Remove
	(__get_first_arg, __replace_first_arg, __make_not_void): Define new
	transformations.
	(__detected_or_): New detection trait.
	(pointer_traits): Use new traits.
	* testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
	* testsuite/20_util/pointer_traits/requirements/
	explicit_instantiation.cc: Use valid arguments to pointer_traits.

From-SVN: r225243
2015-07-01 13:24:03 +01:00
Jonathan Wakely 6af6bef4ac Implement N4502, the C++ Detection Idiom.
* doc/xml/manual/status_cxx2017.xml: Update status table.
	* include/experimental/type_traits (void_t, is_detected,
	is_detected_v, detected_t, detected_or, detected_or_t,
	is_detected_exact, is_detected_exact_v, is_detected_convertible,
	is_detected_convertible_v): Define.
	* include/std/type_traits (__detector, __detected_or, __detected_or_t,
	__detected_or_t_): Define.
	* testsuite/experimental/type_traits/detection.cc: New.

From-SVN: r225242
2015-07-01 13:23:54 +01:00
Matthew Wahab 9735e6ea8e armv8-sync-comp-swap.c: Replace 'do-require-effective-target' with 'dg-require-effective-target'.
2015-07-01  Matthew Wahab  <matthew.wahab@arm.com>

	* gcc.target/arm/armv8-sync-comp-swap.c: Replace
	'do-require-effective-target' with 'dg-require-effective-target'.
	* gcc.target/arm/armv8-sync-op-full.c: Likewise.
	* gcc.target/arm/armv8-sync-op-release.c: Likewise.
	* gcc.target/arm/armv8-sync-op-acquire.c: Likewise.  Also, replace
        'stlex' with 'strex' as the expected output.

From-SVN: r225241
2015-07-01 12:16:01 +00:00