138348 Commits

Author SHA1 Message Date
Marek Polacek
b7f016cb22 * doc/extend.texi: Use @pxref instead of @xref.
From-SVN: r223530
2015-05-22 09:27:35 +00:00
Aditya Kumar
9dbe0d83c8 gimple.h (gimple_expr_type): Refactor to make it concise.
2015-05-22  hiraditya  <hiraditya@msn.com>

        * gimple.h (gimple_expr_type): Refactor to make it concise.
        Remove redundant if.

From-SVN: r223529
2015-05-22 09:10:29 +00:00
Richard Biener
476c12802d re PR ipa/65701 (r221530 makes 187.facerec drop with -Ofast -flto on bdver2)
2015-05-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65701
	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
	Move peeling cost models into one place.  Peel for alignment
	for single loads only if an aligned load is cheaper than
	an unaligned load.

From-SVN: r223528
2015-05-22 09:08:46 +00:00
Marek Polacek
fd5c817a24 re PR c/47043 (allow deprecating enum values)
PR c/47043
	* c-common.c (handle_deprecated_attribute): Allow CONST_DECL.

	* c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
	attributes.

	* cp-tree.h (build_enumerator): Update declaration.
	* decl.c (build_enumerator): Add attributes parameter.  Call
	cplus_decl_attributes.
	* init.c (constant_value_1): Pass tf_none to mark_used.
	* parser.c (cp_parser_enumerator_definition): Parse attributes and
	pass them down to build_enumerator.
	* pt.c (tsubst_enum): Pass decl attributes to build_enumerator.
	* semantics.c (finish_id_expression): Don't warn_deprecated_use here.

	* doc/extend.texi (Enumerator Attributes): New section.
	Document syntax of enumerator attributes.

	* c-c++-common/attributes-enum-1.c: New test.
	* c-c++-common/attributes-enum-2.c: New test.
	* g++.dg/cpp0x/attributes-enum-1.C: New test.
	* g++.dg/cpp1y/attributes-enum-1.C: New test.

Co-Authored-By: Edward Smith-Rowland <3dw4rd@verizon.net>

From-SVN: r223527
2015-05-22 09:07:31 +00:00
Richard Biener
afbe632536 tree-vect-loop.c (get_reduction_op): New function.
2015-05-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.c (get_reduction_op): New function.
	(vect_model_reduction_cost): Use it, add reduc_index parameter.
	Make ready for BB reductions.
	(vect_create_epilog_for_reduction): Use get_reduction_op.
	(vectorizable_reduction): Init reduc_index to a valid value.
	Adjust vect_model_reduction_cost call.
	* tree-vect-slp.c (vect_get_constant_vectors): Use the proper
	operand for reduction defaults.  Add SAD_EXPR support.
	Assert we have a neutral op for SLP reductions.
	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
	walking pattern stmt ops only recurse to SSA names.

From-SVN: r223526
2015-05-22 09:00:28 +00:00
Richard Biener
328dc4771b tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace assert with guard, remove check on detected reduction.
2015-05-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
	assert with guard, remove check on detected reduction.
	(vect_recog_sad_pattern): Likewise.
	(vect_recog_widen_sum_pattern): Likewise.

From-SVN: r223525
2015-05-22 08:55:59 +00:00
Arnaud Charlet
6333ad3d45 [multiple changes]
2015-05-21  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb (Activate_Atomic_Synchronization): Do not set
	Atomic_Sync_Required for an object renaming declaration.
	* sem_ch8.adb (Analyze_Object_Renaming): Copy Is_Atomic and
	Is_Independent to renaming object.

2015-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): Diagnose
	various illegalities in iterators over arrays and containers:
	a) New function Get_Cursor_Type, to verify that the cursor is
	not a limited type at the point of iteration.
	b) If the container is a constant, an element_iterator is illegal
	if the container type does not have a Constant_Indexing aspect.
	c) If the iterate function has an in-out controlling parameter,
	the container cannot be a constant object.
	d) Reject additional cases of iterators over a
	discriminant-dependent component of a mutable object.

From-SVN: r223524
2015-05-22 10:52:17 +02:00
Kyrylo Tkachov
44ae5cd22f [AArch64] Add __extension__ and __always_inline__ to crypto intrinsics
* config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
	__always_inline__ attribute.
	(vaesdq_u8): Likewise.
	(vaesmcq_u8): Likewise.
	(vaesimcq_u8): Likewise.
	(vsha1cq_u32): Likewise.
	(vsha1mq_u32): Likewise.
	(vsha1pq_u32): Likewise.
	(vsha1h_u32): Likewise.
	(vsha1su0q_u32): Likewise.
	(vsha1su1q_u32): Likewise.
	(vsha256hq_u32): Likewise.
	(vsha256h2q_u32): Likewise.
	(vsha256su0q_u32): Likewise.
	(vsha256su1q_u32): Likewise.
	(vmull_p64): Likewise.
	(vmull_high_p64): Likewise.

From-SVN: r223523
2015-05-22 08:21:22 +00:00
Trevor Saunders
d87834de87 always define HAVE_peephole
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* final.c (final_scan_insn): Don't check HAVE_peephole with the
	preprocessor.
	* output.h: Likewise.
	* genconfig.c (main): Alwways define HAVE_peephole.
	* genpeep.c: Don't emit checks of HAVE_peephole.

From-SVN: r223519
2015-05-22 01:04:24 +00:00
Trevor Saunders
692e031294 remove #if HAVE_conditional_move
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
	check HAVE_conditional_move with the preprocessor.

From-SVN: r223518
2015-05-22 01:04:17 +00:00
Trevor Saunders
759df569f1 always define HAVE_conditional_move
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* genconfig.c (main): Always define HAVE_conditional_move.
	* combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
	toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
	is defined.

From-SVN: r223517
2015-05-22 01:04:09 +00:00
Trevor Saunders
3f393fc679 don't compare ARG_FRAME_POINTER_REGNUM and FRAME_POINTER_REGNUM with the preprocessor
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
	reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
	and FRAME_POINTER_REGNUM with the preprocessor.

From-SVN: r223516
2015-05-22 01:03:59 +00:00
Trevor Saunders
dfed696157 move default for STACK_PUSH_CODE to defaults.h
gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h: Add default for STACK_PUSH_CODE.
	* expr.c: Don't redefine STACK_PUSH_CODE.
	* recog.c: Likewise.

From-SVN: r223515
2015-05-22 01:03:51 +00:00
Trevor Saunders
581edfa33d remove most ifdef STACK_GROWS_DOWNWARD
gcc/c-family/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
	STACK_GROWS_DOWNWARD.

gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
	sched-deps.c: Use if instead of preprocessor checks with
	STACK_GROWS_DOWNWARD.

From-SVN: r223514
2015-05-22 01:03:42 +00:00
Trevor Saunders
62f9f30bfb always define STACK_GROWS_DOWNWARD
gcc/c-family/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* c-cppbuiltin.c (c_cpp_builtins): Check the value of
	STACK_GROWS_DOWNWARD rather than if it is defined.

gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
	is defined.
	* config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
	* defaults.h: Provide default for STACK_GROWS_DOWNWARD.
	* doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
	* doc/tm.texi: Regenerate.

From-SVN: r223513
2015-05-22 01:03:11 +00:00
GCC Administrator
47d30549f5 Daily bump.
From-SVN: r223512
2015-05-22 00:16:18 +00:00
Sandra Loosemore
a506dee682 simd.exp: Skip all tests if no arm_neon_ok effective target support.
2015-05-21  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.target/arm/simd/simd.exp: Skip all tests if no arm_neon_ok
	effective target support.  If no arm_neon_hw support, do not attempt
	to execute the tests; only compile them.
	* gcc.target/arm/simd/vextf32_1.c: Remove explicit "dg-do run"
	and "dg-require-effective-target arm_neon_ok".
	* gcc.target/arm/simd/vextp16_1.c: Likewise.
	* gcc.target/arm/simd/vextp64_1.c: Likewise.
	* gcc.target/arm/simd/vextp8_1.c: Likewise.
	* gcc.target/arm/simd/vextQf32_1.c: Likewise.
	* gcc.target/arm/simd/vextQp16_1.c: Likewise.
	* gcc.target/arm/simd/vextQp64_1.c: Likewise.
	* gcc.target/arm/simd/vextQp8_1.c: Likewise.
	* gcc.target/arm/simd/vextQs16_1.c: Likewise.
	* gcc.target/arm/simd/vextQs32_1.c: Likewise.
	* gcc.target/arm/simd/vextQs64_1.c: Likewise.
	* gcc.target/arm/simd/vextQs8_1.c: Likewise.
	* gcc.target/arm/simd/vextQu16_1.c: Likewise.
	* gcc.target/arm/simd/vextQu32_1.c: Likewise.
	* gcc.target/arm/simd/vextQu64_1.c: Likewise.
	* gcc.target/arm/simd/vextQu8_1.c: Likewise.
	* gcc.target/arm/simd/vexts16_1.c: Likewise.
	* gcc.target/arm/simd/vexts32_1.c: Likewise.
	* gcc.target/arm/simd/vexts64_1.c: Likewise.
	* gcc.target/arm/simd/vexts8_1.c: Likewise.
	* gcc.target/arm/simd/vextu16_1.c: Likewise.
	* gcc.target/arm/simd/vextu32_1.c: Likewise.
	* gcc.target/arm/simd/vextu64_1.c: Likewise.
	* gcc.target/arm/simd/vextu8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16p8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16qp8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16qs8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16qu8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16s8_1.c: Likewise.
	* gcc.target/arm/simd/vrev16u8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32p16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32p8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qp16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qp8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qs16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qs8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qu16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32qu8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32s16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32s8_1.c: Likewise.
	* gcc.target/arm/simd/vrev32u16_1.c: Likewise.
	* gcc.target/arm/simd/vrev32u8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64f32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64p16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64p8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qf32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qp16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qp8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qs16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qs32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qs8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qu16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qu32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64qu8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64s16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64s32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64s8_1.c: Likewise.
	* gcc.target/arm/simd/vrev64u16_1.c: Likewise.
	* gcc.target/arm/simd/vrev64u32_1.c: Likewise.
	* gcc.target/arm/simd/vrev64u8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnf32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnp16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnp8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqf32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqp16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqp8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqs16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqs32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqs8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqu16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqu32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnqu8_1.c: Likewise.
	* gcc.target/arm/simd/vtrns16_1.c: Likewise.
	* gcc.target/arm/simd/vtrns32_1.c: Likewise.
	* gcc.target/arm/simd/vtrns8_1.c: Likewise.
	* gcc.target/arm/simd/vtrnu16_1.c: Likewise.
	* gcc.target/arm/simd/vtrnu32_1.c: Likewise.
	* gcc.target/arm/simd/vtrnu8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpf32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpp16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpp8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqf32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqp16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqp8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqs16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqs32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqs8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqu16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqu32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpqu8_1.c: Likewise.
	* gcc.target/arm/simd/vuzps16_1.c: Likewise.
	* gcc.target/arm/simd/vuzps32_1.c: Likewise.
	* gcc.target/arm/simd/vuzps8_1.c: Likewise.
	* gcc.target/arm/simd/vuzpu16_1.c: Likewise.
	* gcc.target/arm/simd/vuzpu32_1.c: Likewise.
	* gcc.target/arm/simd/vuzpu8_1.c: Likewise.
	* gcc.target/arm/simd/vzipf32_1.c: Likewise.
	* gcc.target/arm/simd/vzipp16_1.c: Likewise.
	* gcc.target/arm/simd/vzipp8_1.c: Likewise.
	* gcc.target/arm/simd/vzipqf32_1.c: Likewise.
	* gcc.target/arm/simd/vzipqp16_1.c: Likewise.
	* gcc.target/arm/simd/vzipqp8_1.c: Likewise.
	* gcc.target/arm/simd/vzipqs16_1.c: Likewise.
	* gcc.target/arm/simd/vzipqs32_1.c: Likewise.
	* gcc.target/arm/simd/vzipqs8_1.c: Likewise.
	* gcc.target/arm/simd/vzipqu16_1.c: Likewise.
	* gcc.target/arm/simd/vzipqu32_1.c: Likewise.
	* gcc.target/arm/simd/vzipqu8_1.c: Likewise.
	* gcc.target/arm/simd/vzips16_1.c: Likewise.
	* gcc.target/arm/simd/vzips32_1.c: Likewise.
	* gcc.target/arm/simd/vzips8_1.c: Likewise.
	* gcc.target/arm/simd/vzipu16_1.c: Likewise.
	* gcc.target/arm/simd/vzipu32_1.c: Likewise.
	* gcc.target/arm/simd/vzipu8_1.c: Likewise.

From-SVN: r223508
2015-05-21 19:02:18 -04:00
Sandra Loosemore
413238194d bb-slp-pr65935.c: Remove explicit "dg-do run".
2015-05-21  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.dg/vect/bb-slp-pr65935.c: Remove explicit "dg-do run".
	* gcc.dg/vect/pr59354.c: Likewise.
	* gcc.dg/vect/pr64252.c: Likewise.
	* gcc.dg/vect/pr64404.c: Likewise.
	* gcc.dg/vect/pr64493.c: Likewise.
	* gcc.dg/vect/pr64495.c: Likewise.
	* gcc.dg/vect/pr64844.c: Likewise.
	* gcc.dg/vect/pr65518.c: Likewise.
	* gcc.dg/vect/vect-aggressive-1.c: Likewise.

From-SVN: r223507
2015-05-21 19:00:32 -04:00
Paolo Carlini
e5ab6728fb re PR c++/66210 (Variable template specialization does not work with alias-declarations)
2015-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/66210
	* g++.dg/cpp1y/var-templ28.C: New.

From-SVN: r223506
2015-05-21 22:39:32 +00:00
H.J. Lu
f70d27e03b Allow indirect branch via GOT slot for x32
X32 doesn't support indirect branch via 32-bit memory slot since
indirect branch will load 64-bit address from 64-bit memory slot.
Since x32 GOT slot is 64-bit, we should allow indirect branch via GOT
slot for x32.

gcc/

	PR target/66232
	* config/i386/constraints.md (Bg): New constraint for GOT memory
	operand.
	* config/i386/i386.md (*call_got_x32): New pattern.
	(*call_value_got_x32): Likewise.
	* config/i386/predicates.md (GOT_memory_operand): New predicate.

gcc/testsuite/

	PR target/66232
	* gcc.target/i386/pr66232-1.c: New test.
	* gcc.target/i386/pr66232-2.c: Likewise.
	* gcc.target/i386/pr66232-3.c: Likewise.
	* gcc.target/i386/pr66232-4.c: Likewise.
	* gcc.target/i386/pr66232-5.c: Likewise.

From-SVN: r223505
2015-05-21 14:58:57 -07:00
Nathan Sidwell
9ab2fcc16d re PR c++/60943 ([C++14] Return type deduction interferes with ref-qualifiers)
cp/
	PR c++/60943
	* decl2.c (change_return_type): Propagate FUNCTION_REF_QUALIFIED.

	testsuite/
	* g++.dg/cpp1y/pr60943.C: New.

From-SVN: r223502
2015-05-21 20:50:45 +00:00
Jakub Jelinek
d51a6714b9 re PR tree-optimization/66233 (internal compiler error: in expand_fix, at optabs.c:5358)
PR tree-optimization/66233
	* match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
	Simplify.

	* gcc.c-torture/execute/pr66233.c: New test.

From-SVN: r223500
2015-05-21 21:17:28 +02:00
Thomas Koenig
c39d5e4a6a re PR fortran/66176 (Handle conjg() in inline matmul)
2015-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66176
	* frontend-passes.c (check_conjg_variable):  New function.
	(inline_matmul_assign):  Use it to keep track of conjugated
	variables.

2015-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66176
	* gfortran.dg/inline_matmul_11.f90:  New test

From-SVN: r223499
2015-05-21 19:00:45 +00:00
Andreas Tobler
2aa3880198 pr32219-1.c: Use 'dg-require-effective-target pie' instead of listing several targets on its own.
2015-05-21  Andreas Tobler  <andreast@gcc.gnu.org>

    * gcc.target/i386/pr32219-1.c: Use 'dg-require-effective-target pie'
    instead of listing several targets on its own.
    * gcc.target/i386/pr32219-2.c: Likewise.
    * gcc.target/i386/pr32219-3.c: Likewise.
    * gcc.target/i386/pr32219-4.c: Likewise.
    * gcc.target/i386/pr32219-5.c: Likewise.
    * gcc.target/i386/pr32219-6.c: Likewise
    * gcc.target/i386/pr32219-7.c: Likewise.
    * gcc.target/i386/pr32219-8.c: Likewise.
    * gcc.target/i386/pr39013-1.c: Likewise.
    * gcc.target/i386/pr39013-2.c: Likewise.
    * gcc.target/i386/pr64317.c: Likewise.

From-SVN: r223498
2015-05-21 20:13:06 +02:00
David Edelsohn
9846edffa4 inclhack.def (aix_externc): New fix.
* inclhack.def (aix_externc): New fix.
	(aix_externcpp[12]): New fix.
	* fixincl.x: Regenerate.
	* test/base/ctype.h [AIX_EXTERNC_CHECK]: New test.
	* test/base/sys/socket.h [AIX_EXTERNCPP[12]_CHECK]: New test.
	* test/base/fcntl.h: New file.

From-SVN: r223497
2015-05-21 13:25:00 -04:00
David Edelsohn
e3592e196a re PR target/66224 (PowerPC _GLIBCXX_READ_MEM_BARRIER too weak)
PR target/66224
        * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
        Don't use isync. Use lwsync if available.
        * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
        powerpc cpu definition.

From-SVN: r223496
2015-05-21 13:18:25 -04:00
Jeff Law
f3da537516 pa.md (add-with-constant splitter): Use ASHIFT rather than MULT for shadd sequences.
* config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
	than MULT for shadd sequences.

	* gcc.target/hppa/shadd-4.c: New test.

From-SVN: r223495
2015-05-21 11:18:16 -06:00
Jason Merrill
65d932637e revert: configure.ac: Add -std=c++98 to stage1_cxxflags.
Revert:
       * configure.ac: Add -std=c++98 to stage1_cxxflags.
       * Makefile.tpl (STAGE1_CXXFLAGS): And substitute it.
       * Makefile.in, configure: Regenerate.

From-SVN: r223494
2015-05-21 13:05:33 -04:00
Jan Hubicka
3ecf9d13a1 alias.c (alias_stats): New static var.
* alias.c (alias_stats): New static var.	
	(alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
	(dump_alias_stats_in_alias_c): New function.
	* alias.h (dump_alias_stats_in_alias_c): Declare.
	* tree-ssa-alias.c (dump_alias_stats): Call it.

From-SVN: r223491
2015-05-21 15:51:59 +00:00
Marek Polacek
c7b70a3cba See <https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01977.html> for
the rationale.

Bootstrapped/regtested on x86_64-linux, applying to trunk.

2015-05-21  Marek Polacek  <polacek@redhat.com>

	* c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
	DECL_BUILT_IN.

diff --git gcc/c/c-typeck.c gcc/c/c-typeck.c
index ba8797b..f55d4c6 100644
--- gcc/c/c-typeck.c
+++ gcc/c/c-typeck.c
@@ -2853,9 +2853,10 @@ build_function_call (location_t loc, tree function, tree params)
 
 /* Give a note about the location of the declaration of DECL.  */
 
-static void inform_declaration (tree decl)
+static void
+inform_declaration (tree decl)
 {
-  if (decl && (TREE_CODE (decl) != FUNCTION_DECL || !DECL_BUILT_IN (decl)))
+  if (decl && (TREE_CODE (decl) != FUNCTION_DECL || !DECL_IS_BUILTIN (decl)))
     inform (DECL_SOURCE_LOCATION (decl), "declared here");
 }

From-SVN: r223490
2015-05-21 15:30:09 +00:00
Marek Polacek
6b6dd1aa70 * typeck.c (warn_args_num): Don't print "declare here" for builtins.
From-SVN: r223489
2015-05-21 15:27:12 +00:00
Jason Merrill
4177264e09 del_opv.cc: Suppress -Wsized-deallocation.
* libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
	* libsupc++/del_op.cc: Likewise.

From-SVN: r223488
2015-05-21 11:12:40 -04:00
Jason Merrill
da0bfb866e configure.ac: Add -std=c++98 to stage1_cxxflags.
* configure.ac: Add -std=c++98 to stage1_cxxflags.
	* Makefile.tpl (STAGE1_CXXFLAGS): And substitute it.
	* Makefile.in, configure: Regenerate.

From-SVN: r223487
2015-05-21 11:12:35 -04:00
Michael Matz
f2e2a98542 tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p to strided_p.
* tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
	to strided_p.
	(STMT_VINFO_STRIDE_LOAD_P): Rename to ...
	(STMT_VINFO_STRIDED_P): ... this.
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
	(vect_verify_datarefs_alignment): Likewise.
	(vect_enhance_data_refs_alignment): Likewise.
	(vect_analyze_data_ref_access): Likewise.
	(vect_analyze_data_refs): Accept strided stores.
	* tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
	(vect_model_load_cost): Adjust for macro rename.
	(vectorizable_mask_load_store): Likewise.
	(vectorizable_load): Likewise.
	(vectorizable_store): Open code strided stores.

testsuite/
	* gcc.dg/vect/vect-strided-store.c: New test.
	* gfortran.dg/vect/fast-math-pr37021.f90: Adjust.
	* gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: Adjust.

From-SVN: r223486
2015-05-21 14:36:04 +00:00
Kyrylo Tkachov
1e43cc9461 Testsuite check for sqrt_insn. Move pow/sqrt synth test from gcc.target/aarch64/ to to gcc.dg/
* lib/target-supports.exp (check_effective_target_sqrt_insn): New check.
	* gcc.dg/pow-sqrt-synth-1.c: New test.
	* gcc.target/aarch64/pow-sqrt-synth-1.c: Delete.

	* doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
	Document sqrt_insn.

From-SVN: r223485
2015-05-21 13:30:24 +00:00
Hristian Kirtchev
eb7d283dc3 einfo.adb (Contract): This attribute now applies to constants.
2015-05-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Contract): This attribute now applies to constants.
	(Set_Contract): This attribute now applies to constants.
	(Write_Field34_Name): Add output for constants.
	* einfo.ads Attribute Contract now applies to constants.
	* sem_ch3.adb (Analyze_Object_Contract): Constants now have
	their Part_Of indicator verified.
	* sem_prag.adb (Analyze_Constituent): A constant is now a valid
	constituent.
	(Analyze_Global_Item): A constant cannot act as an output.
	(Analyze_Initialization_Item): Constants are now a valid
	initialization item.
	(Analyze_Initializes_In_Decl_Part): Rename
	global variable States_And_Vars to States_And_Objs and update
	all its occurrences.
	(Analyze_Input_Item): Constants are now a
	valid initialization item. Remove SPARM RM references from error
	messages.
	(Analyze_Pragma): Indicator Part_Of can now apply to a constant.
	(Collect_Body_States): Collect both source constants
	and variables.
	(Collect_States_And_Objects): Collect both source constants and
	variables.
	(Collect_States_And_Variables): Rename
	to Collect_States_And_Objects and update all its occurrences.
	(Collect_Visible_States): Do not collect constants and variables
	used to map generic formals to actuals.
	(Find_Role): The role of a constant is that of an input. Separate the
	role of a variable from that of a constant.
	(Report_Unused_Constituents): Add specialized wording for constants.
	(Report_Unused_States): Add specialized wording for constants.
	* sem_util.adb (Add_Contract_Item): Add processing for constants.
	* sem_util.ads (Add_Contract_Item): Update the comment on usage.
	(Find_Placement_In_State_Space): Update the comment on usage.

From-SVN: r223484
2015-05-21 15:26:51 +02:00
Richard Biener
5ba3ae6db5 re PR c++/66211 (Rvalue conversion in ternary operator causes internal compiler error)
2015-05-21  Richard Biener  <rguenther@suse.de>

	PR c++/66211
	* match.pd: Guard pattern optimzing (int)(float)int
	conversions to apply only on GIMPLE.

	* g++.dg/conversion/pr66211.C: New testcase.
	* gcc.dg/tree-ssa/forwprop-18.c: Adjust.

From-SVN: r223483
2015-05-21 13:23:41 +00:00
Arnaud Charlet
1ca46a7753 [multiple changes]
2015-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: minor reformatting.

2015-05-21  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Properly tag -gnatw.z messages.

From-SVN: r223482
2015-05-21 15:12:18 +02:00
Jeff Law
a7a629d72f combine.c (find_split_point): Handle ASHIFT like MULT to encourage multiply-accumulate/shift-add insn generation.
* combine.c (find_split_point): Handle ASHIFT like MULT to encourage
	multiply-accumulate/shift-add insn generation.

	* gcc.target/hppa/shadd-2.c: New test.

From-SVN: r223481
2015-05-21 06:44:44 -06:00
Jeff Law
b47fbc5307 pa.c (pa_print_operand): New 'o' output modifier.
2015-05-20  Jeff Law  <law@redhat.com>

	* config/pa/pa.c (pa_print_operand): New 'o' output modifier.
	(pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
	(pa_shadd_constant_p): Allow constants for shadd insns rather
	than valid scaling constants for memory addresses.
	* config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
	* config/pa/predicates.md (mem_shadd_operand): New predicate.
	* config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
	(shift-add insns using ASHIFT): New patterns.

	* gcc.target/hppa/hppa.exp: New target test driver.
	* gcc.target/hppa/shadd-1.c: New test.

From-SVN: r223480
2015-05-21 06:44:35 -06:00
Oleg Endo
0daff5e0c8 re PR target/54236 ([SH] Improve addc and subc insn utilization)
gcc/
	PR target/54236
	* config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
	operands[1] are the same.

gcc/testsuite/
	PR target/54236
	* gcc.target/sh/pr54236-2.c: Fix typo in comment.

From-SVN: r223479
2015-05-21 12:36:35 +00:00
Arnaud Charlet
cad9733944 [multiple changes]
2015-05-21  Robert Dewar  <dewar@adacore.com>

	* freeze.adb: Minor reformatting.
	* cstand.adb (Print_Standard): Fix bad printing of Duration
	low bound.
	* a-reatim.adb (Time_Of): Complete rewrite to properly detect
	out of range args.

2015-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: add (useless) initial value.
	* sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
	Check whether the procedure has parameters before processing
	formals in ASIS mode.

From-SVN: r223477
2015-05-21 12:51:22 +02:00
Arnaud Charlet
cc68dfe2e8 Minor reformatting.
From-SVN: r223476
2015-05-21 12:47:50 +02:00
Ed Schonberg
4f2cae4a92 sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator aspect as well when indexing function is illegal.
2015-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator
	aspect as well when indexing function is illegal.
	(Valid_Default_Iterator): Handle properly somme illegal cases
	to prevent compilation abandoned messages.
	(Check_Primitive_Function): Verify that type and indexing function
	are in the same scope.
	* freeze.adb (Freeze_Record): Extend patch on the presence of
	indexing aspects to aspect Default_Iterator.

From-SVN: r223475
2015-05-21 12:47:34 +02:00
Ramana Radhakrishnan
c8faa0f904 re PR target/26702 (.size is not emitted for BSS variables)
Fix PR target/26702

For Kwok Cheung Yeung.

From-SVN: r223473
2015-05-21 09:23:14 +00:00
Ilya Enkovich
551dc3008c re PR middle-end/66221 (lto1: error: type variant has different TYPE_ARG_TYPES)
gcc/

	PR middle-end/66221
	* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
	build_distinct_type_copy to copy bounds.

gcc/testsuite/

	PR middle-end/66221
	* gcc.dg/lto/pr66221_0.c: New test.
	* gcc.dg/lto/pr66221_1.c: New test.

From-SVN: r223471
2015-05-21 08:32:52 +00:00
Manuel López-Ibáñez
0fee2ac288 re PR c/52952 (Wformat location info is bad (wrong column number))
gcc/testsuite/ChangeLog:

2015-05-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/52952
	* gcc.dg/redecl-4.c: Update column numbers.
	* gcc.dg/format/bitfld-1.c: Likewise.
	* gcc.dg/format/attr-2.c: Likewise.
	* gcc.dg/format/attr-6.c: Likewise.
	* gcc.dg/format/attr-7.c (baz): Likewise.
	* gcc.dg/format/asm_fprintf-1.c: Likewise.
	* gcc.dg/format/attr-4.c: Likewise.
	* gcc.dg/format/branch-1.c: Likewise.
	* gcc.dg/format/c90-printf-1.c: Likewise. Add tests for column
	locations within strings with embedded escape sequences.

gcc/c-family/ChangeLog:

2015-05-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	
	PR c/52952
	* c-format.c (location_column_from_byte_offset): New.
	(location_from_offset): New.
	(struct format_wanted_type): Add offset_loc field.
	(check_format_info): Move handling of location for extra arguments
	closer to the point of warning.
	(check_format_info_main): Pass the result of location_from_offset
	to warning_at.
	(format_type_warning): Pass the result of location_from_offset
	to warning_at.

From-SVN: r223470
2015-05-21 06:49:38 +00:00
Thomas Schwinge
a4f238b6d7 genrecog: Address -Wsign-compare diagnostics.
g++-4.6 [...] [...]/gcc/genrecog.c
    [...]/gcc/genrecog.c: In function 'state_size find_subroutines(routine_type, state*, vec<state*>&)':
    [...]/gcc/genrecog.c:3338:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    [...]/gcc/genrecog.c:3347:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    [...]/gcc/genrecog.c:3359:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    [...]/gcc/genrecog.c:3365:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

    3305   state_size size;
         [...]
    3337           state_size to_size = find_subroutines (type, trans->to, procs);
    3338           if (d->next && to_size.depth > MAX_DEPTH)
         [...]
    3347               if (to_size.num_statements < MIN_NUM_STATEMENTS)
         [...]
    3359   if (size.num_statements > MAX_NUM_STATEMENTS)
         [...]
    3365              && size.num_statements > MAX_NUM_STATEMENTS)

     175 static const int MAX_DEPTH = 6;
         [...]
     179 static const int MIN_NUM_STATEMENTS = 5;
         [...]
     185 static const int MAX_NUM_STATEMENTS = 200;
         [...]
    3258 struct state_size
    3259 {
         [...]
    3261   unsigned int num_statements;
         [...]
    3265   unsigned int depth;
    3266 };

	gcc/
	* genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
	Change to unsigned int.

From-SVN: r223469
2015-05-21 08:46:55 +02:00
GCC Administrator
965566df89 Daily bump.
From-SVN: r223468
2015-05-21 00:16:15 +00:00
Alan Modra
3dafb2207e re PR libgcc/66225 (libgcc/config/rs6000/morecore.S will not build on systems with an older assembler)
PR libgcc/66225
	* config/rs6000/morestack.S: Remove ".abiversion 1".

From-SVN: r223464
2015-05-21 09:25:08 +09:30