1. 06 Jan, 2015 24 commits
    • [multiple changes] · 0566484a
      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
      Arnaud Charlet committed
    • [multiple changes] · 72eaa365
      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
      Arnaud Charlet committed
    • [multiple changes] · 948ed277
      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
      Arnaud Charlet committed
    • [multiple changes] · a921e83c
      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
      Arnaud Charlet committed
    • ali-util.adb, [...]: Minor change of name Name_Table_Info => Name_Table_Int. · ac16e74c
      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
      Robert Dewar committed
    • exp_strm.adb (Build_Elementary_Input_Call): Clarify comments in previous checkin. · 4b6f99f5
      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
      Robert Dewar committed
    • [multiple changes] · 21f30884
      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
      Arnaud Charlet committed
    • [multiple changes] · 91afcbfd
      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
      Arnaud Charlet committed
    • [multiple changes] · 966fc9c5
      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
      Arnaud Charlet committed
    • [multiple changes] · 4528ead5
      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
      Arnaud Charlet committed
    • Minor reformatting. · 17d01d21
      From-SVN: r219224
      Arnaud Charlet committed
    • * gnatvsn.ads: Bump copyright year. · 6260b90c
      From-SVN: r219223
      Arnaud Charlet committed
    • [multiple changes] · de4ac038
      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
      Arnaud Charlet committed
    • * config-list.mk (LIST): Add visium-elf. · d3d514a9
      From-SVN: r219221
      Eric Botcazou committed
    • configure.ac: Add Visium support. · 0969ec7d
      	* 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
      Eric Botcazou committed
    • Minor reformatting. · 9bd59e28
      From-SVN: r219218
      Arnaud Charlet committed
    • simplify-rtx.c (simplify_binary_operation_1): Handle more cases for the "(and X… · 31dd2a86
      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
      Segher Boessenkool committed
    • combine.c (combine_validate_cost): Do not count the cost of a split I2 twice. · 2f48c66c
      	* 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
      Segher Boessenkool committed
    • Revert parts of r219199. · 0964f845
      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
      Sandra Loosemore committed
    • compiler: Use function receiver name in mangled named type descriptor. · 5e731d2d
      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
      Ian Lance Taylor committed
    • implement -Wsuggest-override · 2f42e5de
      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
      Trevor Saunders committed
    • remove tree_list from warn_hidden () · 86cfdb4e
      cp/
      
      	* class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
      	hold base_fndecls.
      	(get_basefndecls): Adjust.
      
      From-SVN: r219212
      Trevor Saunders committed
    • Daily bump. · f7d47c8a
      From-SVN: r219211
      GCC Administrator committed
  2. 05 Jan, 2015 16 commits
    • re PR rtl-optimization/64287 (Disable -fuse-caller-save when -pg is active) · b176bb73
      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
      Radovan Obradovic committed
    • Fix loop optimization when ZOL is not available in xtensa configuration · c6836000
      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
      Max Filippov committed
    • i386.c (output_387_binary_op): Use std::swap. · 389d63bb
      	* config/i386/i386.c (output_387_binary_op): Use std::swap.
      
      From-SVN: r219204
      Uros Bizjak committed
    • rtlanal.c (refers_to_regno_p): Change return value from int to bool. · c9bd6bcd
      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
      Oleg Endo committed
    • re PR sanitizer/64265 (r217669 broke tsan) · fca4adf2
      	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
      Jakub Jelinek committed
    • re PR sanitizer/64344 ([UBSAN] ICE with -fsanitize=float-cast-overflow [ICE in… · e5341100
      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
      Jakub Jelinek committed
    • re PR middle-end/64465 (internal compiler error: verify_flow_info failed) · 15aed8c4
      	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
      Jakub Jelinek committed
    • invoke.texi: Fix incorrect uses of @code, @option, @samp, etc markup throughout the file. · d1f4e4c3
      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
      Sandra Loosemore committed
    • Enable experimental TSAN support for Ada. · 0d578242
      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
      Bernd Edlinger committed
    • config-list.mk: Extract target name correctly · 04a11c01
      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
      Jan-Benedict Glaw committed
    • re PR fortran/47674 (gfortran.dg/realloc_on_assign_5.f03: Segfault at run time… · 73b44fa4
      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
      Thomas Koenig committed
    • re PR tree-optimization/64494 (ICE at -Os and above on x86_64-linux-gnu in… · a6377d52
      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
      Jakub Jelinek committed
    • re PR fortran/47674 (gfortran.dg/realloc_on_assign_5.f03: Segfault at run time… · 8b7cec58
      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
      Thomas Koenig committed
    • re PR go/61871 (FAIL: regexp from libgo testsuite on non-split stack targets) · 24fa8749
      	PR go/61871
      runtime: Increase stack size on 64-bit non-split-stack systems.
      
      From Uros Bizjak.
      
      From-SVN: r219192
      Ian Lance Taylor committed