1. 18 Sep, 2017 15 commits
    • sem_ch4.adb (Complete_Object_Operation): Do not insert 'Access for reference… · 2eda24e9
      sem_ch4.adb (Complete_Object_Operation): Do not insert 'Access for reference types in the access-to-access case.
      
      gcc/ada/
      
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	* sem_ch4.adb (Complete_Object_Operation): Do not insert 'Access for
      	reference types in the access-to-access case.
      
      2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_attr.adb (Analyze_Access_Attribute): Move check for the presence
      	of the "aliased" keyword on the prefix from here to...
      	(Resolve_Attribute) <Attribute_Access>: ...here.  Remove useless call
      	to Check_No_Implicit_Aliasing.
      	* sinfo.ads (Non_Aliased_Prefix): Delete.
      	(Set_Non_Aliased_Prefix): Likewise.
      	* sinfo.adb (Non_Aliased_Prefix): Delete.
      	(Set_Non_Aliased_Prefix): Likewise.
      
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	* exp_ch5.adb (Build_Formal_Container_Iteration,
      	Expand_Formal_Container_Element_Loop): Convert the container to the
      	root type before passing it to the iteration operations, so it will be
      	of the right type.
      
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	* einfo.ads, validsw.ads, treepr.ads, sem_util.ads: Comment fixes.
      
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	* exp_ch3.adb (Build_Array_Init_Proc): If validity checking is enabled,
      	and it's a bit-packed array, pass False to the Consider_IS parameter of
      	Needs_Simple_Initialization.
      
      2017-09-18  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch6.adb (Check_Inline_Pragma): Link the newly generated spec to
      	the preexisting body.
      	* sem_prag.adb (Check_Inline_Always_Placement): New routine.
      	(Process_Inline): Verify the placement of pragma Inline_Always. The
      	pragma must now appear on the initial declaration of the related
      	subprogram.
      
      2017-09-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Declarations): In ASIS mode,  At the end of the
      	declarative list in a subprogram body, analyze aspext specifications to
      	provide basic semantic information, because otherwise the aspect
      	specifications might only be snalyzed during expansion, when related
      	subprograms are generated.
      
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	* exp_ch9.adb (Is_Simple_Barrier_Name): Follow Original_Node, in case
      	validity checks have rewritten the tree.
      
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	* sem_util.adb: Comment fixes, and remove redundant Is_Itype check.
      
      2017-09-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Save_References_In_Aggregate): When constructing a
      	qualified exxpression for an aggregate in a generic unit, verify that
      	the scope of the type is itself visible and not hidden, so that the
      	qualified expression is correctly resolved in any instance.
      
      gcc/testsuite/
      
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	* gnat.dg/validity_check.adb: New testcase.
      
      2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnat.dg/overload.ads, gnat.dg/overload.adb: New testcase.
      
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	* gnat.dg/tagged_prefix_call.adb: New testcase.
      
      From-SVN: r252916
      Pierre-Marie de Rodat committed
    • re PR middle-end/82145 (i386/pr38988.c, i386/pr46254.c, i386/pr55154.c, i386/pr81766.c fails) · f1e3a534
      	PR target/82145
      	* config/i386/i386.c (ix86_init_large_pic_reg): Revert 2017-09-01
      	changes.  Turn CODE_LABEL into NOTE_INSN_DELETED_LABEL immediately.
      	(ix86_init_pic_reg): Revert 2017-09-01 changes.
      
      From-SVN: r252915
      Jakub Jelinek committed
    • re PR target/81361 (broken exception handling at -O2) · 0eeb9f3d
      	PR target/81361
      	* dwarf2cfi.c (add_cfis_to_fde): Do not generate DW_CFA_set_loc after
      	switching to a new text section.
      
      From-SVN: r252914
      Eric Botcazou committed
    • [multiple changes] · 845af9e6
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	* sem_ch4.adb (Analyze_Qualified_Expression): Give an error if the type
      	mark refers to the current instance. Set the type to Any_Type in that
      	case, to avoid later crashes.
      
      2017-09-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch3.adb (Replace_Discriminant_References): New procedure,
      	subsidiary of Build_Assignment, used to handle the initialization code
      	for a mutable record component whose default value is an aggregate that
      	sets the values of the discriminants of the components.
      
      2017-09-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* gnat.dg/default_variants.adb: New testcase.
      
      2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Address>: Mark
      	the entity as being volatile for an overlay that toggles the scalar
      	storage order.
      
      2017-09-18  Fedor Rybin  <frybin@adacore.com>
      
      	* doc/gnat_ugn/gnat_utility_programs.rst: Document that gnattest
      	options -U main and --harness-only are not compatible.
      
      From-SVN: r252913
      Pierre-Marie de Rodat committed
    • [multiple changes] · d7cc5f0e
      2017-09-18  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* freeze.adb, sem_ch6.adb, sem_res.adb: Minor reformatting.
      
      2017-09-18  Piotr Trojanek  <trojanek@adacore.com>
      
      	* einfo.ads (Is_Imported): Update comment, as this
      	routine also applies to constants.
      
      2017-09-18  Yannick Moy  <moy@adacore.com>
      
      	* sem_util.adb (Find_Placement_In_State_Space): Allow generic package
      	holding state.
      
      2017-09-18  Justin Squirek  <squirek@adacore.com>
      
      	* sem_prag.adb (Is_Non_Significant_Pragma_Reference): Change the
      	constant indication for Pragma_Linker_Section.
      
      From-SVN: r252910
      Pierre-Marie de Rodat committed
    • Alternate fix for PR ada/71358 · 677d7278
      2017-09-18  Bob Duff  <duff@adacore.com>
      
      	Alternate fix for PR ada/71358
      	* libgnat/g-comlin.adb (Getopt): Remove manual null access checks.
      	Instead, make a local copy of Config, and if it's null, allocate an
      	empty Command_Line_Configuration_Record, so we won't crash on null
      	pointer dereference.
      
      From-SVN: r252909
      Bob Duff committed
    • Fix gcc.target/i386/pr81736-[34].c on 32-bit Solaris/x86 (PR target/81736) · 2a63b04e
      	PR target/81736
      	* gcc.target/i386/pr81736-3.c: Add -mno-omit-leaf-frame-pointer.
      	* gcc.target/i386/pr81736-4.c: Likewise.
      
      From-SVN: r252908
      Rainer Orth committed
    • download_prerequisites (isl): Bump version to 0.18. · 37026b57
      2017-09-18  Richard Biener  <rguenther@suse.de>
      
      	* download_prerequisites (isl): Bump version to 0.18.
      
      From-SVN: r252907
      Richard Biener committed
    • graphite-scop-detection.c (scop_detection::stmt_has_simple_data_ref): Simplify. · 72b03fde
      2017-09-18  Richard Biener  <rguenther@suse.de>
      
      	* graphite-scop-detection.c (scop_detection::stmt_has_simple_data_ref):
      	Simplify.
      	(build_alias_set): Reject aliases with no access function.
      
      From-SVN: r252906
      Richard Biener committed
    • re PR tree-optimization/79622 (Wrong code w/ -O2 -floop-nest-optimize) · 3d07d963
      2017-09-18  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/79622
      	* graphite-scop-detection.c (build_cross_bb_scalars_def): Properly
      	handle PHIs.
      	(build_cross_bb_scalars_use): Likewise.
      
      	* gcc.dg/graphite/pr79622.c: New testcase.
      
      From-SVN: r252905
      Richard Biener committed
    • Fix a typo in a comment (cgraph.c:cgraph_thunk_info) · e75a0b31
      gcc/
      	* cgraph.h (cgraph_thunk_info): Fix a typo in a comment.
      
      From-SVN: r252904
      Pierre-Marie de Rodat committed
    • MAINTAINERS: Add myself as a maintainer for the Ada front end. · 86ab175e
      2017-09-18  Pierre-Marie de Rodat  <derodat@adacore.com>
      
      	* MAINTAINERS: Add myself as a maintainer for the Ada front end.
      
      From-SVN: r252903
      Pierre-Marie de Rodat committed
    • Add myself as a maintainer for the Ada front end · 97f1ac12
      From-SVN: r252902
      Pierre-Marie de Rodat committed
    • [RS6000] PR81996, __builtin_return_address(0) fails · a24f02ff
      rs6000_return_addr assumes that the stack link is at frame+0, which is
      true for count>0.  For count==0, rs6000_return_addr is called with
      frame==frame_pointer_rtx and the stack link is *not* at frame+0 if
      -fstack-protector-all or -fsanitize=address because rs6000.h sets
      FRAME_GROWS_DOWNWARD for those options.
      
      	PR target/81996
      	* gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use
      	stack_pointer_rtx for count 0.  Update comments.  Break up
      	large rtl expression.
      
      From-SVN: r252901
      Alan Modra committed
    • Daily bump. · f26a27f3
      From-SVN: r252900
      GCC Administrator committed
  2. 17 Sep, 2017 5 commits
    • PR target/82196 correct choice of avx/sse stubs for -mcall-ms2sysv-xlogues · 3cb626e4
      gcc:
      	config/i386/i386.c: (xlogue_layout::STUB_NAME_MAX_LEN): Increase to 20
      	bytes.
      	(xlogue_layout::s_stub_names): Add an additional size-2 diminsion.
      	(xlogue_layout::get_stub_name): Modify to select the appropairate sse
      	or avx version of the stub.
      
      gcc/testsuite:
      	gcc.target/i386/pr82196-1.c: New test.
      	gcc.target/i386/pr82196-2.c: Likewise.
      
      libgcc:
      	config/i386/i386-asm.h (PASTE2): New macro.
      	(ASMNAME): Modify to use PASTE2.
      	(MS2SYSV_STUB_PREFIX): New macro for isa prefix.
      	(MS2SYSV_STUB_BEGIN, MS2SYSV_STUB_END): New macros for stub headers.
      	config/i386/resms64.S: Rename to a header file, use MS2SYSV_STUB_BEGIN
      	instead of HIDDEN_FUNC and MS2SYSV_STUB_END instead of FUNC_END.
      	config/i386/resms64f.S: Likewise.
      	config/i386/resms64fx.S: Likewise.
      	config/i386/resms64x.S: Likewise.
      	config/i386/savms64.S: Likewise.
      	config/i386/savms64f.S: Likewise.
      	config/i386/avx_resms64.S: New file that only defines a macro and
      	includes it's corresponding header file.
      	config/i386/avx_resms64f.S: Likewise.
      	config/i386/avx_resms64fx.S: Likewise.
      	config/i386/avx_resms64x.S: Likewise.
      	config/i386/avx_savms64.S: Likewise.
      	config/i386/avx_savms64f.S: Likewise.
      	config/i386/sse_resms64.S: Likewise.
      	config/i386/sse_resms64f.S: Likewise.
      	config/i386/sse_resms64fx.S: Likewise.
      	config/i386/sse_resms64x.S: Likewise.
      	config/i386/sse_savms64.S: Likewise.
      	config/i386/sse_savms64f.S: Likewise.
      	config/i386/t-msabi: Modified to add avx and sse versions of stubs.
      
      From-SVN: r252896
      Daniel Santos committed
    • i386: Update preferred stack boundary for leaf functions · 01f44e44
      preferred_stack_boundary may not be the minimum stack alignment.  For
      leaf functions without TLS access, max_used_stack_slot_alignment may be
      smaller.  We should update preferred_stack_boundary for leaf functions.
      
      gcc/
      
      	PR target/82166
      	* config/i386/i386.c (ix86_finalize_stack_frame_flags): Properly
      	compute the minimum stack alignment.  Also update preferred stack
      	boundary for leaf functions.
      
      gcc/testsuite/
      
      	PR target/82166
      	* gcc.target/i386/pr82166.c: New test.
      
      From-SVN: r252895
      H.J. Lu committed
    • re PR fortran/82173 ([meta-bug] Parameterized derived type errors) · 62d3c075
      2017-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82173
      	* decl.c (gfc_get_pdt_instance): Use the component initializer
      	expression for the default, rather than the parameter value.
      	* resolve.c (resolve_pdt): New function.
      	(resolve_symbol): Call it. Remove false error, prohibiting
      	deferred type parameters for dummy arguments.
      
      	PR fortran/60483
      	* primary.c (gfc_match_varspec): If the type of an associate
      	name is unknown and yet there is a match, try resolving the
      	target expression and using its type.
      
      2017-09-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82173
      	* gfortran.dg/pdt_1.f03 : Eliminate spurious error checks.
      	* gfortran.dg/pdt_2.f03 : The same.
      	* gfortran.dg/pdt_3.f03 : The same.
      	* gfortran.dg/pdt_4.f03 : Add 'modtype' and two new errors in
      	module 'bad_vars'. Add error concerning assumed parameters and
      	save attribute.
      	* gfortran.dg/pdt_11.f03 : New test.
      
      	PR fortran/60483
      	* gfortran.dg/associate_9.f90 : Remove XFAIL and change to run.
      	* gfortran.dg/associate_25.f90 : New test.
      	* gfortran.dg/pdt_12.f03 : New test.
      
      From-SVN: r252894
      Paul Thomas committed
    • Fix gccbrig documentation build · 7ac3ed13
      	gcc/brig/
      	* Make-lang.in (GO_TEXI_FILES): Rename to...
      	(BRIG_TEXI_FILES): ... this.
      	(doc/gccbrig.info, doc/gccbrig.dvi, doc/gccbrig.pdf, brig.info)
      	(brig.srcinfo, brig.man, brig.srcman, brig.install-man)
      	($(DESTDIR)$(man1dir)/$(GCCBRIG_INSTALL_NAME)$(man1ext)):
      	Uncomment/enable targets.
      	(gccbrig.pod): New target.
      	* gccbrig.texi: New file.
      
      From-SVN: r252893
      Thomas Schwinge committed
    • Daily bump. · e1595456
      From-SVN: r252892
      GCC Administrator committed
  3. 16 Sep, 2017 6 commits
  4. 15 Sep, 2017 14 commits
    • syscall: fixes for Solaris · d00f9deb
          
          Patch by Rainer Orth.
          
          Reviewed-on: https://go-review.googlesource.com/64170
      
      From-SVN: r252866
      Ian Lance Taylor committed
    • compiler: call error_statement for fallthrough in last case · 7fdaa1f0
          
          It is possible to do this check in backend, by walking the
          block and check whether the last statement is a goto. But it
          seems easier to do it in the frontend, where it can simply use
          is_fallthrough.
          
          Reviewed-on: https://go-review.googlesource.com/63690
      
      From-SVN: r252851
      Ian Lance Taylor committed
    • Add support for -std=c++2a. · 026a79f7
      	* c-common.h (cxx_dialect): Add cxx2a as a dialect.
      	* opt.c: Add options for -std=c++2a and -std=gnu++2a.
      	* c-opts.c (set_std_cxx2a): New.
      	(c_common_handle_option): Set options when -std=c++2a is enabled.
      	(c_common_post_options): Adjust comments.
      	(set_std_cxx14, set_std_cxx17): Likewise.
      
      	* doc/cpp.texi (__cplusplus): Document value for -std=c++2a
      	or -std=gnu+2a.
      	* doc/invoke.texi: Document -std=c++2a and -std=gnu++2a.
      
      	* lib/target-supports.exp (check_effective_target_c++17): Return
      	1 also if check_effective_target_c++2a.
      	(check_effective_target_c++17_down): New.
      	(check_effective_target_c++2a_only): New.
      	(check_effective_target_c++2a): New.
      	* g++.dg/cpp2a/cplusplus.C: New.
      
      	* include/cpplib.h (c_lang): Add CXX2A and GNUCXX2A.
      	* init.c (lang_defaults): Add rows for CXX2A and GNUCXX2A.
      	(cpp_init_builtins): Set __cplusplus to 201709L for C++2a.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r252850
      Andrew Sutton committed
    • compiler: check error expression in Array_type::get_backend_length · 41dfa93f
          
          Otherwise, a zero length is created in the backend and the
          backend doesn't know there is an error.
          
          Reviewed-on: https://go-review.googlesource.com/61610
      
      From-SVN: r252849
      Ian Lance Taylor committed
    • re PR target/82066 (#pragma GCC target documentation does not say it is implemented for aarch64) · efc79e1e
      2017-09-15  Steve Ellcey  <sellcey@cavium.com>
      
      	PR target/82066
      	* doc/extend.texi (Common Function Attributes): Add 
      	references to ARM, AArch64, and S/390 specific attributes.
      	(Function Specific Option Pragmas): Add AArch64 and S/390
              to list of back ends that support the target pragma.
      
      From-SVN: r252848
      Steve Ellcey committed
    • Implement C11 excess precision semantics for conversions (PR c/82071). · bb75facd
      C11 semantics for excess precision (from N1531) are that an implicit
      conversion (from the usual arithmetic conversions, not by assignment)
      from integer to floating point has a result in the corresponding
      evaluation format of that floating-point type, so possibly with excess
      precision (whereas a cast or conversion by assignment from integer to
      floating point must produce a value without excess range or precision,
      as always).  This patch makes GCC support those semantics if
      flag_isoc11 (which in turn means that conditional expressions need to
      support generating a result with excess precision even if neither
      operand had excess precision).
      
      C99 is less than entirely clear in this regard, but my reading as
      outlined at <https://gcc.gnu.org/ml/gcc-patches/2008-11/msg00105.html>
      is that the results of conversions from integer to floating-point
      types are always expected to be representable in the target type
      without excess precision, and this patch conservatively keeps these
      semantics for pre-C11 (i.e. if an older standard is explicitly
      selected).
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      	PR c/82071
      
      gcc/c:
      	* c-typeck.c (ep_convert_and_check): Just call convert_and_check
      	for C11.
      	(build_conditional_expr): For C11, generate result with excess
      	precision when one argument is an integer and the other is of a
      	type using excess precision.
      
      gcc/testsuite:
      	* gcc.target/i386/excess-precision-8.c: New test.
      
      From-SVN: r252847
      Joseph Myers committed
    • re PR c++/64644 ("warning: anonymous union with no members" should be an error… · c01df3c8
      re PR c++/64644 ("warning: anonymous union with no members" should be an error with -pedantic-errors)
      
      /cp
      2017-09-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      	    Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64644
      	* decl2.c (finish_anon_union): Complain about "anonymous union with
      	no members" with a pedwarn.
      
      /testsuite
      2017-09-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      	    Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64644
      	* g++.dg/other/anon-union4.C: New.
      	* g++.old-deja/g++.law/union4.C: Adjust.
      	* g++.old-deja/g++.other/anon1.C: Likewise.
      
      Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
      
      From-SVN: r252835
      Manuel López-Ibáñez committed
    • [C++ PATCH] Renames/adjustments of 1z to 17 · 39ebef2c
      https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01051.html
      ReviewedBy: Sandra Loosemore <sandra@codesourcery.com>
      	* doc/standards.texi: Fix C++17 description.  Update URLs for
      	C++11 & 14.
      
      From-SVN: r252834
      Nathan Sidwell committed
    • * MAINTAINERS: Remove myself as a vxworks maintainer. · 500ac452
      From-SVN: r252833
      Nathan Sidwell committed
    • common.opt (Wcast-align=strict): New warning option. · 1d933576
      2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * common.opt (Wcast-align=strict): New warning option.
              * doc/invoke.texi: Document -Wcast-align=strict.
      
      c:
      2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-typeck.c (build_c_cast): Implement -Wcast-align=strict.
      
      cp:
      2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * typeck.c (build_reinterpret_cast_1,
              build_const_cast_1): Implement -Wcast-align=strict.
      
      testsuite:
      2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * c-c++-common/Wcast-align.c: New test.
      
      From-SVN: r252832
      Bernd Edlinger committed
    • c-pragma.c (handle_pragma_scalar_storage_order): Expand on error message for… · 4a8ca690
      c-pragma.c (handle_pragma_scalar_storage_order): Expand on error message for non-uniform endianness and issue a warning in C++.
      
      	* c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
      	message for non-uniform endianness and issue a warning in C++.
      
      From-SVN: r252831
      Eric Botcazou committed
    • re PR c++/78648 (ICE on invalid C++ code on x86_64-linux-gnu (Segmentation… · f5e37f2a
      re PR c++/78648 (ICE on invalid C++ code on x86_64-linux-gnu (Segmentation fault, contains_struct_check))
      
      2017-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/78648
      	* g++.dg/cpp0x/lambda/lambda-ice21.C: New.
      
      From-SVN: r252829
      Paolo Carlini committed
    • Add comments to struct cgraph_thunk_info · a3e61d61
      This commit adds comments to fields in the cgraph_thunk_info structure
      declaration from cgraph.h.  They will hopefully answer questions that
      people like myself can ask while discovering the thunk machinery.  I
      also made an assertion stricter in cgraph_node::create_thunk.
      
      Bootsrapped and regtested on x86_64-linux.
      
      gcc/
      
      	* cgraph.h (cgraph_thunk_info): Add comments.
      	* cgraph.c (cgraph_node::create_thunk): Adjust comment, make
      	assert for VIRTUAL_* arguments stricter.
      
      From-SVN: r252828
      Pierre-Marie de Rodat committed
    • re PR tree-optimization/71026 (Missing division optimizations) · ed17cb57
      2017-09-15  Jackson Woodruff  <jackson.woodruff@arm.com>
      
      	PR tree-optimization/71026
      	* match.pd: Move RDIV patterns from fold-const.c
      	* fold-const.c (distribute_real_division): Removed.
      	(fold_binary_loc): Remove calls to distribute_real_divison.
      
      	PR tree-optimization/71026
      	* gcc/testsuire/gcc.dg/fold-div-1.c: Use -O1.
      
      From-SVN: r252827
      Jackson Woodruff committed