1. 06 Dec, 2017 6 commits
  2. 05 Dec, 2017 30 commits
    • re PR c++/79228 ('i' suffix for __complex__ extension interferes with C++14 UDLs for std::complex) · a7b1ce04
      	PR c++/79228
      	* expr.c (interpret_float_suffix): Avoid memcmp.
      	(interpret_int_suffix): Likewise.  Don't check for if.
      
      From-SVN: r255434
      Jakub Jelinek committed
    • Remove $tmpdir from -dumpbase, we should be in $tmpdir. · 186d43a7
      From-SVN: r255433
      Mike Stump committed
    • dump-noaddr.x: Generate dump files in tmpdir. · 14b5d8ec
      2017-12-05  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
      
      	* gcc.c-torture/unsorted/dump-noaddr.x: Generate dump files in
      	tmpdir.
      
      From-SVN: r255432
      Matthew Gretton-Dann committed
    • thunderx2-t99.md (thunderx2t99_branch): Add trap to reservation. · 6981f098
      2017-12-05  Steve Ellcey  <sellcey@cavium.com>
      
      	* config/aarch64/thunderx2-t99.md (thunderx2t99_branch): Add trap
      	to reservation.
      	(thunderx2t99_nothing): New insn reservation.
      	(thunderx2t99_mrs): New insn reservation.
      	(thunderx2t99_multiple): New insn reservation.
      	(thunderx2t99_alu_basi): Add bfx to reservation.
      	(thunderx2t99_fp_cmp): Add fccmps and fccmpd to reservation.
      
      From-SVN: r255431
      Steve Ellcey committed
    • PR c++/82331 - ICE with variadic partial specialization of auto · 53943619
      	* pt.c (unify) [TEMPLATE_PARM_INDEX]: Set processing_template_decl
      	around call to tsubst.
      
      From-SVN: r255430
      Jason Merrill committed
    • [PR C++/83287] Mark lookup for keeping · ea9e71de
      https://gcc.gnu.org/ml/gcc-patches/2017-12/msg00242.html
      	PR c++/83287
      	* tree.c (build_min): Check CAST_EXPR arg for OVERLOADs.
      
      	* g++.dg/lookup/pr83287.C: New.
      
      From-SVN: r255429
      Nathan Sidwell committed
    • [Patch ARM] Fix probe_stack constraint. · 7109d224
      The probe_stack pattern uses r0 as a fixed register. This can cause issues if we have auto-increment instructions coming out that have r0 as the base register. 
      
      Tested with a bootstrap and regression run. richi reports that the original issue was fixed in the run. I did consider whether probe_stack_range was affected but it all comes back to probe_stack pattern so I think we are ok.
      
      I don't have a testcase that seems to provoke this but it seems to be default on most distributions so I'm expecting the testcoverage to come from there.
      
      Applied.
      
      Ramana
      
      PR target/82248
      
      * config/arm/arm.md (probe_stack) : Use the 'o' constraint.
      
      From-SVN: r255428
      Ramana Radhakrishnan committed
    • re PR testsuite/83289 (i386/sse2-init-v2di-2.c, i386/avx256-unaligned-load-1.c,… · 26c2efbc
      re PR testsuite/83289 (i386/sse2-init-v2di-2.c, i386/avx256-unaligned-load-1.c, i386/avx256-unaligned-store-*.c fails)
      
      	PR testsuite/83289
      	* gcc.target/i386/avx256-unaligned-load-1.c: Adjust for -dp
      	alternative numbers being 0 based instead of former 1 based.
      	* gcc.target/i386/avx256-unaligned-store-1.c: Likewise.
      	* gcc.target/i386/avx256-unaligned-store-2.c: Likewise.
      	* gcc.target/i386/avx256-unaligned-store-3.c: Likewise.
      	* gcc.target/i386/avx256-unaligned-store-4.c: Likewise.
      	* gcc.target/i386/sse2-init-v2di-2.c: Likewise.
      
      From-SVN: r255427
      Jakub Jelinek committed
    • tree-ssa-dce.c (simple_dce_from_worklist): Move and rename from… · 23ffbafe
      tree-ssa-dce.c (simple_dce_from_worklist): Move and rename from tree-ssa-pre.c::remove_dead_inserted_code.
      
      	* tree-ssa-dce.c (simple_dce_from_worklist): Move and rename from
      	tree-ssa-pre.c::remove_dead_inserted_code.
      	* tree-ssa-dce.h: New file.
      	* tree-ssa-pre.c (tree-ssa-dce.h): Include new header file.
      	(remove_dead_inserted_code): Move and rename to function
      	tree-ssa-dce.c::simple_dce_from_worklist.
      	(pass_pre::execute): Update use.
      
      From-SVN: r255426
      Bin Cheng committed
    • Correct noexcept mismatch in declarations. · 0382bcfc
      2017-12-05  Jason Merrill  <jason@redhat.com>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	* include/bits/fs_fwd.h (copy, copy_file): Remove noexcept.
      	(permissions): Add noexcept.
      	* include/bits/fs_ops.h (permissions): Add noexcept.
      	* libsupc++/eh_throw.cc (__cxa_init_primary_exception): Add
      	_GLIBCXX_NOTHROW.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r255425
      Jason Merrill committed
    • re PR tree-optimization/83277 ([graphite] Wrong code w/ -O2 -floop-nest-optimize) · 9824a520
      2017-12-05  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/83277
      	* graphite-isl-ast-to-gimple.c (should_copy_to_new_region): Make sure
      	to code-gen liveout vars.
      
      	* gcc.dg/graphite/pr83277.c: New testcase.
      
      From-SVN: r255424
      Richard Biener committed
    • [AArch64] Fix some define_insn_and_split conditions · 6acc5948
      The split conditions for aarch64_simd_bsldi_internal and
      aarch64_simd_bsldi_alt were:
      
        "&& GP_REGNUM_P (REGNO (operands[0]))"
      
      But since they (deliberately) can be split before reload, the operand
      matched by register_operand can be a SUBREG rather than a REG.  This
      triggered a boostrap failure building libgcc with rtl checking enabled.
      
      While checking other define_insn_and_splits for the same thing,
      I noticed a couple of SIMD ones were missing the leading "&&",
      meaning that they would trigger even without TARGET_SIMD.  That
      shouldn't matter in practice, since combine should never end up
      generating matching rtl, but...
      
      2017-12-05  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* config/aarch64/aarch64-simd.md (aarch64_simd_bsldi_internal)
      	(aarch64_simd_bsldi_alt): Check REG_P before GP_REGNUM_P.
      	(aarch64_cm<optab>di, aarch64_cmtstdi): Add leading "&&" to
      	split condition.
      
      From-SVN: r255423
      Richard Sandiford committed
    • gcc: xtensa: enable address sanitizer · 8c9ee176
      gcc/
      2017-12-05  Max Filippov  <jcmvbkbc@gmail.com>
      
      	* config/xtensa/xtensa.c (xtensa_asan_shadow_offset): New
      	function.
      	(TARGET_ASAN_SHADOW_OFFSET): New macro definition.
      	* config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): Set to 1 if
      	ASAN is enabled.
      
      From-SVN: r255420
      Max Filippov committed
    • re PR testsuite/83281 (libgomp.oacc-c-c++-common/reduction-cplx-flt.c and… · ac550b9a
      re PR testsuite/83281 (libgomp.oacc-c-c++-common/reduction-cplx-flt.c and reduction-cplx-dbl.c fail starting with r255335)
      
      	PR testsuite/83281
      	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
      	j suffix instead of i.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
      	Likewise.
      
      From-SVN: r255418
      Jakub Jelinek committed
    • re PR tree-optimization/83283 (Casting from boolean to unsigned char to enum… · 240cf3e5
      re PR tree-optimization/83283 (Casting from boolean to unsigned char to enum returns incorrect results)
      
      	PR tree-optimization/83283
      	* g++.dg/torture/pr83283.C: New test.
      
      From-SVN: r255417
      Jakub Jelinek committed
    • timevar.def (TV_TREE_RECIP, [...]): Add. · 1b6546cc
      2017-12-05  Richard Biener   <rguenther@suse.de>
      
      	* timevar.def (TV_TREE_RECIP, TV_TREE_SINCOS, TV_TREE_WIDEN_MUL):
      	Add.
      	* tree-ssa-math-opts.c (pass_data_cse_reciprocal): Use TV_TREE_RECIP.
      	(pass_data_cse_sincos): Use TV_TREE_SINCOS.
      	(pass_data_optimize_widening_mul): Use TV_TREE_WIDEN_MUL.
      
      From-SVN: r255415
      Richard Biener committed
    • sem_util.adb (Contains_Refined_State): Remove. · 40c21e91
      gcc/ada/
      
      2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
      
      	* sem_util.adb (Contains_Refined_State): Remove.
      
      2017-12-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications, case Predicate): A
      	predicate cannot apply to a formal type.
      
      2017-12-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_unst.ads: Fix typos.
      
      2017-12-05  Jerome Lambourg  <lambourg@adacore.com>
      
      	* libgnarl/s-taprop__qnx.adb: Better detect priority ceiling bug in
      	QNX.  At startup, the first mutex created has a non-zero ceiling
      	priority whatever its actual policy. This makes some tests fail
      	(c940013 for example).
      
      2017-12-05  Bob Duff  <duff@adacore.com>
      
      	* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Call
      	Expand_Cleanup_Actions for N_Extended_Return_Statement.
      	* exp_ch7.adb (Expand_Cleanup_Actions): Handle
      	N_Extended_Return_Statement by transforming the statements into a
      	block, and (indirectly) calling Expand_Cleanup_Actions on the block.
      	It's too hard for Expand_Cleanup_Actions to operate directly on the
      	N_Extended_Return_Statement, because it has a different structure than
      	the other node kinds that Expand_Cleanup_Actions.
      	* exp_util.adb (Requires_Cleanup_Actions): Add support for
      	N_Extended_Return_Statement.  Change "when others => return False;" to
      	"when others => raise ...;" so it's clear what nodes this function
      	handles.  Use named notation where appropriate.
      	* exp_util.ads: Mark incorrect comment with ???.
      
      2017-12-05  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch9.adb (Install_Private_Data_Declarations): Add missing
      	Debug_Info_Needed decoration of internally generated discriminal
      	renaming declaration.
      
      2017-12-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_unst.adb (Unnest_Subprogram): Add handling of 'Access on
      	nested subprograms.
      
      2017-12-05  Sergey Rybin  <rybin@adacore.com>
      
      	* doc/gnat_ugn/gnat_utility_programs.rst: Add description of '--ignore'
      	option for gnatmetric, gnatpp, gnat2xml, and gnattest.
      
      2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
      
      	* sem_util.adb (Contains_Refined_State): Remove.
      
      2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
      
      	* rtsfind.ads: Add new enumeration literals: RE_Clock_Time (for
      	Ada.Real_Time.Clock_Time) and RO_CA_Clock_Time (for
      	Ada.Calendar.Clock_Time).
      
      2017-12-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Is_Private_Overriding): If the candidate private
      	subprogram is overloaded, scan the list of homonyms in the same
      	scope, to find the inherited operation that may be overridden
      	by the candidate.
      	* exp_ch11.adb, exp_ch7.adb: Minor reformatting.
      
      2017-12-05  Bob Duff  <duff@adacore.com>
      
      	* exp_ch6.adb (Expand_N_Extended_Return_Statement): If the
      	Init_Assignment is rewritten, we need to set Assignment_OK on the new
      	node.  Otherwise, we will get spurious errors when initializing via
      	assignment statement.
      
      gcc/testsuite/
      
      2017-12-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* gnat.dg/private_overriding.adb: New testcase.
      
      From-SVN: r255414
      Pierre-Marie de Rodat committed
    • [multiple changes] · b91f986b
      2017-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_elab.adb: Update the terminology and switch sections.
      	(Check_SPARK_Model_In_Effect): New routine.
      	(Check_SPARK_Scenario): Verify the model in effect for SPARK.
      	(Process_Conditional_ABE_Call_SPARK): Verify the model in effect for
      	SPARK.
      	(Process_Conditional_ABE_Instantiation_SPARK): Verify the model in
      	effect for SPARK.
      	(Process_Conditional_ABE_Variable_Assignment_SPARK): Verify the model
      	in effect for SPARK.
      
      2017-12-05  Nicolas Setton  <setton@adacore.com>
      
      	* terminals.c (__gnat_setup_child_communication): As documented,
      	__gnat_setup_child_communication should not terminate - it is intended
      	to be used as the child process of a call to fork().  However, execvp
      	might actually return in some cases, for instance when attempting to
      	run a 32-bit binary on a 64-bit Linux distribution when the
      	compatibility packages are not installed. In these cases, exit the
      	program to conform to the documentation.
      
      2017-12-05  Olivier Hainque  <hainque@adacore.com>
      
      	* libgnat/s-tsmona.adb: Fix for oversight in the tsmona interface
      	update.
      
      2017-12-05  Gary Dismukes  <dismukes@adacore.com>
      
      	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Minor typo fix
      	and reformatting.
      	* gnat_ugn.texi: Regenerate.
      
      2017-12-05  Olivier Hainque  <hainque@adacore.com>
      
      	* sem_util.adb (Set_Convention): Always clear Can_Use_Internal_Rep
      	on access to subprogram types with foreign convention.
      
      2017-12-05  Yannick Moy  <moy@adacore.com>
      
      	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix User's
      	Guide description of default settings of warnings.
      
      From-SVN: r255413
      Pierre-Marie de Rodat committed
    • [multiple changes] · 967947ed
      2017-12-05  Olivier Hainque  <hainque@adacore.com>
      
      	* s-dwalin.adb (Read_And_Execute_Isn): Adjust test checking for the end
      	of section. Add comments explaining the rationale of the computation.
      
      2017-12-05  Bob Duff  <duff@adacore.com>
      
      	* exp_ch11.adb: Minor refactoring.
      
      2017-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* debug.adb: Add debug switches d_a, d_e, and d_p, along with
      	documentation.
      	(Set_Underscored_Debug_Flag): New routine.
      	* debug.ads: Add the flags for all underscore switches.
      	(Set_Underscored_Debug_Flag): New routine.
      	* einfo.adb: Flag303 is now Suppress_Elaboration_Warnings.
      	(Suppress_Elaboration_Warnings): New routine.
      	(Set_Suppress_Elaboration_Warnings): New routine.
      	(Write_Entity_Flags): Add output for Suppress_Elaboration_Warnings.
      	* einfo.ads: Add new flag Suppress_Elaboration_Warnings.
      	(Suppress_Elaboration_Warnings): New routine along with pragma Inline.
      	(Set_Suppress_Elaboration_Warnings): New routine along with pragma
      	Inline.
      	* exp_ch3.adb (Build_Init_Procedure): Restore the behavior of the
      	legacy elaboration model.
      	(Default_Initialize_Object): Restore the behavior of the legacy
      	elaboration model.
      	* exp_ch9.adb: Add with and use clause for Sem_Elab.
      	(Build_Task_Activation_Call): Restore the behavior of the legacy
      	elaboration model.
      	* frontend.adb (Frontend): Restore the behavior of the legacy
      	elaboration model.
      	* opt.ads: Add new flags Legacy_Elaboration_Checks and
      	Relaxed_Elaboration_Checks, along with documentation.
      	* sem_attr.adb (Analyze_Access_Attribute): Restore the behavior of the
      	legacy elaboration model.
      	* sem_ch5.adb (Analyze_Assignment): Restore the behavior of the legacy
      	elaboration model.
      	* sem_ch7.adb (Analyze_Package_Declaration): Restore the behavior of
      	the legacy elaboration model.
      	* sem_ch8.adb (Attribute_Renaming): Restore the behavior of the legacy
      	elaboration model.
      	* sem_ch12.adb (Analyze_Instance_And_Renamings): Restore the behavior
      	of the legacy elaboration model.
      	(Analyze_Package_Instantiation): Restore the behavior of the legacy
      	elaboration model.
      	(Analyze_Subprogram_Instantiation): Restore the behavior of the legacy
      	elaboration model.
      	* sem_elab.adb: Update the documentation of the Processing phase.
      	Update the documentation on elaboration-related compilation
      	switches.  Update the documentation on adding a new target.  Add
      	Processing_Attributes which represent the state of the Processing
      	phase.  Resurrect the previous elaboration model as "legacy elaboration
      	model".
      	(Build_Call_Marker): This routine does not function when the legacy
      	elaboration model is in effect. Do not consider entry calls and requeue
      	statements when debug flag d_e is in effect. Do not consider calls to
      	subprograms which verify the runtime semantics of certain assertion
      	pragmas when debug flag d_p is in effect.
      	(Build_Variable_Reference_Marker): This routine does not function when
      	the legacy elaboration model is in effect.
      	(Check_Elaboration_Scenarios): This routine does not function when the
      	legacy elaboration model is in effect.
      	(Ensure_Prior_Elaboration): The various flags have now been replaced
      	with a state. Do not generate implicit Elaborate[_All] pragmas when
      	their creation has been suppressed.
      	(Ensure_Prior_Elaboration_Static): The with clause is marked based on
      	the requested pragma, not on the nature of the scenario.
      	(In_External_Context): Removed.
      	(Is_Assertion_Pragma_Target): New routine.
      	(Is_Potential_Scenario): Stop the traversal of a task body when
      	reaching an accept or select statement, and debug switch d_a is in
      	effect.
      	(Kill_Elaboration_Scenario): This routine does not function when the
      	legacy elaboration model is in effect.
      	(Process_Activation_Generic): The various flags have now been replaced
      	with a state.
      	(Process_Conditional_ABE): The various flags have now been replaced
      	with a state.
      	(Process_Conditional_ABE_Access): The various flags have now been
      	replaced with a state.
      	(Process_Conditional_ABE_Activation_Impl): The various flags have now
      	been replaced with a state. Do not process an activation call which
      	activates a task whose type is defined in an external instance, and
      	debug switch dL is in effect. Suppress the generation of implicit
      	Elaborate[_All] pragmas once a conditional ABE check has been
      	installed.
      	(Process_Conditional_ABE_Call): The various flags have now been
      	replaced with a state. Do not process a call which invokes a subprogram
      	defined in an external instance, and debug switch dL is in effect.
      	(Process_Conditional_ABE_Call_Ada): The various flags have now been
      	replaced with a state. Suppress the generation of implicit
      	Elaborate[_All] pragmas once a conditional ABE check has been
      	installed.
      	(Process_Conditional_ABE_Call_SPARK): The various flags have now been
      	replaced with a state.
      	(Process_Conditional_ABE_Instantiation): The various flags have now
      	been replaced with a state.
      	(Process_Conditional_ABE_Instantiation_Ada): The various flags have now
      	been replaced with a state. Suppress the generation of implicit
      	Elaborate[_All] pragmas once a conditional ABE check has been
      	installed.
      	(Process_Conditional_ABE_Instantiation_SPARK): The various flags have
      	now been replaced with a state.
      	(Process_Guaranteed_ABE_Activation_Impl): The various flags have now
      	been replaced with a state.
      	(Process_Single_Activation): The various flags have now been replaced
      	with a state.
      	(Record_Elaboration_Scenario): This routine does not function when the
      	legacy elaboration model is in effect.
      	(Traverse_Body): The various flags have now been replaced with a state.
      	* sem_elab.ads: Resurrect the pre-18.x elaboration model as "legacy
      	elaboration model".
      	* sem_prag.adb (Analyze_Pragma): Restore the behavior of the legacy
      	elaboration model.
      	* sem_res.adb (Resolve_Call): Restore the behavior of the legacy
      	elaboration model.
      	(Resolve_Entity_Name): Restore the behavior of the legacy elaboration
      	model.
      	* sem_util.adb (Mark_Elaboration_Attributes): This routine does not
      	function when the legacy elaboration model is in effect.
      	* sinfo.adb (Is_Known_Guaranteed_ABE): Update the assertion check.
      	(No_Elaboration_Check): New routine.
      	(Set_Is_Known_Guaranteed_ABE): Update the assertion check.
      	(Set_No_Elaboration_Check): New routine.
      	* sinfo.ads: Update the documentation of flag Is_Known_Guaranteed_ABE
      	along with occurrences in nodes.  Add new flag No_Elaboration_Check
      	along with occurrences in nodes.
      	* switch-c.adb (Scan_Front_End_Switches): Add processing for debug
      	switches with underscores.  Add processing for switches -gnatH and
      	-gnatJ.
      	* usage.adb (Usage): Add output for switches -gnatH and -gnatJ.
      	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update the
      	documentation to include the legacy and relaxed elaboration models.
      	* gnat_ugn.texi: Regenerate.
      
      2017-12-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* doc/gnat_ugn/platform_specific_information.rst: Minor edit.
      	Improve doc on required packages for linux 32bits.
      
      2017-12-05  Doug Rupp  <rupp@adacore.com>
      
      	* tracebak.c (ppc64-vx7): USE_GCC_UNWINDER for 64bit.
      
      2017-12-05  Javier Miranda  <miranda@adacore.com>
      
      	* checks.adb (Generate_Range_Check): Force evaluation of the node in
      	more cases.  This patch was written to improve the code generated by
      	the CCG compiler but it is enabled for all targets since double
      	evaluation is always a potential source of inefficiency.
      
      2017-12-05  Gary Dismukes  <dismukes@adacore.com>
      
      	* doc/gnat_ugn/gnat_utility_programs.rst: Remove reference to obsolete
      	-fdump-xref switch.
      
      From-SVN: r255412
      Pierre-Marie de Rodat committed
    • [multiple changes] · 6cbd45e4
      2017-12-05  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use the SLOC of the
      	iteration scheme throughout, except for the new loop statement(s).
      
      2017-12-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb (Gen_Assign): Do not analyze the expressionn of the
      	assignment if it is part of an Iterated_Component_Association: the
      	analysis needs to take place once the loop structure is analyzed and
      	the loop parameter made visible, because references to it typically
      	appear in the corresponding expression.  This is necessary if the
      	expression is an aggregate, because previous pre-analysis of the
      	expression does not handle nested aggregates properly.
      
      2017-12-05  Bob Duff  <duff@adacore.com>
      
      	* sem_res.adb (Resolve_Allocator): Avoid coextension processing for an
      	allocator that is the expansion of a build-in-place function call.
      
      2017-12-05  Olivier Hainque  <hainque@adacore.com>
      
      libgnat/
      	* s-trasym__dwarf.adb (spec of Module_Name.Get): Instead of
      	possibly adjusting the lookup address by a load address, expect
      	a extra argument through which the load address can be conveyed
      	separately.
      	(Multi_Module_Symbolic_Traceback): Adjust accordingly. Pass the
      	retrieved load address to Init_Module.
      	* s-tsmona__linux.adb (Get): Honor the new interface.
      	* s-tsmona__mingw.adb (Get): Likewise.
      	* s-dwalin.ads: Adjust comments to be explicit about which
      	addresses are from module info and which are run-time addresses,
      	offsetted by the module load address.
      	* s-dwalin.adb (Set_Load_Address): Simply set C.Load_Slide.
      	Do not alter the module Low and High (relative) addresses.
      	(Is_Inside): Improve documentation regarding the kinds of addresses
      	at hand and correct the test.
      	(Symbolic_Traceback): Use separate variables with explicit names
      	for the address in traceback (run-time value) and the address to
      	lookup within the shared object (module-relative). Adjust the
      	computation of address passed to Symbolic_Address for symbolization.
      
      From-SVN: r255411
      Pierre-Marie de Rodat committed
    • [multiple changes] · f4ac86dd
      2017-12-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* opt.ads (Expand_Nonbinary_Modular_Ops): New flag.
      	* exp_ch4.adb (Expand_Nonbinary_Modular_Op): Use
      	Expand_Nonbinary_Modular_Ops instead of Modify_Tree_For_C, so that
      	other back-ends can also benefit from the front-end expansion. Remove
      	test for Modify_Tree_For_C in all callers to better share code.
      	* gnat1drv.adb (Adjust_Global_Switches): Set
      	Expand_Nonbinary_Modular_Ops when generating C code.
      
      2017-12-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_Formal_Container_Loop): Ensure that the loop
      	parameter becomes invisible after analyzing the loop, which has been
      	rewritten as a while-loop.
      
      2017-12-05  Doug Rupp  <rupp@adacore.com>
      
      	* vxaddr2line.adb: Revise and enhance for new ports, remove dead ports,
      	and update for 64bit ports.
      
      From-SVN: r255410
      Pierre-Marie de Rodat committed
    • [multiple changes] · 16d92641
      2017-12-05  Bob Duff  <duff@adacore.com>
      
      	* exp_ch6.adb (Build_In_Place_Formal): Search for the formal by suffix
      	instead of the full name.
      	* sem_ch6.adb (Create_Extra_Formals): Make sure there are extra formals
      	in the case of an instance of a generic.
      
      2017-12-05  Arnaud Charlet  <charlet@adacore.com>
      
      	(Adjust_Global_Switches): Create an alias GNAT_Annotate to map to
      	pragma Annotate.
      
      From-SVN: r255409
      Pierre-Marie de Rodat committed
    • RTEMS/Ada: Define EH_MECHANISM · ab92e6e6
      Without this definition I got the following error:
      
      <...>/xgcc <...>  -c -g -O2   -W -Wall -gnatpg -nostdinc  -g -fno-inline \
            -fno-toplevel-reorder -O1  a-except.adb -o a-except.o
      a-exexpr.adb:38:06: "System.Exceptions.Machine" is not a predefined library unit
      a-exexpr.adb:38:06: "Ada.Exceptions (body)" depends on "Ada.Exceptions.Exception_Propagation (body)"
      a-exexpr.adb:38:06: "Ada.Exceptions.Exception_Propagation (body)" depends on "System.Exceptions.Machine (spec)"
      ../gcc-interface/Makefile:2661: recipe for target 'a-except.o' failed
      
      gcc/ada
      
      	* gcc-interface/Makefile.in (RTEMS): Define EH_MECHANISM.
      
      From-SVN: r255408
      Sebastian Huber committed
    • Avoid -Werror=format-overflow error in dbxout.c (dbxout_block) on 64-bit Solaris/SPARC · bf2f5c89
      	* dbxout.c (dbxout_block): Grow buf to 30 bytes.
      
      From-SVN: r255406
      Rainer Orth committed
    • invoke.texi: Document the options. · 05abad4c
      gcc/
      	* doc/invoke.texi: Document the options.
      	* flag-types.h (enum sanitize_code): Add
      	SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT.
      	* ipa-inline.c (sanitize_attrs_match_for_inline_p): Add handling
      	of SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT.
      	* opts.c: Define new sanitizer options.
      	* sanitizer.def (BUILT_IN_ASAN_POINTER_COMPARE): Likewise.
      	(BUILT_IN_ASAN_POINTER_SUBTRACT): Likewise.
      gcc/c/
      	* c-typeck.c (pointer_diff): Add new argument and instrument
      	pointer subtraction.
      	(build_binary_op): Similar for pointer comparison.
      gcc/cp/
      	* typeck.c (pointer_diff): Add new argument and instrument
      	pointer subtraction.
      	(cp_build_binary_op): Create compound expression if doing an
      	instrumentation.
      gcc/testsuite/
      	* c-c++-common/asan/pointer-compare-1.c: New test.
      	* c-c++-common/asan/pointer-compare-2.c: New test.
      	* c-c++-common/asan/pointer-subtract-1.c: New test.
      	* c-c++-common/asan/pointer-subtract-2.c: New test.
      	* c-c++-common/asan/pointer-subtract-3.c: New test.
      	* c-c++-common/asan/pointer-subtract-4.c: New test.
      libsanitizer/
      	* asan/asan_descriptions.cc: Cherry-pick upstream r319668.
      	* asan/asan_descriptions.h: Likewise.
      	* asan/asan_report.cc: Likewise.
      	* asan/asan_thread.cc: Likewise.
      	* asan/asan_thread.h: Likewise.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r255404
      Martin Liska committed
    • cp-gimplify.c (cp_maybe_instrument_return): Don't add __builtin_unreachable if… · 81e4859a
      cp-gimplify.c (cp_maybe_instrument_return): Don't add __builtin_unreachable if -O0 or if -fsanitize=unreachable.
      
      	* cp-gimplify.c (cp_maybe_instrument_return): Don't add
      	__builtin_unreachable if -O0 or if -fsanitize=unreachable.
      
      	* g++.dg/missing-return.C: Add -O to dg-options.
      
      From-SVN: r255403
      Jakub Jelinek committed
    • Enable VNNI support [1/5] · 98966963
      gcc/
      	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VNNI_SET,
      	OPTION_MASK_ISA_AVX512VNNI_UNSET): New.
      	(ix86_handle_option): Handle -mavx512vnni.
      	* config/i386/cpuid.h (bit_AVX512VNNI): New bit.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Handle new bit.
      	* config/i386/i386-c (__AVX512VNNI__): New.
      	* config/i386/i386.c (ix86_target_string): Handle new option.
      	(ix86_valid_target_attribute_inner_p): Handle new option.
      	* config/i386/i386.h (TARGET_AVX512VNNI, TARGET_AVX512VNNI_P): New.
      	* config/i386/i386.opt (mavx512vnni): New option.
      
      From-SVN: r255401
      Julia Koval committed
    • compiler: no nil check needed for closure var dereferences · ae4bb13f
          
          Add the "no nil check needed" annotation to the dereference operations
          created in Parse::enclosing_var_reference (this is safe since the
          closure object is under control of the compiler, and pointer fields in
          it will always be non-nil).
          
          Reviewed-on: https://go-review.googlesource.com/81795
      
      From-SVN: r255400
      Ian Lance Taylor committed
    • Makefile.am (ARCH_AARCH64_LINUX): Add IFUNC_OPTIONS and libatomic_la_LIBADD. · 141abc6f
      2017-12-04  Steve Ellcey  <sellcey@cavium.com>
      
      	* Makefile.am (ARCH_AARCH64_LINUX): Add IFUNC_OPTIONS and
      	libatomic_la_LIBADD.
      	* config/linux/aarch64/host-config.h: New file.
      	* configure.ac (IFUNC_RESOLVER_ARGS): Define.
      	(ARCH_AARCH64_LINUX): New conditional for IFUNC builds.
      	* configure.tgt (aarch64): Set ARCH and try_ifunc.
      	(aarch64*-*-linux*) Update config_path.
      	(aarch64*-*-linux*) Set IFUNC_RESOLVER_ARGS.
      	* libatomic_i.h (GEN_SELECTOR): Add IFUNC_RESOLVER_ARGS argument.
      	* Makefile.in: Regenerate.
      	* auto-config.h.in: Regenerate.
      	* configure: Regenerate.
      
      From-SVN: r255399
      Steve Ellcey committed
    • Daily bump. · ad850350
      From-SVN: r255398
      GCC Administrator committed
  3. 04 Dec, 2017 4 commits
    • re PR target/81616 (Update -mtune=generic for the current Intel and AMD processors) · e7bf9583
      	PR target/81616
      	* athlon.md: Disable for generic.
      	* haswell.md: Enable for generic.
      	* i386.c (ix86_sched_init_global): Add core hooks for generic.
      	* x86-tune-sched.c (ix86_issue_rate): Increase issue rate for generic
      	to 4.
      	(ix86_adjust_cost): Move generic to haswell path.
      
      From-SVN: r255395
      Jan Hubicka committed
    • sparc.c (sparc_do_work_around_errata): Use mem_ref instead of MEM_P in a couple more places. · 8cc9a087
      	* config/sparc/sparc.c (sparc_do_work_around_errata): Use mem_ref
      	instead of MEM_P in a couple more places.  Fix formatting issues.
      
      From-SVN: r255393
      Eric Botcazou committed
    • Fix warnings in <bits/regex_compiler.tcc> · 472a7639
      	* include/bits/regex_compiler.tcc: Use C-style comment to work around
      	PR preprocessor/61638.
      	(__INSERT_REGEX_MATCHER): Replace GNU extension with __VA_ARGS__.
      
      From-SVN: r255392
      Jonathan Wakely committed
    • Fix -Wunused warnings in libstdc++ headers · 9ed83a33
      	* config/io/basic_file_stdio.h (__basic_file): Remove name of unused
      	parameter.
      	* include/bits/boost_concept_check.h: Add pragmas to disable
      	-Wunused-local-typedef warnings.
      	* include/bits/codecvt.h (codecvt_byname<char16_t, char, mbstate_t>)
      	(codecvt_byname<char32_t, char, mbstate_t>): Remove name of unused
      	parameter.
      	* include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday)
      	(time_get::do_get_monthname, time_get::do_get_year): Remove unused
      	variables.
      	* include/std/bitset (_Base_bitset<0>::_M_getword): Remove name of
      	unused parameter.
      	* include/std/streambuf (_IsUnused): Define.
      	(basic_streambuf::imbue, basic_streambuf::pbackfail)
      	(basic_streambuf::overflow): Add macro to unused parameters.
      	* testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error.
      
      From-SVN: r255391
      Jonathan Wakely committed