Commit Graph

135555 Commits

Author SHA1 Message Date
Arnaud Charlet 0566484a15 [multiple changes]
2015-01-06  Pierre-Marie Derodat  <derodat@adacore.com>

	* scos.ads: Update documentation about the SCO table build
	process and about table records format.
	* par_sco.ads (SCO_Record): Rename to SCO_Record_Raw.
	(SCO_Record_Filtered): New procedure.
	(Set_SCO_Logical_Operator): New procedure.
	(dsco): Update documentation.
	* par_sco.adb: Update library-level comments.
	(SCO_Generation_State_Type): New type.
	(SCO_Generation_State): New variable.
	(SCO_Raw_Table): New package instanciation.
	(Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table.
	("<"): New.
	(Tristate): New type.
	(Is_Logical_Operator): Return Tristate and update documentation.
	(Has_Decision): Update call to Is_Logical_Operator and complete
	documentation.
	(Set_Table_Entry): Rename to Set_Raw_Table_Entry, update
	comment, add an assertion for state checking and change
	references to SCO_Table into SCO_Raw_Table.
	(dsco): Refactor to dump the raw and the filtered tables.
	(Process_Decisions.Output_Decision_Operand): Handle putative
	short-circuit operators.
	(Process_Decisions.Output_Element): Update references
	to Set_Table_Entry and to Condition_Pragma_Hash_Table.
	(Process_Decisions.Process_Decision_Operand): Update call
	to Is_Logical_Operator.
	(Process_Decisions.Process_Node): Handle putative short-circuit
	operators and change references to
	SCO_Table into SCO_Raw_Table.
	(SCO_Output): Add an assertion
	for state checking and remove code that used to stamp out SCO entries.
	(SCO_Pragma_Disabled): Change reference to SCO_Table
	into SCO_Raw_Table.
	(SCO_Record): Rename to SCO_Record_Raw,
	add an assertion for state checking and change references
	to SCO_Table into SCO_Raw_Table.
	(Set_SCO_Condition): Add an assertion for state checking, update
	references to Condition_Pragma_Hash_Table and change references to
	SCO_Table into SCO_Raw_Table.
	(Set_SCO_Pragma_Enabled): Add an assertion for state checking and
	change references to SCO_Table into SCO_Raw_Table.
	(Set_SCO_Logical_Operator): New procedure.
	(Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update
	references to Set_Table_Entry and to Condition_Pragma_Hash_Table.
	(SCO_Record_Fildered): New procedure.
	* gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass.
	* lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and
	output SCOs.
	* par-load.adb (Load): Update reference to SCO_Record.
	* par.adb (Par): Update reference to SCO_Record.
	* put_scos.adb (Put_SCOs): Add an assertion to check that no
	putative SCO condition reaches this end.
	* sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record.
	* sem_res.adb (Resolve_Logical_Op): Validate putative SCOs
	when corresponding to an "and"/"or" operator affected by the
	Short_Circuit_And_Or pragma.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb (Analyze_Use_Package): Give more specific error
	msg for attempted USE of generic subprogram or subprogram.

From-SVN: r219234
2015-01-06 10:30:31 +01:00
Arnaud Charlet 72eaa36512 [multiple changes]
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb,
	s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb,
	a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
	that specify stream subprograms, if the prefix is a class-wide
	type then the generated attribute definition clause must apply
	to the same class-wide type.
	(Default_Iterator): An iterator defined by an aspect of some
	container type T must have a first parameter of type T, T'class,
	or an access to such (from code reading RM 5.5.1 (2/3)).

2015-01-06  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb: Minor: complete previous change.

2015-01-06  Olivier Hainque  <hainque@adacore.com>

	* set_targ.ads (C_Type_For): New function. Return the name of
	a C type supported by the back-end and suitable as a basis to
	construct the standard Ada floating point type identified by
	the T parameter. This is used as a common ground to feed both
	ttypes values and the GNAT tree nodes for the standard floating
	point types.
	* set_targ.adb (Long_Double_Index): The index at which "long
	double" gets registered in the FPT_Mode_Table. This is useful to
	know whether we have a "long double" available at all and get at
	it's characteristics without having to search the FPT_Mode_Table
	when we need to decide which C type should be used as the
	basis for Long_Long_Float in Ada.
	(Register_Float_Type): Fill Long_Double_Index.
	(FPT_Mode_Index_For): New function. Return the index in
	FPT_Mode_Table that designates the entry corresponding to the
	provided C type name.
	(FPT_Mode_Index_For): New function. Return the index in
	FPT_Mode_Table that designates the entry for a back-end type
	suitable as a basis to construct the standard Ada floating point
	type identified by the input T parameter.
	(elaboration code): Register_Back_End_Types unconditionally,
	so C_Type_For can operate regardless of -gnateT. Do it
	early so we can query it for the floating point sizes, via
	FPT_Mode_Index_For. Initialize Float_Size, Double_Size and
	Long_Double_Size from the FPT_Mode_Table, as cstand will do.
	* cstand.adb (Create_Float_Types): Use C_Type_For to determine
	which C type should be used as the basis for the construction
	of the Standard Ada floating point types.
	* get_targ.ads (Get_Float_Size, Get_Double_Size,
	Get_Long_Double_Size): Remove.
	* get_targ.adb: Likewise.

2015-01-06  Thomas Quinot  <quinot@adacore.com>

	* sem_cat.adb (In_RCI_Declaration): Remove unnecessary
	parameter and rename to...
	(In_RCI_Visible_Declarations): Fix handling of private part of nested
	package.
	(Validate_RCI_Subprogram_Declaration): Reject illegal function
	returning anonymous access in RCI unit.

From-SVN: r219233
2015-01-06 10:24:33 +01:00
Arnaud Charlet 948ed27746 [multiple changes]
2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a
	function wrapper may be a homonym of another local declaration.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode,
	build function and operator wrappers after the actual subprogram
	has been resolved, and replace the standard renaming declaration
	with the declaration of wrapper.
	* sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer):
	make public for use elsewhere.
	* sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer):
	rewrite, now that actual is fully resolved when wrapper is
	constructed.

2015-01-06  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb: Revert previous change.

From-SVN: r219232
2015-01-06 10:20:55 +01:00
Arnaud Charlet a921e83c12 [multiple changes]
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb: Change name Name_Table_Boolean to
	Name_Table_Boolean1.
	* namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1
	Introduce Name_Table_Boolean2/3.
	* namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1
	Introduce Name_Table_Boolean2/3.
	* par-ch13.adb: Change name Name_Table_Boolean to
	Name_Table_Boolean1.

2015-01-06  Bob Duff  <duff@adacore.com>

	* gnat_rm.texi: Improve documentation regarding No_Task_Termination.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an
	others choice that covers multiple components, analyze each
	copy with the type of the component even in compile-only mode,
	to detect potential accessibility errors.

2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Is_Assignment_Or_Object_Expression): New routine.
	(Resolve_Actuals): An effectively volatile out
	parameter cannot act as an in or in out actual in a call.
	(Resolve_Entity_Name): An effectively volatile out parameter
	cannot be read.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
	the expansion of an expression function it may be pre-analyzed
	if a 'access attribute is applied to the function, in which case
	last_entity may have been assigned already.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_One_Call): If formal has an incomplete
	type and actual has the corresponding full view, there is no
	error, but a case of use of incomplete type in a predicate or
	invariant expression.

2015-01-06  Vincent Celier  <celier@adacore.com>

	* makeutl.adb (Insert_No_Roots): Make sure that the same source
	in two different project tree is checked in both trees, if they
	are sources of two different projects, extended or not.

2015-01-06  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb: Minor code clean up.
	(Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode.

2015-01-06  Bob Duff  <duff@adacore.com>

	* osint.adb (Read_Source_File): Don't print out
	file name unless T = Source.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal):
	recognize improper uses of constant_reference types as actuals
	for in-out parameters.
	(Check_Function_Call): Do not collect identifiers if function
	name is missing because of previous error.

From-SVN: r219231
2015-01-06 10:18:13 +01:00
Robert Dewar ac16e74cdf ali-util.adb, [...]: Minor change of name Name_Table_Info => Name_Table_Int.
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb,
	ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb:
	Minor change of name Name_Table_Info => Name_Table_Int.

From-SVN: r219230
2015-01-06 10:14:09 +01:00
Robert Dewar 4b6f99f505 exp_strm.adb (Build_Elementary_Input_Call): Clarify comments in previous checkin.
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* exp_strm.adb (Build_Elementary_Input_Call): Clarify comments
	in previous checkin.
	* freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving
	of bounds.
	* sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting.

From-SVN: r219229
2015-01-06 10:12:53 +01:00
Arnaud Charlet 21f30884bc [multiple changes]
2015-01-06  Vincent Celier  <celier@adacore.com>

	* a-strsup.adb (Times (Natural;String;Positive)): Raise
	Length_Error, not Index_Error, when the result is too long.

2015-01-06  Thomas Quinot  <quinot@adacore.com>

	* a-direct.adb (Create_Path): Minor error handling and
	performance improvement.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* checks.ads, sem_ch12.adb: Minor reformatting.
	* exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by
	zero check for fixed-point case if Backend_Divide_Checks_On_Target
	is False.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
	Do not set restriction No_Elaboration_Code unless the pragma
	appears in the main unit).

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify
	that with clause has already been analyzed before checking kind
	of with_clause.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* exp_strm.adb (Build_Elementary_Input_Call): Return base type
	(as required by RM).

From-SVN: r219228
2015-01-06 10:10:49 +01:00
Arnaud Charlet 91afcbfd3e [multiple changes]
2015-01-06  Arnaud Charlet  <charlet@adacore.com>

	* a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check).

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning
	for ignoring pragma Suppress (Elaboration_Check) in SPARK mode.

2015-01-06  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Expand_Interface_Conversion): No displacement
	of the pointer to the object needed when the type of the operand
	is not an interface type and the interface is one of its parent
	types (since they share the primary dispatch table).

From-SVN: r219227
2015-01-06 10:07:29 +01:00
Arnaud Charlet 966fc9c554 [multiple changes]
2015-01-06  Vincent Celier  <celier@adacore.com>

	* prj-env.adb: Minor comment update.

2015-01-06  Javier Miranda  <miranda@adacore.com>

	* sem_res.adb (Valid_Conversion): Restrict the checks on anonymous
	access types whose target type is an interface type to operands
	that are access types; required to report an error when the
	operand is not an access type.

From-SVN: r219226
2015-01-06 10:03:37 +01:00
Arnaud Charlet 4528ead53a [multiple changes]
2015-01-06  Bob Duff  <duff@adacore.com>

	* a-cfinve.adb (Copy): Set the discriminant to the Length when
	Capacity = 0.
	* a-cofove.ads (Capacity): Add a postcondition.
	* a-cfinve.ads (Capacity): Add a postcondition.
	(Reserve_Capacity): Correct the postcondition in the case where
	Capacity = 0; that means "Capacity => Length (Container)".
	* a-cofove.adb (Elems[c]): Add a comment
	explaining the dangers and how to avoid them.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Code clean up.

From-SVN: r219225
2015-01-06 10:02:05 +01:00
Arnaud Charlet 17d01d2135 Minor reformatting.
From-SVN: r219224
2015-01-06 10:01:19 +01:00
Arnaud Charlet 6260b90c23 * gnatvsn.ads: Bump copyright year.
From-SVN: r219223
2015-01-06 09:59:06 +01:00
Arnaud Charlet de4ac03852 [multiple changes]
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* s-taskin.ads, s-traces.ads: Minor reformatting.
	* exp_util.adb: Minor typo fix.

2015-01-06  Vincent Celier  <celier@adacore.com>

	* gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path
	with the runtime name.
	* prj-env.adb (Initialize_Default_Project_Path): When both
	Target_Name and Runtime_Name are not empty string, add to the
	project path the two directories .../lib/gnat and .../share/gpr
	related to the runtime.
	* prj-env.ads (Initialize_Default_Project_Path): New String
	parameter Runtime_Name, defaulted to the empty string.

2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* frontend.adb: Guard against the case where a configuration
	pragma may be split into multiple pragmas and the original
	rewritten as a null statement.
	* sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy
	pragma using Insert_Before rather than Insert_Action. This
	takes care of the configuration pragma case where Insert_Action
	would fail.

2015-01-06  Bob Duff  <duff@adacore.com>

	* a-coboho.ads (Element_Access): Add "pragma
	No_Strict_Aliasing (Element_Access);". This is needed because
	we are unchecked-converting from Address to Element_Access.
	* a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the
	result to be 1.

2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Resolve_Actuals): Remove the
	restriction which prohibits volatile actual parameters with
	enabled external propery Async_Writers to act appear in procedure
	calls where the corresponding formal is of mode OUT.

From-SVN: r219222
2015-01-06 09:57:50 +01:00
Eric Botcazou d3d514a953 * config-list.mk (LIST): Add visium-elf.
From-SVN: r219221
2015-01-06 08:54:46 +00:00
Eric Botcazou 8054942d32 * MAINTAINERS (CPU Port Maintainers): Add myself for Visium port.
From-SVN: r219220
2015-01-06 08:53:16 +00:00
Eric Botcazou 0969ec7d5d configure.ac: Add Visium support.
* configure.ac: Add Visium support.
	* configure: Regenerate.
libgcc/
	* config.host: Add Visium support.
	* config/visium: New directory.
gcc/
	* config.gcc: Add Visium support.
	* configure.ac: Likewise.
	* configure: Regenerate.
	* doc/extend.texi (interrupt attribute): Add Visium.
	* doc/invoke.texi: Document Visium options.
	* doc/install.texi: Document Visium target.
	* doc/md.texi: Document Visium constraints.
	* common/config/visium: New directory.
	* config/visium: Likewise.
gcc/testsuite/
	* lib/target-supports.exp (check_profiling_available): Return 0 for
	Visium.
	(check_effective_target_tls_runtime): Likewise.
	(check_effective_target_logical_op_short_circuit): Return 1 for Visium.
	* gcc.dg/20020312-2.c: Adjust for Visium.
	* gcc.dg/tls/thr-cse-1.c: Likewise
	* gcc.dg/tree-ssa/20040204-1.c: Likewise
	* gcc.dg/tree-ssa/loop-1.c: Likewise.
	* gcc.dg/weak/typeof-2.c: Likewise.

From-SVN: r219219
2015-01-06 08:50:12 +00:00
Arnaud Charlet 9bd59e280c Minor reformatting.
From-SVN: r219218
2015-01-06 09:23:59 +01:00
Segher Boessenkool 31dd2a8669 simplify-rtx.c (simplify_binary_operation_1): Handle more cases for the "(and X (ior (not X) Y) -> (and X Y)" transform.
* simplify-rtx.c (simplify_binary_operation_1): Handle more cases
	for the "(and X (ior (not X) Y) -> (and X Y)" transform.

From-SVN: r219217
2015-01-06 05:29:03 +01:00
Segher Boessenkool 2f48c66c9d combine.c (combine_validate_cost): Do not count the cost of a split I2 twice.
* combine.c (combine_validate_cost): Do not count the cost of a
	split I2 twice.  Do not display it twice in the dump, either.

From-SVN: r219216
2015-01-06 05:24:45 +01:00
Sandra Loosemore 0964f8458a Revert parts of r219199.
2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>

	Revert parts of r219199.

	gcc/
	* doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
	<inttypes.h>.
	([-Wtraditional]): Restore markup on <limits.h>.

From-SVN: r219215
2015-01-05 21:29:02 -05:00
Ian Lance Taylor 5e731d2d16 compiler: Use function receiver name in mangled named type descriptor.
If named types with similar names are defined inside of methods
with similar names, it was possible that the mangled type names would be
the same, leading to multiple definitions of type descriptor and
garbage collection info variables.
This can only occur with similarly named methods across different
receivers, so we use the receiver name to distinguish.

Fixes issue 33.

From-SVN: r219214
2015-01-06 02:27:02 +00:00
Trevor Saunders 2f42e5de44 implement -Wsuggest-override
c-family/

	PR c++/31397
	* c.opt (Wsuggest-override): New option.

cp/

	PR c++/31397
	* class.c (check_for_override): Warn when a virtual function is an
	override not marked override.

gcc/

	PR c++/31397
	* doc/invoke.texi: Document -Wsuggest-override.

From-SVN: r219213
2015-01-06 02:02:47 +00:00
Trevor Saunders 86cfdb4ea9 remove tree_list from warn_hidden ()
cp/

	* class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
	hold base_fndecls.
	(get_basefndecls): Adjust.

From-SVN: r219212
2015-01-06 02:02:27 +00:00
GCC Administrator f7d47c8a9b Daily bump.
From-SVN: r219211
2015-01-06 00:16:32 +00:00
Radovan Obradovic b176bb73b4 re PR rtl-optimization/64287 (Disable -fuse-caller-save when -pg is active)
2015-01-05  Radovan Obradovic  <radovan.obradovic@imgtec.com>

	PR rtl-optimization/64287

	gcc/
	* toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
	(process_options): Disable flag_ipa_ra if profiling.

	gcc/testsuite/
	* gcc.dg/aru-2.c: New test.

From-SVN: r219208
2015-01-05 18:42:27 -05:00
Eric Botcazou dd1ca4c209 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
From-SVN: r219207
2015-01-05 23:28:34 +00:00
Max Filippov c68360000c Fix loop optimization when ZOL is not available in xtensa configuration
Currently building gcc for xtensa configuration with XCHAL_HAVE_LOOPS
set to 0 fails with the following error:

  xtensa.c:3952: undefined reference to `reorg_loops(bool, hw_doloop_hooks*)'

Only compile target-specific zero-overhead loop optimization code when
TARGET_LOOPS allows it.

2014-12-30  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
	hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
	put under #if TARGET_LOOPS guard.

From-SVN: r219206
2015-01-05 22:22:36 +00:00
Uros Bizjak 389d63bb1e i386.c (output_387_binary_op): Use std::swap.
* config/i386/i386.c (output_387_binary_op): Use std::swap.

From-SVN: r219204
2015-01-05 23:08:07 +01:00
Oleg Endo c9bd6bcd5d rtlanal.c (refers_to_regno_p): Change return value from int to bool.
gcc/
	* rtlanal.c (refers_to_regno_p): Change return value from int to bool.
	* rtl.h (refers_to_regno_p): Add overload.
	* cse.c: Use it.
	* bt-load.c: Likewise.
	* combine.c: Likewise.
	* df-scan.c: Likewise.
	* sched-deps.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/m32r/m32r.c: Likewise.
	* config/rs6000/spe.md: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/pa/pa.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/cris/cris.c: Likewise.
	* config/arc/arc.md: Likewise.
	* config/arc/arc.c: Likewise.
	* config/sh/sh.md: Likewise.
	* config/sh/sh.c: Likewise.
	* config/frv/frv.c: Likewise.

From-SVN: r219203
2015-01-05 22:04:53 +00:00
Jakub Jelinek fca4adf209 re PR sanitizer/64265 (r217669 broke tsan)
PR sanitizer/64265
	* gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
	call as cleanup of the whole body.
	* internal-fn.def (TSAN_FUNC_EXIT): New internal call.
	* tsan.c (replace_func_exit): New function.
	(instrument_func_exit): Moved earlier.
	(instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
	Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
	been found.
	(tsan_pass): Don't call instrument_func_exit.
	* internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
	* tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
	inlining.

From-SVN: r219202
2015-01-05 22:47:51 +01:00
Jakub Jelinek e534110031 re PR sanitizer/64344 ([UBSAN] ICE with -fsanitize=float-cast-overflow [ICE in -fsanitize=float-cast-overflow])
PR sanitizer/64344
	* ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
	* ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
	it to libubsan handler instead of EXPR.  Fold comparisons earlier,
	if the result is integer_zerop, return NULL_TREE.
	* convert.c (convert_to_integer): Pass expr as ARG.
c/
	* c-typeck.c (convert_for_assignment, c_finish_return): For
	-fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
	types also set in_late_binary_op around convert call.
	* c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
	to integral type casts, if not in_late_binary_op, pass c_fully_fold
	result on expr as last argument to ubsan_instrument_float_cast,
	if in_late_binary_op, don't use c_save_expr but save_expr.
testsuite/
	* c-c++-common/ubsan/pr64344-1.c: New test.
	* c-c++-common/ubsan/pr64344-2.c: New test.

From-SVN: r219201
2015-01-05 22:46:31 +01:00
Jakub Jelinek 15aed8c460 re PR middle-end/64465 (internal compiler error: verify_flow_info failed)
PR tree-optimization/64465
	* tree-inline.c (redirect_all_calls): During inlining
	clean up EH stmts and EH edges if redirect_call_stmt_to_callee
	changed the stmt to a non-throwing call.

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

From-SVN: r219200
2015-01-05 22:45:08 +01:00
Sandra Loosemore d1f4e4c31c invoke.texi: Fix incorrect uses of @code, @option, @samp, etc markup throughout the file.
2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
	etc markup throughout the file.

From-SVN: r219199
2015-01-05 16:42:21 -05:00
Bernd Edlinger 0d57824295 Enable experimental TSAN support for Ada.
2015-01-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Enable experimental TSAN support for Ada.
        * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.

From-SVN: r219197
2015-01-05 20:26:44 +00:00
Jan-Benedict Glaw 04a11c01de config-list.mk: Extract target name correctly
With my last change, `sed' is used to cut out the target name from a listed
target. Since there may be additional OPTions encoded in the "target", I tried
to get only the first submatch before an `OPT'. However, `sed' uses longest
match, so I'm re-writing this using awk.

  If anybody is like using `gawk' or anything different, please feel free to
drop another patch. Since this is usually called by hand or by robots under
review, I don't see much of a problem here.

2015-01-05  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

contrib/
       * config-list.mk: Use shortest match for OPT to find the actual
       target name.

From-SVN: r219196
2015-01-05 19:28:47 +00:00
Thomas Koenig 73b44fa4a4 re PR fortran/47674 (gfortran.dg/realloc_on_assign_5.f03: Segfault at run time for deferred (allocatable) string length)
2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/47674
	* dependency.h:  Actually commit changes.

From-SVN: r219195
2015-01-05 19:21:12 +00:00
Jakub Jelinek a6377d52d7 re PR tree-optimization/64494 (ICE at -Os and above on x86_64-linux-gnu in duplicate_ssa_name_range_info, at tree-ssanames.c:499)
PR tree-optimization/64494
	* tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
	clear SSA_NAME_ANTI_RANGE_P flag.

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

From-SVN: r219194
2015-01-05 19:53:44 +01:00
Thomas Koenig 8b7cec587a re PR fortran/47674 (gfortran.dg/realloc_on_assign_5.f03: Segfault at run time for deferred (allocatable) string length)
2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/47674
	* dependency.c:  Update copyright years.
	(gfc_discard_nops):  Add prototype.
	* dependency.c (discard_nops):  Rename to gfc_discard_nops,
	make non-static.
	(gfc_discard_nops):  Use gfc_discard_nops.
	(gfc_dep_difference):  Likewise.
	* frontend-passes.c  Update copyright years.
	(realloc_strings):  New function.  Add prototype.
	(gfc_run_passes):  Call realloc_strings.
	(realloc_string_callback):  New function.
	(create_var):  Add prototype.  Handle case of a
	scalar character variable.
	(optimize_trim):  Do not handle allocatable variables.

2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/47674
	* gfortran.dg/realloc_on_assign_25.f90:  New test.

From-SVN: r219193
2015-01-05 17:15:17 +00:00
Ian Lance Taylor 24fa8749bb re PR go/61871 (FAIL: regexp from libgo testsuite on non-split stack targets)
PR go/61871
runtime: Increase stack size on 64-bit non-split-stack systems.

From Uros Bizjak.

From-SVN: r219192
2015-01-05 16:13:06 +00:00
Marek Polacek 248d139137 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
From-SVN: r219191
2015-01-05 13:22:27 +00:00
Jakub Jelinek 1e3b6a3dbc Update copyright years.
From-SVN: r219189
2015-01-05 13:36:59 +01:00
Jakub Jelinek 5624e564d2 Update copyright years.
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Jakub Jelinek b67cd4e331 gcc.c (process_command): Update copyright notice dates.
gcc/
	* gcc.c (process_command): Update copyright notice dates.
	* gcov-dump.c: Ditto.
	* gcov.c: Ditto.
	* doc/cpp.texi: Bump @copying's copyright year.
	* doc/cppinternals.texi: Ditto.
	* doc/gcc.texi: Ditto.
	* doc/gccint.texi: Ditto.
	* doc/gcov.texi: Ditto.
	* doc/install.texi: Ditto.
	* doc/invoke.texi: Ditto.
gcc/fortran/
	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.
	* gfc-internals.texi: Bump @copying's copyright year.
	* gfortran.texi: Ditto.
	* intrinsic.texi: Ditto.
	* invoke.texi: Ditto.
gcc/go/
	* gccgo.texi: Bump @copyrights-go year.
gcc/java/
	* jcf-dump.c (version): Update copyright notice dates.
libgomp/
	* libgomp.texi: Bump @copying's copyright year.
libquadmath/
	* libquadmath.texi: Bump @copying's copyright year.
libitm/
	* libitm.texi: Bump @copying's copyright year.
gcc/ada/
	* gnat_ugn.texi: Bump @copying's copyright year.
libjava/
	* classpath/gnu/java/rmi/registry/RegistryImpl.java (version): Update
	copyright notice dates.
	* classpath/tools/gnu/classpath/tools/orbd/Main.java (run): Ditto.
	* gnu/gcj/convert/Convert.java (version): Update copyright notice
	dates.
	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto.

From-SVN: r219187
2015-01-05 13:05:46 +01:00
Marek Polacek 5bd012f83b re PR c/64423 (Incorrect column number of -Wchar-subscripts)
PR c/64423
c-family/
	* c-common.c (warn_array_subscript_with_type_char): Add location_t
	parameter.  Use it.
	* c-common.h (warn_array_subscript_with_type_char): Update
	declaration.
c/
	* c-typeck.c (build_array_ref): Pass loc down to
	warn_array_subscript_with_type_char.
cp/
	* typeck.c (cp_build_array_ref): Pass loc down to
	warn_array_subscript_with_type_char.
testsuite/
	* gcc.dg/pr64423.c: New test.

From-SVN: r219186
2015-01-05 12:03:57 +00:00
Jakub Jelinek 2c5103ffdd * auto-profile.c, auto-profile.h: Fix up Copyright line.
From-SVN: r219185
2015-01-05 12:32:30 +01:00
Eric Botcazou ef3a7cca24 re PR ada/64492 (Disabling libada prevents building gnattools-cross)
PR ada/64492
	* gcc-interface/Makefile.in (../stamp-tools): Reinstate dropped code.

From-SVN: r219183
2015-01-05 10:17:12 +00:00
Eric Botcazou 6a0a7f0782 Bump copyright year
From-SVN: r219182
2015-01-05 08:03:49 +00:00
Hans-Peter Nilsson c38743357e debug-1.c: Pass -fno-if-conversion for mmix-knuth-mmixware for the same reason as for MIPS.
* gcc.dg/debug/debug-1.c: Pass -fno-if-conversion for
	mmix-knuth-mmixware for the same reason as for MIPS.
	* gcc.dg/debug/debug-2.c: Ditto.

From-SVN: r219181
2015-01-05 03:43:56 +00:00
Hans-Peter Nilsson ec2c793b5a * gcc.dg/pr42629.c: Only pass scheduling options on scheduling targets.
From-SVN: r219180
2015-01-05 01:08:40 +00:00
GCC Administrator febf67816f Daily bump.
From-SVN: r219179
2015-01-05 00:16:59 +00:00