Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213034 138bc75d-0d04-0410-961f-82ee72b054a4
libitm: Improve aarch64 _ITM_beginTransaction

        * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
        addressing mode in epilogue.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213035 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/experimental/string_view: Make the literal operators
	constexpr like the ctors they call.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213037 138bc75d-0d04-0410-961f-82ee72b054a4
ChangeLog entry moved from config/ChangeLog to gcc/ChangeLog.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213039 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213040 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-25  Richard Biener  <rguenther@suse.de>

	* tree-inline.c (estimate_move_cost): Mark speed_p argument
	as possibly unused.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213043 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/61762
	PR middle-end/61894
	* fold-const.c (native_encode_int): Add and handle offset
	parameter to do partial encodings of expr.
	(native_encode_fixed): Likewise.
	(native_encode_real): Likewise.
	(native_encode_complex): Likewise.
	(native_encode_vector): Likewise.
	(native_encode_string): Likewise.
	(native_encode_expr): Likewise.
	* fold-const.c (native_encode_expr): Add offset parameter
	defaulting to -1.
	* gimple-fold.c (fold_string_cst_ctor_reference): Remove.
	(fold_ctor_reference): Handle all reads from tcc_constant
	ctors.

	* gcc.dg/pr61762.c: New testcase.
	* gcc.dg/fold-cstring.c: Likewise.
	* gcc.dg/fold-cvect.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213045 138bc75d-0d04-0410-961f-82ee72b054a4
	* src/alpha/ffi.c: Do not include stdlib.h.
	(ffi_closure_osf_inner) <default>: Use FFI_ASSERT instead of abort.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213049 138bc75d-0d04-0410-961f-82ee72b054a4
Add an abstract incremental hash data type

Some files in gcc, like lto or tree, do large scale incremential hashing.
The current jhash implementation of this could be likely improved
by using an incremential hash that does not do a full rehashing
for every new value added.

This patch adds a new "inchash" class that abstracts the internal
state of the hash. This makes it easier to plug in new hashes
and also cleans up the code a bit.

Right now it is just implemented in the same way as the old
iterative hash in tree.c. The previous iterative hash code
from tree.c moved into a new separate file. Also I fixed up all
users to include the new header.

It should not really significantly change any hashing by itself,
it's mostly a cleanup at this point.

v2: Remove begin. Add commutative interface.
Add merge hash interface.  Add add_flag.

gcc/:

2014-07-25  Andi Kleen  <ak@linux.intel.com>

	* Makefile.in (OBJS): Add inchash.o.
	(PLUGIN_HEADERS): Add inchash.h.
	* ipa-devirt.c: Include inchash.h.
	* lto-streamer-out.c: Dito.
	* tree-ssa-dom.c: Dito.
	* tree-ssa-pre.c: Dito.
	* tree-ssa-sccvn.c: Dito.
	* tree-ssa-tail-merge.c: Dito.
	* asan.c: Dito.
	* tree.c (iterative_hash_hashval_t): Move to ...
	(iterative_hash_host_wide_int): Move to ...
	* inchash.c: Here. New file.
	* tree.h (iterative_hash_hashval_t): Move to ...
	(iterative_hash_host_wide_int): Move to ...
	* inchash.h: Here. New file.

gcc/lto/:

2014-07-25  Andi Kleen  <ak@linux.intel.com>

	* lto.c: Include inchash.h

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213054 138bc75d-0d04-0410-961f-82ee72b054a4
Convert LTO type hashing to the new inchash interface

Should not really change any behavior, it's just a more abstract
interface, but uses the same underlying hash functions.

gcc/lto/:

2014-07-25  Andi Kleen  <ak@linux.intel.com>

	* lto.c (hash_canonical_type): Convert to inchash.
	(iterative_hash_canonical_type): Dito.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213055 138bc75d-0d04-0410-961f-82ee72b054a4
Convert the tree.c type hashing over to inchash

v2: Use commutative interface. Be much nearer to the old
code.

gcc/:

2014-07-25  Andi Kleen  <ak@linux.intel.com>

	* tree.c (build_type_attribute_qual_variant): Use inchash.
	(type_hash_list): Dito.
	(attribute_hash_list): Dito
	(iterative_hstate_expr): Dito.
	(iterative_hash_expr): Dito.
	(build_range_type_1): Dito.
	(build_array_type_1): Dito.
	(build_function_type): Dito.
	(build_method_type_directly): Dito.
	(build_offset_type): Dito.
	(build_complex_type): Dito.
	(make_vector_type): Dito.
	* tree.h (iterative_hash_expr): Add compat wrapper.
	(iterative_hstate_expr): Add.

gcc/lto/:

2014-07-25  Andi Kleen  <ak@linux.intel.com>

	* lto.c (hash_canonical_type): Call iterative_hstate_expr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213056 138bc75d-0d04-0410-961f-82ee72b054a4
Convert lto streamer out hashing to inchash

No substantial changes, although the hash values will be slightly
different.

v2: add_flag moved to inchash. Some minor changes.

gcc/:

2014-07-25  Andi Kleen  <ak@linux.intel.com>

	* lto-streamer-out.c (hash_tree): Convert to inchash.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213057 138bc75d-0d04-0410-961f-82ee72b054a4
	* libgcov-driver.c (set_gcov_dump_complete,
	reset_gcov_dump_complete, get_gcov_dump_complete): Remove global
	functions polluting user's namespace.
	(gcov_exit): Set variable directly.
	(gcov_clear): Reset variable directly.
	* libgcov-interface.c (get_gcov_dymp_complete,
	reset_gov_dump_complete): Remove declarations.
	(__gcov_reset, __gcov_dump): Don't call them.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213058 138bc75d-0d04-0410-961f-82ee72b054a4
	* lto-streamer-out.c (struct sccs): Turn to ...
	(class DFS): ... this one; refactor the DFS walk so it can
	be re-done on per-SCC basis.
	(DFS::DFS): New constructor.
	(DFS::~DFS): New destructor.
	(hash_tree): Add new MAP argument holding in-SCC hash values;
	remove POINTER_TYPE hashing hack.
	(scc_entry_compare): Rename to ...
	(DFS::scc_entry_compare): ... this one.
	(hash_scc): Rename to ...
	(DFS::hash_scc): ... this one; pass output_block instead
	of streamer_cache; work harder to get unique and stable SCC
	hashes.
	(DFS_write_tree): Rename to ...
	(DFS::DFS_write_tree): ... this one; add SINGLE_P parameter.
	(lto_output_tree): Update.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213059 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-25  Tobias Burnus  <burnus@net-b.de>

        * simplify.c (gfc_simplify_storage_size): Use proper
        integer kind for the returned value.

2014-07-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/storage_size_5.f90: New.



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

2014-07-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement N4051 - Allow typename in a template template parameter
	* parser.c (cp_parser_type_parameter_key): New funtion;
	(cp_parser_token_is_type_parameter_key): Ditto;
	(cp_parser_type_parameter): Look for type-parameter-key for all versions
	but pedwarn for less than cxx1z.


testsuite/

2014-07-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement N4051 - Allow typename in a template template parameter
	* lib/target-supports.exp (check_effective_target_c++1y): Now
	means C++1y and up.
	(check_effective_target_c++1y_down): New.
	(check_effective_target_c++1z_only): New.
	(check_effective_target_c++1z): New.
	* g++.dg/cpp1z/typename-tmpl-tmpl-parm.C: New.
	* g++.dg/cpp1z/typename-tmpl-tmpl-parm-neg.C: New.
	* g++.dg/cpp1z/typename-tmpl-tmpl-parm-.C: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213065 138bc75d-0d04-0410-961f-82ee72b054a4
[Patch, microblaze]: Add optimized lshrsi3

When barrel shifter is not present, the immediate value
is greater than #5 and optimization is -OS, the
compiler will generate shift operation using loop.

Changelog

2013-11-26  David Holsgrove <david.holsgrove@xilinx.com>

 * gcc/config/microblaze/microblaze.md: Add size optimized lshrsi3 insn

ChangeLog/testsuite

2014-02-12  David Holsgrove <david.holsgrove@xilinx.com>

 * gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c: New test.

Signed-off-by:Nagaraju <nmekala@xilix.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
[Patch, microblaze]: Add INIT_PRIORITY support

Added TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros.

These macros allows users to control the order of initialization
of objects defined at namespace scope with the init_priority
attribute by specifying a relative priority, a constant integral
expression currently bounded between 101 and 65535 inclusive.

Lower numbers indicate a higher priority.

Changelog

2013-11-26  Nagaraju Mekala <nagaraju.mekala@xilinx.com>

 * gcc/config/microblaze/microblaze.c: Add microblaze_asm_constructor,
   microblaze_asm_destructor. Define TARGET_ASM_CONSTRUCTOR and
   TARGET_ASM_DESTRUCTOR.

Signed-off-by:nagaraju <nmekala@xilix.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
[Patch, microblaze]: Add supervisory call support

A function can be executed in supervisory mode when a function
is declared with svc_handler attribute.

If a function with svc_handler is called, the processor switches
to supervisory mode and executes. After executing the function
it returns to normal mode.

Same feature can also be invoked with svc_table_handler attribute
but this attribute will accept a service ID, to be used for
calling the function.

Signed-off-by:nagaraju <nmekala@xilix.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
[Patch, microblaze]: Increase max alignment to please the testsuite

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>