Commit Graph

155009 Commits

Author SHA1 Message Date
Jonathan Wakely e020783cd6 Fix indentation in std::basic_filebuf member functions
* include/bits/fstream.tcc (basic_filebuf::xsgetn)
	(basic_filebuf::xsputn, basic_filebuf::seekoff): Fix indentation.

From-SVN: r250353
2017-07-19 16:46:04 +01:00
Tom de Vries 8f860bca00 Fix assert in gimple_phi_set_arg
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* gimple.h (gimple_phi_set_arg): Make assert more strict.

From-SVN: r250352
2017-07-19 15:33:50 +00:00
Tom de Vries a6e07e27e7 Fix assert in gimple_phi_arg
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* gimple.h (gimple_phi_arg): Make assert more strict.

From-SVN: r250351
2017-07-19 15:33:40 +00:00
Steven Munroe a85492f3cd Now adding the mmintrin.h intrinsic headers. The DG tests will follow.
2017-07-19  Steven Munroe  <munroesj@gcc.gnu.org>

	* config.gcc (powerpc*-*-*): Add mmintrin.h.
	* config/rs6000/mmintrin.h: New file.
	* config/rs6000/x86intrin.h [__ALTIVEC__]: Include mmintrin.h.

From-SVN: r250350
2017-07-19 15:24:42 +00:00
Jonathan Wakely 4e66b02bc1 Fix indentation in libstdc++ testsuite utils
* testsuite/util/testsuite_iterators.h: Fix indentation.

From-SVN: r250349
2017-07-19 15:49:00 +01:00
Nathan Sidwell 4a18c06666 class.c (add_implicitly_declared_members): Use classtype_has_move_assign_or_move_ctor_p.
* class.c (add_implicitly_declared_members): Use
	classtype_has_move_assign_or_move_ctor_p.
	(classtype_has_move_assign_or_move_ctor,
	classtype_has_user_move_assign_or_move_ctor_p): Merge into ...
	(classtype_has_move_assign_or_move_ctor_p): ... this new function.
	* cp-tree.h (classtype_has_user_move_assign_or_move_ctor_p):
	Replace with ...
	(classtype_has_move_assign_or_move_ctor_p): ... this.
	* method.c (maybe_explain_implicit_delete, lazily_declare_fn): Adjust.
	* tree.c (type_has_nontrivial_copy_init): Adjust.

From-SVN: r250344
2017-07-19 13:28:21 +00:00
Jakub Jelinek 1eba086706 re PR libquadmath/65757 (gfortran gives incorrect result for anint with real*16 argument)
PR libquadmath/65757
	* quadmath-imp.h (math_opt_barrier, math_force_eval,
	math_narrow_eval, math_check_force_underflow,
	math_check_force_underflow_nonneg): Define.
	* math/ceilq.c: Backport changes from upstream glibc
	between 2012-11-01 and 2017-07-13.
	* math/remquoq.c: Likewise.
	* math/expq.c: Likewise.
	* math/llroundq.c: Likewise.
	* math/logq.c: Likewise.
	* math/atanq.c: Likewise.
	* math/nearbyintq.c: Likewise.
	* math/scalblnq.c: Likewise.
	* math/finiteq.c: Likewise.
	* math/atanhq.c: Likewise.
	* math/expm1q.c: Likewise.
	* math/sinhq.c: Likewise.
	* math/log10q.c: Likewise.
	* math/rintq.c: Likewise.
	* math/roundq.c: Likewise.
	* math/fmaq.c: Likewise.
	* math/erfq.c: Likewise.
	* math/log2q.c: Likewise.
	* math/lroundq.c: Likewise.
	* math/j1q.c: Likewise.
	* math/scalbnq.c: Likewise.
	* math/truncq.c: Likewise.
	* math/frexpq.c: Likewise.
	* math/sincosq.c: Likewise.
	* math/tanhq.c: Likewise.
	* math/asinq.c: Likewise.
	* math/coshq.c: Likewise.
	* math/j0q.c: Likewise.
	* math/asinhq.c: Likewise.
	* math/floorq.c: Likewise.
	* math/sinq_kernel.c: Likewise.
	* math/powq.c: Likewise.
	* math/hypotq.c: Likewise.
	* math/sincos_table.c: Likewise.
	* math/rem_pio2q.c: Likewise.
	* math/nextafterq.c: Likewise.
	* math/log1pq.c: Likewise.
	* math/sincosq_kernel.c: Likewise.
	* math/tanq.c: Likewise.
	* math/acosq.c: Likewise.
	* math/lrintq.c: Likewise.
	* math/llrintq.c: Likewise.

From-SVN: r250343
2017-07-19 15:12:58 +02:00
Jakub Jelinek 564e405c13 re PR tree-optimization/81346 (Missed constant propagation into comparison)
PR tree-optimization/81346
	* match.pd: Optimize (X - 1U) <= INT_MAX-1U into (int) X > 0.

	* gcc.dg/tree-ssa/pr81346-5.c: New test.

From-SVN: r250342
2017-07-19 15:10:05 +02:00
Tom de Vries 3717fbe35e Add v2di support for nvptx
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* config/nvptx/nvptx-modes.def: Add V2DImode.
	* config/nvptx/nvptx-protos.h (nvptx_data_alignment): Declare.
	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Handle V2DImode.
	(nvptx_output_mov_insn): Handle lack of mov.b128.
	(nvptx_print_operand): Handle 'H' and 'L' codes.
	(nvptx_vector_mode_supported): Allow V2DImode.
	(nvptx_preferred_simd_mode): New function.
	(nvptx_data_alignment): New function.
	(TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Redefine to
	nvptx_preferred_simd_mode.
	* config/nvptx/nvptx.h (STACK_BOUNDARY, BIGGEST_ALIGNMENT): Change from
	64 to 128 bits.
	(DATA_ALIGNMENT): Define.  Set to nvptx_data_alignment.

	* config/nvptx/nvptx.md (VECIM): Add V2DI.

	* gcc.target/nvptx/decl-init.c: Update alignment.
	* gcc.target/nvptx/slp-2-run.c: New test.
	* gcc.target/nvptx/slp-2.c: New test.
	* gcc.target/nvptx/v2di.c: New test.

	* testsuite/libgomp.oacc-c/vec.c: New test.

From-SVN: r250341
2017-07-19 13:05:35 +00:00
Tom de Vries b98b34b708 Add v2si support for nvptx
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* config/nvptx/nvptx-modes.def: New file.  Add V2SImode.
	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Handle V2SImode.
	(nvptx_vector_mode_supported): New function.  Allow V2SImode.
	(TARGET_VECTOR_MODE_SUPPORTED_P): Redefine to nvptx_vector_mode_supported.
	* config/nvptx/nvptx.md (VECIM): New mode iterator. Add V2SI.
	(mov<VECIM>_insn): New define_insn.
	(define_expand "mov<VECIM>): New define_expand.

	* gcc.target/nvptx/slp-run.c: New test.
	* gcc.target/nvptx/slp.c: New test.
	* gcc.target/nvptx/v2si-cvt.c: New test.
	* gcc.target/nvptx/v2si-run.c: New test.
	* gcc.target/nvptx/v2si.c: New test.
	* gcc.target/nvptx/vec.inc: New test.

From-SVN: r250340
2017-07-19 13:05:21 +00:00
Tom de Vries 1310ff035d Add generic v2 vector mode support for nvptx
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* config/nvptx/nvptx.c (nvptx_print_operand): Handle v2 vector mode.

From-SVN: r250339
2017-07-19 13:05:09 +00:00
Jakub Jelinek 8d1628eb33 re PR tree-optimization/81346 (Missed constant propagation into comparison)
PR tree-optimization/81346
	* fold-const.h (fold_div_compare, range_check_type): Declare.
	* fold-const.c (range_check_type): New function.
	(build_range_check): Use range_check_type.
	(fold_div_compare): No longer static, rewritten into
	a match.pd helper function.
	(fold_comparison): Don't call fold_div_compare here.
	* match.pd (X / C1 op C2): New optimization using fold_div_compare
	as helper function.

	* gcc.dg/tree-ssa/pr81346-1.c: New test.
	* gcc.dg/tree-ssa/pr81346-2.c: New test.
	* gcc.dg/tree-ssa/pr81346-3.c: New test.
	* gcc.dg/tree-ssa/pr81346-4.c: New test.
	* gcc.target/i386/umod-3.c: Hide comparison against 1 from the
	compiler to avoid X / C1 op C2 optimization to trigger.

From-SVN: r250338
2017-07-19 14:31:59 +02:00
Nathan Sidwell 20deef65ae tree.h (TYPE_MINVAL, [...]): Rename to ...
gcc/
	* tree.h (TYPE_MINVAL, TYPE_MAXVAL): Rename to ...
	(TYPE_MIN_VALUE_RAW, TYPE_MAX_VALUE_RAW): ... these.
	* tree.c (find_decls_types_r, verify_type): Use
	TYPE_{MIN,MAX}_VALUE_RAW.
	* lto-streamer-out.c (DFS::DFS_write_tree_body): Likewise.
	(hash_tree): Likewise.
	* tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers):
	Likewise.
	* tree-streamer-out.c (write_ts_type_non_common_tree_pointers):
	Likewise.

	gcc/cp/
	* cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS,
	PACK_EXPANSION_EXTRA_ARGS): Use TYPE_{MIN,MAX}_VALUE_RAW.

	gcc/lto/
	* lto.c (mentions_vars_p_type): Use TYPE_{MIN,MAX}_VALUE_RAW.
	(compare_tree_sccs_1, lto_fixup_prevailing_decls): Likewise.

	gcc/objc/
	* objc-act.h (CLASS_NST_METHODS, CLASS_CLS_METHODS): Use
	TYPE_{MIN,MAX}_VALUE_RAW.

From-SVN: r250337
2017-07-19 12:01:18 +00:00
Martin Liska 4d6ababc62 Fix an UBSAN test-case (PR sanitizer/63361).
2017-07-19  Martin Liska  <mliska@suse.cz>

	PR sanitizer/63361
	* c-c++-common/ubsan/float-cast-overflow-1.c: Add either
	-ffloat-store or -mieee for targets that need it.

From-SVN: r250336
2017-07-19 06:50:34 +00:00
Tom de Vries d83cc5ccf7 Handle equal-argument loop exit phi in expand_omp_for_static_chunk
2017-07-18  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/81464
	* omp-expand.c (expand_omp_for_static_chunk): Handle equal-argument loop
	exit phi.

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

From-SVN: r250335
2017-07-19 06:25:40 +00:00
Yury Gribov 8994b66f0d Add myself to MAINTAINERS.
From-SVN: r250334
2017-07-19 05:25:47 +00:00
Jonathan Wakely 1f78c47bf0 Use dg-require-fileio in new test
* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: Add dg-require.

From-SVN: r250333
2017-07-19 01:23:00 +01:00
GCC Administrator af15ea9d0e Daily bump.
From-SVN: r250332
2017-07-19 00:16:19 +00:00
Jonathan Wakely fddcd19abf PR libstdc++/81395 fix crash when write follows large read
PR libstdc++/81395
	* include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer
	pointers for write mode after reading.
	* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New.

From-SVN: r250328
2017-07-19 00:39:34 +01:00
Ian Lance Taylor 6033b55bd9 compiler: insert backend type conversion for closure func ptr
In Func_expression::do_get_backend when creating the backend
    representation for a closure, create a backend type conversion to
    account for potential differences between the closure struct type
    (where the number of fields is dependent on the number of values
    referenced in the closure) and the generic function descriptor type
    (struct with single function pointer field).
    
    Reviewed-on: https://go-review.googlesource.com/49255

From-SVN: r250327
2017-07-18 23:29:15 +00:00
Ian Lance Taylor 9e45ca5f83 re PR go/81451 (missing futex check - libgo/runtime/thread-linux.c:12:0 futex.h:13:12: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘long’)
PR go/81451
    runtime: inline runtime_osinit
    
    We had two identical copies of runtime_osinit. They set runtime_ncpu,
    a variable that is no longer used. Removing that leaves us with two lines.
    Inline those two lines in the two places the function was called.
    
    This fixes GCC PR 81451.
    
    Reviewed-on: https://go-review.googlesource.com/48862

From-SVN: r250326
2017-07-18 23:14:29 +00:00
Ian Lance Taylor ab86687fee compiler: pass correct 'function' flag to circular_pointer_type
The code in Named_type::do_get_backend was not passing the correct
    flag value for circular function types to Backend::circular_pointer_type
    (it was always setting this flag to false). Pass a true value if the
    type being converted is a function type.
    
    Reviewed-on: https://go-review.googlesource.com/49330

From-SVN: r250325
2017-07-18 22:31:00 +00:00
Ian Lance Taylor eb80664a39 re PR go/81324 (libgo does not build with glibc 2.18)
PR go/81324
    sysinfo.c: ignore ptrace_peeksiginfo_args from <linux/ptrace.h>
    
    With some versions of glibc and GNU/Linux ptrace_pseeksiginfo_args is
    defined in both <sys/ptrace.h> and <linux/ptrace.h>. We don't actually
    care about the struct, so use a #define to avoid a redefinition error.
    
    This fixes https://gcc.gnu.org/PR81324.
    
    Reviewed-on: https://go-review.googlesource.com/49290

From-SVN: r250324
2017-07-18 22:06:31 +00:00
Trevor Saunders 7a795e10c0 update my entry in MAINTAINERS
/:

	* MAINTAINERS: Update my email address.

From-SVN: r250321
2017-07-18 21:05:48 +00:00
François Dumont 4f9e1f4d9d stl_list.h (struct _List_node_header): New.
2017-07-18  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_list.h
	(struct _List_node_header): New.
	(_List_impl()): Fix noexcept qualification.
	(_List_impl(_List_impl&&)): New, default.
	(_List_base()): Default.
	(_List_base(_List_base&&)): Default.
	(_List_base::_M_move_nodes): Adapt to use
	_List_node_header._M_move_nodes.
	(_List_base::_M_init): Likewise.
	(list<>()): Default.
	(list<>(list&&)): Default.
	(list<>::_M_move_assign(list&&, true_type)): Use _M_move_nodes.
	(__distance(_List_const_iterator<>, _List_const_iterator<>,
	input_iterator_tag)): Adapt.
	* testsuite/23_containers/list/allocator/default_init.cc: New.

From-SVN: r250320
2017-07-18 20:26:08 +00:00
Uros Bizjak e822e88588 re PR target/81471 (internal compiler error: in curr_insn_transform, at lra-constraints.c:3495)
PR target/81471
	* config/i386/i386.md (rorx_immediate_operand): New mode attribute.
	(*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as
	operand 2 predicate.
	(*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as
	operand 2 predicate.
	(ror,rol -> rorx splitters): Use const_int_operand as
	operand 2 predicate.

testsuite/ChangeLog:

	PR target/81471
	* gcc.target/i386/pr81471.c: New test.

From-SVN: r250315
2017-07-18 18:10:20 +02:00
Yury Gribov 883b0e467a mklog: Fix extraction of changed file name.
2017-07-17  Yury Gribov  <tetra2005@gmail.com>

	* mklog: Fix extraction of changed file name.

From-SVN: r250314
2017-07-18 18:39:39 +03:00
Richard Biener b267968e67 re PR tree-optimization/81410 (-O3 breaks code)
2017-06-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81410
	* tree-vect-stmts.c (vectorizable_load): Properly adjust for
	the gap in the ! slp_perm SLP case after each group.

	* gcc.dg/vect/pr81410.c: New testcase.

From-SVN: r250312
2017-07-18 13:55:47 +00:00
Jan Hubicka 35896b18ec re PR tree-optimization/81463 (ICE in scale_loop_profile at gcc/cfgloopmanip.c:603)
PR middle-end/81463
	* cfgloopmanip.c (scale_loop_profile): Watch out for zero frequency
	again.

From-SVN: r250311
2017-07-18 13:51:22 +00:00
Jan Hubicka 33e9feb530 re PR tree-optimization/81462 (ICE in estimate_bb_frequencies at gcc/predict.c:3546)
PR middle-end/81462
	* predict.c (set_even_probabilities): Cleanup; do not affect
	probabilities that are already known.
	(combine_predictions_for_bb): Call even when count is set.

	* g++.dg/torture/pr81462.C: New testcase.

From-SVN: r250310
2017-07-18 13:49:30 +00:00
Nathan Sidwell ff22eb1256 tree-parloops.c (try_transform_to_exit_first_loop_alt): Use TYPE_MAX_VALUE.
gcc/
	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
	TYPE_MAX_VALUE.

       gcc/c-family/
	* c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.

       gcc/c/
	* c-parser.c (c_parser_array_notation): Use TYPE_{MIN,MAX}_VALUE.

       gcc/cp/ 
	* cp-array-notation.c (build_array_notation_ref): Use
	TYPE_{MIN,MAX}_VALUE.

       gcc/fortran/
	* trans.c (gfc_build_array_ref): Use TYPE_MAX_VALUE.

From-SVN: r250309
2017-07-18 13:22:50 +00:00
Mike Frysinger b34a929aa3 gcc: ada: delete old $(P) reference
The P variable was deleted back in Nov 2015 (svn rev 231062),
but its expansion was missed.  Delete those now too.

From-SVN: r250307
2017-07-18 12:38:41 +00:00
Nathan Sidwell 6b8e738ef0 class.c (classtype_has_move_assign_or_move_ctor): Declare.
* class.c (classtype_has_move_assign_or_move_ctor): Declare.
	(add_implicitly_declared_members): Use it.
	(type_has_move_constructor, type_has_move_assign): Merge into ...
	(classtype_has_move_assign_or_move_ctor): ... this new function.
	* cp-tree.h (type_has_move_constructor, type_has_move_assign): Delete.

From-SVN: r250305
2017-07-18 12:05:12 +00:00
Bin Cheng 694dd0e408 re PR middle-end/81408 (Lots of new -Wunsafe-loop-optimizations warnings with 7 compared to 6)
PR target/81408
	* tree-ssa-loop-niter.c (number_of_iterations_exit): Dump missed
	optimization for loop niter analysis.

	gcc/testsuite
	* g++.dg/tree-ssa/pr81408.C: New.
	* gcc.dg/tree-ssa/pr19210-1.c: Check dump message rather than warning.

From-SVN: r250304
2017-07-18 11:40:38 +00:00
Georg-Johann Lay f94f48ffac re PR target/81473 ([avr] build fails due to INT8_MIN and friends.)
gcc/
	PR target/81473
	* config/avr/avr.c (avr_optimize_casesi): Don't use
	INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX.

From-SVN: r250301
2017-07-18 09:36:21 +00:00
Robin Dapp ec15a15207 Fix PR81362: Vector peeling
npeel was erroneously overwritten by vect_peeling_hash_get_lowest_cost
although the corresponding dataref is not used afterwards.  It should
be safe to get rid of the npeel parameter since we use the returned
peeling_info's npeel anyway.  Also removed the body_cost_vec parameter
which is not used elsewhere.

gcc/ChangeLog:

2017-07-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>

	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Remove
	body_cost_vec from _vect_peel_extended_info.
	(vect_peeling_hash_get_lowest_cost): Do not set body_cost_vec.
	(vect_peeling_hash_choose_best_peeling): Remove body_cost_vec and
	npeel.

From-SVN: r250300
2017-07-18 09:23:35 +00:00
Bin Cheng 4169392a24 * config/arm/arm.c (emit_unlikely_jump): Remove unused var.
From-SVN: r250299
2017-07-18 08:34:37 +00:00
Richard Biener f9bfe3f57e re PR tree-optimization/80620 (gcc produces wrong code with -O3)
2017-07-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/80620
	PR tree-optimization/81403
	* tree-ssa-pre.c (phi_translate_1): Clear range and points-to
	info when re-using a VN table entry.

	* gcc.dg/torture/pr80620.c: New testcase.
	* gcc.dg/torture/pr81403.c: Likewise.

From-SVN: r250297
2017-07-18 07:35:40 +00:00
Richard Biener d2e78d7662 re PR tree-optimization/81418 (ICE in vect_get_vec_def_for_stmt_copy)
2017-06-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81418
	* tree-vect-loop.c (vectorizable_reduction): Properly compute
	vectype_in.  Verify that with lane-reducing reduction operations
	we have a single def-use cycle.

	* gcc.dg/torture/pr81418.c: New testcase.

From-SVN: r250296
2017-07-18 07:26:04 +00:00
Carl Love 651dbe5d8e Revert commit r249424 2017-06-20 Carl Love <cel@us.ibm.com>
gcc/ChangeLog:

2017-07-17  Carl Love  <cel@us.ibm.com>

	Revert commit r249424	2017-06-20  Carl Love  <cel@us.ibm.com>

	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
	VMULOSW): New enum "unspec" values.
	(vec_widen_umult_even_v4si, vec_widen_smult_even_v4si,
	vec_widen_umult_odd_v4si, vec_widen_smult_odd_v4si,
	altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
	altivec_vmulosw): New patterns.
	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
	VMULOSW): Add definitions.

gcc/testsuite/ChangeLog:

2017-07-17  Carl Love  <cel@us.ibm.com>

	Revert commit r249572 	2017-06-22 Carl Love  <cel@us.ibm.com>
	test case changes for commit 249424

	* gcc.target/powerpc/builtins-2.c (vmulosh, vmulouh, vmulesh,
	vmuleuh): Fix scan-assembler-times should check for word not half word
	instructions.

From-SVN: r250295
2017-07-18 03:40:39 +00:00
GCC Administrator cef3814bc1 Daily bump.
From-SVN: r250294
2017-07-18 00:16:34 +00:00
Uros Bizjak 8cdf5397cd alpha.c: Include predict.h.
* config/alpha/alpha.c: Include predict.h.

From-SVN: r250290
2017-07-17 22:54:31 +02:00
Bill Schmidt f648932613 re PR tree-optimization/81162 (UBSAN switch triggers incorrect optimization in SLSR)
2017-07-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/81162
	* gcc.dg/pr81162.c: Move this to...
	* gcc.dg/ubsan/pr81162.c: ...here.

From-SVN: r250284
2017-07-17 19:12:11 +00:00
Volker Reichelt dbc4ecfc57 parser.c (cp_parser_decl_specifier_seq): Add fix-it hints for friend outside class and obsolete auto as...
* parser.c (cp_parser_decl_specifier_seq): Add fix-it hints for
        friend outside class and obsolete auto as storage-class-specifier.

        * g++.dg/diagnostic/friend1.C: New test.
        * g++.dg/cpp0x/auto1.C: Add check for fix-it hint.

From-SVN: r250282
2017-07-17 16:58:00 +00:00
Nathan Sidwell a64559a5fc class.c (maybe_warn_about_overly_private_class): Ignore public copy ctors.
* class.c (maybe_warn_about_overly_private_class): Ignore public
	copy ctors.

	* g++.dg/warn/ctor-dtor-privacy-3.C: New.

From-SVN: r250281
2017-07-17 16:52:31 +00:00
Nathan Sidwell 619018d4b9 class.c (type_has_user_declared_move_constructor, [...]): Combine into ...
* class.c (type_has_user_declared_move_constructor,
	type_has_user_declared_move_assign): Combine into ...
	(classtype_has_user_move_assign_or_move_ctor_p): ... this new function.
	* cp-tree.h (type_has_user_declared_move_constructor,
	type_has_user_declared_move_assign): Combine into ...
	(classtype_has_user_move_assign_or_move_ctor_p): ... this. Declare.
	* method.c (maybe_explain_implicit_delete): Use it.
	(lazily_declare_fn): Use it.
	* tree.c (type_has_nontrivial_copy_init): Use it.

From-SVN: r250280
2017-07-17 15:57:59 +00:00
Bernd Edlinger aac595770c gcc-dg.exp: Increase expect's match buffer size.
2017-07-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * lib/gcc-dg.exp: Increase expect's match buffer size.

From-SVN: r250279
2017-07-17 15:54:32 +00:00
Yury Gribov 5dc3163d0e tree-vrp.c (compare_assert_loc): Fix comparison function to return predictable results.
2017-07-17  Yury Gribov  <tetra2005@gmail.com>

gcc/
        * tree-vrp.c (compare_assert_loc): Fix comparison function
	to return predictable results.

From-SVN: r250278
2017-07-17 17:58:00 +03:00
Claudiu Zissulescu 3f2fc95cd8 [ARC] Deprecate mexpand-adddi option.
Emitting subregs in the expand will result in broken code due to LRA handling of them. Issue observed while turning on mlra and mexpand-adddi options using dejagnu test suite. Deprecate this
option.

gcc/
2017-04-26  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.md (adddi3): Remove support for mexpand-adddi
	option.
	(subdi3): Likewise.
	* config/arc/arc.opt (mexpand-adddi): Deprecate it.
	* doc/invoke.texi (mexpand-adddi): Update text.

From-SVN: r250276
2017-07-17 14:59:56 +02:00
Claudiu Zissulescu ac66951af8 [ARC] [LRA] Avoid emitting COND_EXEC during expand.
Emmitting COND_EXEC rtxes during expand does introduces errors due to LRA handling of them. Issue discovered while running dejagnu test suit with mlra option on.

gcc/
2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.md (clzsi2): Expand to an arc_clzsi2 instruction
	that also clobbers the CC register. The old expand code is moved
	to ...
	(*arc_clzsi2): ... here.
	(ctzsi2): Expand to an arc_ctzsi2 instruction that also clobbers
	the CC register. The old expand code is moved to ...
	(arc_ctzsi2): ... here.

From-SVN: r250275
2017-07-17 14:59:45 +02:00