Commit Graph

133563 Commits

Author SHA1 Message Date
Ian Lance Taylor 74cc54710d configure.ac: Disable the Go frontend on systems where it is known to not work.
* configure.ac: Disable the Go frontend on systems where it is known
	to not work.
	* configure: Regenerate.

From-SVN: r216602
2014-10-23 22:36:20 +00:00
François Dumont fc3f28640a complexity.cc: Add missing test variable.
2014-10-23  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/25_algorithms/make_heap/complexity.cc: Add missing test
	variable.
	* testsuite/25_algorithms/sort_heap/complexity.cc: Likewise and use
	log2. Now require cmath support.
	* testsuite/25_algorithms/pop_heap/complexity.cc: Likewise and require
	normal mode.
	* testsuite/25_algorithms/push_heap/complexity.cc: Likewise.

From-SVN: r216601
2014-10-23 22:03:49 +00:00
Jakub Jelinek 41b9329e73 re PR debug/63623 (Lots of functions get -fvar-tracking silently turned off unnecessarily)
PR debug/63623
	* var-tracking.c (stack_adjust_offset_pre_post_cb): New function.
	(stack_adjust_offset_pre_post): Use it through for_each_inc_dec,
	instead of only handling autoinc in dest if it is a MEM.
	(vt_stack_adjustments): Fix up formatting.

From-SVN: r216600
2014-10-23 23:58:41 +02:00
Jonathan Wakely 53b0f7471a re PR c++/63619 (warning: deleting ‘void*’ is undefined has no -W flag)
PR c++/63619

gcc/cp:
	PR c++/63619
	* decl2.c (delete_sanity): Use OPT_Wdelete_incomplete in warning.

gcc/testsuite:
	PR c++/63619
	* g++.dg/warn/Wdelete-incomplete-3.C: New.
	* g++.dg/warn/Wdelete-incomplete-4.C: New.

From-SVN: r216599
2014-10-23 22:07:49 +01:00
DJ Delorie 5cbc4e2a24 msp430.c (msp430_print_operand): 'x' modifier is independend of -mlarge.
* config/msp430/msp430.c (msp430_print_operand): 'x' modifier is
independend of -mlarge.
* config/msp430/constraints.md (Ys): Update comment.

From-SVN: r216598
2014-10-23 15:02:48 -04:00
Jonathan Wakely 13e72e8d16 status_cxx2011.xml: Update status.
* doc/xml/manual/status_cxx2011.xml: Update status.
	* doc/xml/manual/status_cxx2014.xml: Update TS status.

From-SVN: r216597
2014-10-23 17:55:23 +01:00
Evgeny Stupachenko 56873e1342 re PR target/63534 (Bootstrap failure on x86_64/i686-linux)
PR target/63534
	PR target/63618
gcc/
	* cse.c (delete_trivially_dead_insns): Consider PIC register is used
	while it is pseudo.
	* dse.c (deletable_insn_p): Likewise.
gcc/testsuite/
	* gcc.target/i386/pr63618.c: New test.

From-SVN: r216596
2014-10-23 16:52:11 +00:00
Marek Polacek 1bc5a4513e re PR c/63626 (Warning "inline function declared but never defined" output twice)
PR c/63626
	* c-decl.c (pop_scope): Don't print warning in external_scope.

	* gcc.dg/pr63626.c: New test.

From-SVN: r216595
2014-10-23 16:46:44 +00:00
Marek Polacek 59d7607aec c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR in unsigned type.
* c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
	in unsigned type.

	* c-c++-common/ubsan/undefined-2.c: New test.

From-SVN: r216593
2014-10-23 13:02:02 +00:00
Georg-Johann Lay 0c9ef7adf7 avr.c: Fix GNU coding rules and typos.
* config/avr/avr.c: Fix GNU coding rules and typos.
	* config/avr/avr.h: Dito.
	* config/avr/avr-c.c: Dito.
	* config/avr/avr.md: Dito.

From-SVN: r216592
2014-10-23 12:22:16 +00:00
Kirill Yukhin e650a5685c AVX. Fix block absq emit for non AVX-512 targets.
gcc/
	* config/i386/sse.md (define_mode_iterator VI1248_AVX512VL_AVX512BW):
	New.
	(define_insn "*abs<mode>2"): Use VI1248_AVX512VL_AVX512BW mode
	iterator.
	(define_expand "abs<mode>2"): Ditto.

gcc/testsuite/
	* gcc.target/i386/pr63600.c: New.

From-SVN: r216591
2014-10-23 11:50:19 +00:00
Kirill Yukhin c1b7a563e0 AVX-512. 81.1/n. Extend `function_code' field `tree_var_decl' structure.
gcc/
	* tree-core.h (tree_var_decl): Extend `function_code' field
	by one bit, move `regdecl_flag' field to ...
	(tree_decl_with_vis): Here.
	* tree.h (DECL_STATIC_CHAIN): Update struct name.

From-SVN: r216590
2014-10-23 11:44:12 +00:00
Rainer Orth 8bbc64707d Fix gcc.dg/ipa/ipa-icf-21.c on 32-bit Linux/x86.
* gcc.dg/ipa/ipa-icf-21.c: Add -msse2 to dg-options.

From-SVN: r216589
2014-10-23 11:32:55 +00:00
Arnaud Charlet ad075b500f [multiple changes]
2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_eval.adb (Check_Non_Static_Context): Do not set
	Is_Machine_Number on a literal of a fixed-point type.

2014-10-23  Robert Dewar  <dewar@adacore.com>

	* mlib-prj.adb, sem_ch4.adb, exp_ch3.adb: Minor reformatting.

2014-10-23  Pierre-Marie Derodat  <derodat@adacore.com>

	* exp_dbug.ads: Update ___XA parallel type specification.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Copy_Array_Subtype_Attributes): Inherit the rep
	chain of the source type.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Minor
	reformatting of an error message.
	* sem_util.adb (Inherit_Rep_Item_Chain): Do not inherit a rep
	chain that has been inherited already.

From-SVN: r216588
2014-10-23 12:45:48 +02:00
Arnaud Charlet e699b76e92 [multiple changes]
2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Simplify analysis
	in generic context, and generate body in this case as well,
	to simplify ASIS traversals on the construct.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Complete_Object_Operation): Indicate that the
	scope of the operation (s) is referenced, to prevent spurious
	warnings about unused units.

2014-10-23  Johannes Kanig  <kanig@adacore.com>

	* errout.adb (Error_Msg_Internal): Copy check flag, increment
	check msg count.
	* erroutc.adb (Delete_Msg) adjust check msg count.
	(Output_Msg_Text) handle check msg case (do nothing).
	(Prescan_Message) recognize check messages with severity prefixes.
	* errutil.adb (Error_Msg) handle check flag, adjust counter.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_eval.adb (Subtypes_Statically_Match): For a generic actual
	type, check for the presence of discriminants in its parent type,
	against the presence of discriminants in the context type.

2014-10-23  Tristan Gingold  <gingold@adacore.com>

	* adaint.c: __gnat_get_file_names_case_sensitive: Default is
	true on arm-darwin.

2014-10-23  Arnaud Charlet  <charlet@adacore.com>

	* pprint.adb (Expression_Image): Add handling of quantifiers.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* exp_pakd.adb (Expand_Packed_Element_Reference): If the
	prefix is a source entity, generate a reference to it before
	transformation, because rewritten node might not generate a
	proper reference, leading to spurious warnings.

2014-10-23  Tristan Gingold  <gingold@adacore.com>

	* init.c: Fix thinko in previous patch.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Decimal_Fixed_Point_Type_Declaration):
	Inherit the rep chain of the implicit base type.
	(Floating_Point_Type_Declaration): Inherit the rep chain of the
	implicit base type.
	(Ordinary_Fixed_Point_Type_Declaration): Inherit the rep chain of the
	implicit base type.
	(Signed_Integer_Type_Declaration): Inherit the rep chain of the
	implicit base type.
	* sem_util.ads, sem_util.adb (Inherit_Rep_Item_Chain): New routine.

2014-10-23  Pascal Obry  <obry@adacore.com>

	* g-regist.adb, g-regist.ads: Add support for reading 32bit or 64bit
	view of the registry.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): If type is abstract,
	return without expanding expression, to prevent subsequent crash.
	* freeze.adb: better error message for illegal declaration.

From-SVN: r216587
2014-10-23 12:39:50 +02:00
Hristian Kirtchev e776d44161 sysdep.c (__gnat_localtime_tzoff): Properly delimit the substring which represents the time zone on VxWorks.
2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sysdep.c (__gnat_localtime_tzoff): Properly delimit the
	substring which represents the time zone on VxWorks.

From-SVN: r216586
2014-10-23 12:33:06 +02:00
Arnaud Charlet 13fa2acbf0 [multiple changes]
2014-10-23  Vincent Celier  <celier@adacore.com>

	* gnatls.adb: If --RTS= was not used, check if there is a default
	runtime. If there is none, in verbose mode, indicate that the
	default runtime is not available and show only the current
	directory in the source and the object search paths.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Process_Formals): A thunk procedure with a
	parameter of a limited view does not need a freeze node.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch7.adb (Analyze_Package_Body_Helper):
	The logic which hides local entities from external
	visibility is now contained in routine Hide_Public_Entities.
	(Hide_Public_Entities): New routine. Object and subprogram
	renamings are now hidden from external visibility the same way
	objects are.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute): The prefix of attribute Elaborated
	does not require freezing, in particular if it denotes a generic
	function.

From-SVN: r216585
2014-10-23 12:27:00 +02:00
Arnaud Charlet b04d926e21 [multiple changes]
2014-10-23  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Analyze_Pragma/Pragma_Inline & Pragma_Inline_Always):
	Disable analysis in GNATprove mode.

2014-10-23  Arnaud Charlet  <charlet@adacore.com>

	* mlib-prj.adb: Remove obsolete references to libdecgnat (VMS only).

2014-10-23  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Ignore style check
	pragmas in codepeer mode.

2014-10-23  Gary Dismukes  <dismukes@adacore.com>

	* gnat_rm.texi: Minor syntax fix for pragma Annotate (missing ',').

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch12.adb (Inline_Instance_Body): Alphabetize
	local variables and constants. Add constants Save_SM and Save_SMP
	to capture SPARK_Mode-related attributes.  Compile the inlined
	body with the SPARK_Mode of the enclosing context.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* sinfo.adb (Elaboration_Boolean): Removed.
	(Set_Elaboration_Boolean): Removed.
	* sinfo.ads Remove attribute Elaboration_Boolean along with its
	occurrence in nodes.
	(Elaboration_Boolean): Removed along with pragma Inline.
	(Set_Elaboration_Boolean): Removed along with pragma Inline.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Constant_Redeclaration): Make error message more
	explicit on a deferred constant whose object_definition is an
	anonymous array.

2014-10-23  Vincent Celier  <celier@adacore.com>

	* gnatls.adb: Never call Targparm.Get_Target_Parameters.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): In a generic
	context do not create a body, and only pre-analyze the expression,
	which may include incomplete views.

From-SVN: r216584
2014-10-23 12:19:58 +02:00
Arnaud Charlet 3ad33e3395 [multiple changes]
2014-10-23  Robert Dewar  <dewar@adacore.com>

	* sem_type.adb: Minor code reorganization (use Nkind_In, Ekind_In).
	* sem_ch3.adb: Minor reformatting.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Associations): If an actual for a formal
	object is a call to a parameterless expression function, add
	the function to the list of actuals to freeze.
	* freeze.adb (Check_Expression_Function): Create freeze nodes of
	outer types that may be references in the body of the expression.

From-SVN: r216583
2014-10-23 12:16:47 +02:00
Arnaud Charlet 580d40e8da [multiple changes]
2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.ads, checks.ads: Minor comment reformatting.

2014-10-23  Javier Miranda  <miranda@adacore.com>

	* sem_eval (Test_In_Range): Disable removal of range_check for
	VM targets.

2014-10-23  Robert Dewar  <dewar@adacore.com>

	* erroutc.adb (Validate_Specific_Warnings): Fix test for -W
	messages, which got disabled when we unconditionally added an
	asterisk at the start of the string.

2014-10-23  Vincent Celier  <celier@adacore.com>

	* gnatls.adb: Ensure that "gnatls -l" works even when there is
	no default runtime.

2014-10-23  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch3.adb (Build_Derived_Private_Type): When the parent is
	untagged and has discriminants, build the implicit full view after
	building the derived type. Capture original declaration and type
	here instead of...
	(Copy_And_Build): ...here.
	* sem_type.adb (Full_View_Covers): Handle the Underlying_Full_View.

From-SVN: r216582
2014-10-23 12:14:28 +02:00
Arnaud Charlet 2934b84ad8 [multiple changes]
2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* checks.adb (Ensure_Valid): Update the subprogram
	profile. Propagate the contex attributes to Insert_Valid_Check.
	(Insert_Valid_Check): Update the subprogram profile. Propagate
	the attributes of the context to Duplicate_Subexpr_No_Checks.
	(Validity_Check_Range): Update the subprogram profile. Propagate
	the context attribute to Ensure_Valid.
	* checks.ads (Ensure_Valid): Update the subprogram profile
	along with the comment on usage.
	(Insert_Valid_Check): Update the subprogram profile along with the
	comment on usage.
	(Validity_Check_Range): Update the subprogram profile along with
	the comment on usage.
	* exp_util.adb (Build_Temporary): New routine.
	(Duplicate_Subexpr_No_Checks): Update the subprogram
	profile. Propagate the attributes of the context to Remove_Side_Effects.
	(Remove_Side_Effects): Update the subprogram profile. Update all calls
	to Make_Temporary to invoke Build_Temporary.
	* exp_util.ads (Duplicate_Subexpr_No_Checks): Update
	the subprogram profile along with the comment on usage.
	(Remove_Side_Effects): Update the subprogram profile along with
	the comment on usage.
	* sem_ch3.adb (Process_Range_Expr_In_Decl): Pass the subtype
	to the validity check machinery.  Explain the reason for this
	propagation.

2014-10-23  Robert Dewar  <dewar@adacore.com>

	* a-strsea.adb: Minor reformatting.

From-SVN: r216581
2014-10-23 12:11:21 +02:00
Arnaud Charlet 3fdb58e2eb [multiple changes]
2014-10-23  Thomas Quinot  <quinot@adacore.com>

	* bcheck.adb (Check_Consistent_SSO_Default): Exclude internal
	units from consistency check.
	* gnat_rm.texi (Default_Scalar_Storage_Order): Document that
	consistency check excludes run-time units.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

	* a-strsea.adb (Find_Token): Enable constraint checking in this
	procedure, so that even when compiling with checks suppressed, as is
	the case for the run-time, an exception is raised in this routine when
	the input meets the conditions described in RM 2005 A.4.3 (68/1).

From-SVN: r216580
2014-10-23 12:09:31 +02:00
Richard Biener 929315a917 Makefile.def: Add libcpp build module and dependencies.
2014-10-23  Richard Biener  <rguenther@suse.de>

	* Makefile.def: Add libcpp build module and dependencies.
	* configure.ac: Add libcpp build module.
	* Makefile.in: Regenerate.
	* configure: Likewise.

	gcc/
	* Makefile.in (BUILD_CPPLIB): Add.
	(build/genmatch$(build_exeext)): Use BUILD_CPPLIB, not CPPLIB.
	Drop LIBIBERTY.

From-SVN: r216579
2014-10-23 09:14:48 +00:00
Rainer Orth 282d3a81fa Fix gcc.dg/ipa/ipa-icf-2[18].c on Solaris
* gcc.dg/ipa/ipa-icf-21.c: Restrict to i?86-*-* x86_64-*-*.
	* gcc.dg/ipa/ipa-icf-28.c: Require init_priority.

From-SVN: r216578
2014-10-23 09:12:47 +00:00
Rainer Orth 1e98795b67 Fix gnu11 fallout on SPARC
* include/gc.h [(sparc || __sparc) && sun] (GC_INIT): Remove
	comment and definition.

From-SVN: r216577
2014-10-23 08:39:19 +00:00
Rainer Orth f038cd81d1 Fix SPARC testsuite gnu11 fallout
* gcc.target/sparc/20001013-1.c (main): Declare int return.
	* gcc.target/sparc/mnofpu.c (e1e_rphy): Declare.
	* gcc.target/sparc/sparc-ret.c (toto): Declare.
	* gcc.target/sparc/ultrasp6.c (__assert, HSRate): Declare.
	* gcc.target/sparc/ultrasp8.c (__malloc_lock, __malloc_unlock):
	Declare.

From-SVN: r216576
2014-10-23 08:35:38 +00:00
Richard Biener 4d885a639e fold-const.c (fold_binary_loc): Preserve side-effects of X - X when simplifying to 0.
2014-10-22  Richard Biener  <rguenther@suse.de>

	* fold-const.c (fold_binary_loc): Preserve side-effects of
	X - X when simplifying to 0.
	* stor-layout.c (finish_bitfield_representative): Strip
	side-effects of evaluating the difference of two DECL_FIELD_OFFSET.

From-SVN: r216575
2014-10-23 08:25:55 +00:00
Ian Lance Taylor a15d2ea8ad Commit old ChangeLog entry forgotten in commit of actual change.
PR go/55969
	* configure.ac: Disable libgo on some systems where it does not
	work.

From-SVN: r216573
2014-10-23 03:34:02 +00:00
Tim Shen 4d8384337f re PR libstdc++/63497 (std::regex can't handle [^class] correctly and cause runtime crash)
PR libstdc++/63497
	include/bits/regex_executor.h (_Executor::_M_word_boundary): Remove
	unused parameter.
	include/bits/regex_executor.tcc (_Executor::_M_dfs,
	_Executor::_M_word_boundary): Avoid dereferecing _M_current at _M_end
	or other invalid position.

From-SVN: r216572
2014-10-23 03:15:52 +00:00
GCC Administrator a3317c9247 Daily bump.
From-SVN: r216571
2014-10-23 00:16:18 +00:00
Richard Biener d8857ac603 re PR lto/63603 (Linking with -fno-lto still invokes LTO)
2014-10-22  Richard Biener  <rguenther@suse.de>
            Tobias Burnus <burnus@net-b.de>

        PR lto/63603
        * gcc.c (LINK_COMMAND_SPEC): Add %{fno-lto}.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r216566
2014-10-22 22:51:00 +02:00
Joseph Myers 693b297b72 Do not build soft-fp code at all for powerpc64-linux-gnu.
When I added support for using soft-fp in libgcc
<https://gcc.gnu.org/ml/gcc-patches/2006-03/msg00689.html>, libgcc
configuration was still done in the gcc/ directory, meaning that the
variables set in makefile fragments could not depend on the multilib
being built.  Thus, building the soft-fp code for powerpc64-linux-gnu
was disabled in the same way as had been done with fp-bit: the code
was built, but with #ifndef __powerpc64__ wrappers around it so that
the resulting objects were empty.

Now that libgcc configuration is done in the toplevel libgcc
directory, such uses of softfp_wrap_start / softfp_wrap_end are better
replaced by configure-time conditionals that determine whether to use
soft-fp for a given multilib.  This patch does so for
powerpc*-*-linux*.  The same would appear to apply to
powerpc*-*-freebsd* (using rs6000/t-freebsd64), but I have not made
any changes there.  t-ppc64-fp is also used by AIX targets, but they
don't use soft-fp anyway so the changes are of no consequence to them.

The same principle of replacing softfp_wrap_start / softfp_wrap_end
with configure-time conditionals also applies to
softfp_exclude_libgcc2, which was intended for cases where soft-fp is
being used on hard-float multilibs and so it is desirable on those
multilibs for a few functions to come from libgcc2.c rather than
soft-fp (but the soft-fp versions would be more efficient on
soft-float multilibs).  Now we have hardfp.c and t-hardfp, those are
better to use in that case, to minimize the size of the bulk of the
functions that are only present for ABI compatibility and should never
be called by newly compiled code.

I intend followup patches to switch 32-bit hard-float multilibs to use
t-hardfp as far as possible (for all non-libgcc2.c operations for
classic hard float; for all except __unord* for e500v2; for all SFmode
operations except __unordsf2 for e500v1).  After that will come making
the soft-fp operations, in the remaining cases for which they are
built because they are actually needed for code compiled by current
GCC, into compat symbols when building for glibc 2.19 or later, so
that the glibc versions (with exception and rounding mode support) get
used instead (2.19 or later is needed for all the functions to be
exported from glibc as non-compat symbols).  In turn, that is required
before implementing TARGET_ATOMIC_ASSIGN_EXPAND_FENV for soft-float
and e500, as that can only be properly effective when GCC-compiled
code is actually interoperating correctly with the exception and
rounding mode state used by <fenv.h> functions.

Tested with no regressions with cross to powerpc64-linux-gnu (in
addition, verified that stripped libgcc_s.so.1 is identical before and
after the patch).

	* config.host (powerpc*-*-linux*): Only use soft-fp for 32-bit
	configurations.
	* config/rs6000/t-ppc64-fp (softfp_wrap_start, softfp_wrap_end):
	Remove variables.

From-SVN: r216564
2014-10-22 18:29:14 +01:00
Dehao Chen 3d790fd870 auto-profile.c: Change order of header files.
gcc/ChangeLog:

2014-10-22  Dehao Chen  <dehao@google.com>

        * auto-profile.c: Change order of header files.

From-SVN: r216563
2014-10-22 17:11:17 +00:00
Guozhi Wei 417dfefbdb re PR tree-optimization/63530 (GCC generates incorrect aligned store on ARM after the loop is unrolled.)
PR tree-optimization/63530
	tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Set
	pointer alignment according to DR_MISALIGNMENT.
	gcc.dg/vect/pr63530.c: New testcase.

From-SVN: r216562
2014-10-22 15:56:59 +00:00
David Malcolm 9612a39a41 Reset global state ipa-icf.c:optimizer
gcc/
	* ipa-icf.c (ipa_icf_driver): Set optimizer to NULL when done.

From-SVN: r216561
2014-10-22 15:10:02 +00:00
Andrew MacLeod 893479def2 cfgbuild.h: New.
2014-10-22  Andrew MacLeod  <amacleod@redhat.com>

	* cfgbuild.h: New.  Add prototypes for cfgbuild.c.
	* cfgcleanup.h: New.  Add prototypes for cfgcleanup.c.
	* cfgloopmanip.h: New.  Add prototypes for cfgloopmanip.c.
	* dominance.h: New.  Add prototypes for dominance.c.
	* cfgloop.h: Move some prototypes/enum to cfgloopmanip.h and include it.
	* cfghooks.h: (struct profile_record) Relocate here.
	Relocate 2 prototypes from basic-block.h.
	* basic-block.h: Move prototypes and struct to new header files.
	Include cfgbuild.h, cfgcleanup.h, and dominance.h.
	* rtl.h: Move a few prototypes to new header files.
	* cfgcleanup.c (merge_memattrs): Make static.
	* genopinit.c (main): Add predict.h to list of includes.
	* predict.h: Update prototype list to match predict.c.
	* predict.c (maybe_hot_count_p): Export.
	(cgraph_edge::maybe_hot_p): Move to cgraph.c.
	(cgraph_node::optimize_for_size_p): Move to cgraph.h.
	* cgraph.h (cgraph_node::optimize_for_size_p): Relocate here.
	* cgraph.c (cgraph_edge::maybe_hot_p): Relocate here.
	* profile.h: Adjust prototypes.
	* ifcvt.h: New.  Relocate struct ce_if_block here.
	* ifcvt.c: Include ifcvt.h.

	* config/frv/frv.c: Include ifcvt.h.
	* config/frv/frv-protos.h: Add 'struct' to ce_if_block * parameters.

From-SVN: r216559
2014-10-22 14:26:56 +00:00
Richard Sandiford 4a7fca26b4 lra.c (lra): Remove call to recog_init.
gcc/
	* lra.c (lra): Remove call to recog_init.
	* config/i386/i386.md (preferred_for_speed): New attribute
	(*float<SWI48:mode><MODEF:mode>2_sse): Override it instead of
	"enabled".  Remove check for sched1.

gcc/testsuite/
	* gcc.target/i386/conversion-2.c: New test.

From-SVN: r216557
2014-10-22 12:03:00 +00:00
Richard Sandiford 795693c185 recog.h (recog_data_d): Remove enabled_alternatives.
gcc/
	* recog.h (recog_data_d): Remove enabled_alternatives.
	* recog.c (extract_insn): Don't set it.
	* reload.c (find_reloads): Call get_enabled_alternatives.

From-SVN: r216556
2014-10-22 12:02:39 +00:00
Richard Sandiford daca1a96af recog.h (constrain_operands): Add an alternative_mask parameter.
gcc/
	* recog.h (constrain_operands): Add an alternative_mask parameter.
	(constrain_operands_cached): Likewise.
	(get_preferred_alternatives): Declare new form.
	* recog.c (get_preferred_alternatives): New bb-taking instance.
	(constrain_operands): Take the set of available alternatives as
	a parameter.
	(check_asm_operands, insn_invalid_p, extract_constrain_insn)
	(extract_constrain_insn_cached): Update calls to constrain_operands.
	* caller-save.c (reg_save_code): Likewise.
	* ira.c (setup_prohibited_mode_move_regs): Likewise.
	* postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
	* ree.c (combine_reaching_defs): Likewise.
	* reload.c (can_reload_into): Likewise.
	* reload1.c (reload, reload_as_needed, inc_for_reload): Likewise.
	(gen_reload_chain_without_interm_reg_p, emit_input_reload_insns)
	(emit_insn_if_valid_for_reload): Likewise.
	* reorg.c (fill_slots_from_thread): Likewise.
	* config/i386/i386.c (ix86_attr_length_address_default): Likewise.
	* config/pa/pa.c (pa_can_combine_p): Likewise.
	* config/rl78/rl78.c (insn_ok_now): Likewise.
	* config/sh/sh.md (define_peephole2): Likewise.
	* final.c (final_scan_insn): Update call to constrain_operands_cached.

From-SVN: r216555
2014-10-22 12:02:26 +00:00
Richard Sandiford 9840b2fa87 md.texi: Document "preferred_for_size" and "preferred_for_speed" attributes.
gcc/
	* doc/md.texi: Document "preferred_for_size" and "preferred_for_speed"
	attributes.
	* genattr.c (main): Handle "preferred_for_size" and
	"preferred_for_speed" in the same way as "enabled".
	* recog.h (bool_attr): New enum.
	(target_recog): Replace x_enabled_alternatives with x_bool_attr_masks.
	(get_preferred_alternatives, check_bool_attrs): Declare.
	* recog.c (have_bool_attr, get_bool_attr, get_bool_attr_mask_uncached)
	(get_bool_attr_mask, get_preferred_alternatives, check_bool_attrs):
	New functions.
	(get_enabled_alternatives): Use get_bool_attr_mask.
	* ira-costs.c (record_reg_classes): Use get_preferred_alternatives
	instead of recog_data.enabled_alternatives.
	* ira.c (ira_setup_alts): Likewise.
	* postreload.c (reload_cse_simplify_operands): Likewise.
	* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
	* ira-lives.c (preferred_alternatives): New variable.
	(process_bb_node_lives): Set it.
	(check_and_make_def_conflict, make_early_clobber_and_input_conflicts)
	(single_reg_class, ira_implicitly_set_insn_hard_regs): Use it instead
	of recog_data.enabled_alternatives.
	* lra-int.h (lra_insn_recog_data): Replace enabled_alternatives
	to preferred_alternatives.
	* lra-constraints.c (process_alt_operands): Update accordingly.
	* lra.c (lra_set_insn_recog_data): Likewise.
	(lra_update_insn_recog_data): Assert check_bool_attrs.

From-SVN: r216554
2014-10-22 12:02:11 +00:00
Richard Sandiford 75d25a02fc recog.h (extract_constrain_insn): Declare.
gcc/
	* recog.h (extract_constrain_insn): Declare.
	* recog.c (extract_constrain_insn): New function.
	* lra.c (check_rtl): Use it.
	* postreload.c (reload_cse_simplify_operands): Likewise.
	* reg-stack.c (check_asm_stack_operands): Likewise.
	(subst_asm_stack_regs): Likewise.
	* regcprop.c (copyprop_hardreg_forward_1): Likewise.
	* regrename.c (build_def_use): Likewise.
	* sel-sched.c (get_reg_class): Likewise.
	* config/arm/arm.c (note_invalid_constants): Likewise.
	* config/s390/predicates.md (execute_operation): Likewise.

From-SVN: r216553
2014-10-22 12:01:59 +00:00
Jakub Jelinek d95a270347 New syntax for -fsanitize-recover.
2014-10-22  Jakub Jelinek  <jakub@redhat.com>
	    Yury Gribov  <y.gribov@samsung.com>

gcc/
	* common.opt (flag_sanitize_recover): New variable.
	(fsanitize-recover): Remove Var/Init, deprecate.
	(fsanitize-recover=): New option.
	* doc/invoke.texi (fsanitize-recover): Update docs.
	* opts.c (finish_options): Use opts->x_flag_sanitize
	instead of flag_sanitize.  Prohibit -fsanitize-recover
	for anything besides UBSan.  Formatting.
	(common_handle_option): Handle OPT_fsanitize_recover_
	and OPT_fsanitize_recover.  Use opts->x_flag_sanitize
	instead of flag_sanitize.
	* asan.c (pass_sanopt::execute): Fix up formatting.
	* ubsan.c (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
	ubsan_expand_objsize_ifn, ubsan_build_overflow_builtin,
	instrument_bool_enum_load, ubsan_instrument_float_cast,
	instrument_nonnull_arg, instrument_nonnull_return): Check
	bits in flag_sanitize_recover bitmask instead of
	flag_sanitize_recover as bool flag.

gcc/c-family/
	* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
	ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
	instead of flag_sanitize_recover as bool flag.

gcc/testsuite/
	* c-c++-common/ubsan/align-1.c: Update cmdline options.
	* c-c++-common/ubsan/align-3.c: Likewise.
	* c-c++-common/ubsan/bounds-1.c: Likewise.
	* c-c++-common/ubsan/div-by-zero-7.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-10.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-7.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-8.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
	* c-c++-common/ubsan/nonnull-2.c: Likewise.
	* c-c++-common/ubsan/nonnull-3.c: Likewise.
	* c-c++-common/ubsan/object-size-3.c: Likewise.
	* c-c++-common/ubsan/overflow-1.c: Likewise.
	* c-c++-common/ubsan/overflow-add-1.c: Likewise.
	* c-c++-common/ubsan/overflow-add-3.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-1.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-3.c: Likewise.
	* c-c++-common/ubsan/overflow-negate-2.c: Likewise.
	* c-c++-common/ubsan/overflow-sub-1.c: Likewise.
	* c-c++-common/ubsan/pr59503.c: Likewise.
	* c-c++-common/ubsan/pr60613-1.c: Likewise.
	* c-c++-common/ubsan/save-expr-1.c: Likewise.
	* c-c++-common/ubsan/shift-3.c: Likewise.
	* c-c++-common/ubsan/shift-6.c: Likewise.
	* c-c++-common/ubsan/undefined-1.c: Likewise.
	* c-c++-common/ubsan/vla-2.c: Likewise.
	* c-c++-common/ubsan/vla-3.c: Likewise.
	* c-c++-common/ubsan/vla-4.c: Likewise.
	* g++.dg/ubsan/cxx11-shift-1.C: Likewise.
	* g++.dg/ubsan/return-2.C: Likewise.
	* c-c++-common/ubsan/recovery-1.c: New test.
	* c-c++-common/ubsan/recovery-2.c: New test.
	* c-c++-common/ubsan/recovery-3.c: New test.
	* c-c++-common/ubsan/recovery-common.inc: New file.

Co-Authored-By: Yury Gribov <y.gribov@samsung.com>

From-SVN: r216552
2014-10-22 11:07:10 +00:00
Georg-Johann Lay 18a3415e23 lib1funcs.S (__do_global_dtors): Fix wrong code introduced with 2014-10-21 trunk r216525.
* config/avr/lib1funcs.S (__do_global_dtors): Fix wrong code
	introduced with 2014-10-21 trunk r216525.

From-SVN: r216550
2014-10-22 10:40:30 +00:00
Jiong Wang 8584f1c491 [ARM] Add missing '\' in macro define.
gcc/
    * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add missing '\'.

From-SVN: r216548
2014-10-22 09:57:19 +00:00
Renlin Li 34f30f0f23 [ARM] Add ACLE 2.0 predefined marco __ARM_FEATURE_IDIV
2014-10-22  Renlin Li <renlin.li@arm.com>

  gcc/
    * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define
    __ARM_FEATURE_IDIV__.

From-SVN: r216547
2014-10-22 09:07:18 +00:00
Richard Biener 1d9ce5dd15 Makefile.in (s-match): Adjust dependencies to only catch match.pd.
2014-10-22  Richard Biener  <rguenther@suse.de>

	* Makefile.in (s-match): Adjust dependencies to only catch
	match.pd.

From-SVN: r216545
2014-10-22 08:55:45 +00:00
Jiong Wang ecad7681ac [AArch64] Update target testcases for gnu11
gcc/testsuite/
    * gcc.target/aarch64/pic-constantpool1.c: Add explicit declaration.
    * gcc.target/aarch64/pic-symrefplus.c: Likewise.
    * gcc.target/aarch64/reload-valid-spoff.c: Likewise.
    * gcc.target/aarch64/vect.x: Likewise.
    * gcc.target/aarch64/vect-ld1r.x: Add return type.
    * gcc.target/aarch64/vect-fmax-fmin.c: Likewise.
    * gcc.target/aarch64/vect-fp.c: Likewise.

From-SVN: r216544
2014-10-22 08:51:16 +00:00
Jiong Wang 188979acda [Dejagnu] fix gcc-dg-prune glitch when filtering "relocation truncation" error
gcc/testsuite/
    * lib/compat.exp (compat-run): Remove "unresolved".
    * lib/gcc-defs.exp (${tools}_check_compile): Update code logic for
    unsupported testcase.

From-SVN: r216543
2014-10-22 08:44:44 +00:00
Richard Biener 3d2cf79f81 Makefile.in (OBJS): Add gimple-match.o and generic-match.o.
2014-10-22  Richard Biener  <rguenther@suse.de>
	Prathamesh Kulkarni  <bilbotheelffriend@gmail.com>

	* Makefile.in (OBJS): Add gimple-match.o and generic-match.o.
	(MOSTLYCLEANFILES): Add gimple-match.c and generic-match.c.
	(gimple-match.c): Generate by triggering s-match.
	(generic-match.c): Likewise.
	(s-match): Rule to build gimple-match.c and generic-match.c
	by running the genmatch generator program.
	(build/hash-table.o): Dependencies to build hash-table.c for the host.
	(build/genmatch.o): Dependencies to build genmatch.
	(genprog): Add match.
	(build/genmatch): Likewise.
	(TEXI_GCCINT_FILES): Add match-and-simplify.texi.
	* generic-match-head.c: New file.
	* gimple-match-head.c: Likewise.
	* gimple-match.h: Likewise.
	* genmatch.c: Likewise.
	* match.pd: Likewise.
	* builtins.h (fold_builtin_n): Export.
	* builtins.c (fold_builtin_n): Likewise.
	* gimple-fold.h (gimple_build): Declare various overloads.
	(gimple_simplify): Likewise.
	(gimple_convert): Re-implement in terms of gimple_build.
	* gimple-fold.c (gimple_convert): Remove.
	(gimple_build): New functions.

	* doc/match-and-simplify.texi: New file.
	* doc/gccint.texi: Add menu item Match and Simplify and include
	match-and-simplify.texi.

Co-Authored-By: Prathamesh Kulkarni <bilbotheelffriend@gmail.com>

From-SVN: r216542
2014-10-22 08:42:37 +00:00
Jakub Jelinek 7d9f1cd276 re PR target/63594 (ICE: in ix86_vector_duplicate_value, at config/i386/i386.c:39831 with -mavx512f)
PR target/63594
	* config/i386/i386.c (ix86_expand_vector_init_duplicate): For
	V{8HI,16QI,16HI,32QI}mode call ix86_vector_duplicate_value
	even for just TARGET_AVX2, not only for
	TARGET_AVX512VL && TARGET_AVX512BW.  For V{32HI,64QI}mode,
	call ix86_vector_duplicate_value only if TARGET_AVX512BW,
	otherwise build it using concatenation of 256-bit
	broadcast.
	* config/i386/sse.md (AVX_VEC_DUP_MODE): Moved after
	avx512 broadcast patterns.
	(vec_dup<mode>): Likewise.  For avx2 use
	v<sseintprefix>broadcast<bcstscalarsuff> instead of
	vbroadcast<ssescalarmodesuffix>.
	(AVX2_VEC_DUP_MODE): New mode iterator.
	(*vec_dup<mode>): New TARGET_AVX2 define_insn with
	AVX2_VEC_DUP_MODE iterator, add a splitter for that.

	* gcc.dg/pr63594-1.c: New test.
	* gcc.dg/pr63594-2.c: New test.
	* gcc.target/i386/sse2-pr63594-1.c: New test.
	* gcc.target/i386/sse2-pr63594-2.c: New test.
	* gcc.target/i386/avx-pr63594-1.c: New test.
	* gcc.target/i386/avx-pr63594-2.c: New test.
	* gcc.target/i386/avx2-pr63594-1.c: New test.
	* gcc.target/i386/avx2-pr63594-2.c: New test.
	* gcc.target/i386/avx512f-pr63594-1.c: New test.
	* gcc.target/i386/avx512f-pr63594-2.c: New test.
	* gcc.target/i386/avx512f-vec-init.c: Adjust expected
	insn counts.

From-SVN: r216541
2014-10-22 08:58:57 +02:00