Commit Graph

149110 Commits

Author SHA1 Message Date
Arnaud Charlet d89ce4324c [multiple changes]
2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* lib-writ.adb (Write_ALI): Removal of unused file entries from
	dependency list must be performed before the list is sorted,
	so that the dependency number of other files is properly set-up
	for use in tools that relate entity information to the unit in
	which they are declared.

2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_aggr.adb (Initialize_Ctrl_Array_Component):
	Create a copy of the initialization expression to avoid sharing
	it between multiple components.

2016-10-12  Yannick Moy  <moy@adacore.com>

	* einfo.adb, einfo.ads (Has_Partial_Visible_Refinement): New flag
	in abtract states.
	(Has_Non_Null_Visible_Refinement): Return true for patial refinement.
	(Partial_Refinement_Constituents): New function returns the full or
	partial refinement constituents depending on scope.
	* sem_ch3.adb (Analyze_Declarations): Remove partial visible
	refinements when exiting the scope of a package spec or body
	and those partial refinements are not in scope afterwards.
	* sem_ch7.adb, sem_ch7.ads (Install_Partial_Declarations): Mark
	abstract states of parent units with partial refinement so that
	it is visible.
	* sem_prag.adb (Analyze_Part_Of_In_Decl_Part): Mark enclosing
	abstract state if any as having partial refinement in that scope.
	(Analyze_Refined_Global_In_Decl_Part): Check constituent usage
	based on full or partial refinement depending on scope.

2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Type_Conversion): If the target type
	has an invariant aspect, insert invariant call at the proper
	place in the code rather than rewriting the expression as an
	expression with actions, to prevent spurious semantic errors on
	the rewritten conversion when it is the object in a renaming.

From-SVN: r241048
2016-10-12 15:53:46 +02:00
Jonathan Wakely 432b6d9572 Make test helper work with non-copyable types
* testsuite/util/testsuite_common_types.h
	(bitwise_assignment_operators): Use direct-initialization for C++11
	and later, to avoid CopyConstructible requirement.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
	Adjust expected errors and line numbers.

From-SVN: r241047
2016-10-12 14:30:49 +01:00
Thomas Schwinge d6aa94b0b7 Fix LTO_STREAMER_DEBUG build
gcc/
	* lto-streamer.c: Fix LTO_STREAMER_DEBUG build.

From-SVN: r241046
2016-10-12 15:18:36 +02:00
Thomas Schwinge 29e7753047 Un-break dwarf2out for DWARF2_LINENO_DEBUGGING_INFO configurations
gcc/
	* dwarf2out.c (dwarf2_lineno_debug_hooks): Use
	dwarf2out_assembly_start.

From-SVN: r241045
2016-10-12 15:09:26 +02:00
Thomas Schwinge cf7bb33f4d Make GCC selftests work for *-wrs-vxworks-* targets
gcc/
	* Makefile.in (SELFTEST_FLAGS): Add -nostdinc.

From-SVN: r241044
2016-10-12 15:09:17 +02:00
Thomas Schwinge 194fa9a173 In gcc/Makefile.in, factor out SELFTEST_FLAGS
gcc/
	* Makefile.in (SELFTEST_FLAGS): New variable.
	(s-selftest, selftest-gdb, selftest-valgrind): Use it.

From-SVN: r241043
2016-10-12 15:09:06 +02:00
Thomas Schwinge 96f0a5131c Fix gcc/vmsdbgout.c:vmsdbg_debug_hooks for "More trivial bits from early LTO debug merge"
gcc/
	* vmsdbgout.c (vmsdbg_debug_hooks): Add filename parameter to
	early_finish hook.

From-SVN: r241042
2016-10-12 15:08:53 +02:00
Hristian Kirtchev f31dcd99ac exp_ch5.adb, [...]: Minor reformatting.
2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch5.adb, sem_ch3.adb, exp_ch9.adb, a-tags.adb, sem_prag.adb,
	sem_ch12.adb, xref_lib.adb, a-strunb-shared.adb, rtsfind.adb,
	freeze.adb, sem_attr.adb, sem_case.adb, exp_ch4.adb, ghost.adb,
	exp_ch6.adb, sem_ch4.adb, restrict.adb, s-os_lib.adb: Minor
	reformatting.

From-SVN: r241041
2016-10-12 14:59:57 +02:00
Arnaud Charlet 0026dd0a63 [multiple changes]
2016-10-12  Justin Squirek  <squirek@adacore.com>

	* sem_ch10.adb (Remove_Limited_With_Clause): Add a check to
	detect accidental visibility.

2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_Allocator): If the expression is a qualified
	expression, add a predicate check after the constraint check.
	* sem_res.adb (Resolve_Qualified_Expression): If context is an
	allocator, do not apply predicate check, as it will be done when
	allocator is expanded.

From-SVN: r241040
2016-10-12 14:57:23 +02:00
Arnaud Charlet 84a62ce88b [multiple changes]
2016-10-12  Bob Duff  <duff@adacore.com>

	* xref_lib.adb: Use renamings-of-slices to ensure
	that all references to Tables are properly bounds checked (when
	checks are turned on).
	* g-dyntab.ads, g-dyntab.adb: Default-initialize the array
	components, so we don't get uninitialized pointers in case
	of Tables containing access types.  Misc cleanup of the code
	and comments.

2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case 'Type_Key): Implement
	functionality of attribute, to provide a reasonably unique key
	for a given type and detect any changes in the semantics of the
	type or any of its subcomponents from version to version.

2016-10-12  Bob Duff  <duff@adacore.com>

	* sem_case.adb (Check_Choice_Set): Separate
	checking for duplicates out into a separate pass from checking
	full coverage, because the check for duplicates does not depend
	on predicates. Therefore, we shouldn't do it separately for the
	predicate vs. no-predicate case; we should share code. The code
	for the predicate case was wrong.

From-SVN: r241039
2016-10-12 14:55:47 +02:00
Georg-Johann Lay 6e8323274a rtl.h (struct rtx_def): Comment how RTX_FLAGS will be dumped in RTL dumps.
* rtl.h (struct rtx_def): Comment how RTX_FLAGS will be
	dumped in RTL dumps.

From-SVN: r241037
2016-10-12 12:35:00 +00:00
Arnaud Charlet fc3a3580da [multiple changes]
2016-10-12  Jerome Lambourg  <lambourg@adacore.com>

	* init.c: Make sure to call finit on x86_64-vx7 to reinitialize
	the FPU unit.

2016-10-12  Arnaud Charlet  <charlet@adacore.com>

	* lib-load.adb (Load_Unit): Generate an error message even when
	Error_Node is null.

2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* lib-writ.adb (Write_ALI): Disable optimization related to transitive
	limited_with clauses for now.

2016-10-12  Javier Miranda  <miranda@adacore.com>

	* sem_attr.adb (Analyze_Attribute_Old_Result): Generating C
	code handle 'old located in inlined _postconditions procedures.
	(Analyze_Attribute [Attribute_Result]): Handle 'result when
	rewriting the attribute as a reference to the formal parameter
	_Result of inlined _postconditions procedures.

2016-10-12  Tristan Gingold  <gingold@adacore.com>

	* s-rident.ads (Profile_Info): Remove
	Max_Protected_Entries restriction from GNAT_Extended_Ravenscar
	* sem_ch9.adb (Analyze_Protected_Type_Declaration):
	Not a controlled type on restricted runtimes.

2016-10-12  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb (Derive_Subprogram): Add test
	for Is_Controlled of Parent_Type when determining whether an
	inherited subprogram with one of the special names Initialize,
	Adjust, or Finalize should be derived with its normal name even
	when inherited as a private operation (which would normally
	result in the inherited operation having a special "hidden" name).

2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Call): If a function call returns a
	limited view of a type replace it with the non-limited view,
	which must be available when compiling call.  This was already
	done elsewhere for non-overloaded calls, but needs to be done
	after resolution if function name is overloaded.

2016-10-12  Javier Miranda  <miranda@adacore.com>

	* a-tags.adb (IW_Membership [private]): new overloaded
	subprogram that factorizes the code needed to check if a
	given type implements an interface type.
	(IW_Membership
	[public]): invoke the new internal IW_Membership function.
	(Is_Descendant_At_Same_Level): Fix this routine to implement RM
	3.9 (12.3/3)

From-SVN: r241036
2016-10-12 14:33:50 +02:00
Arnaud Charlet 7504523eca [multiple changes]
2016-10-12  Tristan Gingold  <gingold@adacore.com>

	* exp_ch9.adb (Expand_N_Delay_Relative_Statement): Add support
	for a secondary procedure in case of missing Ada.Calendar.Delays
	* rtsfind.ads (RTU_Id): Add System_Relative_Delays.
	(RE_Id): Add RO_RD_Delay_For.
	* rtsfind.adb (Output_Entity_Name): Handle correctly units RO_XX.
	* s-rident.ads: Remove No_Relative_Delays
	restriction for GNAT_Extended_Ravenscar.

2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_elab.adb (Within_Initial_Condition):  When deternining
	the context of the expression, use the original node if it is
	a pragma, because Check pragmas are rewritten as conditionals
	when assertions are not enabled.

2016-10-12  Bob Duff  <duff@adacore.com>

	* spitbol_table.ads, spitbol_table.adb (Adjust, Finalize): Add
	"overriding".

2016-10-12  Bob Duff  <duff@adacore.com>

	* a-strunb-shared.ads, a-strunb-shared.adb (Finalize):
	Make sure Finalize is idempotent.
	(Unreference): Check for
	Empty_Shared_String, in case the reference count of the empty
	string wraps around.
	Also add "not null" in various places that can't be null.

2016-10-12  Jerome Lambourg  <lambourg@adacore.com>

	* init.c: Fix sigtramp with the x86_64-vx7-vxsim target on
	Windows host.

2016-10-12  Vadim Godunko  <godunko@adacore.com>

	* s-os_lib.ads (Is_Owner_Readable_File): Renamed from
	Is_Readable_File.
	(Is_Owner_Writable_File): Renamed from Is_Writable_File.
	(Is_Readable_File): Renames Is_Read_Accessible_File.
	(Is_Writable_File): Renames Is_Write_Accessible_File.

From-SVN: r241035
2016-10-12 14:27:25 +02:00
Jonathan Wakely cfbdc34f25 Simplify std::call_once implementation
* include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
	(call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.

From-SVN: r241034
2016-10-12 13:16:15 +01:00
Jonathan Wakely 08a53a2eda Add missing return to uninitialized_default_construct_n
* include/bits/stl_uninitialized.h
	(__uninitialized_default_novalue_n_1<true>): Add missing return.
	* testsuite/20_util/specialized_algorithms/memory_management_tools/
	1.cc: Check return values of uninitialized_xxx_n algorithms.

From-SVN: r241033
2016-10-12 12:20:35 +01:00
Jonathan Wakely 40571365a0 Remove 'return' from noreturn function
* libsupc++/nested_exception.h (throw_with_nested): Remove return.

From-SVN: r241032
2016-10-12 12:20:29 +01:00
Jonathan Wakely 164b41ebf3 Do not copy std:call_once arguments (LWG 2442)
* doc/xml/manual/intro.xml: Document LWG 2442 status.
	* include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
	[_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
	partial specialization to unpack args and forward to std::invoke.
	(call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
	instead of __bind_simple and __once_call_impl.
	(call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
	__bind_simple.
	* testsuite/30_threads/call_once/dr2442.cc: New test.

From-SVN: r241031
2016-10-12 12:20:25 +01:00
Martin Liska a15ebbcde0 Add a helper function: create_tmp_reg_or_ssa_name
* gimple-fold.c (create_tmp_reg_or_ssa_name): New function.
	(gimple_fold_builtin_memory_op): Use the function.
	(gimple_fold_builtin_strchr): Likewise.
	(gimple_fold_builtin_strcat): Likewise.
	(gimple_build): Likewise.

From-SVN: r241030
2016-10-12 10:50:40 +00:00
Ed Schonberg 5b4c102959 sem_ch12.adb (Check_Formal_Package_Instance): Skip an internal formal entity without a parent only if...
2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Formal_Package_Instance): Skip an internal
	formal entity without a parent only if the corresponding actual
	entity has a different kind.
	* exp_ch9.adb (Build_Class_Wide_Master): If the master is
	declared locally, insert the renaming declaration after the
	master declaration, to prevent access before elaboration in gigi.

From-SVN: r241029
2016-10-12 12:40:37 +02:00
Ed Schonberg 05662a060a contracts.adb (Analyze_Contracts): For a type declaration, analyze an iterable aspect when present.
2016-10-12  Ed Schonberg  <schonberg@adacore.com>                    

	* contracts.adb (Analyze_Contracts): For a type declaration, analyze
	an iterable aspect when present.

From-SVN: r241028
2016-10-12 12:38:17 +02:00
Nathan Sidwell d5e7854c12 * diagnostic.c (diagnostc_report_diagnostic): Fix formatting.
From-SVN: r241027
2016-10-12 10:36:35 +00:00
Arnaud Charlet 393525afc3 [multiple changes]
2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
	an instance of a formal package with defaults, when defaulted
	parameters include tagged private types and array types.

2016-10-12  Tristan Gingold  <gingold@adacore.com>

	* restrict.ads, restrict.adb (Restricted_Profile): Adjust
	comment, use Restricted_Tasking to compare restrictions.
	* s-rident.ads (Profile_Name): Add Restricted_Tasking and
	reorder literals.
	(Profile_Info): Set restrictions for Restricted_Tasking.

2016-10-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Full_Type_Declaration): Set Ghost status
	of type before elaborating inherited operations, so that the
	Ghost status is set properly for them.
	* ghost.adb (Check_Ghost_Overriding): A ghost subprogram can
	override an abstract subprogram coming from an interface
	operation.

From-SVN: r241026
2016-10-12 12:33:08 +02:00
Eric Botcazou f40dbd80eb re PR ada/64057 (possible issue in the shared implementation of Ada.Strings.Unbounded)
2016-10-12  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/64057
	* exp_ch5.adb (Is_Non_Local_Array): Return true for every array
	that is not a component or slice of an entity in the current
	scope.

From-SVN: r241025
2016-10-12 12:32:53 +02:00
Pierre-Marie de Rodat b4a9ef2f4d DWARF: space-optimize loc. descr. for integer literals on 32-bit targets
This enhances location description generation so that the generated
opcodes for integer literals are as space-efficient when HOST_WIDE_INT
is 64-bits large than when it's 32-bits large. In particular, this
reduces the size of the opcodes generated to produce big unsigned
literals using small literal integers instead.

gcc/

	* dwarf2out.c (int_loc_descriptor): Generate opcodes for another
	equivalent 32-bit constant (modulo 2**32) when that yields
	smaller instructions.
	(size_of_int_loc_descriptor): Update accordingly.

gcc/testsuite/

	* gnat.dg/debug8.adb: New testcase.

From-SVN: r241024
2016-10-12 08:38:49 +00:00
Pierre-Marie de Rodat c0dbd22d2e DWARF: fix scoping for descriptions of local types
In Ada, it is possible to have nested subprograms in the following
configuration:

    procedure Parent is
       type T;
       [...]
       procedure Child (Value : T) is
       begin
          [...]
       end Child;
    begin
       [...]
    end Parent;

As we currently generate debugging information for Child first before
Parent, the debug info for T appears in global scope since the DIE for
Parent does not exist yet.

This patch makes sure that when we generate early debug info for a
nested function, we trigger generation for the parent function first.

gcc/

	* dwarf2out.c (dwarf2out_early_global_decl): For nested
	functions, call dwarf2out_decl on the parent function first.

gcc/testsuite/

	* gnat.dg/debug9.adb: New testcase.

From-SVN: r241023
2016-10-12 08:29:01 +00:00
Richard Biener 7d7f92889b match.pd ((X /[ex] A) * A -> X): Remove unnecessary constraint on the conversion.
2016-10-12  Richard Biener  <rguenther@suse.de>

	* match.pd ((X /[ex] A) * A -> X): Remove unnecessary constraint
	on the conversion.

From-SVN: r241022
2016-10-12 07:16:01 +00:00
Richard Biener 8a7c91cd62 2016-10-12 Richard Biener <rguenther@suse.de>
* tree-ssa-propagate.c
	(substitute_and_fold_dom_walker::before_dom_children): Do not
	ignore ASSERT_EXPRs but only preserve them.
	* tree-vrp.c (remove_range_assertions): Deal with ASSERT_EXPRs
	that have been propagated into.
	(vrp_finalize): Enable DCE for substitute_and_fold.

	* gcc.dg/tree-ssa/vrp35.c: Adjust.
	* gcc.dg/tree-ssa/vrp36.c: Likewise.
	* gcc.dg/tree-ssa/vrp46.c: Likewise.

From-SVN: r241021
2016-10-12 07:10:07 +00:00
Richard Biener 7dc2f5f123 re PR middle-end/77920 (186.crafty doesn't compile)
2016-10-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/77920
	* tree-vrp.c (simplify_div_or_mod_using_ranges): Simplify.
	(simplify_min_or_max_using_ranges): Pass in gsi and use it.
	(simplify_abs_using_ranges): Likewise.
	(simplify_conversion_using_ranges): Likewise.
	(simplify_stmt_using_ranges): Adjust.

	* gcc.dg/torture/pr77920.c: New testcase.

From-SVN: r241020
2016-10-12 07:08:49 +00:00
Jakub Jelinek 4a8b97cb8a re PR tree-optimization/77929 (ICE: verify_gimple failed (error: non-trivial conversion at assignment))
PR tree-optimization/77929
	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle
	(*ops)[ranges[i].idx]->op != ranges[i].exp case.

	* gcc.c-torture/compile/pr77929.c: New test.

From-SVN: r241019
2016-10-12 09:07:33 +02:00
Aaron Sawdey 83d3ca2849 re PR target/77934 (pattern for mtvsrdd needs to use b constraint not r)
2016-10-12  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	PR target/77934
	* config/rs6000/vmx.md (vsx_concat_<mode>): The mtvsrdd instruction
	needs a base register for arg 1.

From-SVN: r241017
2016-10-11 21:12:06 -05:00
GCC Administrator 9833e9315b Daily bump.
From-SVN: r241016
2016-10-12 00:16:12 +00:00
Jakub Jelinek 70f6d5e19b gcc/
* common.opt (Wimplicit-fallthrough) Turn into alias to
	-Wimplicit-fallthrough=3.  Remove EnabledBy.
	(Wimplicit-fallthrough=): New option.
	* gimplify.c (warn_implicit_fallthrough_r): Use
	OPT_Wimplicit_fallthrough_ instead of OPT_Wimplicit_fallthrough.
	* doc/invoke.texi (-Wimplicit-fallthrough): Document as alias
	to -Wimplicit-fallthrough=3.
	(-Wimplicit-fallthrough=): Document.
gcc/c-family/
	* c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
	(Wimplicit-fallthrough=): Enable for these languages by -Wextra.
	* c-opts.c (sanitize_cpp_opts): Initialize
	cpp_opts->cpp_warn_implicit_fallthrough.
gcc/testsuite/
	* c-c++-common/Wimplicit-fallthrough-25.c: New test.
	* c-c++-common/Wimplicit-fallthrough-26.c: New test.
	* c-c++-common/Wimplicit-fallthrough-27.c: New test.
	* c-c++-common/Wimplicit-fallthrough-28.c: New test.
	* c-c++-common/Wimplicit-fallthrough-29.c: New test.
	* c-c++-common/Wimplicit-fallthrough-30.c: New test.
	* c-c++-common/Wimplicit-fallthrough-31.c: New test.
	* c-c++-common/Wimplicit-fallthrough-32.c: New test.
	* c-c++-common/Wimplicit-fallthrough-33.c: New test.
libcpp/
	* include/cpplib.h (struct cpp_options): Add
	cpp_warn_implicit_fallthrough.
	* init.c (cpp_create_reader): Initialize it to 0.
	* lex.c (fallthrough_comment_p): Handle different
	cpp_warn_implicit_fallthrough levels.  Whitespace fixes.

From-SVN: r241013
2016-10-12 01:19:06 +02:00
Eric Botcazou 4803de58c5 sparc.c (emit_scc_insn): Remove direct support for EQ and GEU in DImode if TARGET_SUBXC.
* config/sparc/sparc.c (emit_scc_insn): Remove direct support for EQ
	and GEU in DImode if TARGET_SUBXC.
	* config/sparc/sparc.md (seqdi<W:mode>_zero): Remove TARGET_SUBXC.
	(seqdi<W:mode>_zero_subxc): Delete.
	(neg_seqdi<W:mode>_zero): Remove TARGET_VIS3.
	(neg_seqdi<W:mode>_zero_vis3): Delete.
	(plus_seqdi<W:mode>_zero): Likewise.
	(minus_seqdi<W:mode>_zero): Likewise.
	(plus_plus_sltu<W:mode>): Accept only register.
	(addx<W:mode>): Likewise.
	(plus_sltu<W:mode>_vis3): Likewise.
	(plus_plus_sltu<W:mode>_vis3): Likewise.
	(neg_sgeu<W:mode>_vis3): Delete.
	(minus_sgeu<W:mode>_vis3): Likewise.
	(addxc<W:mode>): Accept only registers.
	(neg_sltu<W:mode>_subxc): Write %%g0 instead of 0.
	(minus_neg_sltu<W:mode>_subxc): Accept only register.
	(neg_plus_sltu<W:mode>_subxc): Likewise.
	(minus_sltu<W:mode>_subxc): Write %%g0 instead of 0.
	(minus_minus_sltu<W:mode>_subxc): Accept only register.
	(sgeu<W:mode>_insn_subxc): Delete.
	(plus_sgeu<W:mode>_subxc): Likewise.
	(subxc<W:mode>): Accept only register.
	(scc splitter): Split always GEU again.

From-SVN: r241012
2016-10-11 22:22:38 +00:00
Jakub Jelinek 0a4613f0c5 iresolve.c (is_trig_resolved, [...]): Formatting fixes.
* iresolve.c (is_trig_resolved, resolve_trig_call): Formatting fixes.
	* simplify.c (simplify_trig_call, degrees_f, radians_f,
	gfc_simplify_atrigd, gfc_simplify_cotan): Likewise.

From-SVN: r241010
2016-10-11 23:45:34 +02:00
Jeff Law 1fdf74c7c9 re PR tree-optimization/77424 (Identical statements in if-else branches)
PR tree-optimization/77424
	* tree-ssa-threadupdate.c (thread_through_all_blocks): Remove
	dead conditionals.  Assert that all e->aux fields are NULL.

From-SVN: r241009
2016-10-11 15:41:51 -06:00
Steven G. Kargl f6cf4810e9 re PR fortran/77942 (ICE: Floating point exception, in gfc_simplify_cshift, at fortran/simplify.c:1845)
2016-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77942
	* simplify.c (gfc_simplify_cshift): Check for zero.

2016-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77942
	* gfortran.dg/pr77942.f90

From-SVN: r241008
2016-10-11 21:03:04 +00:00
Eric Botcazou 2560723055 system-linux-armeb.ads (Backend_Overflow_Checks): Change to True.
* system-linux-armeb.ads (Backend_Overflow_Checks): Change to True.
	* system-linux-mips.ads (Backend_Overflow_Checks): Likewise.
	* system-linux-mips64el.ads (Backend_Overflow_Checks): Likewise.
	* system-linux-mipsel.ads (Backend_Overflow_Checks): Likewise.
	* system-linux-sparcv9.ads (Backend_Overflow_Checks): Likewise.
	* system-rtems.ads: Likewise.

From-SVN: r241003
2016-10-11 19:50:31 +00:00
David Malcolm acda0629ff Split print_rtx into subroutines
gcc/ChangeLog:
	* print-rtl.c (print_rtx): Rename "i" to "idx".  Split out the
	operand-printing "switch" statement into...
	(print_rtx_operand_code_0): ...this new function, ...
	(print_rtx_operand_code_e): ...this new function, ...
	(print_rtx_operand_codes_E_and_V): ...this new function, ...
	(print_rtx_operand_code_i): ...this new function, ...
	(print_rtx_operand_code_r): ...this new function, ...
	(print_rtx_operand_code_u): ...this new function, ...
	(print_rtx_operand): ...and this new function.

From-SVN: r241002
2016-10-11 19:19:05 +00:00
Fritz Reese ec08df86cb Fix bad commit for -fdec-math.
2016-10-11  Fritz Reese  <fritzoreese@gmail.com>

Fix bad commit for -fdec-math.

	* iresolve.c (get_radians, get_degrees): Fix sloppy commit.
	* simplify.c (degrees_f, radians_f): Ditto.

From-SVN: r241001
2016-10-11 18:44:05 +00:00
Jerry DeLisle e8e5329d0c simplify.c (radians_f): Fix mpdr_mod.
2016-10-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* simplify.c (radians_f): Fix mpdr_mod.
	* ireolce.c (get_degrees): Declare tmp.

From-SVN: r241000
2016-10-11 18:31:50 +00:00
Andris Pavenis 91f2eb13cb adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

	* adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
	ISALPHA: include <ctype.h> and define to isalpha for DJGPP when IN_RTS is defined.
	(DIR_SEPARATOR) define to '\\' for DJGPP.
	(__gnat_get_file_names_case_sensitive): return 0 for DJGPP unless
	overriden in environment
	(__gnat_is_absolute_path): Support MS-DOS style absolute paths for DJGPP.
	(__gnat_portable_spawn): Use spewnvp for DJGPP.
	(__gnat_portable_no_block_spawn): Use spawnvp for DJGPP.
	(__gnat_portable_wait): Return 0 for DJGPP.

From-SVN: r240999
2016-10-11 21:24:45 +03:00
Andris Pavenis a5297b0470 Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP target
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP target
	(EH_MECHANISM): Define to -gcc for DJGPP
	* system-djgpp.ads: New file

From-SVN: r240998
2016-10-11 21:19:07 +03:00
Andris Pavenis 4f100fd7db ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

	* ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
	* gsocket.h: Do not support sockets for DJGPP.
	* init.c (__gnat_install_handler): Implememt for DJGPP
	* sysdep.c: Include <io.h> for DJGPP
	(_setmode): Define to setmode for DJGPP
	(__gnat_set_mode): Add implementation for DJGPP
	(__gnat_localtime_tzoff): Use localtime_r for DJGPP
	* terminals.c: Add DJGPP to list of unsupported platforms.
	* env.c (__gnat_clearenv): use _gnat_unsetenv on all entries for DJGPP

From-SVN: r240997
2016-10-11 21:12:52 +03:00
Uros Bizjak a32fc2165b alpha-passes.def: New file.
* config/alpha/alpha-passes.def: New file.
	* config/alpha/t-alpha: New file.
	* config/alpha/alpha-protos.h (gcc::context, rtl_opt_pass): Declare.
	(make_pass_handle_trap_shadows): New prototype.
	(make_pass_align_insns): Ditto.
	* config/alpha/alpha.c (alpha_option_override): Don't register
	passes here.
	* config.gcc (alpha*-*-*) Add alpha/t-alpha to tmake_file.

From-SVN: r240996
2016-10-11 18:30:45 +02:00
Michael Meissner 66d76fc91e re PR target/77924 (-mfloat128-type change broke AIX)
2016-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/77924
	* config/rs6000/rs6000.c (rs6000_init_builtins): Only create the
	distinct __ibm128 IBM extended double type if long doubles are
	128-bits and the default format for long double is IEEE 128-bit.

From-SVN: r240994
2016-10-11 14:12:09 +00:00
Ian Lance Taylor 207f844e6e configure: redirect -fsplit-stack compilation to dev/null
Avoid an error message in the middle of the configure output.
    
    Patch by Eric Botcazou.
    
    Reviewed-on: https://go-review.googlesource.com/30813

From-SVN: r240993
2016-10-11 13:13:17 +00:00
Richard Biener a26ff5b549 dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
2016-10-11  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
	(init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION.
	(verify_die): New function.
	(dwarf2out_finish): Call it.
	(output_line_info): Handle case of -gsplit-dwarf without
	DWARF2_ASM_LINE_DEBUG_INFO.

From-SVN: r240992
2016-10-11 12:56:49 +00:00
Richard Biener b13ff1f5e2 re PR debug/77931 (PASS->FAIL: gdb.cp/namespace.exp: print ina)
2016-10-11  Richard Biener  <rguenther@suse.de>

	PR debug/77931
	* gimple-low.c (lower_gimple_bind): Handle arbitrary common
	sub-chains of BLOCK_VARS and gimple_bind_vars.

From-SVN: r240991
2016-10-11 12:52:44 +00:00
Venkataramanan Kumar 1d0eabee39 Fix integer load reservation for -march=znver1
2016-10-11  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

	* config/i386/znver1.md : Fix imov/imovx load type reservations.

From-SVN: r240990
2016-10-11 11:49:32 +00:00
Fritz Reese 8e8c2744fa New flag -fdec-math for COTAN and degree trig intrinsics.
2016-10-11  Fritz Reese  <fritzoreese@gmail.com>

New flag -fdec-math for COTAN and degree trig intrinsics.

	gcc/fortran/
	* lang.opt: New flag -fdec-math.
	* options.c (set_dec_flags): Enable with -fdec.
	* invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
	* intrinsics.c (add_functions, do_simplify): New intrinsics
	with -fdec-math.
	* gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
	* gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
	gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
	* iresolve.c (resolve_trig_call, get_degrees, get_radians,
	is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
	gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
	* intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
	gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
	* simplify.c (simplify_trig_call, degrees_f, radians_f,
	gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
	gfc_simplify_atan2d): New functions.

	gcc/testsuite/gfortran.dg/
	* dec_math.f90: New testsuite.

From-SVN: r240989
2016-10-11 11:21:07 +00:00