[RS6000] VSX_MM_SUFFIX

2020-10-22 Thread Alan Modra via Gcc-patches
gcc.target/powerpc/vsx_mask-count-runnable.c and others Assembler messages: Error: unrecognized opcode: `vcntmb' I'm applying this one as obvious. Ref https://gcc.gnu.org/pipermail/gcc-patches/2020-July/549757.html * config/rs6000/vsx.md (vec_cntmb_, vec_extract_),

[RS6000] Link power10 testcases

2020-10-22 Thread Alan Modra via Gcc-patches
Running the assembler and linker catches more errors. * gcc.target/powerpc/cfuged-1.c, * gcc.target/powerpc/cntlzdm-1.c, * gcc.target/powerpc/cnttzdm-1.c, * gcc.target/powerpc/dg-future-1.c, * gcc.target/powerpc/lsbb-runnable.c, *

[RS6000] dimode_off.c test

2020-10-22 Thread Alan Modra via Gcc-patches
This tests behaviour near the limit of 16-bit signed offsets. If power10 prefix instructions are enabled, no such testing occurs. * gcc.target/powerpc/dimode_off.c: Add -mno-prefixed to options. Regstrapped powerpc64le-linux power10 and power8. OK? diff --git

Re: [PATCH v2] PR target/96759 - Handle global variable assignment from misaligned structure/PARALLEL return values.

2020-10-22 Thread Kito Cheng via Gcc-patches
OK for gcc-10 branch? This patch was committed into trunk for 1 week and seems stable. On Wed, Oct 14, 2020 at 11:56 AM Kito Cheng wrote: > > Thanks for reviewing that, committed to trunk :) > > On Tue, Oct 13, 2020 at 5:38 PM Eric Botcazou wrote: > > > > > Do you mind having a review for

Re: [PATCH] arm: Fix multiple inheritance thunks for thumb-1 with -mpure-code

2020-10-22 Thread Christophe Lyon via Gcc-patches
On Wed, 21 Oct 2020 at 19:36, Richard Earnshaw wrote: > > On 21/10/2020 17:11, Christophe Lyon via Gcc-patches wrote: > > On Wed, 21 Oct 2020 at 18:07, Richard Earnshaw > > wrote: > >> > >> On 21/10/2020 16:49, Christophe Lyon via Gcc-patches wrote: > >>> On Tue, 20 Oct 2020 at 13:25, Richard

[RS6000] Adjust testcases for power10 instructions

2020-10-22 Thread Alan Modra via Gcc-patches
* gcc.dg/pr56727-2.c, * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c, * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c, * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c, * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c,

[patch] libstdc++: Scope configuration for vxworks to all versions

2020-10-22 Thread Olivier Hainque
Hello, When libstdc++ is enabled for VxWorks, the high level libstdc++-v3 configuration bits should apply the same to all versions of the OS; also to vxworks7r2 in particular. This patch adjusts the triplets matching rules accordingly. We have been using this in gcc-9 based production

Re: [PATCH v2] PR target/96759 - Handle global variable assignment from misaligned structure/PARALLEL return values.

2020-10-22 Thread Richard Biener
On Thu, 22 Oct 2020, Kito Cheng wrote: > OK for gcc-10 branch? > > This patch was committed into trunk for 1 week and seems stable. Yes. > On Wed, Oct 14, 2020 at 11:56 AM Kito Cheng wrote: > > > > Thanks for reviewing that, committed to trunk :) > > > > On Tue, Oct 13, 2020 at 5:38 PM Eric

RE: [PATCH][Arm] Auto-vectorization for MVE: vsub

2020-10-22 Thread Kyrylo Tkachov via Gcc-patches
Hi Dennis, > -Original Message- > From: Dennis Zhang > Sent: 06 October 2020 17:47 > To: gcc-patches@gcc.gnu.org > Cc: Kyrylo Tkachov ; nd ; > Richard Earnshaw ; Ramana Radhakrishnan > > Subject: Re: [PATCH][Arm] Auto-vectorization for MVE: vsub > > Hi all, > > On 8/17/20 6:41 PM,

Re: [PATCH v2] PR target/96759 - Handle global variable assignment from misaligned structure/PARALLEL return values.

2020-10-22 Thread Kito Cheng
Thanks, committed to gcc-10 branch :) On Thu, Oct 22, 2020 at 3:58 PM Richard Biener wrote: > On Thu, 22 Oct 2020, Kito Cheng wrote: > > > OK for gcc-10 branch? > > > > This patch was committed into trunk for 1 week and seems stable. > > Yes. > > > On Wed, Oct 14, 2020 at 11:56 AM Kito Cheng >

Re: enable sincos optimization on cygming targets

2020-10-22 Thread Jonathan Yong via Gcc-patches
On 10/22/20 5:01 AM, Alexandre Oliva wrote: Err, sorry, I mislabeled this patch as [FYI,Ada], but it is neither about Ada nor pre-approved. It does require a review before I can check it in. No objections for mingw-w64 since it has been tested, but I'm not certain if the original mingw.org

[RS6000] Non-pcrel tests when power10

2020-10-22 Thread Alan Modra via Gcc-patches
These tests require -mno-pcrel because they are testing features of the non-pcrel ABI. * gcc.target/powerpc/cprophard.c: Add -mno-pcrel to options. * gcc.target/powerpc/float128-hw3.c: Likewise. * gcc.target/powerpc/pr79439-1.c: Likewise. *

Re: [PATCH] RISC-V: Extend syntax for the multilib-generator

2020-10-22 Thread Kito Cheng via Gcc-patches
Committed with comment fix, thanks :) On Thu, Oct 22, 2020 at 10:37 AM Jim Wilson wrote: > > On Wed, Oct 21, 2020 at 7:36 PM Jim Wilson wrote: > > > > > > > On Fri, Oct 16, 2020 at 2:34 AM Kito Cheng wrote: > > > >> +# Example 2: > >> +# rv32imafd-ilp32d--c*b > >> +# means that, in addition

Re: [PATCH 2/2] combine: Don't turn (mult (extend x) 2^n) into extract

2020-10-22 Thread Alex Coplan via Gcc-patches
Ping. Hopefully this is easier to review/test now that we fix the AArch64 bug first and deliberately regress code quality so that the impact of the combine patch can be measured. On 15/10/2020 09:59, Alex Coplan via Gcc-patches wrote: > Currently, make_extraction() identifies where we can emit

Re: [PATCH 1/2] arm: Avoid indirection with -mpure-code on v6m (PR96967)

2020-10-22 Thread Christophe Lyon via Gcc-patches
ping? On Tue, 6 Oct 2020 at 10:30, Christophe Lyon wrote: > > ping? > > On Mon, 28 Sep 2020 at 11:09, Christophe Lyon > wrote: > > > > With -mpure-code on v6m (thumb-1), to avoid a useless indirection when > > building the address of a symbol, we want to consider SYMBOL_REF as a > > legitimate

Re: [PATCH 2/2] arm: Improve handling of relocations with small offsets with -mpure-code on v6m (PR96770)

2020-10-22 Thread Christophe Lyon via Gcc-patches
ping? On Tue, 6 Oct 2020 at 10:30, Christophe Lyon wrote: > > ping? > > On Mon, 28 Sep 2020 at 11:09, Christophe Lyon > wrote: > > > > With -mpure-code on v6m (thumb-1), we can use small offsets with > > upper/lower relocations to avoid the extra addition of the > > offset. > > > > This patch

[RS6000] Power10 vec-splati-runnable multiple test failures

2020-10-22 Thread Alan Modra via Gcc-patches
FAIL: gcc.target/powerpc/vec-splati-runnable.c 1 blank line(s) in output FAIL: gcc.target/powerpc/vec-splati-runnable.c (test for excess errors) Excess errors: rs6000_emit_xxspltidp_v2df called ... and running the test fails. As the comment says /* Although the instruction says the results are

Re: [PATCH] SLP: Move load/store-lanes check till late

2020-10-22 Thread Richard Biener
On Wed, 21 Oct 2020, Tamar Christina wrote: > Hi All, > > This moves the code that checks for load/store lanes further in the pipeline > and > places it after slp_optimize. This would allow us to perform optimizations on > the SLP tree and only bail out if we really have a permute. > > With

RE: [PATCH PR94442] [AArch64] Redundant ldp/stp instructions emitted at -O3

2020-10-22 Thread xiezhiheng
> -Original Message- > From: Richard Sandiford [mailto:richard.sandif...@arm.com] > Sent: Wednesday, October 21, 2020 12:54 AM > To: xiezhiheng > Cc: Richard Biener ; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH PR94442] [AArch64] Redundant ldp/stp instructions > emitted at -O3 > >

[committed] analyzer: fix ICE when handling callback exceeds enode limit [PR97514]

2020-10-22 Thread David Malcolm via Gcc-patches
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. Pushed to master as r11-4222-gf7decfaebbcb8522fcb39b03a391a5c2cb64f460. gcc/analyzer/ChangeLog: PR analyzer/97514 * engine.cc (exploded_graph::add_function_entry): Handle failure to create an enode, rather than

Re: [PATCH] phiopt: Optimize x ? __builtin_clz (x) : 32 in GIMPLE [PR97503]

2020-10-22 Thread Rainer Orth
Hi Jakub, > On Wed, Oct 21, 2020 at 07:30:46PM +0200, Rainer Orth wrote: >> this broke sparc-sun-solaris2.11 bootstrap >> >> /vol/gcc/src/hg/master/local/gcc/tree-ssa-phiopt.c: In function 'bool >> cond_removal_in_popcount_clz_ctz_pattern(basic_block, basic_block, edge, >> edge, gimple*, tree,

[Ada] AI12-0211: Consistency of inherited nonoverridable aspects

2020-10-22 Thread Pierre-Marie de Rodat
AI12-0211 introduces two new legality rules. The first says that if a nonoverridable aspect is explicitly specified for a type which also inherits that aspect from another type (an ancestor or a progenitor), then the explicit aspect specification shall be confirming. The second says that if a type

[Ada] Enable the support of 128-bit integer types by default

2020-10-22 Thread Pierre-Marie de Rodat
This enables the support of 128-bit integer types by default on 64-bit platforms (except for BB ports): the -gnate128 switch is removed and the debug switch -gnatd.H can now be used to disable again the support. Technically speaking, apart from the obvious effect on integer types, this will bump

Re: [PATCH] LTO: get_section: add new argument

2020-10-22 Thread Martin Liška
On 10/22/20 1:42 PM, Martin Jambor wrote: ...is that I think this should be internal_error. I am not sure what difference it makes in practice, if any, though. You are right, using internal_error is a better approach. Martin >From e6ab47df74113e7eae3160d5f9c2f7a7e724feb1 Mon Sep 17 00:00:00

[Ada] Update the head comment of Check_Compile_Time_Size

2020-10-22 Thread Pierre-Marie de Rodat
In order to reflect that the size limit is System_Max_Integer_Size now. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * freeze.ads (Check_Compile_Time_Size): Adjust size limit.diff --git a/gcc/ada/freeze.ads b/gcc/ada/freeze.ads --- a/gcc/ada/freeze.ads +++

[Ada] Build support units for 128-bit integer types on 64-bit platforms

2020-10-22 Thread Pierre-Marie de Rodat
This enables the build of the support units for 128-bit integer types in the full runtime of 64-bit platforms. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * Makefile.rtl (64-bit platforms): Add GNATRTL_128BIT_PAIRS to the LIBGNAT_TARGET_PAIRS list and also

[Ada] Wrong accessibility for conversion to named access

2020-10-22 Thread Pierre-Marie de Rodat
This patch fixes an error in the compiler whereby the accessibility level for explicit type conversions from an anonymous access object to a named access type led to spurious runtime accessibility errors. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_util.adb

[PATCH] LTO: check that make command works

2020-10-22 Thread Martin Liška
Hello. The patch is about checking that make command exists for lto-wrapper. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: PR lto/97524 * lto-wrapper.c (make_exists): New function.

Re: [RS6000] Adjust testcases for power10 instructions

2020-10-22 Thread Alan Modra via Gcc-patches
On Thu, Oct 22, 2020 at 05:33:46PM +1030, Alan Modra wrote: > * gcc.dg/pr56727-2.c, > * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c, > * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c, > * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c, >

[committed] analyzer: fix ICE on dtor [PR97489]

2020-10-22 Thread David Malcolm via Gcc-patches
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. Pushed to master as r11-4220-gb7f2cfbf0fc7bcd5c1e60fca354de8bf60f9acfa. gcc/analyzer/ChangeLog: PR analyzer/97489 * engine.cc (exploded_graph::add_function_entry): Assert that we have a function body.

RE: [PATCH] SLP: Move load/store-lanes check till late

2020-10-22 Thread Richard Biener
On Thu, 22 Oct 2020, Tamar Christina wrote: > Hi Richi, > > > -Original Message- > > From: rguent...@c653.arch.suse.de On > > Behalf Of Richard Biener > > Sent: Thursday, October 22, 2020 9:44 AM > > To: Tamar Christina > > Cc: gcc-patches@gcc.gnu.org; nd ; o...@ucw.cz > > Subject: Re:

[PATCH] ipa-modref-tree.c: fix selftest leaks

2020-10-22 Thread David Malcolm via Gcc-patches
"make selftest-valgrind" was reporting: 40 bytes in 1 blocks are definitely lost in loss record 25 of 735 at 0x483AE7D: operator new(unsigned long) (vg_replace_malloc.c:344) by 0xFA0CEA: selftest::test_insert_search_collapse() (ipa-modref-tree.c:40) by 0xFA2F9B:

Re: [PATCH] ipa-modref-tree.c: fix selftest leaks

2020-10-22 Thread Richard Biener via Gcc-patches
On Thu, Oct 22, 2020 at 12:26 PM David Malcolm via Gcc-patches wrote: > > "make selftest-valgrind" was reporting: > > 40 bytes in 1 blocks are definitely lost in loss record 25 of 735 >at 0x483AE7D: operator new(unsigned long) (vg_replace_malloc.c:344) >by 0xFA0CEA:

Re: [PATCH] openmp: Implement support for OMP_TARGET_OFFLOAD

2020-10-22 Thread Rainer Orth
Hi Jakub, >> the patch also breaks bootstrap on both i386-pc-solaris2.11 and >> sparc-sun-solaris2.11: >> >> /vol/gcc/src/hg/master/local/libgomp/env.c: In function 'initialize_env': >> /vol/gcc/src/hg/master/local/libgomp/env.c:414:16: error: 'new_offload' >> may be used uninitialized in this

[r11-4203 Regression] FAIL: libgomp.fortran/examples-4/simd-2.f90 -Os (test for excess errors) on Linux/x86_64

2020-10-22 Thread sunil.k.pandey via Gcc-patches
On Linux/x86_64, 7026bb9504eb0f95e114f832cd6dd14302376861 is the first bad commit commit 7026bb9504eb0f95e114f832cd6dd14302376861 Author: liuhongt Date: Sat Sep 26 15:34:23 2020 +0800 Refactor implementation of *_bcst{_1,_2,_3} patterns. caused FAIL:

[PATCH] Refactor vect_analyze_slp_instance a bit

2020-10-22 Thread Richard Biener
In preparation for a larger change this refactors vect_analyze_slp_instance so it doesn't need to know a vector type early. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2020-10-22 Richard Biener * tree-vect-slp.c (vect_analyze_slp_instance): Refactor so

Re: [patch] libstdc++: Scope configuration for vxworks to all versions

2020-10-22 Thread Olivier Hainque
> On 22 Oct 2020, at 11:09, Jonathan Wakely wrote: > > (Please CC the libstdc++ list for all lisbtdc++ patches) Oh, sure. > Looks good, thanks. Great, thanks for your prompt feedback :) Olivier

Re: [Ada,FYI] revamp ada.numerics.aux

2020-10-22 Thread Alexandre Oliva
On Oct 22, 2020, Alexandre Oliva wrote: > (some regressions remain on x86 and x86_64, > so further changes are expected Here's the fix I'm installing. I'd failed to add the __nolibm bit to x86*-vxworks in the Ada.Numerics.Aux revamp patch. Then, when I added __wraplf for low-precision real

Re: [PATCH] LTO: get_section: add new argument

2020-10-22 Thread Martin Liška
All right, there's a patch that works for me. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin >From 33c58cab6bc0d779b11e7ffb36bfb485d73d6816 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Wed, 21 Oct 2020 11:11:03 +0200 Subject:

[committed] analyzer: add some C++ test coverage

2020-10-22 Thread David Malcolm via Gcc-patches
Successfully regrtested on x86_64-pc-linux-gnu. Pushed to master as 9ed7b339c97dffd6f491aeb7052d6601b9d01ae0. gcc/testsuite/ChangeLog: * g++.dg/analyzer/ctor-dtor-1.C: New test. * g++.dg/analyzer/dyncast-1.C: New test. * g++.dg/analyzer/vfunc-1.C: New test. ---

[Committed] Fix PR97439

2020-10-22 Thread Andreas Krebbel via Gcc-patches
decimal_real_maxval misses to set the sign flag in the REAL_VALUE_TYPE. Bootstrapped and regression tested on IBM Z. Committed to head, gcc-10, gcc-9, and gcc-8 branches. gcc/ChangeLog: PR rtl-optimization/97439 * dfp.c (decimal_real_maxval): Set the sign flag in the

[Committed] Fix PR97502

2020-10-22 Thread Andreas Krebbel via Gcc-patches
The S/390 backend does not define vec_cmp expanders so far. We relied solely on expanding vcond. With commit 502d63b6d various testcases started to ICE now. This patch just adds the missing expanders to prevent the ICE. However, there are still a couple of performance-related testcase

Re: [PATCH] calls.c:can_implement_as_sibling_call_p REG_PARM_STACK_SPACE check

2020-10-22 Thread Alan Modra via Gcc-patches
On Mon, Oct 12, 2020 at 10:37:05PM +1030, Alan Modra wrote: > Ping? > > On Fri, Oct 02, 2020 at 05:03:50PM +0930, Alan Modra wrote: > https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555309.html Ping^2 -- Alan Modra Australia Development Lab, IBM

[PATCH] lto: LTO cgraph support for late declare variant resolution

2020-10-22 Thread Jakub Jelinek via Gcc-patches
On Thu, May 14, 2020 at 02:17:45PM +0200, Jakub Jelinek via Gcc-patches wrote: > > For LTO, the patch only saves/restores the two cgraph_node bits added in the > > patch, but doesn't yet stream out and back in the on the side info for the > > declare_variant_alt. For the LTO partitioning, I

Re: [PATCH] LTO: get_section: add new argument

2020-10-22 Thread Martin Jambor
Hi, On Thu, Oct 22 2020, Martin Liška wrote: > All right, there's a patch that works for me. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > From 33c58cab6bc0d779b11e7ffb36bfb485d73d6816 Mon Sep 17 00:00:00 2001 > From:

Patch ping

2020-10-22 Thread Jakub Jelinek via Gcc-patches
Hi! I'd like to ping a few patches: https://gcc.gnu.org/pipermail/gcc-patches/2020-August/552451.html - allow plugins to deal with global_options layout changes https://gcc.gnu.org/pipermail/gcc-patches/2020-September/553420.html - --enable-link-serialization{,=N} support

Materialize clones on demand

2020-10-22 Thread Jan Hubicka
Hi, this patch removes the pass to materialize all clones and instead this is now done on demand. The motivation is to reduce lifetime of function bodies in ltrans that should noticeably reduce memory use for highly parallel compilations of large programs (like Martin does) or with partitioning

[PATCH] middle-end/97521 - fix VECTOR_CST expansion

2020-10-22 Thread Richard Biener
This fixes expansion of VECTOR_BOOLEAN_TYPE_P VECTOR_CSTs which when using an integer mode are not always "mask-mode" but may be using an integer mode when there's no supported vector mode. The patch makes sure to only go the mask-mode expansion if the elements do not line up to cover the full

Re: enable sincos optimization on cygming targets

2020-10-22 Thread Alexandre Oliva
On Oct 22, 2020, Jonathan Yong <10wa...@gmail.com> wrote: > No objections for mingw-w64 since it has been tested, but I'm not > certain if the original mingw.org version has it. Prompted by you, I looked into the original mingw32, and found it does NOT have sincos, so I withdraw the patch, in

[Ada] Reduce scope of local variables for detecting extra WITH clauses

2020-10-22 Thread Pierre-Marie de Rodat
Reduce visibility of variables in procedure Check_Unused_Withs by moving them to a nested procedure Check_One_Unit. Code cleanup; semantics is unaffected. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_warn.adb (Check_Unused_Withs): Move local variables from to

[Ada] Fix bogus error on conversion from Float to 128-bit unsigned

2020-10-22 Thread Pierre-Marie de Rodat
The compiler confuses itself because it generates a range check in Float whose upper bound is 2 ** 128, but this number is larger than the largest number representable in Float so it triggers an error when converted to Float as part of the check. The fix is to saturate the upper bound of the

[Ada] Ada_2020: ongoing work for aggregates for bounded containers

2020-10-22 Thread Pierre-Marie de Rodat
This patch completes the handling of predefined bounded containers, including indexed containers with iterated_component_associations. The size of the constructed object is taken from the size of the aggregate if it can be determined statically, and otherwise uses the default value for the given

[Ada] Fix transformation of Suppress aspect into pragma

2020-10-22 Thread Pierre-Marie de Rodat
Using the Suppress aspect results in a crash. This is caused by the incorrect transformation of the Suppress aspect into its pragma equivalent: the entity and check name were inverted. We use this change as an excuse to turn Make_Aitem_Pragma into a function that returns a new value instead of

[Ada] Fix oversight in Eval_Attribute for Bit_Position

2020-10-22 Thread Pierre-Marie de Rodat
The code would correctly distinguish the entity from the selected component case but not use the result of the analysis in the latter case. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_attr.adb (Eval_Attribute): Fix oversight for Bit_Position.diff --git

[Ada] Implement AI12-0030: Stream attribute availability

2020-10-22 Thread Pierre-Marie de Rodat
An attempt to reference a streaming attribute of a type that has no corresponding attribute definition is typically rejected at compile time. For example, if a task type T lacks a user-defined Read attribute, then a reference to T'Read is illegal. However, obscure ways to bypass these legality

[Ada] Get rid of useless if-then-else in Exp_Fixd.Fpt_Value

2020-10-22 Thread Pierre-Marie de Rodat
The two arms of the conditional construct have been the same for 25 years. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_fixd.adb (Fpt_Value): Fold if-then-else with identical arms.diff --git a/gcc/ada/exp_fixd.adb b/gcc/ada/exp_fixd.adb --- a/gcc/ada/exp_fixd.adb +++

[Ada] Fix parser not detecting casing issues in keywords

2020-10-22 Thread Pierre-Marie de Rodat
Casing issues are not detected when using `-gnaty` if the keyword does not start with a capital letter. This is fixed by checking if any letter in the keywoard is uppercase. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * scng.adb (Scan): Check if any letter of the token is

[Ada] Adjust documentation for Has_Constrained_Partial_View flag

2020-10-22 Thread Pierre-Marie de Rodat
This documents that the Has_Constrained_Partial_View flag now explicitly applies to the base type only. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * einfo.ads (Has_Constrained_Partial_View): Add "base type" marker.diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads ---

[Ada] Implement AI12-0280's interactions with container aggregates

2020-10-22 Thread Pierre-Marie de Rodat
AI12-0280 has already been mostly implemented, but some interactions with container aggregates were not initially implemented. In particular, RM 6.1.1's mention of "the expression of a container_element_association" in the definition of the term "repeatedly evaluated" needs to be reflected in the

[Ada] AI12-0095 Formal types and Constrained Partial Views

2020-10-22 Thread Pierre-Marie de Rodat
AI12-0095 is a binding interpretation that revises the RM to have a general rule about how generic formal discriminated types are considered to have a constrained partial view within generic bodies, rather than just have this rule appear in the sections of the RM on Access attributes and type

[Ada] Ada_2020 AI12-0250: Iterator filters in Iterated_Element_Assocations

2020-10-22 Thread Pierre-Marie de Rodat
Iterator filters can appear in loop parameter specifications and in iterator specifications, and thus in Iterated_Element_Awsociations in container aggregates. This patch extend the parsing and expansion of Iterated associations, to better distinguish the Ada_2020 construct from the Ada_2012

[Ada] CUDA: discover runtime types instead of hard-coding

2020-10-22 Thread Pierre-Marie de Rodat
The CUDA bindings change very frequently, sometimes changing the underlying representation of types. In order to reduce the amount of work needed in the compiler on each CUDA update, we make GNAT infer the types it needs instead of hard-coding them. Tested on x86_64-pc-linux-gnu, committed on

[Ada] Reimplementation of accessibility checking

2020-10-22 Thread Pierre-Marie de Rodat
This patch removes much of the logic relating to static and dynamic accessibility level checks and replaces it with a simplified and centralized implementation. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * checks.adb (Apply_Accessibility_Check): Modify condition to

[Ada] Refactor appending to possibly empty lists

2020-10-22 Thread Pierre-Marie de Rodat
Reuse Append_New_To when expanding pragmas and appending code to possibly empty lists of statements. This is equivalent to checking it the list exists, allocating a new list if necessary, and appending to it. Code cleanup only related to implementation of aspect Subprogram_Variant, which is

[Ada] AI12-0307: uniform resolution rules for aggregates

2020-10-22 Thread Pierre-Marie de Rodat
The resolution rules for container aggregates can lead to ambiguities when homonym subprograms have a formal of a composite type, and the actual in a call is an aggregate. This patch adds an indication that this aggregate should be qualified to remove the ambiguity. Tested on x86_64-pc-linux-gnu,

[Ada] Add No_Implicit_Task_Allocations and No_Implicit_PO_Allocations to Jorvik

2020-10-22 Thread Pierre-Marie de Rodat
Jorvik was meant to include the restrictions No_Implicit_Task_Allocations and No_Implicit_Protected_Object_Allocations but they accidentally got overlooked during the standardisation of the GNAT_Extended_Ravenscar profile. These restrictions are important as they allow us to statically determine

[Ada] Fix error message for import aspect

2020-10-22 Thread Pierre-Marie de Rodat
Confusing error messages are emitted about arguments when erroneously using the import/convention aspect. This is caused by GNAT turning aspects into pragmas and then emitting error messages about pragmas. This is fixed by checking if the pragma comes from an aspect specification and emitting a

[PATCH 2/2] Binutils: Pass --plugin to AR and RANLIB

2020-10-22 Thread H.J. Lu via Gcc-patches
Detect GCC LTO plugin. Pass --plugin to AR and RANLIB to support LTO build. bfd/ * configure: Regenerated. gas/ * configure: Regenerated. gprof/ * configure: Regenerated. ld/ * configure: Regenerated. libctf/ * configure: Regenerated. opcodes/

Re: [patch] libstdc++: Scope configuration for vxworks to all versions

2020-10-22 Thread Jonathan Wakely via Gcc-patches
On 22/10/20 09:58 +0200, Olivier Hainque wrote: Hello, When libstdc++ is enabled for VxWorks, the high level libstdc++-v3 configuration bits should apply the same to all versions of the OS; also to vxworks7r2 in particular. This patch adjusts the triplets matching rules accordingly. We have

Re: [PATCH] Implement no_stack_protect attribute.

2020-10-22 Thread Martin Liška
On 10/20/20 2:19 PM, Richard Biener wrote: So can we use the same identifier as clang here as Nick requests? Thus, OK with re-naming everything alongside no_stack_protector. It isn't really the opposite of the stack_protect attribute since that only protects when -fstack-protector-explicit is

Re: [PATCH] ipa-modref-tree.c: fix selftest leaks

2020-10-22 Thread Jan Hubicka
> "make selftest-valgrind" was reporting: > > 40 bytes in 1 blocks are definitely lost in loss record 25 of 735 >at 0x483AE7D: operator new(unsigned long) (vg_replace_malloc.c:344) >by 0xFA0CEA: selftest::test_insert_search_collapse() (ipa-modref-tree.c:40) >by 0xFA2F9B:

RE: [PATCH] SLP: Move load/store-lanes check till late

2020-10-22 Thread Tamar Christina via Gcc-patches
Hi Richi, > -Original Message- > From: rguent...@c653.arch.suse.de On > Behalf Of Richard Biener > Sent: Thursday, October 22, 2020 9:44 AM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; nd ; o...@ucw.cz > Subject: Re: [PATCH] SLP: Move load/store-lanes check till late > > On

[PATCH 1/2] GCC: Pass --plugin to AR and RANLIB

2020-10-22 Thread H.J. Lu via Gcc-patches
Detect GCC LTO plugin. Pass --plugin to AR and RANLIB to support LTO build. * Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@ (RANLIB): Add @RANLIB_PLUGIN_OPTION@. * configure.ac: Include config/gcc-plugin.m4. AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.

[PATCH 0/2] GCC/Binutils: Pass --plugin to AR and RANLIB

2020-10-22 Thread H.J. Lu via Gcc-patches
In order to support LTO build in binutils, we need to pass --plugin to AR and RANLIB. Add GCC_PLUGIN_OPTION to gcc-plugin.m4 to detect the GCC plugin name. Pass the --plugin option to AR and RANLIB. H.J. Lu (2): GCC: Pass --plugin to AR and RANLIB Binutils: Pass --plugin to AR and RANLIB

Re: [PATCH 2/8] [RS6000] rs6000_rtx_costs for AND

2020-10-22 Thread Segher Boessenkool
On Thu, Oct 22, 2020 at 08:41:50AM +1030, Alan Modra wrote: > On Wed, Oct 21, 2020 at 03:29:11PM -0500, Segher Boessenkool wrote: > > Anyway: > > > > + || (outer_code == AND > > + && rs6000_is_valid_2insn_and (x, mode))) > > { > > *total =

Re: [PATCH][middle-end][i386][version 3]Add -fzero-call-used-regs=[skip|used-gpr-arg|used-arg|all-arg|used-gpr|all-gpr|used|all]

2020-10-22 Thread Qing Zhao via Gcc-patches
Hi, Richard, Could you please check the following documentation change, and let me know any suggestions? Thanks. Qing > >> +pass parameters. @samp{used-arg} zeros used call-used registers that >> +pass parameters. @samp{arg} zeros all call-used registers that pass >> +parameters. These 3

Re: [PATCH] LTO: check that make command works

2020-10-22 Thread Jeff Law via Gcc-patches
On 10/22/20 6:56 AM, Martin Liška wrote: > Hello. > > The patch is about checking that make command exists for lto-wrapper. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > > gcc/ChangeLog: > >     PR lto/97524 >   

Re: [PATCH] arm: Fix multiple inheritance thunks for thumb-1 with -mpure-code

2020-10-22 Thread Richard Earnshaw via Gcc-patches
On 22/10/2020 09:45, Christophe Lyon via Gcc-patches wrote: > On Wed, 21 Oct 2020 at 19:36, Richard Earnshaw > wrote: >> >> On 21/10/2020 17:11, Christophe Lyon via Gcc-patches wrote: >>> On Wed, 21 Oct 2020 at 18:07, Richard Earnshaw >>> wrote: On 21/10/2020 16:49, Christophe Lyon via

Re: [RS6000] Power10 vec-splati-runnable multiple test failures

2020-10-22 Thread Carl Love via Gcc-patches
On Thu, 2020-10-22 at 17:26 +1030, Alan Modra wrote: > FAIL: gcc.target/powerpc/vec-splati-runnable.c 1 blank line(s) in > output > FAIL: gcc.target/powerpc/vec-splati-runnable.c (test for excess > errors) > Excess errors: > rs6000_emit_xxspltidp_v2df called ... > > and running the test fails.

Re: [PATCH] xfail and improve some failing libgomp tests

2020-10-22 Thread Jakub Jelinek via Gcc-patches
On Tue, Oct 06, 2020 at 05:45:31PM +0200, Tom de Vries wrote: > I've updated the patch accordingly. > > FWIW, I now run into an ICE which looks like PR96680: With the patch I've posted today to fix up declare variant LTO handling, Tobias reported the patch still doesn't work, and there are two

Re: [PATCH][middle-end][i386][version 3]Add -fzero-call-used-regs=[skip|used-gpr-arg|used-arg|all-arg|used-gpr|all-gpr|used|all]

2020-10-22 Thread Qing Zhao via Gcc-patches
Hi, Uros, > On Oct 21, 2020, at 9:45 AM, Qing Zhao via Gcc-patches > wrote: >> >> Something like this: >> >> --cut here-- >> long double >> __attribute__ ((noinline)) >> test (long double a, long double b) >> { >> long double r = a + b; >> >> asm volatile ("fldz;\ >>

Re: [patch] OpenMP: Fortran - support omp flush's memorder clauses

2020-10-22 Thread Jakub Jelinek via Gcc-patches
On Thu, Oct 22, 2020 at 04:52:10PM +0200, Tobias Burnus wrote: > + else > +{ > + enum memmodel mo = MEMMODEL_LAST; > + switch (code->ext.omp_clauses->memorder) > + { > + case OMP_MEMORDER_ACQ_REL: mo = MEMMODEL_ACQ_REL; break; > + case OMP_MEMORDER_RELEASE: mo =

Re: [PATCH][middle-end][i386][version 3]Add -fzero-call-used-regs=[skip|used-gpr-arg|used-arg|all-arg|used-gpr|all-gpr|used|all]

2020-10-22 Thread Uros Bizjak via Gcc-patches
On Thu, Oct 22, 2020 at 4:47 PM Qing Zhao wrote: > > Hi, Uros, > > > On Oct 21, 2020, at 9:45 AM, Qing Zhao via Gcc-patches > > wrote: > > >> > >> Something like this: > >> > >> --cut here-- > >> long double > >> __attribute__ ((noinline)) > >> test (long double a, long double b) > >> { >

Re: [RS6000] VSX_MM_SUFFIX

2020-10-22 Thread Carl Love via Gcc-patches
On Thu, 2020-10-22 at 17:21 +1030, Alan Modra wrote: > gcc.target/powerpc/vsx_mask-count-runnable.c and others > Assembler messages: > Error: unrecognized opcode: `vcntmb' > > I'm applying this one as obvious. Ref > https://gcc.gnu.org/pipermail/gcc-patches/2020-July/549757.html > > *

[patch] OpenMP: Fortran - support omp flush's memorder clauses

2020-10-22 Thread Tobias Burnus
Add the memorder clause of OpenMP 5 which are already supported by C/C++. (I copied & adapted the two C/C++ testcases.) OK? Tobias PS: An alternative to creating an additional enum would be to include memmodel.h in gfortran.h - and use it directly. But at the end, I decided to copy to follow

Re: [patch] Use precision and sign to compare types for ranges

2020-10-22 Thread Iain Sandoe
Hi Andrew, Andrew MacLeod via Gcc-patches wrote: This fixes the second test case in pr 97360. There are a few places in the ranger where we sanity check the types of the ranges. We were using types_compatible_p() but thats not really acccurate as gimple allows types which are

[PATCH] libstdc++: Apply proposed resolutions for LWG 3428, 3447

2020-10-22 Thread Patrick Palka via Gcc-patches
Tested on x86_64-pc-linux-gnu. Does this look OK for trunk and the 10 branch? libstdc++-v3/ChangeLog: * include/std/ranges (single_view::single_view): Mark the in place constructor explicit as per LWG 3428. (take_view): Remove the constraint on the deduction guide's

Re: [PATCH] libstdc++: Apply proposed resolutions for LWG 3428, 3447

2020-10-22 Thread Jonathan Wakely via Gcc-patches
On 22/10/20 11:05 -0400, Patrick Palka via Libstdc++ wrote: Tested on x86_64-pc-linux-gnu. Does this look OK for trunk and the 10 branch? Yes for both, thanks. libstdc++-v3/ChangeLog: * include/std/ranges (single_view::single_view): Mark the in place constructor explicit as

Re: [RS6000] VSX_MM_SUFFIX

2020-10-22 Thread Segher Boessenkool
On Thu, Oct 22, 2020 at 08:58:10AM -0700, Carl Love wrote: > OK, looks like VSX_MM_SUFFIX doesn't exist anymore. Don't know what > happed to it. Thanks. It never existed on trunk. Please always regstrap patches on trunk before committing. It feels unnecessary at times, but now you know why

Re: [PATCH][middle-end][i386][version 3]Add -fzero-call-used-regs=[skip|used-gpr-arg|used-arg|all-arg|used-gpr|all-gpr|used|all]

2020-10-22 Thread Qing Zhao via Gcc-patches
> On Oct 22, 2020, at 10:34 AM, Uros Bizjak wrote: > > On Thu, Oct 22, 2020 at 4:47 PM Qing Zhao > wrote: >> >> Hi, Uros, >> >>> On Oct 21, 2020, at 9:45 AM, Qing Zhao via Gcc-patches >>> wrote: >> Something like this: --cut here--

Re: [patch] Use precision and sign to compare types for ranges

2020-10-22 Thread Eric Botcazou
> There are a few places in the ranger where we sanity check the types of > the ranges. We were using types_compatible_p() but thats not really > acccurate as gimple allows types which are useless_type_conversion_p() > in only one direction, whereas types_compatible_p() requires casts in > both

[PATCH/RFC] Add -fdiagnostics-path-format=html

2020-10-22 Thread David Malcolm via Gcc-patches
The patch generalizes diagnostic-show-locus.c so that it can print HTML, as well as the existing text output. It uses this to implement a new -fdiagnostics-path-format=html option, in which diagnostic paths are written out as HTML files of the form "DUMP_BASE_NAME.path-[0-9]+.html" For example:

Re: [RS6000] Power10 vec-splati-runnable multiple test failures

2020-10-22 Thread Segher Boessenkool
Hi! On Thu, Oct 22, 2020 at 09:08:58AM -0700, Carl Love wrote: > On Thu, 2020-10-22 at 17:26 +1030, Alan Modra wrote: > > FAIL: gcc.target/powerpc/vec-splati-runnable.c 1 blank line(s) in > > output > > FAIL: gcc.target/powerpc/vec-splati-runnable.c (test for excess > > errors) > > Excess errors:

[PATCH] c++: Implement DR2303 [PR97453]

2020-10-22 Thread kamlesh kumar via Gcc-patches
Attaching the patch file. >>Instead of building a hash table, would it work to handle ambiguity by >>checking whether one of the classes is a base of the other? Fixing for cases like: struct B: A,A may not be cleaner this way. On Thu, Oct 22, 2020 at 3:23 AM Jason Merrill wrote: > > On 10/21/20

[committed 2/2] libstdc++: Only include in if needed

2020-10-22 Thread Jonathan Wakely via Gcc-patches
The header is not small, so should not include it unless it actually needs std::condition_variable, which is only the case when we don't have pthread_rwlock_t and the POSIX Timers option. The header would be even smaller if we had a header for std::condition_variable (separate from

Re: [Ada,FYI] revamp ada.numerics.aux

2020-10-22 Thread Eric Botcazou
> So I'm going ahead and checking this in, approved by Eric Botcazou. > (Rainer's followup patch is coming up separately but momentarily) > > > aarch64-* and ppc*-linux-gnu long long float/long double mismatch Does this fix https://gcc.gnu.org/PR97504 for PowerPC64? Note that S/390 is

Re: [patch] Use precision and sign to compare types for ranges

2020-10-22 Thread Eric Botcazou
> Just as a heads up ... > > This regresses ACATs C35507N on at least all X86 Darwin I’ve tried. > Both 32 and 64Bit hosts fail (not had the chance to test on power darwin > yet, because that’s got bootstrap issues). I have attached a reproducer, compile it with gnatmake p -O2 and

[PATCH] Implement the "retain" attribute

2020-10-22 Thread Jozef Lawrynowicz
Hi, The attached patch adds support for the new "retain" attribute, which can be applied to function and variable declarations, to protect them from linker garbage collection. Declarations with this attribute will be placed in a new, unique section, and the ".section" assembler directive that

Re: [patch] Use precision and sign to compare types for ranges

2020-10-22 Thread Andrew MacLeod via Gcc-patches
On 10/22/20 12:53 PM, Eric Botcazou wrote: There are a few places in the ranger where we sanity check the types of the ranges. We were using types_compatible_p() but thats not really acccurate as gimple allows types which are useless_type_conversion_p() in only one direction, whereas

[committed 1/2] libstdc++: Reduce header dependencies in and on

2020-10-22 Thread Jonathan Wakely via Gcc-patches
By moving std::make_obj_using_allocator and the related "utility functions for uses-allocator construction" to a new header, we can avoid including the whole of in and . In order to simplify the implementation of those utility functions they now use concepts unconditionally. They are no longer

  1   2   >