2014-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/59604
	PR fortran/58003
	* gfortran.h (gfc_convert_mpz_to_signed):  Add prototype.
	* arith.c (gfc_int2int):  Convert number to signed if
	arithmetic overflow is not checked.
	* simplify.c (convert_mpz_to_unsigned): Only trigger assert for
	size if range checking is in force.
	(convert_mpz_to_signed):  Make non-static, rename to
	(gfc_convert_mpz_to_signed).
	(simplify_dshift): Use gfc_convert_mpz_to_signed.
	(gfc_simplify_ibclr):  Likewise.
	(gfc_simplify_ibits):  Likewise.
	(gfc_simplify_ibset):  Likewise.
	(simplify_shift):  Likewise.
	(gfc_simplify_ishiftc):  Likewise.
	(gfc_simplify_maskr):  Likewise.
	(gfc_simplify_maskl):  Likewise.

2014-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/59604
	PR fortran/58003
	* gfortran.dg/no_range_check_3.f90:  New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209836 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* cselib.c (find_slot_memmode): Delete.
	(cselib_hasher): Change compare_type to a struct.
	(cselib_hasher::equal): Update accordingly.  Don't expect wrapped
	constants.
	(preserve_constants_and_equivs): Adjust for new compare_type.
	(cselib_find_slot): Likewise.  Take the mode of the rtx as argument.
	(wrap_constant): Delete.
	(cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209843 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-27  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
	Add _S_opcode_repeat support to distingush a loop from
	_S_opcode_alternative.
	* include/bits/regex_automaton.tcc (_State_base::_M_print,
	_State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
	_StateSeq<>::_M_clone): Likewise.
	* include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
	Likewise.
	* include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
	* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
	Uglify local variable __i.
	* include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
	Use size_t instead of int to compare with vector::size().

2014-04-27  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_executor.h: Add _M_rep_count to track how
	many times this repeat node are visited.
	* include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
	_Executor<>::_M_dfs): Use _M_rep_count to prevent entering
	infinite loop.

2014-04-27  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.tcc (__regex_algo_impl<>): Remove
	_GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
	_GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
	* include/bits/regex_automaton.h: Remove quantifier counting variable.
	* include/bits/regex_automaton.tcc (_State_base::_M_dot):
	Adjust debug NFA dump.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209848 138bc75d-0d04-0410-961f-82ee72b054a4
	* configure.ac: Tweak GAS check for LEON instructions on SPARC.
	* configure: Regenerate.
	* config/sparc/sparc.opt (muser-mode): New option.
	* config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
	for LEON3.
	(atomic_compare_and_swap_leon3_1): New instruction for LEON3.
	* doc/invoke.texi (SPARC options): Document -muser-mode.


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

	* tree-pass.h (execute_pass_list): Adjust prototype.
	* passes.c (pass_manager::execute_early_local_passes):
	Adjust.
	(do_per_function): Change callback signature, push all actual
	work to the callbals.
	(do_per_function_toporder): Likewise.
	(execute_function_dump): Adjust.
	(execute_function_todo): Likewise.
	(clear_last_verified): Likewise.
	(verify_curr_properties): Likewise.
	(update_properties_after_pass): Likewise.
	(execute_pass_list_1): Split out from ...
	(execute_pass_list): ... here.  Adjust.
	(execute_ipa_pass_list): Likewise.
	* cgraphunit.c (cgraph_add_new_function): Adjust.
	(analyze_function): Likewise.
	(expand_function): Likewise.
	* cgraph.c (release_function_body): Free dominance info
	here instead of asserting it was magically freed elsewhere.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209856 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2014-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59120
	* parser.c (cp_parser_alias_declaration): Check return value of
	cp_parser_require.

/testsuite
2014-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59120
	* g++.dg/cpp0x/alias-decl-43.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209857 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM/AArch64] Use signed chars in gcc.dg/pr60114.c.

	PR c/60983
	* gcc.dg/pr60114.c: Use signed chars.


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

	PR tree-optimization/60979
	* graphite-scop-detection.c (scopdet_basic_block_info): Reject
	SCOPs that end in a block with a successor with abnormal
	predecessors.

	* gcc.dg/graphite/pr60979.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209859 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/60902
	* tree-ssa-threadedge.c
	(record_temporary_equivalences_from_stmts_at_dest): Only iterate
	over real defs when invalidating outputs from statements that do not
	produce useful outputs for threading.

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

	* configure.ac: Do valgrind header checks unconditionally.
	Add --enable-valgrind-annotations.
	* system.h: Guard valgrind header inclusion with
	ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
	* alloc-pool.c (pool_alloc, pool_free): Use
	ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
	to guard possibly dead code.
	* config.in: Regenerated.
	* configure: Likewise.


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

	* tree-vrp.c (vrp_var_may_overflow): Remove.
	(vrp_visit_phi_node): Rather than bumping to +-INF possibly
	with overflow immediately bump to one before that value and
	let iteration figure out overflow status.

	* gcc.dg/tree-ssa/vrp91.c: New testcase.
	* gcc.dg/Wstrict-overflow-14.c: XFAIL.
	* gcc.dg/Wstrict-overflow-15.c: Likewise.
	* gcc.dg/Wstrict-overflow-18.c: Remove XFAIL.


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

	PR middle-end/60092
	* builtins.def (DEF_C11_BUILTIN): Add.
	(BUILT_IN_ALIGNED_ALLOC): Likewise.
	* coretypes.h (enum function_class): Add function_c11_misc.
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
	BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
	(call_may_clobber_ref_p_1): Likewise.
	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
	(mark_all_reaching_defs_necessary_1): Likewise.
	(propagate_necessity): Likewise.
	(eliminate_unnecessary_stmts): Likewise.
	* tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.

	ada/
	* gcc-interface/utils.c: Define flag_isoc11.

	lto/
	* lto-lang.c: Define flag_isoc11.

	* gcc.dg/tree-ssa/alias-32.c: New testcase.
	* gcc.dg/vect/pr60092.c: Likewise.


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

	* tree-pass.h (TODO_verify_il): Define.
	(TODO_verify_all): Complete properly.
	* passes.c (execute_function_todo): Move existing loop-closed
	SSA verification under TODO_verify_il.
	(execute_one_pass): Trigger TODO_verify_il at todo-after time.
	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
	Fix tree sharing issue.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209865 138bc75d-0d04-0410-961f-82ee72b054a4
	* exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix,
	add 'Suffix' parameter and adjust comment.
	(Get_External_Name_With_Suffix): Delete.
	* exp_dbug.adb (Get_External_Name_With_Suffix): Merge into...
	(Get_External_Name): ...here.  Add 'False' default to Has_Suffix, add
	'Suffix' parameter.
	(Get_Encoded_Name): Remove 2nd argument in call to Get_External_Name.
	Call Get_External_Name instead of Get_External_Name_With_Suffix.
	(Get_Secondary_DT_External_Name): Likewise.
	* exp_cg.adb (Write_Call_Info): Likewise.
	* exp_disp.adb (Export_DT): Likewise.
	(Import_DT): Likewise.
	* comperr.ads (Compiler_Abort): Remove Code parameter and add From_GCC
	parameter with False default.
	* comperr.adb (Compiler_Abort): Likewise.  Adjust accordingly.
	* types.h (Fat_Pointer): Rename into...
	(String_Pointer): ...this.  Add comment on interfacing rules.
	* fe.h (Compiler_Abort): Adjust for above renaming.
	(Error_Msg_N): Likewise.
	(Error_Msg_NE): Likewise.
	(Get_External_Name): Likewise.  Add third parameter.
	(Get_External_Name_With_Suffix): Delete.
	* gcc-interface/decl.c (STDCALL_PREFIX): Define.
	(create_concat_name): Adjust call to Get_External_Name, remove call to
	Get_External_Name_With_Suffix, use STDCALL_PREFIX, adjust for renaming.
	* gcc-interface/trans.c (post_error): Likewise.
	(post_error_ne): Likewise.
	* gcc-interface/misc.c (internal_error_function): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209866 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-28  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (sra_modify_expr): Generate new memory accesses with
	same alias type as the original statement.
	(subreplacement_assignment_data): New type.
	(handle_unscalarized_data_in_subtree): New type of parameter,
	generate new memory accesses with same alias type as the original
	statement.
	(load_assign_lhs_subreplacements): Likewise.
	(sra_modify_constructor_assign): Generate new memory accesses with
	same alias type as the original statement.

testsuite/
        * gcc.dg/tree-ssa/sra-14.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209868 138bc75d-0d04-0410-961f-82ee72b054a4
Enable ada for aarch64-linux

        * gcc-interface/Makefile.in: Support aarch64-linux.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209871 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/rs6000/sync.md (AINT mode_iterator): Move definition.
	(loadsync_<mode>): Change mode.
	(load_quadpti, store_quadpti): New.
	(atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
	* config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209873 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Relax modes_tieable_p and cannot_change_mode_class

gcc/

	* config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
	* config/aarch64/aarch64.c
	(aarch64_cannot_change_mode_class): Weaken conditions.
	(aarch64_modes_tieable_p): New.
	* config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209878 138bc75d-0d04-0410-961f-82ee72b054a4
Add a class hierarchy diagram to gimple.texi

2014-04-28  David Malcolm  <dmalcolm@redhat.com>

	* doc/gimple.texi: Replace the description of the now-defunct
	union gimple_statement_d with a diagram showing the
	gimple_statement_base class hierarchy and its relationships to
	the GSS_ and GIMPLE_ enums.



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