[PING][PATCH] [AArch64] Implement automod load and store for Thunderx2t99

2017-04-25 Thread Hurugalawadi, Naveen
Hi,   Please consider this as a personal reminder to review the patch at following link and let me know your comments on the same.   https://gcc.gnu.org/ml/gcc-patches/2017-03/msg00226.html Thanks, Naveen

[PING][PATCH][AArch64] Add crypto_pmull attribute

2017-04-25 Thread Hurugalawadi, Naveen
Hi,   Please consider this as a personal reminder to review the patch at following link and let me know your comments on the same.   https://gcc.gnu.org/ml/gcc-patches/2017-03/msg00504.html Thanks, Naveen

[PING}[PATCH][AArch64] Add neon_pairwise_add & neon_pairwise_add_q types

2017-04-25 Thread Hurugalawadi, Naveen
Hi, Please consider this as a personal reminder to review the patch at following link and let me know your comments on the same. https://gcc.gnu.org/ml/gcc-patches/2017-03/msg00505.html Thanks, Naveen

[PATCH] For broken exception handling in GDB on AIX platform

2017-04-25 Thread Sangamesh Mallayya
Hi, I work with nitish. Just wanted to check on this patch contribution if anyone has comments yet or changes are fine. As of now all the comments are answered. Here is link https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00121.html Thanks, -Sangamesh

[PING][PATCH] Move the check for any_condjump_p from sched-deps to target macros

2017-04-25 Thread Hurugalawadi, Naveen
Hi, Please consider this as a personal reminder to review the patch at following link and let me know your comments on the same. https://gcc.gnu.org/ml/gcc-patches/2017-03/msg01368.html Thanks, Naveen

Re: [PING][PATCH][AArch64] Implement ALU_BRANCH fusion

2017-04-25 Thread Hurugalawadi, Naveen
Hi, Please consider this as a personal reminder to review the patch at following link and let me know your comments on the same. https://gcc.gnu.org/ml/gcc-patches/2017-03/msg01369.html Thanks, Naveen

Re: X /[ex] 4 < Y /[ex] 4

2017-04-25 Thread Marc Glisse
On Mon, 24 Apr 2017, Jeff Law wrote: Martin Sebor was considering looking at a variety of issues affecting our ability to do a good job with std::vector. You might want to coordinate with him to make sure y'all don't duplicate work. I don't really have any plans for std::vector that might ov

[PATCH, C++] Fix-it info for invalid class/struct after enum

2017-04-25 Thread Volker Reichelt
Hi, the following patch adds fix-it information for a pedwarn in the C++ parser about the invalid use of class/struct after enum. I factored out the call to cp_lexer_peek_token, because it was called already 3 times (twice from within cp_lexer_next_token_is_keyword) and I didn't want to add a 4th

Re: [PATCH, rs6000] pr80482 Relax vector builtin parameter checks

2017-04-25 Thread Jakub Jelinek
On Mon, Apr 24, 2017 at 11:58:03PM -0500, Segher Boessenkool wrote: > On Mon, Apr 24, 2017 at 05:38:58PM -0500, Bill Seurer wrote: > > [PATCH, rs6000] pr80482 Relax vector builtin parameter checks > > > > This patch changes the parameter testing for powerpc vector builtins to > > relax > > the ex

Re: [PATCH v5] S/390: Optimize atomic_compare_exchange and atomic_compare builtins.

2017-04-25 Thread Andreas Krebbel
On 04/11/2017 04:20 PM, Dominik Vogt wrote: > On Mon, Mar 27, 2017 at 09:27:35PM +0100, Dominik Vogt wrote: >> The attached patch optimizes the atomic_exchange and >> atomic_compare patterns on s390 and s390x (mostly limited to >> SImode and DImode). Among general optimizaation, the changes fix >>

[Ada] Support for locking policies in Linux

2017-04-25 Thread Arnaud Charlet
This patch allows the locking policies Ceiling_Locking and Inheritance_Locking to be supported under Linux. No small test case is available. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Bob Duff * s-osinte-linux.ads (pthread_mutexattr_setprotocol, pthread_mutex

[Ada] Private tagged subtype with renamed and constrained discriminants.

2017-04-25 Thread Arnaud Charlet
This patch fixes a compiler abort on an object declaration for a private type with discriminants, when the full view of the type is derived from an ancestor with additional discriminants and the derivation chain includes discriminant renamings. Executing gnatmake -q main main must yield:

[Ada] Illegal renaming of conditional expression

2017-04-25 Thread Arnaud Charlet
This patch corrects a compiler bug that caused an illegal renaming to not be detected. In particular, it wasn't detected if the name in the renaming is a qualified expression whose operand is a conditional expression, and the type is a by-reference type. Tested on x86_64-pc-linux-gnu, committed on

[Ada] Syntactic error recovery for case expressions

2017-04-25 Thread Arnaud Charlet
This patch improves the synactic error recovery in the case where a ";" is used instead of "," in a case expression. The following test should get these errors: case_exp_semi.ads:5:28: ";" should be "," package Case_Exp_Semi is X : Integer := 1; Y : Integer := (case X is when 1 => 1;

[Ada] Spurious error on deferred constant in expression function

2017-04-25 Thread Arnaud Charlet
This patch removes a spurious error on a deferred constant that appears within an expression function, when the expression is being frozen by the presence of its generated body. Such bodies are not a freeze point unless they are completions. The following must compile quietly: --- package P is

[Ada] Spurious error on subtypes of private tagged types

2017-04-25 Thread Arnaud Charlet
When a private tagged record type has some component whose type is the public declaration of a private subtype the compiler may report an spurious error on invalid conversion. The same error may be also reported on package instantiations when the actual type of some generic formal is a private type

[Ada] Support for discriminants in pragma Default_Initial_Condition

2017-04-25 Thread Arnaud Charlet
This patch adds support for tagged discriminants in assertion expressions such as those of pragma Default_Initial_Condition or Type_Invariant'Class. In these contexts, tagged discriminants behave as primitives and exhibit "overriding"- like properties. For instance, if a derived type constrains its

[Ada] Latent bug in Uintp.Most_Sig_2_Digits

2017-04-25 Thread Arnaud Charlet
This patch fixes a latent bug in Uintp.Most_Sig_2_Digits, that would cause a crash if Left is indirect and Right is direct. In fact, that combination never occurs in any existing calls. No test is available, because the bug is latent. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25

Re: [PATCH] [AArch64] PR target/71663 Improve Vector Initializtion

2017-04-25 Thread Kyrill Tkachov
Hi Naveen, On 09/12/16 07:02, Hurugalawadi, Naveen wrote: Hi, Sorry. Missed out the testcase in patch submission. Added the missing testcase along with the ChangeLog. Please review the same and let us know if thats okay? It would be useful if you expanded a bit on the approach used to generat

[Ada] Crash processing discriminants of private subtype

2017-04-25 Thread Arnaud Charlet
The compiler may crash processing a private tagged record type has some component whose type is a subtype of a private type. After this patch the following test compiles without errors. package Other_Type is package BS is type Bounded_String is private; private type Super_String

[Ada] Crash on expression function with fixed point types

2017-04-25 Thread Arnaud Charlet
The compiler may crash processing a conditional expression that is part of an arithmetic expression computing a fixed point value. After this patch the following test compiles without errors. procedure P (B : Boolean) is type Fixed is delta 0.01 range -100.0 .. 100.0; X : Fixed := 10.0; begi

[Ada] Better error message for illegal use of 'Access in a call.

2017-04-25 Thread Arnaud Charlet
This patch improves the error message in the case of an attribute reference that is an actual in a call to a subprogram inherited from a generic formal type with unknown discriminants, which makes the subprogram and its formal parameters intrinsic (see RM 6.3.1 (8) and (13)). Compiling l.adb must

[Ada] Support for discriminants in pragma Default_Initial_Condition

2017-04-25 Thread Arnaud Charlet
This patch adds support for tagged discriminants in assertion expressions such as those of pragma Default_Initial_Condition or Type_Invariant'Class. In these contexts, tagged discriminants behave as primitives and exhibit "overriding"- like properties. For instance, if a derived type constrains its

[PATCH] Fix PR80492

2017-04-25 Thread Richard Biener
The following fixes redundant hard-register "stores" to be not eliminated by FRE/PRE and the alias machinery to properly handle different local VAR_DECLs with the same asm specification. Comments are welcome. I tested the testcase on x86_64, ppc64le and aarch64 and all seem to be happy with *4

Re: [PATCH] Remove dead code from c_common_get_alias_set

2017-04-25 Thread Richard Biener
On Mon, 24 Apr 2017, Bernd Edlinger wrote: > On 04/24/17 09:00, Richard Biener wrote: > > On Fri, 21 Apr 2017, Bernd Edlinger wrote: > > > >> Hi! > >> > >> > >> This removes some dead and unreachable code in c_common_get_alias_set: > >> Because cc1 was recently changed to be only called with one f

[Ada] Implementation of AI12-0125, use of @ as abbreviation for LHS.

2017-04-25 Thread Arnaud Charlet
With this patch the compiler now handles properly the use of @ as a prefix of a reference to a discriminated record component and to its bounds. The following must compile quietly in gnat2020 mode: --- procedure Discrs is begin declare -- Discrim-dependent subtypes subtype Index is Int

[Ada] Spurious compile failure with nested packages

2017-04-25 Thread Arnaud Charlet
This patch adds another condition to an edge case used to delay expression function freezing (P804-015). The offending package is within the body of a library-level unit where this edge-case does not apply. By adding a condition that only delays freezing of expression functions if we are in a libra

[Ada] Remove uses of global variables from Sem_Prag

2017-04-25 Thread Arnaud Charlet
This patch cleans up some uses of global variables in Sem_Prag. No change in behavior; no test available. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Bob Duff * sem_prag.adb: Remove suspicious uses of Name_Buf. * stringt.ads, stringt.adb, exp_dbug.adb, sem_dim

[Ada] Support for discriminants in pragma Default_Initial_Condition

2017-04-25 Thread Arnaud Charlet
This patch augments the existing support for tagged discriminants in assertion expressions such as those of pragma Default_Initial_Condition or Type_Invariant 'Class by adding support for ancestor subtypes. -- Source -- -- tester.ads package Tester is type Type_Id i

[Ada] pragma Ignore_Pragma(Interface); is illegal

2017-04-25 Thread Arnaud Charlet
This patch fixes a bug in which pragma Ignore_Pragma(Interface); is illegal, except in Ada 83 mode. It should be legal in all modes. The following test should compile quietly. -- gnat.adc pragma Ignore_Pragma(Interface); -- legal_interface.ads package Legal_Interface is procedure Interfa

[Ada] Crash on illegal specification for a configuration file.

2017-04-25 Thread Arnaud Charlet
The -gnatec switch is used to specify configuration files containing that contain configuration pragmas. With This patch the compiler rejects properly a name for a configuration file that designates a directory rather than crashing. Executing gcc -c pkg.ads -gnatec=. must yield: gnat1: canno

[Ada] Ignore_Pragma causes errors in the run-time system

2017-04-25 Thread Arnaud Charlet
This patch fixes a bug in which pragma Ignore_Pragma can cause errors in the run-time system, if it applies to pragmas actually used in the run-time system. Pragma Ignore_Pragma no longer applies to pragmas in the run-time system. The following test should compile quietly. -- gnat.adc pragma Ig

Enable Go for AIX

2017-04-25 Thread REIX, Tony
Description: This patch enables libffi, libgo, and Go to be built on AIX. It is the first patch of a series of patches for Go on AIX. Do not use --enable-languages=go on AIX till all patches (FSF and Google) are available. Tests (done with a .spec file): * AIX 7.2/PowerPC: - ./configure --ena

[Ada] Missing error on illegal reference to Part_Of constituent

2017-04-25 Thread Arnaud Charlet
This patch corrects the mechanism which verifies the legality of references to variables and constants acting as Part_Of constituents of single protected or task types to continue examining the context of the reference when it appears in an expression function. -- Source -- --

[Ada] Spurious error on call to protected op. of same type as current instance.

2017-04-25 Thread Arnaud Charlet
If the prefix of a selected component denotes a synchronized object the selected component is part of an external call (or requeue) that can only access public operations of the object. The previous check on this construct was too restrictive, and did not allow public protected operations, only tas

[Ada] Spurious compile failure with nested packages

2017-04-25 Thread Arnaud Charlet
This patch adds a predicate to verify that entities within an inner package do not rely on library unit level private types in cases where the full view of said private types are unseen. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Justin Squirek * sem_ch3.adb (Analyze

[Ada] New pragma No_Heap_Finalization

2017-04-25 Thread Arnaud Charlet
This patch introduces support for pragma No_Heap_Finalization which has the following syntax and semantics: pragma No_Heap_Finalization [ (first_subtype_LOCAL_NAME) ]; Pragma `No_Heap_Finalization` may be used as a configuration pragma or as a type-specific pragma. In its configuration form,

Re: [PATCH] Fix PR79201 (half-way)

2017-04-25 Thread Richard Biener
On Mon, 24 Apr 2017, Richard Biener wrote: > > One issue in PR79201 is that we don't sink pure/const calls which is > what the following simple patch fixes. > > Bootstrap and regtest running on x86_64-unknown-linux-gnu. Needed some gimple_assign_lhs -> gimple_get_lhs adjustments and adjustment

[Ada] Visibility problem using Import aspect

2017-04-25 Thread Arnaud Charlet
This patch corrects an issue whereby an import aspect used within a generic package would fail to resolve. By analyzing the expresions within the aspect's arguments (a.k.a "interfacing" aspects) in addition to the generated pragma's arguments the generic template gets properly resolved names for in

Re: [PATCH] Fix PR79814

2017-04-25 Thread Andreas Schwab
On Apr 21 2017, Richard Biener wrote: > The following fixes uninitialized uses in pass_manager::pass_manager > which causes bootstrap failure when a fix for PR2972 is applied. This fails to properly initialize the pass_manager instance, causing cc1 to crash later. Program received signal SIGSEG

Re: [PATCH] Fix test-case on ppc64le (PR testsuite/79455).

2017-04-25 Thread Martin Liška
On 04/24/2017 05:19 PM, Jakub Jelinek wrote: > On Mon, Apr 24, 2017 at 03:04:43PM +0200, Martin Liška wrote: >> gcc/testsuite/ChangeLog: >> >> 2017-04-24 Martin Liska >> >> * c-c++-common/tsan/race_on_mutex.c: Make the scanned pattern >> more generic. >> --- >> gcc/testsuite/c-c++-com

Re: [PATCH] Fix PR79814

2017-04-25 Thread Richard Biener
On Tue, 25 Apr 2017, Andreas Schwab wrote: > On Apr 21 2017, Richard Biener wrote: > > > The following fixes uninitialized uses in pass_manager::pass_manager > > which causes bootstrap failure when a fix for PR2972 is applied. > > This fails to properly initialize the pass_manager instance, cau

[Ada] Reduce rounding overhead in sin/cos/tan functions on x86

2017-04-25 Thread Arnaud Charlet
The trigonometric functions of children of Ada.Numerics are implemented by inline assembly statements on the x86 architecture, and for sin/cos/tan a special range reduction algorithm is used to avoid a loss of accuracy in range reduction implemented in hardware on x86 processors. This algorithm co

[Ada] Specifying Address clause on controlled objects

2017-04-25 Thread Arnaud Charlet
This patch removes the restriction on attribute definition clause 'Address which prevented it from being used with controlled objects. The restriction was a legacy left over from the previous controlled type implementation where each controlled type had hidden components that should not be overlaye

[Ada] Use out-of-line string concatenation at library level

2017-04-25 Thread Arnaud Charlet
String concatenation can be implemented either in-line or out-of-line by the compiler, depending on the optimization level and other factors. But doing in-line concatenation at library level is undesirable in general and the compiler already avoids it for simple declarations: S : String := S1 &

[Ada] Static intialization with pragma Linker_Section

2017-04-25 Thread Arnaud Charlet
This patch is an improvement that causes an array object that has a pragma Linker_Section with a compile-time-known initial value to be statically initialized in place in the appropriate section. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Bob Duff * freeze.adb (Freez

[Ada] Wrong casing of restriction and check names

2017-04-25 Thread Arnaud Charlet
Fixes bugs in which the wrong casing was used for restriction names in pragmas Restrictions and Restriction_Warnings, and check names in pragma Check. No test is available -- too complicated to make it fail. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Bob Duff * sem_p

[Ada] For CodePeer, omit some tag checks which confuse gnat2scil

2017-04-25 Thread Arnaud Charlet
CodePeer does not do anything useful with the various components of the record type Ada.Tags.Type_Specific_Data. Suppress generation of some checks which reference these components in cases where these checks cause CodePeer to generate unwanted messages. This change has no user-visible effect exce

[Ada] Use type clause in parent of a generic package

2017-04-25 Thread Arnaud Charlet
This patch fixes a bug in the handling of use_type_clauses If a use_type_clause "use type X;" appears in the parent of a generic child package, and "use type X;" also appears before an instantiation of that generic child package, the second "use type X;" is ineffective; the primitive operators of t

Re: [PATCH] squash spurious warnings in dominance.c

2017-04-25 Thread Richard Biener
On Mon, Apr 24, 2017 at 11:07 PM, Martin Sebor wrote: > On 04/24/2017 01:32 AM, Richard Biener wrote: >> >> On Sat, Apr 22, 2017 at 2:51 AM, Martin Sebor wrote: >>> >>> Bug 80486 - spurious -Walloc-size-larger-than and >>> -Wstringop-overflow in dominance.c during profiledbootstrap >>> points out

[AARCH64 ABI PATCH] Change AARCH64 ABI to match AAPCS, provide -Wpsabi notes (PR target/77728)

2017-04-25 Thread Jakub Jelinek
Hi! Similarly to the previous patch, just hopefully triggers less often, because 128-bit alignment is more rare. Ok for trunk/7.1 if it passes testing? 2017-04-25 Ramana Radhakrishnan Jakub Jelinek PR target/77728 * config/aarch64/aarch64.c (struct aarch64_fn_ar

[ARM ABI PATCH] Change ARM ABI to match AAPCS, provide -Wpsabi notes (PR target/77728)

2017-04-25 Thread Jakub Jelinek
Hi! As mentioned in the PR, r225465 aka PR65956 changed the ABI on ARM to match updated AAPCS, but the change had a bug - for structures it considered DECL_ALIGN of any TYPE_FIELDS, rather than just actual data components (AAPCS says members, for C++ and Itanium C++ ABI that is likely direct non-s

[Ada] for CodePeer, omit Finalize_Address routines

2017-04-25 Thread Arnaud Charlet
Calls to Finalize_Address routines were already being omitted for CodePeer. If we are never going to call them, then we also shouldn't generate them. This change has no user-visible effect except when Gnat2scil is running. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Steve Baird

[Ada] Legality rules on class-wide preconditions of overriding operations.

2017-04-25 Thread Arnaud Charlet
AI12-0131, part of the Ada2012 Corrigendum, places restrictions on class-wide preconditions of overriding operations, to prevent anomalies that would violate LSP if an overriding operation could declare such a precondition without an acestor of the operation having such a precondition to override.

[Ada] Validity checks and volatility

2017-04-25 Thread Arnaud Charlet
This patch partially reimplements validity checks to prevent multiple reads or copies of volatile expressions. This is achieved by first capturing the value of a volatile object into a variable (rather than a constant). The variable is then tested for validity (rather than the object again) and use

[Ada] Improve computation of real bounds of type conversion expressions

2017-04-25 Thread Arnaud Charlet
Function Determine_Range_R is used in GNATprove to compute the maximal bounds of floating-point expressions. This computation now also deals with type conversion expressions, for conversions from integer to float. This allows to prove more checks (range and overflow) in GNATprove with a simple inte

[Ada] Better range checking in GNATprove mode for float-to-int conversions

2017-04-25 Thread Arnaud Charlet
Range checks are now optimized away on float-to-int conversions when bound analysis can determine that the value is always in range. This is only possible in GNATprove mode, where NaN and infinite values are ruled out by the analysis. Also improve the computation of bounds for expressions that invo

Re: [ARM ABI PATCH] Change ARM ABI to match AAPCS, provide -Wpsabi notes (PR target/77728)

2017-04-25 Thread Richard Earnshaw (lists)
On 25/04/17 11:00, Jakub Jelinek wrote: > Hi! > > As mentioned in the PR, r225465 aka PR65956 changed the ABI > on ARM to match updated AAPCS, but the change had a bug - for structures > it considered DECL_ALIGN of any TYPE_FIELDS, rather than just > actual data components (AAPCS says members, for

[Ada] Use of convention aspect Stdcall on a record component.

2017-04-25 Thread Arnaud Charlet
This patch fixes a spurious error on a record component whose type is an anonymous access to subprogram, when the component carries the Windows convention Stdcall. The following must compile quietly: --- package P is type T is record AF : access function (i:Integer) return integer wi

[Ada] Missing error on illegal object.operation call

2017-04-25 Thread Arnaud Charlet
This patch modifies the mechanism which determines whether A.B denotes an object.operation call to work with the base type when the candidate type is a private extension. -- Source -- -- base.ads package Base is type A is tagged private; private type A is tagged

[Ada] New warning on late dispatching primitives

2017-04-25 Thread Arnaud Charlet
Ada allows adding visible operations to a tagged type after deriving a private extension from it, which leads to confusing specifications on which declarations of public primitives of different types are mixed. This patch adds a new warning (enabled by means of -gnatw.j or -gnatwa) that warns on p

[Ada] Failure to detect illegal pragma No_Return

2017-04-25 Thread Arnaud Charlet
A pragma No_Return that applies to a procedure body is illegal. This patch fixes a bug that caused the compiler to fail to give an error. The following test should get an error: no_return.adb:6:04: representation item appears too late package No_Return is procedure P; end No_Return; package b

[Ada] Compiler crash on function with 'in out' parameter

2017-04-25 Thread Arnaud Charlet
This patch fixes the following bug: If a function returns an unconstrained array whose component type is nonlimited controlled, and the function has an 'out' or 'in out' parameter, calls to that function can cause the compiler to crash. The following test must compile quietly. with Ada.Strings.Un

[Ada] Duplicate copy of IN OUT parameter with -gnatVa

2017-04-25 Thread Arnaud Charlet
Thic patch modifies the expansion of actual parameters to account for a case where a validation variable may act as the argument of a type conversion and produce proper code to avoid a potential duplicate copy of the variable. -- Source -- -- types.ads package Types is

[Ada] Recover from significant slowdown in the front-end

2017-04-25 Thread Arnaud Charlet
Recent changes made to New_Copy_Tree significantly slowed down the front-end of the compiler, up to 10% of the compilation time spent in the front-end, which translated into a 5% slowdown of the entire compiler at -O0 for typical files of real codebases. The function was wasting tens of millions o

[Ada] Fix elab counter handling when preserving control flow

2017-04-25 Thread Arnaud Charlet
When control flow preservation is requested, we want to be explicit about the units elaboration order in a partition, and we want to have in the executable an object file for all the units involved in the partition. This requires special processing for units which wouldn't produce any object code

[Ada] Do not mention an error on continuation message of info message

2017-04-25 Thread Arnaud Charlet
Info messages are used in GNATprove to inform the user of subtleties in how source constructs are verified. They should not be mistaken for error messages in continuation messages. Now fixed. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Yannick Moy * errout.adb (Error_

[Ada] Micro-optimize again Is_Internal_File_Name & Is_Predefined_File_Name

2017-04-25 Thread Arnaud Charlet
This micro-optimizes again the implementation of a couple of hot functions after recent changes. No functional changes. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Eric Botcazou * fname.adb (Has_Internal_Extension): Add pragma Inline. Use direct 4-character s

[Ada] Spurious error on missing SPARK_Mode annotation with inlining

2017-04-25 Thread Arnaud Charlet
This patch augments the generic instantiation machinery to preserve a key property of a package or subprogram spec for the corresponding body which may be instantiated or inlined later. Whenever a generic is instantiated in an environment where the SPARK_Mode is Off, any SPARK_Mode pragma found wit

[Ada] Compiler crash on large array aggregate

2017-04-25 Thread Arnaud Charlet
This patch fixes a bug in which the compiler crashes if the number of subcomponents in an array aggregate is 2**31 or more. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Bob Duff * exp_aggr.adb (Component_Count): Protect the arithmetic from attempting to convert

Re: [PING for gcc 8] Re: [PATCH] Fix spelling suggestions for reserved words (PR c++/80177)

2017-04-25 Thread Nathan Sidwell
On 04/24/2017 02:58 PM, David Malcolm wrote: Ping for gcc 8. On Fri, 2017-03-31 at 12:41 -0400, David Malcolm wrote: As noted in the PR, the C++ frontend currently offers a poor suggestion for this misspelling: Successfully bootstrapped®rtested on x86_64-pc-linux-gnu. Adds 7 PASS and 1 UNSUP

Re: [PING][PATCH] Move the check for any_condjump_p from sched-deps to target macros

2017-04-25 Thread Wilco Dijkstra
Hi Naveen, > https://gcc.gnu.org/ml/gcc-patches/2017-03/msg01368.html This looks good to me - I have just one comment: --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -13972,6 +13972,15 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) { enum at

Re: [PING][PATCH][AArch64] Implement ALU_BRANCH fusion

2017-04-25 Thread Wilco Dijkstra
Hi Naveen, > https://gcc.gnu.org/ml/gcc-patches/2017-03/msg01369.html Same comment for this part, we want to return true if we match: + if (SET_DEST (curr_set) != (pc_rtx) + || GET_CODE (SET_SRC (curr_set)) != IF_THEN_ELSE + || ! REG_P (XEXP (XEXP (SET_SRC (curr_set), 0), 0)

Re: [PATCH] Fix PR80492

2017-04-25 Thread Richard Biener
On Tue, 25 Apr 2017, Richard Biener wrote: > > The following fixes redundant hard-register "stores" to be not eliminated > by FRE/PRE and the alias machinery to properly handle different > local VAR_DECLs with the same asm specification. > > Comments are welcome. I tested the testcase on x86_6

Re: [PATCH, gcc 8] C++: hints for missing std:: headers

2017-04-25 Thread Nathan Sidwell
On 04/24/2017 03:53 PM, David Malcolm wrote: If the user forgets to include an STL header, then an attempt to use a class in an explicitly scoped "std::" currently leads to this error: + if (scope == NULL_TREE) +return; + if (TREE_CODE (scope) != NAMESPACE_DECL) +return; + /* We on

Re: [PATCH] C: fix-it hint for removing stray semicolons

2017-04-25 Thread Nathan Sidwell
On 04/24/2017 03:58 PM, David Malcolm wrote: Patch adds a fix-it hint to a pre-existing pedwarn to make it easier for IDEs to assist in fixing the mistake. Successfully bootstrapped®rtested on x86_64-pc-linux-gnu. OK for trunk? gcc/c/ChangeLog: * c-parser.c (c_parser_struct_or_union_sp

Re: [PATCH] C++: fix-it hint for removing stray semicolons

2017-04-25 Thread Nathan Sidwell
On 04/24/2017 03:59 PM, David Malcolm wrote: Patch adds a fix-it hint to a pre-existing pedwarn to make it easier for IDEs to assist in fixing the mistake. Successfully bootstrapped®rtested on x86_64-pc-linux-gnu. OK for trunk? gcc/cp/ChangeLog: * parser.c (cp_parser_member_declaration

Backport to GCC6

2017-04-25 Thread Martin Liška
Hello. There's a series of revisions I would like to install to GCC 6 branch. When I did the same couple weeks ago, Richi told me to install regression without asking for a permission. However the series also contains various fixed for PRs that are present probably from the time a functionality wa

Re: [PATCH] C++: fix-it hints suggesting accessors for private fields

2017-04-25 Thread Nathan Sidwell
On 04/24/2017 04:06 PM, David Malcolm wrote: test.cc:12:13: note: field ‘int foo::m_field’ can be accessed via ‘int foo::get_field() const’ return f->m_field; ^~~ get_field() Assuming that an IDE can offer to apply fix-it hints, this should make it easier to

[PATCH] Make __FUNCTION__ a mergeable string and do not generate symbol entry.

2017-04-25 Thread Martin Liška
Hello. This is patch that was originally installed by Jason and later reverted due to PR70422. In the later PR Richi suggested a fix for that and Segher verified that it helped him to survive regression tests. That's reason why I'm resending that. Patch can bootstrap on ppc64le-redhat-linux and

Re: [PATCH] C++: fix-it hints suggesting accessors for private fields

2017-04-25 Thread Nathan Sidwell
On 04/25/2017 07:46 AM, Nathan Sidwell wrote: On 04/24/2017 04:06 PM, David Malcolm wrote: test.cc:12:13: note: field ‘int foo::m_field’ can be accessed via ‘int foo::get_field() const’ return f->m_field; ^~~ get_field() Assuming that an IDE can offer to ap

Re: [PATCH, C++] Fix-it info for invalid class/struct after enum

2017-04-25 Thread Nathan Sidwell
On 04/25/2017 03:39 AM, Volker Reichelt wrote: Hi, the following patch adds fix-it information for a pedwarn in the C++ parser about the invalid use of class/struct after enum. 2017-04-25 Volker Reichelt * parser.c (cp_parser_elaborated_type_specifier): Add fix-it to diag

Re: [PATCH] Make __FUNCTION__ a mergeable string and do not generate symbol entry.

2017-04-25 Thread Jakub Jelinek
On Tue, Apr 25, 2017 at 01:48:05PM +0200, Martin Liška wrote: > Hello. > > This is patch that was originally installed by Jason and later reverted due > to PR70422. > In the later PR Richi suggested a fix for that and Segher verified that it > helped him > to survive regression tests. That's rea

[Ada] Spurious warning on non-existend exception handler

2017-04-25 Thread Arnaud Charlet
This patch modifies the analysis of exception handlers to bypass restriction checks when the handler is internally generated and the verification mode is warnings. -- Source -- -- gen.ads generic type Ptr is private; package Gen is end Gen; -- types.ads with Gen;

RE: [PATCH 0/7] [ARC] Fix constraint letters and allow extra registers

2017-04-25 Thread Claudiu Zissulescu
> These all look good. > > Thanks, > Andrew Committed in r247201, r247200, r247199, r247198, r247196, r247195, and r247194 Thank you for your review, Claudiu

[Ada] Re-implement classwide invariants to evaluate statically

2017-04-25 Thread Arnaud Charlet
This patch corrects an issue outlined by AI12-0150-1 (text below) and changes class-wide type invariant procedures to avoid expensive dynamic dispatching. To accomplish this changes to most calls to Build_Invariant_Procedure_Body and Build_Invariant_Procedure_Declaration were made to handle the spe

[Patch, testsuite] Fix failing attr-alloc_size-10.c for avr

2017-04-25 Thread Senthil Kumar Selvaraj
Hi, Integer promotion combined with equal sizes for short and int (16 bits) causes overflow warnings when expanding the TEST macro for USHRT_MAX. Fixed by explicitly disabling overflow warnings for targets with !int32plus. Committed as obvious. Regards Senthil gcc/testsuite/ChangeLog 2017-04

Re: [AARCH64 ABI PATCH] Change AARCH64 ABI to match AAPCS, provide -Wpsabi notes (PR target/77728)

2017-04-25 Thread Richard Earnshaw (lists)
On 25/04/17 11:01, Jakub Jelinek wrote: > Hi! > > Similarly to the previous patch, just hopefully triggers less often, > because 128-bit alignment is more rare. > > Ok for trunk/7.1 if it passes testing? > > 2017-04-25 Ramana Radhakrishnan > Jakub Jelinek > > PR target/7772

Add LTO streaming support for sreal

2017-04-25 Thread Jan Hubicka
Hi, for inliner to use sreals we need to stream them into summaries. I added them as member functions, becuase for streamer_write_sreal/streamer_read_sreal pair we would need to access private variables. Does this seem sane? Bootstrapped/regtested x86_64-linux, OK? Honza * sreal.c: Incl

Re: Add LTO streaming support for sreal

2017-04-25 Thread Richard Biener
On Tue, 25 Apr 2017, Jan Hubicka wrote: > Hi, > for inliner to use sreals we need to stream them into summaries. I added them > as member functions, becuase for streamer_write_sreal/streamer_read_sreal pair > we would need to access private variables. Does this seem sane? Bah - stupid C++ ;) >

[C++] testsuite tweak

2017-04-25 Thread Nathan Sidwell
The G++ testsuite's main dg.exp file does a recursive glob for .C files and then prunes out those in directories known to contain their own .exp file. This is dumb. This patch adds a recursive directory walker that stops when it encounters a .exp file. In addition to not having to specify the

Re: std::vector move assign patch

2017-04-25 Thread Jonathan Wakely
On 24/04/17 22:10 +0200, Marc Glisse wrote: It seems that this patch had 2 consequences that may or may not have been planned. Consider this example (from PR64601) #include typedef std::vector V; void f(V&v,V&w){ V(std::move(w)).swap(v); } void g(V&v,V&w){ v=std::move(w); } 1) We generate sho

Re: [AARCH64 ABI PATCH] Change AARCH64 ABI to match AAPCS, provide -Wpsabi notes (PR target/77728)

2017-04-25 Thread Jakub Jelinek
On Tue, Apr 25, 2017 at 01:29:06PM +0100, Richard Earnshaw (lists) wrote: > >/* C.8 if the argument has an alignment of 16 then the NGRN is > > rounded up to the next even number. */ > > - if (nregs == 2 && alignment == 16 * BITS_PER_UNIT && ncrn % 2) > > + if (nregs ==

Convert inliner's time to sreal

2017-04-25 Thread Jan Hubicka
Hi, this patch convers time in ipa-inline-analysis to sreals and removes the ugly capping code. It is done in fully mechanical way --- sanitizing the code to take advantage of sreals is comming as a followup. Bootsrapped/regtested x86_64-linux, plan to commit it after the sreal streaming is in.

[Ada] Better diagnostics for illegal expression functions as completions.

2017-04-25 Thread Arnaud Charlet
This patch provides a better error message on expression functions that are completions, when the expression has a reference to a type that cannot be frozen yet. Compiling try.ads must yield: try.ads:10:49: premature usage of incomplete type "T2" defined at line 3 try.ads:10:49: type "T2" h

[Ada] Crash processing comparison of composite objects

2017-04-25 Thread Arnaud Charlet
Comparisons of composite objects may be internally transformed by the frontend into a special kind of node that facilitates their internal management. If processing the comparison causes the internal declaration of a subtype declaration associated with some sub-expression, the backend may crash whe

[Ada] Missing predicate functions for private types.

2017-04-25 Thread Arnaud Charlet
This patch fixes an omission in the generation of predicate functions for private types whose full view derives from a subtype with predicates. Executing the following: gnatmake -gnata -q predicate_check predicate_check must yield; OK derived subtype OK original subtype --- with Te

[Ada] Compiler abort on nested instantions with pragma Ignore_Pragma.

2017-04-25 Thread Arnaud Charlet
This patch fixes a crash in a compilation involving nested generics when a generic subprogram carries an Inline_Always pragma, and a configuration file has a corresponding pragma Ignore_Pragma (Inline_Always). No small example available. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-

[Ada] Compiler abort on components that are unchecked unions.

2017-04-25 Thread Arnaud Charlet
This patch fixes two errors in the handling of unchecked unions used as record components, in cases where such a use a potentially erroneous. The following must ocmpile quietly: gcc -c objects-base.adb --- package body Objects.Base is procedure setClass (self: in out SObject'Class; class :

[Ada] Add GNAT_Ravenscar_EDF profile

2017-04-25 Thread Arnaud Charlet
This is an experimental profile to test EDF scheduling on bareboard platforms. No test as no runtime yet. Tested on x86_64-pc-linux-gnu, committed on trunk 2017-04-25 Tristan Gingold * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add relative_deadline to task record on edf pr

  1   2   >