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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216559 138bc75d-0d04-0410-961f-82ee72b054a4
Reset global state ipa-icf.c:optimizer

gcc/
	* ipa-icf.c (ipa_icf_driver): Set optimizer to NULL when done.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216561 138bc75d-0d04-0410-961f-82ee72b054a4
	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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216562 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog:

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

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216563 138bc75d-0d04-0410-961f-82ee72b054a4
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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216564 138bc75d-0d04-0410-961f-82ee72b054a4
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}.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216566 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216571 138bc75d-0d04-0410-961f-82ee72b054a4
	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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216572 138bc75d-0d04-0410-961f-82ee72b054a4
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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216573 138bc75d-0d04-0410-961f-82ee72b054a4
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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216575 138bc75d-0d04-0410-961f-82ee72b054a4
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216576 138bc75d-0d04-0410-961f-82ee72b054a4
Fix gnu11 fallout on SPARC

	* include/gc.h [(sparc || __sparc) && sun] (GC_INIT): Remove
	comment and definition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216577 138bc75d-0d04-0410-961f-82ee72b054a4
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216578 138bc75d-0d04-0410-961f-82ee72b054a4
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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216579 138bc75d-0d04-0410-961f-82ee72b054a4
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).



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216580 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216581 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216582 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216583 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216584 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216585 138bc75d-0d04-0410-961f-82ee72b054a4