Commit Graph

137696 Commits

Author SHA1 Message Date
Jonathan Wakely
952bc7a64c re PR libstdc++/65760 (invalid use of incomplete type with std::is_convertible<C, C>)
PR libstdc++/65760
	* include/std/functional (__check_func_return_type): Use is_same to
	avoid using _is_convertible on incomplete types.
	* testsuite/20_util/function/65760.cc: New.

From-SVN: r222581
2015-04-29 17:07:47 +01:00
Thomas Schwinge
b811915de1 Add OMP_STANDALONE_CLAUSES.
gcc/
	* tree.h (OMP_STANDALONE_CLAUSES): New macro.
	* gimplify.c (gimplify_omp_workshare): Use it.
	gcc/c/
	* c-parser.c (c_parser_oacc_enter_exit_data): Use
	OMP_STANDALONE_CLAUSES.
	gcc/cp/
	* parser.c (cp_parser_oacc_enter_exit_data): Use
	OMP_STANDALONE_CLAUSES.

From-SVN: r222580
2015-04-29 17:44:41 +02:00
Jonathan Wakely
f970a17d6f re PR libstdc++/64657 (Support iterators with overloaded operator-comma)
PR libstdc++/64657
	* include/bits/basic_string (basic_string::_S_copy_chars): Cast
	expression to void.
	* include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
	time_get::_M_extract_num, time_get::_M_extract_name,
	time_get::_M_extract_wday_or_month): Likewise.
	* include/bits/stl_algo.h (__includes, __replace_copy_if,
	__is_sorted_until, __is_permutation, transform): Likewise.
	* include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
	__equal::equal, __lexicographical_compare_impl, equal): Likewise.
	* include/bits/stl_numeric.h (inner_product): Likewise.
	* include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
	input_iterator_wrapper): Declare unusable comma operator.
	* testsuite/21_strings/basic_string/cons/char/64657.cc: New.
	* testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
	New.

From-SVN: r222579
2015-04-29 16:22:13 +01:00
Paolo Carlini
0aa359c18f re PR c++/64667 (-Winit-self ignored for reference fields)
/cp
2015-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64667
	* init.c (perform_member_init): Handle references for -Winit-self.

/testsuite
2015-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64667
	* g++.dg/warn/Winit-self-3.C: New.

From-SVN: r222577
2015-04-29 14:06:27 +00:00
Richard Sandiford
72d33bd3d2 Makefile.in (build/genrecog.o): Depend on inchash.h.
gcc/
	* Makefile.in (build/genrecog.o): Depend on inchash.h.
	(build/genrecog$(build_exeext): Depend on build/hash-table.o and
	build/inchash.o
	* genrecog.c: Rewrite most of the code except for the third page.

From-SVN: r222575
2015-04-29 13:32:59 +00:00
Richard Sandiford
34ba5affde inchash.h, inchash.c: Include bconfig.h for build objects.
gcc/
	* inchash.h, inchash.c: Include bconfig.h for build objects.
	* Makefile.in (build/inchash.o): New rule.

From-SVN: r222574
2015-04-29 13:32:34 +00:00
Uros Bizjak
94a8281152 namelist_87.f90: Use dg-add-options ieee.
* gfortran.dg/namelist_87.f90: Use dg-add-options ieee.

From-SVN: r222573
2015-04-29 13:53:39 +02:00
Yvan Roux
b43482db17 re PR target/65924 (ICE const_int_operand failed on arm-none-eabi)
gcc/
2015-04-29  Yvan Roux  <yvan.roux@linaro.org>

	PR target/65924
	* config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
	number in type attribute expression.

gcc/testsuite/
2015-04-29  Yvan Roux  <yvan.roux@linaro.org>

	PR target/65924
	* gcc.target/arm/pr65924.c: New test.

From-SVN: r222572
2015-04-29 11:31:40 +00:00
Richard Sandiford
674dd7103b loop-iv.c (canon_condition): Generalize to all types of integer constant.
gcc/
	* loop-iv.c (canon_condition): Generalize to all types of integer
	constant.

From-SVN: r222571
2015-04-29 11:12:17 +00:00
Bernhard Reutner-Fischer
917c68f565 gimple-walk.c #include TLC
Also look at return values of parse_input_constraint and
parse_output_constraint.

From-SVN: r222569
2015-04-29 12:45:31 +02:00
Alan Lawrence
ee9da432b6 [ARM]Remove vec_shr and vec_shr optabs
* config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.

From-SVN: r222568
2015-04-29 10:13:36 +00:00
Tom de Vries
32966af8aa Move pass_stdarg to after pass_dce in pass_all_optimizations
2015-04-29  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65893
	* passes.def (pass_all_optimizations): Move pass_stdarg to after
	pass_dce.

From-SVN: r222567
2015-04-29 09:13:49 +00:00
Thomas Schwinge
2c8f068300 Fix OpenMP's target update directive in templated code.
FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++98 (internal compiler error)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++98 (test for excess errors)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++11 (internal compiler error)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++11 (test for excess errors)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++14 (internal compiler error)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++14 (test for excess errors)

    [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C: In instantiation of 'void f(T, T) [with T = int]':
    [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:19:9:   required from here
    [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:10:9: internal compiler error: tree check: expected oacc_parallel or oacc_kernels or oacc_data or oacc_host_data or omp_parallel or omp_task or omp_for or omp_simd or cilk_simd or cilk_for or omp_distribute or oacc_loop or omp_teams or omp_target_data or omp_target or omp_sections or omp_single, have omp_target_update in tsubst_expr, at cp/pt.c:14209
    0xf5aae1 tree_range_check_failed(tree_node const*, char const*, int, char const*, tree_code, tree_code)
            [...]/source-gcc/gcc/tree.c:9384
    0x66e201 tree_range_check
            [...]/source-gcc/gcc/tree.h:2979
    0x66e201 tsubst_expr
            [...]/source-gcc/gcc/cp/pt.c:14209
    0x6695e3 tsubst_expr
            [...]/source-gcc/gcc/cp/pt.c:13752
    0x66ac07 tsubst_expr
            [...]/source-gcc/gcc/cp/pt.c:13938
    0x667c41 instantiate_decl(tree_node*, int, bool)
            [...]/source-gcc/gcc/cp/pt.c:20367
    0x6ae386 instantiate_pending_templates(int)
            [...]/source-gcc/gcc/cp/pt.c:20484
    0x6edc3d cp_write_global_declarations()
            [...]/source-gcc/gcc/cp/decl2.c:4456

	gcc/cp/
	* pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
	OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
	gcc/testsuite/
	* g++.dg/gomp/tpl-target-update.C: New file.

From-SVN: r222564
2015-04-29 11:04:31 +02:00
Richard Biener
b504063421 re PR tree-optimization/65917 (XFAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2)
2015-04-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65917
	* gcc.dg/tree-ssa/20030922-2.c: Disable ifcombine and XFAIL.

From-SVN: r222562
2015-04-29 08:51:08 +00:00
Jakub Jelinek
8848828bec c-common.h (omp_clause_mask): Unconditionally define as a class.
* c-common.h (omp_clause_mask): Unconditionally define as a class.
	Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
	HOST_BITS_PER_WIDE_INT.

From-SVN: r222561
2015-04-29 10:25:11 +02:00
Richard Biener
c804769945 tree-vect-data-refs.c (vect_analyze_group_access): Properly compute GROUP_SIZE for basic-block SLP.
2015-04-29  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_analyze_group_access): Properly
	compute GROUP_SIZE for basic-block SLP.
	* tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
	take into account gaps.
	(vect_get_mask_element): Properly reject references to previous
	vectors.
	(vect_transform_slp_perm_load): Likewise.

From-SVN: r222560
2015-04-29 08:15:52 +00:00
Christian Bruel
b4d1725b54 re PR target/64835 (-fno-ipa-cp is inconsitently supported when attributes optimize or target are used)
2015-04-29  Christian Bruel  <christian.bruel@st.com>

	PR target/64835
	* config/i386/i386.c (ix86_default_align): New function.
	(ix86_override_options_after_change): Call ix86_default_align.
	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
	(ix86_override_options_after_change): New function.

From-SVN: r222559
2015-04-29 08:52:23 +02:00
Doug Evans
874ef163cf list.cc (_GLIBCXX_USE_CXX11_ABI): Define to zero.
* testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
	Define to zero.

From-SVN: r222556
2015-04-29 00:17:09 +00:00
GCC Administrator
6e2a868d04 Daily bump.
From-SVN: r222555
2015-04-29 00:16:15 +00:00
Jeff Law
11da52a9ce * tree-ssa-dom.c (record_equality); Fix comment typos.
From-SVN: r222551
2015-04-28 17:18:27 -06:00
Jason Merrill
3f8e2835ae re PR c++/65896 (Erroneous uninitialized variable access error in constexpr function with temporary variables)
PR c++/65896
	* constexpr.c (cxx_eval_store_expression): Don't try to actually
	store an empty class.

From-SVN: r222549
2015-04-28 17:27:17 -04:00
Joseph Myers
db6113067c * fr.po: Update.
From-SVN: r222547
2015-04-28 22:21:24 +01:00
Tom de Vries
ecd0e56213 Remove ifn_va_arg ap fixup
2015-04-28  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65887
	* gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.

	* c-common.c (build_va_arg): Mark va_arg ap argument as addressable.

From-SVN: r222546
2015-04-28 20:58:51 +00:00
Sandra Loosemore
2a26eef835 extend.texi (Declaring Attributes of Functions): Split into subsections by target.
2015-04-28  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Declaring Attributes of Functions): Split into
	subsections by target.  Alphabetize the table of common attributes.
	Rewrite some of the introductory text to reflect the new structure.
	Update some cross-references to point to the new subsections.
	(Attribute Syntax): Put paragraph about "__" naming here.  Remove
	duplicate copies in the discussion of function, label, and type
	attributes.

From-SVN: r222543
2015-04-28 16:15:59 -04:00
Jonathan Wakely
2e7e2075d1 stl_algo.h (random_shuffle): Only define for hosted implementations.
* include/bits/stl_algo.h (random_shuffle): Only define for hosted
	implementations.

From-SVN: r222542
2015-04-28 20:42:56 +01:00
Jonathan Wakely
0088583b25 Makefile.am (SUBDIRS): Move python to hosted_source.
* Makefile.am (SUBDIRS): Move python to hosted_source.
	* Makefile.in: Regenerate.
	* acinclude.m4 (glibcxx_SUBDIRS): Reorder.
	* configure: Regenerate.

From-SVN: r222541
2015-04-28 20:42:51 +01:00
Marc Glisse
fa9ac91269 re PR libstdc++/65883 (numeric_limits<unsigned __int128>::max() returns incorrect value)
2015-04-28  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/65883
	* include/std/limits (numeric_limits): Add missing unsigned.

From-SVN: r222540
2015-04-28 19:35:49 +00:00
Andre Vehreschild
77b7d71e79 interface.c (gfc_compare_types): Check for unlimited polymorphism flag in the correct position indepent of the...
gcc/fortran/ChangeLog:

2015-04-28  Andre Vehreschild  <vehre@gmx.de>

	* interface.c (gfc_compare_types): Check for unlimited
	polymorphism flag in the correct position indepent of the _data
	component being present or not.  This prevents a segfault, when
	the _data component is not present.
	* symbol.c (gfc_type_compatible): Same.

gcc/testsuite/ChangeLog:

2015-04-28  Andre Vehreschild  <vehre@gmx.de>

	* gfortran.dg/implicit_class_1.f90: Adding flag to check, if
	segfault is fixed.

From-SVN: r222539
2015-04-28 21:03:01 +02:00
Marek Polacek
f307500830 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
From-SVN: r222537
2015-04-28 17:29:24 +00:00
Caroline Tice
f11fcf6a1e Fix typos in entry from yesterday, as requested.
From-SVN: r222536
2015-04-28 10:27:19 -07:00
Dominique d'Humieres
68d15e8cce re PR bootstrap/65910 (r222473 breaks x86_64 darwin bootstrap)
2015-04-28  Dominique d'Humieres  <dominiq@lps.ens.fr>

        PR bootstrap/65910
        * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.

From-SVN: r222535
2015-04-28 13:16:19 -04:00
Bill Schmidt
0a5946254c vect-33.c: Remove spurious line.
2015-04-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vect/vect-33.c: Remove spurious line.

From-SVN: r222533
2015-04-28 15:44:24 +00:00
Stephan Bergmann
77e9546989 vector (_Safe_vector::operator=): Add missing returns.
2015-04-28  Stephan Bergmann  <sbergman@redhat.com>

	* include/debug/vector (_Safe_vector::operator=): Add missing returns.

From-SVN: r222532
2015-04-28 16:05:27 +01:00
Jason Merrill
5756d0f931 re PR c++/65656 (__builtin_constant_p should always be constexpr)
PR c++/65656
	* constexpr.c (cxx_eval_builtin_function_call): Fix
	__builtin_constant_p.

From-SVN: r222531
2015-04-28 10:43:59 -04:00
Jason Merrill
b71983a5ba re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800
	* tree.c (strip_typedefs): Add remove_attributes parm.
	(strip_typedefs_expr): Likewise.
	(apply_identity_attributes): New subroutine of strip_typedefs.
	* pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
	(convert_nontype_argument, unify): Likewise.
	* cp-tree.h: Adjust.

From-SVN: r222530
2015-04-28 10:43:54 -04:00
Jason Merrill
7bfc5adac8 re PR c++/65734 (Yet another case of lost alignment by stor_layout)
PR c++/65734
gcc/
	* stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
	(finalize_type_size): Respect TYPE_USER_ALIGN.
	(layout_type) [ARRAY_TYPE]: Likewise.
gcc/cp/
	* class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN.

From-SVN: r222529
2015-04-28 10:43:48 -04:00
Yvan Roux
544f7fc841 arm.md (*arm_movt): Fix type attribute.
2015-04-28  Yvan Roux  <yvan.roux@linaro.org>

	* config/arm/arm.md (*arm_movt): Fix type attribute.
	(*cmpsi_shiftsi): Likewise.
	(*cmpsi_shiftsi_swp): Likewise.
	(*movsicc_insn): Likewise.
	(*cond_move): Likewise.
	(*if_plus_move): Likewise.
	(*if_move_plus): Likewise.
	(*if_arith_move): Likewise.
	(*if_move_arith): Likewise.
	(*if_shift_move): Likewise.
	(*if_move_shift): Likewise.
	(*arm_movtas_ze): Likewise.
	* config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
	redundancy and type attribute.
	(*thumb2_movsi_insn): Fix type attribute.
	(*thumb2_addsi_short): Likewise.
	(thumb2_addsi3_compare0): Likewise.
	(*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
	attributes accordingly.

From-SVN: r222528
2015-04-28 14:41:04 +00:00
Jan Hubicka
6d8a9f7c66 * g++.dg/tree-ssa/pr61034.C: Add temporary; fix template.
From-SVN: r222527
2015-04-28 14:13:59 +00:00
Jonathan Wakely
73d81d3a6b re PR libstdc++/60333 (type_traits make_signed, make_unsigned missing support for long long enumerations)
PR libstdc++/60333
	* include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
	Handle enumeration types larger than sizeof(long).
	(__make_signed_selector<_Tp, false, true>): Find unsigned type then
	make it signed.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
	dg-error.
	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.

From-SVN: r222526
2015-04-28 14:21:54 +01:00
Jonathan Wakely
956d18149e re PR libstdc++/61645 (forward_list::splice_after shall not throw exceptions)
PR libstdc++/61645
	* include/bits/forward_list.h (forward_list::splice_after): Add
	noexcept.
	* include/bits/forward_list.tcc (forward_list::splice_after):
	Likewise.

From-SVN: r222525
2015-04-28 14:05:33 +01:00
Jonathan Wakely
d747ee05e3 re PR libstdc++/65631 (seed_seq should not be copyable)
PR libstdc++/65631
	* include/bits/random.h (seed_seq) Define copy constructor and copy
	assignment as deleted.
	* testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.

From-SVN: r222524
2015-04-28 13:35:30 +01:00
Jonathan Wakely
196e0493cb exception (uncaught_exceptions): Add comment.
* libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
	Use -std=gnu++1z. Check feature-test macro.

From-SVN: r222523
2015-04-28 13:07:40 +01:00
Jonathan Wakely
bd1eb5e092 type_traits (void_t): Add.
* include/std/type_traits (void_t): Add.
	* testsuite/20_util/void_t/1.cc: New.

From-SVN: r222522
2015-04-28 13:07:34 +01:00
Markus Trippelsdorf
6b241bd157 re PR middle-end/65911 (r222508 breaks clang-tblgen)
Fix PR65911

2015-04-28  Markus Trippelsdorf  <markus@trippelsdorf.de>

	PR other/65911
	* function.c (pad_to_arg_alignment): Add parentheses.

From-SVN: r222521
2015-04-28 10:09:43 +00:00
Uros Bizjak
cc86234f0f elf-lib.h: New file.
libgcc/ChangeLog:

	* config/frv/elf-lib.h: New file.
	(CRT_GET_RFIB_DATA): Move definition from gcc/config/frv/frv.h.
	* libgcc/config.host (frv-*elf, frv-*-*linux*): Add frv/elf-lib.h
	to tm_file.

	* config/frv/frvbengin.c: Do not include defaults.h
	* config/frv/frvend.c: Ditto.

gcc/ChangeLog:

	* config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
	libgcc/config/frv/elf-lib.h.

From-SVN: r222519
2015-04-28 11:23:40 +02:00
Eric Botcazou
2a877204be c-ada-spec.c (in_function): Delete.
* c-ada-spec.c (in_function): Delete.
	(dump_generic_ada_node): Do not change in_function and remove the
	redundant code dealing with it.
	(print_ada_declaration): Do not change in_function.  Use INDENT_INCR.
	(print_ada_methods): Output the static member functions in a nested
	package after the regular methods as well as associated renamings.

Co-Authored-By: Pierre-Marie de Rodat <derodat@adacore.com>

From-SVN: r222517
2015-04-28 08:54:07 +00:00
Tom de Vries
0e8623e9c6 Fix example in header comment in tree-call-cdce.c
2015-04-28  Tom de Vries  <tom@codesourcery.com>

	* tree-call-cdce.c: Fix example in header comment.

From-SVN: r222516
2015-04-28 08:46:37 +00:00
Marek Polacek
4e81b788bb re PR c/65901 (no warning or error for va_arg (ap, void))
PR c/65901
	* c-typeck.c (c_build_va_arg): Require TYPE be a complete type.

	* gcc.c-torture/compile/pr48767.c (foo): Add dg-error.
	* gcc.dg/pr65901.c: New test.

From-SVN: r222515
2015-04-28 08:36:50 +00:00
Richard Biener
90dd6e3df8 re PR fortran/62283 (basic-block vectorization fails)
2015-04-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62283
	* tree-vect-slp.c (vect_build_slp_tree): When the SLP build
	fails fatally and we are vectorizing a basic-block simply
	cause the child to be constructed piecewise.
	(vect_analyze_slp_cost_1): Adjust.
	(vect_detect_hybrid_slp_stmts): Likewise.
	(vect_bb_slp_scalar_cost): Likewise.
	(vect_get_constant_vectors): For piecewise constructed
	constants place them after the last def.
	(vect_get_slp_defs): Adjust.
	* tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
	externals for basic-block vectorization.

	* gfortran.dg/vect/pr62283-2.f: New testcase.
	* gcc.dg/vect/bb-slp-14.c: Adjust.

From-SVN: r222514
2015-04-28 08:30:44 +00:00
Thomas Preud'homme
fde9b31b61 re PR target/63503 ([AArch64] A57 executes fused multiply-add poorly in some situations)
2015-04-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/63503
    * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
    aarch64-*-*.
    * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
    * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
    (AARCH64_TUNE_FMA_STEERING): Likewise.
    * config/aarch64/aarch64-cores.def: Set
    AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
    FMUL/FMADD instructions.
    * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
    (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
    aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
    * config/aarch64/cortex-a57-fma-steering.h: New file.
    * config/aarch64/cortex-a57-fma-steering.c: Likewise.

From-SVN: r222512
2015-04-28 08:10:44 +00:00