[Ada] No_Stream_Optimizations ignored for 'Class'Input

2019-07-05 Thread Pierre-Marie de Rodat
This patch fixes a bug in which if pragma Restrictions (No_Stream_Optimizations) is in effect, it is ignored for T'Class'Input. Revision 251886 was causing the compiler to bypass No_Stream_Optimizations. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-05 Bob Duff gcc/ada/

[Ada] Fix inlining in GNATprove inside quantified expressions

2019-07-05 Thread Pierre-Marie de Rodat
Calls to local subprograms in GNATprove may be inlined in some case, but it should not be the case inside quantified expressions which are handled as expressions inside GNATprove. Because quantified expressions are only preanalayzed, the detection of the impossible inlining was not performed. Now

[Ada] Compiler abort on a dynamic predicate used in a precondition

2019-07-05 Thread Pierre-Marie de Rodat
This patch suppresses the generation of a predicate check when the expression is a formal IN parameter of a subprogram S. If the check is being applied to the actual in a call, the call is either in the body of S, or in an aspect specfication for S, e.g. a precondition, In both cases the check is r

[Ada] Spurious error on aggregate with choice that is predicted subtype

2019-07-05 Thread Pierre-Marie de Rodat
This patch fixes a spurious error on a record aggregate for a variant record when a choice in the aggregate is given by a subtype with a static predicate. The same expansion mechanism for such a variant, used in case statements, must be used here as well. Tested on x86_64-pc-linux-gnu, committed o

[Ada] Crash on exported build-in-place function

2019-07-05 Thread Pierre-Marie de Rodat
This patch fixes a bug where if a function is build-in-place, and is exported, and contains an extended_return_statement whose object is initialized with another build-in-place function call, then the compiler will crash. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-05 Bob Duff g

[Ada] Diagnostics in Elaboration order v4.0

2019-07-05 Thread Pierre-Marie de Rodat
This patch introduces several changes to the new elaboration order mechanism: * The library graph can now discover, store, and organize the various cycles it contains. * The elaboration order mechanism can now diagnose one or all cycles within the library graph. Diagnostics consist of

[Ada] Missing range check on assignment to bit-packed array

2019-07-05 Thread Pierre-Marie de Rodat
This patch adds an explicit range check on an assignment to a component of a bit-packed array, when the index type of the array is an enumeration type with a non-standard representation, Executing the following: gnatmake -f -gnata -q main ./main must yield: 1 is invalid 4097 is inv

[Ada] Crash on deallocating component with discriminated task

2019-07-05 Thread Pierre-Marie de Rodat
This patch modifies the generation of task deallocation code to examine the underlying type for task components. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-05 Hristian Kirtchev gcc/ada/ * exp_ch7.adb (Cleanup_Record): Use the underlying type when checking for c

[Ada] Removing support for SCIL "contract-only" subprogram bodies

2019-07-05 Thread Pierre-Marie de Rodat
Remove support added for CodePeer (which was never enabled by default; it was controlled by the -gnatd.K option) for generation of SCIL "contract-only" subprogram bodies. These were intended for use when a subprogram's "real" body is unavailable but the subprogram spec has pre/post-conditions speci

[Ada] Accept compilation switches -Og/-Ofast in non-GCC backends

2019-07-05 Thread Pierre-Marie de Rodat
Tools like GNATprove built as GNAT backends rely on adabkend.adb to handle generic switches like the optimisation switches -Oxxx. This patch adds support for -Og and -Ofast that was missing. There is no impact on compilation. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-05 Yannick

[Ada] Compiler loop on illegal nested accept statement

2019-07-05 Thread Pierre-Marie de Rodat
This patch fixes a "Compilation abandoned" message in a compiler built with assertions, or a compiler loop otherwise, when an accept statement contains an illegal accept statement for the same entry. Compiling accept_in_accept.adb must yield: accept_in_accept.adb:12:13: duplicate accept

[Ada] Fix internal error on packed array In/Out actual parameter

2019-07-05 Thread Pierre-Marie de Rodat
This fixes an issue introduced in Ada 2012 for calls to functions taking an In/Out parameter and for which the actual is the component of a packed array. In this case, the front-end needs to create a temporary for the actual, initialize it before the call and assign it back after it, because opera

[Ada] Wrong accessibility level under -gnat12

2019-07-05 Thread Pierre-Marie de Rodat
For an anonymous allocator whose type is that of a stand-alone object of an anonymous access-to-object type, the accessibility level is that of the declaration of the stand-alone object; however it was incorrectly computed as being library level compiling under -gnat12 mode. Tested on x86_64-pc-li

[Ada] Add contracts to Ada.Text_IO for SPARK

2019-07-05 Thread Pierre-Marie de Rodat
This change removes the warnings returned when using Ada.Text_IO library in SPARK. An abstract state and global contracts were added to modelize the action of Text_IO procedures and function on the memory and the files. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-05 Joffrey Huguet

[Ada] Failure to detect trivial infinite recursion

2019-07-05 Thread Pierre-Marie de Rodat
This patch includes delay statements in the set of control flow statements since their expressions may have side effects, which in turn may affect an infinite recursion. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-07-05 Hristian Kirtchev gcc/ada/ * sem_res.adb (Is_Control_

[Ada] Incorrect accessibility check

2019-07-05 Thread Pierre-Marie de Rodat
This patch fixes an issue whereby anonymous access result types were treated as having the same accessibility level as typed results instead of having the level determined by the "master of the call" as per RM 3.10.2 (10). -- Source -- -- main.adb with Pack_12; use Pac

[Ada] Failure to detect trivial infinite recursion

2019-07-05 Thread Pierre-Marie de Rodat
This patch reimplements the detection of trivial infinite recursion to remove the implicit assumptions concenring the structure and contents of the enclosing subprogram statements. -- Source -- -- infinite.adb procedure Infinite with SPARK_Mode is function Func_1 (V

[Ada] Stabilization of Elaboration order v4.0

2019-07-05 Thread Pierre-Marie de Rodat
This patch introduces several changes to the new elaboration order mechanism: * Instantiations processed in the context of invocation graph encoding now yield a relation which is later transformed into an invocation edge. This ensures that the unit where the instantiation resides

Fix uninitialised use in mips_split_move

2019-07-05 Thread Richard Sandiford
While testing the fix for PR91068, I hit an rtl checking failure while building newlib. mips_split_move was decomposing an address that happened to be symbolic and then tried to access the REGNO of the base register field, which wasn't initialised but which by chance pointed to valid memory. Test

PR91068: Fix MIPS fallout from IRA matched operand changes

2019-07-05 Thread Richard Sandiford
PR91068 is a case in which we have (ignoring non-LRA alternatives): [(set (match_operand:SI 0 "register_operand" "=l,d?") (plus:SI (mult:SI (match_operand:SI 1 "register_operand" "d,d") (match_operand:SI 2 "register_operand" "d,d")) (match_opera

Add early exit to access path oracle

2019-07-05 Thread Jan Hubicka
Hi, this patch adds early exit into nonoverlapping_component_refs_since_match_p so we do not try to parse the access paths when there is obviously nothing to do. It also improves statistics byt not accounting the early exit as a querry and also to account cases we found both paths to be matching (

Re: [PATCH] Add generic support for "noinit" attribute

2019-07-05 Thread Christophe Lyon
On Thu, 4 Jul 2019 at 23:46, Jozef Lawrynowicz wrote: > > Hi, > > > diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c > > index 365e9eb..8266fa0 100644 > > --- a/gcc/config/msp430/msp430.c > > +++ b/gcc/config/msp430/msp430.c > > @@ -1807,7 +1807,6 @@ const char * const ATTR_CR

[PATCH] Fix no-strict-aliasing condition in VN

2019-07-05 Thread Richard Biener
There's a path I added where get_alias_set () != 0 was meant to cover -fno-strict-aliasing but it doesn't since quite some time (oops). Fixed as follows - preprartory for PR91091 where we'd otherwise break the testcase below. Bootstrap / regtest running on x86_64-unknown-linux-gnu. I'll also b

Re: [PATCH][GCC][AARCH64] PR target/90712 Fix gcc.dg/rtl/aarch64/subs_adds_sp.c regression

2019-07-05 Thread Richard Earnshaw
On 02/07/2019 12:00, Sam Tebbs wrote: > Hi all, > > This patch fixes the regression to gcc.dg/rtl/aarch64/subs_adds_sp.c that > r271735 caused. This was done by ensuring that the current function's > frame has > been laid out before checking if return address signing is enabled. > > Tested and

[PATCH] Fix PR91091 and more

2019-07-05 Thread Richard Biener
When working on handling partial defs in VN I noticed that we do not treat MEM[a + 1] and MEM[a + 2] as equal bases. The following patch fixes that, together with three testcases illustrating the fixed missed optimizations. This then caused bogus redundant store removal by FRE again which made m

[PATCH] Yet another VN improvement

2019-07-05 Thread Richard Biener
I noticed we fail to valueize the RHS when looking for same-valued stores. Bootstrap / regtest running on x86_64-unknown-linux-gnu. Richard. 2019-07-05 Richard Biener * tree-ssa-sccvn.c (vn_reference_lookup_3): Valueize RHS when comparing against a store with possibly the s

Re: [PATCH] Add generic support for "noinit" attribute

2019-07-05 Thread Jozef Lawrynowicz
On Fri, 5 Jul 2019 11:26:20 +0200 Christophe Lyon wrote: > On Thu, 4 Jul 2019 at 23:46, Jozef Lawrynowicz > wrote: > > > > Also, the gcc.target/arm/noinit-attribute.c test works with msp430. > > Why not create a effective-target keyword which checks for noinit support, > > so > > the test can

Re: Enable nonoverallping_component_refs even after the base pointers are equivalent

2019-07-05 Thread Richard Biener
On Thu, Jul 4, 2019 at 2:47 PM Jan Hubicka wrote: > > > > > Why does this only happen in fre3?! > After fre1 we have > > test (int i, int j, int k, int l) > { > struct c * cptr.0_1; > struct c * cptr2.1_2; > int _11; > >: > cptr.0_1 = cptr; > cptr.0_1->b[i_5(D)].a[j_6(D)].val = 123;

Re: [PATCH,RFC,V3 0/5] Support for CTF in GCC

2019-07-05 Thread Richard Biener
On Fri, Jul 5, 2019 at 12:21 AM Indu Bhagat wrote: > > On 07/04/2019 03:43 AM, Richard Biener wrote: > > On Thu, Jul 4, 2019 at 2:36 AM Indu Bhagat wrote: > > [...] > > RE subset of C : It is true that CTF format currently does leave out a very > small subset of C like FIXED_POINT as you noted (

[patch 1/2][aarch64]: redefine aes patterns

2019-07-05 Thread Sylvia Taylor
Greetings, This first patch removes aarch64 usage of the aese/aesmc and aesd/aesimc fusions (i.e. aes fusion) implemented in the scheduler due to unpredictable behaviour observed in cases such as: - when register allocation goes bad (e.g. extra movs) - aes operations with xor and zeroed keys among

[patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Andrew Stubbs
This patch allows Fortran "parameter" named constants to be named in OpenMP map and OpenACC copy directives. Right now, the compiler just says something like: !$omp target data map(tofrom:N,x) 1 Error: Object 'n' is not a variable at (1) This is technica

[patch 2/2][arm]: redefine aes patterns

2019-07-05 Thread Sylvia Taylor
Greetings, This patch removes the arch-common aese/aesmc and aesd/aesimc fusions (i.e. aes fusion) implemented in the scheduling phase through the aarch_crypto_can_dual function. The reason is due to observing undesired behaviour in cases such as: - when register allocation goes bad (e.g. extra mo

Re: [PATCH] Add generic support for "noinit" attribute

2019-07-05 Thread Christophe Lyon
On Fri, 5 Jul 2019 at 12:57, Jozef Lawrynowicz wrote: > > On Fri, 5 Jul 2019 11:26:20 +0200 > Christophe Lyon wrote: > > > On Thu, 4 Jul 2019 at 23:46, Jozef Lawrynowicz > > wrote: > > > > > > Also, the gcc.target/arm/noinit-attribute.c test works with msp430. > > > Why not create a effective-t

Re: [patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Jakub Jelinek
On Fri, Jul 05, 2019 at 12:31:17PM +0100, Andrew Stubbs wrote: > This patch allows Fortran "parameter" named constants to be named in OpenMP > map and OpenACC copy directives. > > Right now, the compiler just says something like: > > !$omp target data map(tofrom:N,x) >

Re: [patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Andrew Stubbs
On 05/07/2019 12:49, Jakub Jelinek wrote: On Fri, Jul 05, 2019 at 12:31:17PM +0100, Andrew Stubbs wrote: This patch allows Fortran "parameter" named constants to be named in OpenMP map and OpenACC copy directives. Right now, the compiler just says something like: !$omp target data map(to

Re: [patch] Small improvements to coverage info (1/n)

2019-07-05 Thread Jakub Jelinek
On Wed, Jul 03, 2019 at 12:46:37PM +0200, Eric Botcazou wrote: > 2019-07-03 Eric Botcazou > > * tree-cfg.c (gimple_make_forwarder_block): Propagate location info on > phi nodes if possible. > * tree-scalar-evolution.c (final_value_replacement_loop): Propagate > location

Re: [patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Jakub Jelinek
On Fri, Jul 05, 2019 at 01:10:00PM +0100, Andrew Stubbs wrote: > > so I don't believe Fortran parameters are OpenMP variables. > > Scalar Fortran parameters don't even have any data storage block associated > > with them at all. > > Agreed, they are not variables (nor variable), and copying them a

[wwwdocs] Use whitespace between sourceware.org and gcc.gnu.org

2019-07-05 Thread Shakthi Kannan
Use "sourceware.org / gcc.gnu.org" for more clarity (bug #90334). Shakthi Kannan Index: htdocs/svnwrite.html === RCS file: /cvs/gcc/wwwdocs/htdocs/svnwrite.html,v retrieving revision 1.43 diff -u -p -r1.43 svnwrite.html --- htdocs/sv

Re: [wwwdocs] Use whitespace between sourceware.org and gcc.gnu.org

2019-07-05 Thread Jonathan Wakely
On 05/07/19 12:28 +, Shakthi Kannan wrote: Use "sourceware.org / gcc.gnu.org" for more clarity (bug #90334). Committed to CVS - thanks! Shakthi Kannan Index: htdocs/svnwrite.html === RCS file: /cvs/gcc/wwwdocs/htdocs/svnwrit

Re: [PATCH] Fix no-strict-aliasing condition in VN

2019-07-05 Thread Richard Biener
On Fri, 5 Jul 2019, Richard Biener wrote: > > There's a path I added where get_alias_set () != 0 was meant to > cover -fno-strict-aliasing but it doesn't since quite some time > (oops). Fixed as follows - preprartory for PR91091 where we'd > otherwise break the testcase below. > > Bootstrap / r

[PATCH] Fix PR83518, track partial definitions for VN

2019-07-05 Thread Richard Biener
This implements tracking of partial definitions in value-numbering so that we can handle typedef int v2si __attribute__((vector_size(__SIZEOF_INT__ * 2))); v2si foo (int *a) { a[0] = 1; a[1] = 2; return *(v2si *)a; } and value-number the load to { 1, 2 }. This happens for example for the

Re: [PATCH][GCC][AARCH64] PR target/90712 Fix gcc.dg/rtl/aarch64/subs_adds_sp.c regression

2019-07-05 Thread Sam Tebbs
On 05/07/2019 11:33, Richard Earnshaw wrote: > > On 02/07/2019 12:00, Sam Tebbs wrote: >> Hi all, >> >> This patch fixes the regression to gcc.dg/rtl/aarch64/subs_adds_sp.c that >> r271735 caused. This was done by ensuring that the current function's >> frame has >> been laid out before checking i

Re: [patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Jakub Jelinek
On Fri, Jul 05, 2019 at 02:15:12PM +0200, Jakub Jelinek wrote: > On Fri, Jul 05, 2019 at 01:10:00PM +0100, Andrew Stubbs wrote: > > > so I don't believe Fortran parameters are OpenMP variables. > > > Scalar Fortran parameters don't even have any data storage block > > > associated > > > with them

Re: [C++ Patch] PR 90909 ("[10 Regression] call devirtualized to pure virtual")

2019-07-05 Thread Jason Merrill
On 7/4/19 8:56 AM, Paolo Carlini wrote: Hi, On 27/06/19 23:19, Jason Merrill wrote: Ah, thanks.  Then perhaps we want to change the CLASSTYPE_FINAL in build_over_call to resolves_to_fixed_type_p (arg), to also handle the other reasons we might know the dynamic type of the argument, and remove

Re: C++ PATCH for DR 1813, c++/83374 - __is_standard_layout wrong for a class with repeated bases.

2019-07-05 Thread Jason Merrill
On 7/3/19 6:25 PM, Marek Polacek wrote: This resolves DR 1813 which says that for a class to be a standard-layout class, it may not have two (possibly indirect) base class subobjects of the same type. I was going to play DFS games but then I noticed we'd already set CLASSTYPE_REPEATED_BASE_P, ma

Re: [PATCH v2] aarch64: emit .variant_pcs for aarch64_vector_pcs symbol references

2019-07-05 Thread Szabolcs Nagy
On 28/05/2019 16:01, Szabolcs Nagy wrote: > v2: > - use aarch64_simd_decl_p to check for aarch64_vector_pcs. > - emit the .variant_pcs directive even for local functions. > - don't require .variant_pcs asm support in compile only tests. > - add weakref tests. > > A dynamic linker with lazy binding

Re: [patch] Small improvements to coverage info (1/n)

2019-07-05 Thread Jeff Law
On 7/5/19 6:12 AM, Jakub Jelinek wrote: > On Wed, Jul 03, 2019 at 12:46:37PM +0200, Eric Botcazou wrote: >> 2019-07-03 Eric Botcazou >> >> * tree-cfg.c (gimple_make_forwarder_block): Propagate location info on >> phi nodes if possible. >> * tree-scalar-evolution.c (final_value_rep

Re: [PATCH v2] aarch64: emit .variant_pcs for aarch64_vector_pcs symbol references

2019-07-05 Thread Richard Sandiford
Szabolcs Nagy writes: > On 28/05/2019 16:01, Szabolcs Nagy wrote: >> v2: >> - use aarch64_simd_decl_p to check for aarch64_vector_pcs. >> - emit the .variant_pcs directive even for local functions. >> - don't require .variant_pcs asm support in compile only tests. >> - add weakref tests. >> >> A

Re: [patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Andrew Stubbs
On 05/07/2019 15:04, Jakub Jelinek wrote: For OpenMP, a warning is not good enough, because if Fortran PARAMETER is not a variable, then the program is invalid and needs to be rejected. You could improve the diagnostics by adding some explanation message that fortran PARAMETER is not a variable.

Re: [patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Jakub Jelinek
On Fri, Jul 05, 2019 at 03:40:55PM +0100, Andrew Stubbs wrote: > On 05/07/2019 15:04, Jakub Jelinek wrote: > > > For OpenMP, a warning is not good enough, because if Fortran PARAMETER is > > > not a variable, then the program is invalid and needs to be rejected. > > > You could improve the diagnost

[00/11] Diagnose ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
While doing the SVE ACLE work, I hit a case in which a pattern had two iterators and used an attribute without saying which iterator it was referring to. The choice of iterator made a difference and in this case the implicit choice happened to be the "wrong" one. This series raises an error for c

[01/11] [arch64] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. No behavioural change except for dropping the unused SVE divide permutatio

[02/11] [arm] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. I think this is a genuine bugfix for Thumb-1, since previously the LDREX w

[03/11] [amdgcn] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. I think this is a genuine bugfix for the case in which the 1REG_MODE and 1

[04/11] [h8300] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. No behavioural change -- produces the same code as before. 2019-07-05 R

[05/11] [i386] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. No behavioural change except for dropping the unused *andnot3_bcst permuta

[06/11] [mips] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. No behavioural change -- produces the same code as before. 2019-07-05 R

[07/11] [riscv] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. No behavioural change -- produces the same code as before. 2019-07-05 R

[08/11] [rs6000] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. No behavioural change -- produces the same code as before except for forma

[09/11] [s390] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. The vx-builtins.md part changes the choice of from the implicit to an ex

[10/11] Use file_location for md_reader's ptr_loc

2019-07-05 Thread Richard Sandiford
Use file_location for md_reader's ptr_loc. Also make it public, so that clients can use the location for error reporting. I'll apply this once the port changes are in. (It could go in now, but it's Friday afternoon...) 2019-07-05 Richard Sandiford gcc/ * read-md.h (md_reader::ptr_l

[11/11] Report ambiguous uses of .md attributes

2019-07-05 Thread Richard Sandiford
This patch reports an error if the .md file has an unscoped attribute that maps to more than one possible value. I'll apply this once the port patches are in. 2019-07-05 Richard Sandiford gcc/ * read-md.h (md_reader::record_potential_iterator_use): Add a file_location paramet

Re: [03/11] [amdgcn] Fix ambiguous .md attribute uses

2019-07-05 Thread Andrew Stubbs
On 05/07/2019 16:12, Richard Sandiford wrote: This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. I think this is a genuine

Re: [05/11] [i386] Fix ambiguous .md attribute uses

2019-07-05 Thread Uros Bizjak
On Fri, Jul 5, 2019 at 5:15 PM Richard Sandiford wrote: > > This patch is part of a series that fixes ambiguous attribute > uses in .md files, i.e. cases in which attributes didn't use > to specify an iterator, and in which could > have different values depending on the iterator chosen. > > No b

Re: [02/11] [arm] Fix ambiguous .md attribute uses

2019-07-05 Thread Kyrill Tkachov
Hi Richard, On 7/5/19 4:10 PM, Richard Sandiford wrote: This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. I think this is

Re: [09/11] [s390] Fix ambiguous .md attribute uses

2019-07-05 Thread Andreas Krebbel
On 05.07.19 17:22, Richard Sandiford wrote: > This patch is part of a series that fixes ambiguous attribute > uses in .md files, i.e. cases in which attributes didn't use > to specify an iterator, and in which could > have different values depending on the iterator chosen. > > The vx-builtins.md

Re: [08/11] [rs6000] Fix ambiguous .md attribute uses

2019-07-05 Thread Segher Boessenkool
Hi Richard, On Fri, Jul 05, 2019 at 04:20:37PM +0100, Richard Sandiford wrote: > This patch is part of a series that fixes ambiguous attribute > uses in .md files, i.e. cases in which attributes didn't use > to specify an iterator, and in which could > have different values depending on the iter

[committed, openmp/openacc] Tweak error message for mapped parameters

2019-07-05 Thread Andrew Stubbs
On 05/07/2019 15:49, Jakub Jelinek wrote: OK, here is an alternative patch that merely tries to make the error message more informative. Basically, the user needs to get past "it isn't working but I need that value in this kernel", so hopefully this will help get them there. WDYT? I don't lik

Re: [PATCH] Fix ODR violations in code using

2019-07-05 Thread Jonathan Wakely
On 21/06/19 18:13 +0100, Jonathan Wakely wrote: On 21/06/19 18:08 +0100, Jonathan Wakely wrote: On 21/06/19 13:01 -0400, Nathan Sidwell wrote: On 6/21/19 12:01 PM, Jonathan Wakely wrote: Nathan noticed that the 'static inline' functions in cause ODR violations when used from inline functions

Re: [08/11] [rs6000] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
Segher Boessenkool writes: > Hi Richard, > > On Fri, Jul 05, 2019 at 04:20:37PM +0100, Richard Sandiford wrote: >> This patch is part of a series that fixes ambiguous attribute >> uses in .md files, i.e. cases in which attributes didn't use >> to specify an iterator, and in which could >> have d

Re: [04/11] [h8300] Fix ambiguous .md attribute uses

2019-07-05 Thread Jeff Law
On 7/5/19 9:13 AM, Richard Sandiford wrote: > This patch is part of a series that fixes ambiguous attribute > uses in .md files, i.e. cases in which attributes didn't use > to specify an iterator, and in which could > have different values depending on the iterator chosen. > > No behavioural cha

Re: [08/11] [rs6000] Fix ambiguous .md attribute uses

2019-07-05 Thread Segher Boessenkool
On Fri, Jul 05, 2019 at 05:26:24PM +0100, Richard Sandiford wrote: > Segher Boessenkool writes: > > Maybe there should be some way of indicating what iterator you want if > > none is mentioned? For the whole pattern, or some global priority scheme > > even? Changes like (random example) > > > >>

[PATCH, RISC-V] Fix ambiguous mode of some compare insn

2019-07-05 Thread Katsuhiro Suzuki
Hello, This patch fixes ambiguous mode of some compare insns of RISC-V. Only sge, slt and sle are using but other compare insns use . It seems first group mode settings are ambiguous. Best Regards, Katsuhiro Suzuki Index: gcc/config/riscv/riscv.md ===

Re: [08/11] [rs6000] Fix ambiguous .md attribute uses

2019-07-05 Thread Richard Sandiford
Segher Boessenkool writes: > On Fri, Jul 05, 2019 at 05:26:24PM +0100, Richard Sandiford wrote: >> Segher Boessenkool writes: >> > Maybe there should be some way of indicating what iterator you want if >> > none is mentioned? For the whole pattern, or some global priority scheme >> > even? Chan

Re: [patch] Small improvements to coverage info (1/n)

2019-07-05 Thread Eric Botcazou
> This change broke gomp/pr88107.c test: > FAIL: gcc.dg/gomp/pr88107.c (internal compiler error) > FAIL: gcc.dg/gomp/pr88107.c (test for excess errors) > Excess errors: > during GIMPLE pass: graphite > /usr/src/gcc/gcc/testsuite/gcc.dg/gomp/pr88107.c:26:1: internal compiler > error: Segmentation fa

Re: [PATCH] Fix ODR violations in code using

2019-07-05 Thread Daniel Krügler
Am Fr., 5. Juli 2019 um 18:13 Uhr schrieb Jonathan Wakely : > [..] > I decided against the simplification in the second patch, and > committed the attached one which is closer to the first patch I sent > (preserving the __atomic_add and __exchange_and_add functions even > when they just call the bu

Re: [PATCH,RFC,V3 0/5] Support for CTF in GCC

2019-07-05 Thread Nix
On 5 Jul 2019, Richard Biener said: > On Fri, Jul 5, 2019 at 12:21 AM Indu Bhagat wrote: >> CTF, at this time, is type information for entities at global or file scope. >> This can be used by online debuggers, program tracers (dynamic tracing); More >> generally, it provides type introspection fo

[Darwin, PPC, committed] Remove dead code.

2019-07-05 Thread Iain Sandoe
TARGET_LINK_STACK is unused on Darwin, and only relevant to a processor on which the port was never released. tested on powerpc-darwin9, applied to mainline thanks Iain 2019-07-05 Iain Sandoe * config/rs6000/rs6000-logue.c: Remove unused code. diff --git a/gcc/config/rs6000/rs6000-

C++ Modules

2019-07-05 Thread Nathan Sidwell
Hi all, I have achieved a major milestone in adding C++ Modules support to GCC. Namely the iostream header can be built and used as a header unit. #including includes an awful lot of the STL, so this has pushed a large swathe of C++ through the module machinery. Because 'hello world' now work

Re: [PATCH] Fix ODR violations in code using

2019-07-05 Thread Jonathan Wakely
On 05/07/19 20:23 +0200, Daniel Krügler wrote: Am Fr., 5. Juli 2019 um 18:13 Uhr schrieb Jonathan Wakely : [..] I decided against the simplification in the second patch, and committed the attached one which is closer to the first patch I sent (preserving the __atomic_add and __exchange_and_ad

Re: [PATCH,RFC,V3 0/5] Support for CTF in GCC

2019-07-05 Thread Jakub Jelinek
On Fri, Jul 05, 2019 at 07:28:12PM +0100, Nix wrote: > > What makes it superior to DWARF stripped down to the above feature set? > > Increased compactness. DWARF fundamentally trades off compactness in > favour of its regular structure, which makes it easier to parse (but not > easier to interpret

[C++ Patch PING] Re: [C++ Patch] A few additional location improvements to grokdeclarator and check_tag_decl

2019-07-05 Thread Paolo Carlini
Hi, On 23/06/19 13:58, Paolo Carlini wrote: Hi, here there are a couple of rather straightforward improvements in the second half of grokdeclarator plus a check_tag_decl change consistent with the other existing case of multiple_types_p diagnostic. Tested x86_64-linux. Gently pinging this.

Re: C++ Modules

2019-07-05 Thread Jason Merrill
Awesome! On Fri, Jul 5, 2019, 2:30 PM Nathan Sidwell wrote: > Hi all, > I have achieved a major milestone in adding C++ Modules support to GCC. > Namely the iostream header can be built and used as a header unit. > #including includes an awful lot of the STL, so this has > pushed a large swathe

Re: [C++ Patch] PR 90909 ("[10 Regression] call devirtualized to pure virtual")

2019-07-05 Thread Jakub Jelinek
On Thu, Jul 04, 2019 at 02:56:47PM +0200, Paolo Carlini wrote: > --- cp/call.c (revision 273076) > +++ cp/call.c (working copy) > @@ -9845,17 +9852,6 @@ build_new_method_call_1 (tree instance, tree fns, > > if (call != error_mark_node) > { > - /* Optimize away vtable l

Re: [PATCH,RFC] collect2 LTO for AIX

2019-07-05 Thread David Edelsohn
On Thu, Jul 4, 2019 at 11:43 AM Martin Liška wrote: > > On 7/4/19 5:03 PM, David Edelsohn wrote: > > On Thu, Jul 4, 2019 at 10:38 AM Martin Liška wrote: > >> > >> Hi. > >> > >> Recently I've introduced a new .gnu.lto_.lto section that > >> is supposed to provide meta information about a LTO bytec

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-07-05 Thread Ed Smith-Rowland via gcc-patches
On 7/2/19 8:11 AM, Jonathan Wakely wrote: One more comment. In this: +#if __cplusplus > 201703L \ +?? && defined(_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED) +?? if (__builtin_is_constant_evaluated()) can be simplified to just: #ifdef __cpp_lib_is_constant_evaluated if (s