1. 03 Jul, 2015 12 commits
    • Implement std::experimental::fundamentals_v2::propagate_const. · e37e6813
      2015-07-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	Implement std::experimental::fundamentals_v2::propagate_const.
      	* include/Makefile.am: Add propagate_const.
      	* include/Makefile.in: Regenerate.
      	* include/experimental/propagate_const: New.
      	* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
      	* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
      	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
      	Likewise.
      	* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
      	* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
      	* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
      	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
      	* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
      	* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
      	* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
      	* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
      	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
      	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
      	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
      	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
      	* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
      	* testsuite/experimental/propagate_const/typedefs.cc: Likewise.
      
      From-SVN: r225379
      Ville Voutilainen committed
    • genmatch.c (commutative_tree_code, [...]): Copy from tree.c · 805a5406
      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
      Richard Biener committed
    • Add the missing file · dba9842f
      From-SVN: r225377
      H.J. Lu committed
    • Add IA MCU support to x86intrin.h · 2fd98c0a
      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
      H.J. Lu committed
    • fold-const.c (fold_mathfn_compare): Remove. · 07cdc2b8
      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
      Richard Biener committed
    • vget_lane.c: New testcase. · c8083fc0
      2015-07-03  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.
      
      From-SVN: r225374
      Christophe Lyon committed
    • 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com> · d885793d
      	* Fix component of my last ChangeLog entries.
      
      From-SVN: r225371
      Paolo Carlini committed
    • [Patch SRA] Fix PR66119 by calling get_move_ratio in SRA · 7bd6f24b
      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
      James Greenhalgh committed
    • fold-const.c (fold_binary_loc): Move (T)ptr & CST folding... · bab73f11
      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
      Richard Biener committed
    • re PR target/37072 (-mfancy-math-387 should be the default in FreeBSD) · bfdb257a
      	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
      Gerald Pfeifer committed
    • re PR c++/66743 (ICE: tree check: expected record_type or union_type or… · a426f31a
      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
      Jason Merrill committed
    • Daily bump. · a3d8e94a
      From-SVN: r225364
      GCC Administrator committed
  2. 02 Jul, 2015 21 commits
    • pt.c (type_dependent_expression_p): Handle expressions that refer to variable templates. · ee00eaea
      	* pt.c (type_dependent_expression_p): Handle expressions
      	that refer to variable templates.
      
      From-SVN: r225361
      Andrew Sutton committed
    • * trans-common.c: Include <map> after system.h. · 5209ef3c
      From-SVN: r225358
      David Edelsohn committed
    • acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for --with-default-libstdcxx-abi · 10d712eb
      	* 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
      Jonathan Wakely committed
    • re PR fortran/52846 ([F2008] Support submodules) · 4668d6f9
      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
      Paul Thomas committed
    • re PR preprocessor/53690 ([C++11] \u0000 and \U00000000 are wrongly encoded as U+0001.) · fbb22910
      /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
      Paolo Carlini committed
    • rs6000-builtin.def (CMPGE_16QI): New built-in definition. · a05d02b2
      [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
      Bill Schmidt committed
    • re PR fortran/56520 (Syntax error causes misleading message: "Invalid character in name") · 83eb71f4
      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
      Steven G. Kargl committed
    • re PR fortran/66545 (ICE on using undefined parameter/variable values) · 70db5f02
      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
      Steven G. Kargl committed
    • re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32)) · e62bb796
      	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
      Segher Boessenkool committed
    • Regenerate .pot files. · 54e37851
      gcc/po:
      	* gcc.pot: Regenerate.
      
      libcpp/po:
      	* cpplib.pot: Regenerate.
      
      From-SVN: r225313
      Joseph Myers committed
    • tree-pass.h (make_pass_ch_vect): New. · 4f9a2b4e
      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
      Alan Lawrence committed
    • builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR. · 5fa79de8
      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
      Richard Biener committed
    • cris.md ("epilogue"): Remove condition. · cc2af705
      	* config/cris/cris.md ("epilogue"): Remove condition.
      	("prologue"): Ditto.
      
      From-SVN: r225308
      Hans-Peter Nilsson committed
    • re PR tree-optimization/66719 (gcc.dg/vect/bb-slp-32.c FAILs) · a02bf6ab
      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
      Richard Biener committed
    • configure.ac: Add AC_USE_SYSTEM_EXTENSIONS. · dcbc9df9
      	* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
      	* configure: Regenerate.
      	* config.h.in: Ditto.
      
      From-SVN: r225302
      Uros Bizjak committed
    • pr66702-1.C: Require vect_simd_clones effective target. · f70360e7
      	* testsuite/libgomp.c++/pr66702-1.C: Require
      	vect_simd_clones effective target.
      	* testsuite/libgomp.c++/pr66702-2.C: Ditto.
      
      From-SVN: r225301
      Uros Bizjak committed
    • tree-ssa-dom.c (build_and_record_new_cond): Add optional parameter to record a… · a0038966
      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
      Richard Biener committed
    • guard.cc (__test_and_acquire): Use __p after __atomic_load to avoid unused variable warning. · 53ac92c3
      	* 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
      Uros Bizjak committed
    • Add prototype for exit · 8725e9c4
      	* gcc.target/i386/mpx/pr66568.c (exit): New prototype.
      
      From-SVN: r225296
      H.J. Lu committed
    • tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack. · 6f929985
      
      	* 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
      Bin Cheng committed
    • Daily bump. · 305ebd10
      From-SVN: r225286
      GCC Administrator committed
  3. 01 Jul, 2015 7 commits