[Ada] Improve finalization of global controlled objects

2011-08-04 Thread Arnaud Charlet
This patch is aimed at improving the finalization of global controlled objects. It implements a ref-counting scheme for elaboration/finalization on a per-unit basis and changes the way global objects are finalized in libraries. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Eric Bo

[Ada] Finalization actions during abort

2011-08-04 Thread Arnaud Charlet
This patch adds a guard to the mechanism which determines whether finalization was triggered by an abort. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Hristian Kirtchev * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment on the generated cod

[Ada] Improve finalization of global controlled objects (2)

2011-08-04 Thread Arnaud Charlet
This changes the type of the elaboration counter from Integer to Short_Integer to avoid wasting space in the data segment. No functional changes. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Eric Botcazou * sem_elab.adb (Check_Internal_Call_Continue): Change the type

[Ada] Forbid anonymous access to subprogram in Compiler_Unit mode

2011-08-04 Thread Arnaud Charlet
This change adds a check that no anonymous access to subprogram types are used in runtime units containing pragma Compiler_Unit, because such units are on the bootstrap path and need to be compilable with Ada 95-only releases of GNAT. The following compilation must be rejected with the given error

[Ada] Add anonymous subtypes to ALFA

2011-08-04 Thread Arnaud Charlet
Mark anonymous subtypes of enumeration and integer kind as being in ALFA, following the same rules as for source subtypes. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove constraint that

[Ada] Mark generated subtypes and loop iteration entity as in ALFA

2011-08-04 Thread Arnaud Charlet
When permitted by the bounds/base type of the subtype, mark it as being in ALFA, and similarly for the entity used to iterate over a loop. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA

[Ada] Use current process id to create temp filenames (windows)

2011-08-04 Thread Arnaud Charlet
This ensures unicity of temp filenames across processes under Windows. Tested on i686-pc-mingw32, committed on trunk 2011-08-04 Pascal Obry * adaint.c (__gnat_tmp_name): Use current process id to create temp filenames, this ensures unicity of filenames across processes. Index

[Ada] Fix minor violation of B.1 (39) implementation advice

2011-08-04 Thread Arnaud Charlet
The RM B.1 (39) implementation advice says that the adainit/adafinal routines generated to manage Ada libraries from foreign languages should be idempotent. This adds an elaboration flag to the file generated by the binder and an early return to the routines to ensure that this is the case. Tested

[Ada] Deallocation of a single allocated object (PR ada/47880)

2011-08-04 Thread Arnaud Charlet
This change fixes a seg fault when a local storage pool has a single allocated object, and Unchecked_Deallocation is used to deallocate that object. The following test case must compile and execute quietly: $ gnatmake -q pooltest $ ./pooltest with System.Pool_Local; with Ada.Unchecked_Deallocati

[Ada] Add special case for "ALFA" in error message similar to "RM"

2011-08-04 Thread Arnaud Charlet
Occurrences of "ALFA" in error messages are now left capitalized, which avoids the need to clutter source code with occurrences of "'A'L'F'A". Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * errout.ads Change comments: remove 'R'M as an example where quotes

[Ada] Duplicated SCO for decision in pragma Debug

2011-08-04 Thread Arnaud Charlet
This change removes an annoying irregularity in N_Pragma nodes, which had the last argument copied in two distinct syntactic descendents (Pragma_Argument_Associations and Debug_Statement) for a pragma Debug. This caused duplicated SCO information to be emitted for decisions occurring in the actual

Re: PATCH: Add a testase for PR middle-end/47383

2011-08-04 Thread Kirill Yukhin
HJ, are you sure your Changlog entry is OK? Thanks, K On Wed, Aug 3, 2011 at 6:45 PM, H.J. Lu wrote: > Hi, > > I checked in this patch to add a testase for PR middle-end/47383. > > H.J. > --- > Index: gcc.dg/torture/pr47383.c > ===

[Ada] Improve support of size and alignment clauses

2011-08-04 Thread Arnaud Charlet
This changes the way size and alignment clauses interact with each other. Size clauses used to set the 'Size of a type in stone, although an alignment clause could force the back-end to set different values for 'Object_Size and 'Value_Size of the type, leading to an inconsistency when an object of

[Ada] Do not skip analysis of aspect X when X'Class aspect present (and reverse)

2011-08-04 Thread Arnaud Charlet
Compiling the following code now raises an error: package P is procedure Proc (X : out Boolean) with Post'Class => X, Post => not X, Post => X; end P; $ gcc -c -gnat2012 p.ads p.ads:5:11: aspect "Post" for "Proc" previously given at line 4 Tested on x86_64-pc-linux-gn

[Ada] Issue warning for missing -gnat2012 switch on aspect X'Class

2011-08-04 Thread Arnaud Charlet
When encountering aspect syntax in a mode where aspects are not allowed (language version < Ada 2012), the compiler was issuing a useful warning in most cases, but not on aspects X'Class. This is now fixed. Compiling the following code raises the error: $ gcc -c p.ads p.ads:3:06: aspect specifica

[Ada] Improve error message on misplaced 'Result in Ada 2012 mode

2011-08-04 Thread Arnaud Charlet
In Ada 2012 mode, 'Result is allowed both in Postcondition pragma and in aspect Post. The error message issued by GNAT was not mentioning aspect Post. This is now fixed. Compiling the following code in mode Ada 2012 raises the error: $ gcc -c -gnat2012 p.adb p.ads:3:18: "Result" attribute can onl

[Ada] Intrinsic operators with real operands

2011-08-04 Thread Arnaud Charlet
If a function call resolves to an operator that is declared intrinsic, the function call is replaced by an operator mode with the same operands. If the result type is private the operands have to be converted to the underlying predefined type (usually a numeric type). However, if an operand is a re

[Ada] Box-initialized components of aggregates in allocators

2011-08-04 Thread Arnaud Charlet
Box-initialized components are replaced with calls to the corresponding initialization procedures during resolution of the aggregate. This requires that the type of the aggregate and that of all its components be frozen before resolution is completed. In addition, such an aggregate may be the desi

Re: [PATCH][RFC] Fix PR49957 - build array index differently

2011-08-04 Thread Richard Guenther
On Wed, 3 Aug 2011, Mikael Morin wrote: > Hello, > > On Wednesday 03 August 2011 15:47:37 Richard Guenther wrote: > > Comments? Any idea why reversing the loop would break? > > Yes, the list of scalarized expressions has to be created in the same order > it > is consumed. Here the scalarized

Re: [AVR] Fix target/34888

2011-08-04 Thread Georg-Johann Lay
Richard Henderson wrote: > When a frame pointer is in use, we can optimize popping all > queued parameters via a simple move from the frame pointer > instead of an addition to the stack pointer. > > The new sequence is 4 insns, the old sequence was 9 insns. > > Committed. > > r~ 4 insns is odd.

[PATCH] Fix g++ -E -C issue in gthr-posix.h

2011-08-04 Thread Jakub Jelinek
Hi! echo '#include ' | ./g++ -E -C -xc++ - -o /tmp/i.ii In file included from /usr/src/gcc/obj771i/usr/local/bin/../lib/gcc/i686-pc-linux-gnu/4.7.0/../../../../include/c++/4.7.0/i686-pc-linux-gnu/bits/gthr.h:160:0, from /usr/src/gcc/obj771i/usr/local/bin/../lib/gcc/i686-pc-linux

[Ada] Detect misplaced 'Result when compiling spec file

2011-08-04 Thread Arnaud Charlet
A misplaced 'Result located in the precondition of a function was detected only when compiling the body file, not when compiling the spec file. This is now fixed. Compiling the following code raises an error: $ gcc -c -gnat2012 -gnatc p.adb p.ads:3:18: "Result" attribute can only appear in postco

[Ada] Improved runtime exception message for duplicated external tag

2011-08-04 Thread Arnaud Charlet
This change improves the exception message associated with PROGRAM_ERROR for duplicated external tag by including the value of the offending external tag. The following compilation must raise Program_Error with the indicated exception message: $ gnatmake -z dup_ext_tag.ads $ ./dup_ext_tag raise

[Ada] Use canonical case file name to check ALI file (-gnatc)

2011-08-04 Thread Arnaud Charlet
On Windows, if a source with a file name that includes capital letter is compiled with -gnatc, gnatmake will always recompile the file if invoked again with -gnatc. This patch fixes this. The test for this is to invoke several times gnatmake on Windows to compile, with -gnatc, sources from a proje

[Ada] SCO for nested decision in pragma

2011-08-04 Thread Arnaud Charlet
The decision SCO for the boolean expression in a pragma Assert is emitted only if assertion checking is enabled. This change ensures that this also applies to any nested decision within that expression. The following compilation must produce two decision SCOs (a CP and a CX) when compiled with -gn

Re: [PATCH, testsuite, i386] AVX2 support for GCC

2011-08-04 Thread Jakub Jelinek
On Thu, Aug 04, 2011 at 01:28:17PM +0400, Kirill Yukhin wrote: > During last few months I was working on AVX2 support for GCC. > > Here is a patch which conforms (hopefully) to Spec which can be found at [1] > > I am attaching following files: > - avx2.gcc.patch.tar.bz2. Compressed changes to GC

[Ada] Clean-up: remove flag Pragma_Enabled

2011-08-04 Thread Arnaud Charlet
This change removes a historical flag that is not used anymore. No behaviour change, no test. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Thomas Quinot * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled): This flag of N_Pragma nodes is not used

[Ada] Improved error message on one-element positional aggregates

2011-08-04 Thread Arnaud Charlet
An illegal one-element positional aggregate is usually detected as a type error. If the expected type is a one-component record, it is possible to indicate what the proper syntax should be. A similar suggestion can be given if the context specifies a nameable array type or the target of an assignme

[Ada] Fix obscure race condition in term alts

2011-08-04 Thread Arnaud Charlet
This patch is fixes an obscure race condition in the implementation of terminate alternatives. No small test case is available. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Bob Duff * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading Acceptor.Terminate

[Ada] Remove detection of entities in the ALFA subset for formal verification

2011-08-04 Thread Arnaud Charlet
The detection of entities in ALFA is best left in a back-end of the compiler, so all the machinery for flagging entities as in ALFA, and the body of subprograms as in ALFA, have been removed. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * alfa.adb, alfa.ads

[Ada] Detect useless assignments to parts of objects

2011-08-04 Thread Arnaud Charlet
GNAT did not issue a warning when assigning to a part of an object, and not referencing the object later on. Now it does so in some cases, similarly to the existing warnings on assignment to elementary objects. On the code below, GNAT now issues warnings: $ gcc -c -gnatwa assign.adb assign.adb:8:

Re: [PATCH, ARM] Fix broken testcase, vfp-1.c, for Thumb

2011-08-04 Thread Richard Earnshaw
On 28/07/11 15:50, Ian Bolton wrote: > This patch makes the vfp-1.c testcase work for Thumb. It became broken when > we > restricted the negative offsets allowed for Thumb to fix up a Spec2K failure > some months back. (It was previously possible to generate illegal offsets.) > > OK for trunk? >

PR ada/49944, take 2 [4.5/4.6/4.7 regression] Bootstrapping on x86_64-pc-kfreebsd-gnu fails with "s-taprop.adb:856:10: "pthread_attr_setaffinity_np" is undefined (more references follow)"

2011-08-04 Thread Ludovic Brenta
Pursuant to Arno's comments on PR ada/49444, here is another patch that allows GCC to compile with Ada support on Debian GNU/kFreeBSD. 2011-08-04 Ludovic Brenta * gcc/ada/gcc-interface/Makefile.in (kfreebsd%): - use s-taprop-posix.ad[bs] instead of s-taprop-linux.ad[bs] - use us

Re: [Ada] Detect useless assignments to parts of objects

2011-08-04 Thread Duncan Sands
Hi Arnaud, this is a great feature. How does it handle unchecked unions? Will it warn if you write to a field but only read the value via a different field? Ciao, Duncan. GNAT did not issue a warning when assigning to a part of an object, and not referencing the object later on. Now it does s

Re: [Ada] Detect useless assignments to parts of objects

2011-08-04 Thread Arnaud Charlet
> Hi Arnaud, this is a great feature. How does it handle unchecked unions? > Will > it warn if you write to a field but only read the value via a different field? It's a simple minded check, nothing fancy. It will warn when there are no reference to the the object at all after the assignment, a

Re: PR ada/49944, take 2 [4.5/4.6/4.7 regression] Bootstrapping on x86_64-pc-kfreebsd-gnu fails with "s-taprop.adb:856:10: "pthread_attr_setaffinity_np" is undefined (more references follow)"

2011-08-04 Thread Arnaud Charlet
> Pursuant to Arno's comments on PR ada/49444, here is another patch that > allows GCC to compile with Ada support on Debian GNU/kFreeBSD. > > 2011-08-04 Ludovic Brenta > > * gcc/ada/gcc-interface/Makefile.in (kfreebsd%): > - use s-taprop-posix.ad[bs] instead of s-taprop-linux.ad[bs]

Re: [PLUGIN] compile and install gengtype, install gtype.state

2011-08-04 Thread Romain GEISSLER
On 08/04/2011 12:21 PM, Romain Geissler wrote: On Mon, Aug 01, 2011 at 02:27:49PM +0200, Romain Geissler wrote: ping I went ahead and bootstrapped/regtested/and make install tested your patch (note your mailer wrapped it up so that it didn't apply cleanly), but now that I think about it, it is

Re: [patch tree-optimization]: Improve reassociation pass for bitwise-operations

2011-08-04 Thread Kai Tietz
2011/8/3 Richard Guenther : > On Wed, Aug 3, 2011 at 3:32 PM, Kai Tietz wrote: >> 2011/8/3 Michael Matz : >>> Hi, >>> >>> On Tue, 2 Aug 2011, Kai Tietz wrote: >>> this patch improves the ability of reassociation pass to simplifiy more complex bitwise-binary operations with compariso

Re: [PATCH][RFC] Fix PR49957 - build array index differently

2011-08-04 Thread Richard Guenther
On Thu, 4 Aug 2011, Richard Guenther wrote: > On Wed, 3 Aug 2011, Mikael Morin wrote: > > > Hello, > > > > On Wednesday 03 August 2011 15:47:37 Richard Guenther wrote: > > > Comments? Any idea why reversing the loop would break? > > > > Yes, the list of scalarized expressions has to be created

Adjust debug output from SMS's get_schdedule_window

2011-08-04 Thread Richard Sandiford
This patch adjusts the dump output from modulo-sched.c:get_schdedule_window. Dump output is very much down to personal preference, so please feel free just to reject the change. Anyway, the current output for a typical scheduling window looks like this: ---

Re: [PLUGIN] compile and install gengtype, install gtype.state

2011-08-04 Thread Jakub Jelinek
On Thu, Aug 04, 2011 at 12:41:05PM +0200, Romain GEISSLER wrote: > Find attached the final patch. I can't apply it by myself. Thanks, committed. Jakub

Re: Adjust debug output from SMS's get_schdedule_window

2011-08-04 Thread Revital1 Eres
Hello Richard, > This patch adjusts the dump output from modulo-sched.c:get_schdedule_window. > Dump output is very much down to personal preference, so please feel free > just to reject the change. The output format looks great to me although I cannot approve it. Thanks, Revital

[Ada] Save/restore value of pragma Normalize_Scalars

2011-08-04 Thread Arnaud Charlet
This patch adds the missing support to the frontend to save and restore consistently the settings of pragma Normalize_Scalars. Required to have consistent setting of its value when the compilation of a unit causes implicit analysis of runtime units. Before applying this patch the compilation of the

[Ada] Fix discrepancy between initialization and finalization of libraries

2011-08-04 Thread Arnaud Charlet
This adjusts the finalization code emitted in the binder-generated file so as to make it symmetrical to the initialization code with regard to the handling of the elaboration counter. Both now increment or decrement the counter only once per library unit, even though the elaboration or finalizatio

[Ada] Warning on premature task activation

2011-08-04 Thread Arnaud Charlet
An allocator for a local task in a package declaration will raise Program_Error because the elaboration check on the body will fail. THis patch adds a warning for this case. Compiling the following must yield: tasking.ads:6:18: warning: cannot activate task before body seen tasking.ads:6:1

[Ada] Remote types instance in private part of RCI spec

2011-08-04 Thread Arnaud Charlet
This change fixes a defect whereby instantiating a Remote_Types unit specifying user-defined stream attributes for one of its types in the private part of an RCI unit would cause undefined symbols in calling stubs. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Thomas Quinot

Re: [PATCH][RFC] Fix PR49957 - build array index differently

2011-08-04 Thread Mikael Morin
On Thursday 04 August 2011 13:12:04 Richard Guenther wrote: > On Thu, 4 Aug 2011, Richard Guenther wrote: > > On Wed, 3 Aug 2011, Mikael Morin wrote: > > > Hello, > > > > > > On Wednesday 03 August 2011 15:47:37 Richard Guenther wrote: > > > > Comments? Any idea why reversing the loop would break

[Ada] Add support for binder/linker in gnatmake in CodePeer mode

2011-08-04 Thread Arnaud Charlet
In this patch, we enable calls to the binder and linker in gnatmake in CodePeer mode, to help support e.g. detection of global uninitialized variables or e.g. environment task race conditions. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Arnaud Charlet * make.adb (Do_C

[Ada] Attributes on predicated subtypes

2011-08-04 Thread Arnaud Charlet
To prevent anomalies with enumeration types with holes and scalar types with complex predicates, the attributes First, Last, and Range cannot be applied to subtypes with predicates. This rule applies only to scalar types. The following must compile quietly in Ada2012 mode: package Pred is type

[Ada] Omit statement SCO for disabled pragma

2011-08-04 Thread Arnaud Charlet
This change ensures that no statement SCO is emitted for a disabled pragma. For the following compilation, the CS line shall contain only one entry (for the assignment statement), and no entry for the (disabled) pragma Assert. $ gcc -c -gnateS plop.adb $ grep ^C plop.ali C 1 plop.adb CS 8:4-8:15

Re: Adjust debug output from SMS's get_schdedule_window

2011-08-04 Thread Bernd Schmidt
On 08/04/11 13:16, Richard Sandiford wrote: > Tested in the same way as the previous patch. OK to install? You don't actually need to ask, and based on Revital's reaction, yes. Bernd

[Ada] Change error message in Ada 2012 mode for misplaced "if" and "case"

2011-08-04 Thread Arnaud Charlet
GNAT was issuing a wrong message about a missing operand in some cases of ill-parenthesized code in Ada 2012 mode. Now it issues a correct message about the missing parentheses. On the following code we get: $ gcc -c -gnat2012 -gnaty3 pred.ads pred.ads:5:30: conditional expression must be parent

[Ada] Correct order of evaluation of pre- and postcondition

2011-08-04 Thread Arnaud Charlet
GNAT was evaluating the right part of an AND-THEN pre- or postcondition before the left part, which could cause a wrong exception to be raised in case of a failing pre- or postcondition. On the code attached, compiling and executing now raises a precondition failure instead of a division by zero:

Re: [PLUGIN] compile and install gengtype, install gtype.state

2011-08-04 Thread Richard Guenther
use gengtype-state.c cannot parse (!version "4.7.0 20110804 (experimental) [trunk revision 161655]") please fix. >        Jakub >

Re: PATCH: Add a testase for PR middle-end/47383

2011-08-04 Thread H.J. Lu
On Thu, Aug 4, 2011 at 2:07 AM, Kirill Yukhin wrote: > HJ, are you sure your Changlog entry is OK? > It was fixed. -- H.J.

Re: [Patch, Fortran] (Coarray) Fix constraint checks for LOCK_TYPE

2011-08-04 Thread Mikael Morin
On Wednesday 03 August 2011 17:55:00 Tobias Burnus wrote: > > Though variables in the general case can be components, I don't think it > > is the case here as only named variables are involved here. > > Does that sound right? > > The first part of the sentence sounds wrong: A component itself is n

Re: [RFC PATCH] Add alloc_size attribute to the default operator new and operator new[]

2011-08-04 Thread Gabriel Dos Reis
On Wed, Aug 3, 2011 at 1:14 PM, Jason Merrill wrote: > On 08/03/2011 08:46 AM, Richard Guenther wrote: >> >> If that's reasonable then adding the malloc attribute should be, too. >> Finally.  Please.  Doesn't C++0x maybe "fix" the issue we were >> discussing to death? > > Nope, as far as I can tel

[Ada] Get rid of break_start

2011-08-04 Thread Arnaud Charlet
This could be used by the debugger to stop the execution before starting the main subprogram, but no debugger use it. No testcase as there is no functionnal change. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Tristan Gingold * bindgen.adb: Remove code the reference o

Re: [PLUGIN] compile and install gengtype, install gtype.state

2011-08-04 Thread Richard Guenther
ommitted. > > This breaks bootstrap with a ./contrib/gcc_update updated tree because > gengtype-state.c cannot parse > > (!version  "4.7.0 20110804 (experimental) [trunk revision 161655]") > > please fix. False alarm - I was confused by seeing libstdc++ build. The above is caused by a local VRP patch of mine. Richard. >>        Jakub >> >

Re: [RFC PATCH] Add alloc_size attribute to the default operator new and operator new[]

2011-08-04 Thread Richard Guenther
On Thu, Aug 4, 2011 at 2:58 PM, Gabriel Dos Reis wrote: > On Wed, Aug 3, 2011 at 1:14 PM, Jason Merrill wrote: >> On 08/03/2011 08:46 AM, Richard Guenther wrote: >>> >>> If that's reasonable then adding the malloc attribute should be, too. >>> Finally.  Please.  Doesn't C++0x maybe "fix" the issu

[Ada] Avoid the use of floating point in the front end

2011-08-04 Thread Arnaud Charlet
There was one use of floating point in the front end, in a function to estimate the equivalent decimal exponent for a universal real. While this use was probably OK, because a different estimate shouldn't affect compilation results, in general we do not want anything in the compiler that may produc

[Ada] In ALFA mode, do not generate fully qualified names in frontend

2011-08-04 Thread Arnaud Charlet
ALFA mode is for formal verification, which needs to postpone full name qualification after some processing. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * frontend.adb (Frontend): only qualify names in non-ALFA mode Index: frontend.adb ===

[Ada] Name resolution of class-wide operations with prefix notation

2011-08-04 Thread Arnaud Charlet
When resolving a prefixed call with class-wide actuals, we iterate over the class-wide operations of all ancestors of the controlling type. If the context is a function call any overloading is resolved by context. if the context is a procedure call there must be only one candidate interpretation, a

Re: [patch tree-optimization]: Improve reassociation pass for bitwise-operations

2011-08-04 Thread Michael Matz
Hi, On Wed, 3 Aug 2011, Kai Tietz wrote: > >> This machinery doen't work in this case > > > > That's why you have to extend it. > > The issue about this machinery is that it assumes that the statement > itself gets transformed, but for normalized form of invert of bitwise > operations it is es

[Ada] Extending library projects with no sources does not build

2011-08-04 Thread Arnaud Charlet
If a library project extending another one has no sources of its own, and there is an exception name with capital letters in the project being extended, then on platform with case-insensitive file names (such a Windows, Darwin or VMS), the invocation of gnatmake to build the library will fail. Tes

[Ada] AI05-0115: aggregates with invisible components.

2011-08-04 Thread Arnaud Charlet
If a type has an ancestor derived from a private view of its parent, the type may have invisible components and aggregates cannot be written for it. This is an Ada2012 binding interpretation. Compilation of pak1-pak3.adb below must yield: predicatek1-pak3.adb:6:15: no selector "C1" fo

[Ada] Legality rules for formal packages with box initialization

2011-08-04 Thread Arnaud Charlet
AI05-0025 specifies that a formal package is illegal if it includes a named box initialization for an overloaded formal subprogram. This is an extension of an existing rule for instantiations. Compiling proc1.adb in Ada2005 mode must yield the following: proc1.adb:10:05: instantiation abandon

[Ada] Enrich ALFA cross references with the type of entity for parameters

2011-08-04 Thread Arnaud Charlet
In formal verification mode, in order to properly detect which parameters may be read/written by a subprogram, a new information is added to ALFA cross references. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * alfa.ads (ALFA_Xref_Record): add component for

Re: [RFC PATCH] Add alloc_size attribute to the default operator new and operator new[]

2011-08-04 Thread Richard Guenther
On Thu, Aug 4, 2011 at 3:01 PM, Richard Guenther wrote: > On Thu, Aug 4, 2011 at 2:58 PM, Gabriel Dos Reis > wrote: >> On Wed, Aug 3, 2011 at 1:14 PM, Jason Merrill wrote: >>> On 08/03/2011 08:46 AM, Richard Guenther wrote: If that's reasonable then adding the malloc attribute should b

Re: [Patch, Fortran] (Coarray) Fix constraint checks for LOCK_TYPE

2011-08-04 Thread Tobias Burnus
On 08/04/2011 02:44 PM, Mikael Morin wrote: and I belief both "var%comp" and "var" are named. My reading is that a named variable is a variable that is an object-name. That's actually my problem with the standard - it never quite tells what a "named variable" exactly is. I think at least "ptr

[Ada] Correct wrong generation of ALFA cross-references

2011-08-04 Thread Arnaud Charlet
There was a problem with generation of ALFA cross-references for formal verification, which causes a reference to appear in two scopes. Now corrected. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of r

[Ada] Special expansion in ALFA for pragma check/precondition/postcondition

2011-08-04 Thread Arnaud Charlet
In ALFA mode, we modify expansion so that pragma check are kept in the code, while pre- and postconditions are kept attached to entities rather than being inserted in the code. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * exp_prag.adb (Expand_Pragma_Check

[Ada] AI05-0020 : universal operators of fixed point and access types

2011-08-04 Thread Arnaud Charlet
This AI specifies that a user-defined equality on an anonymous access type whose designated type is private does not lead to an ambiguity with the universal access equality operator in the body or child units of the defining package. The same is true for a multiplication operator on a private type

[Ada] Save/restore value of pragma Normalize_Scalars

2011-08-04 Thread Arnaud Charlet
This patch reverses the previous patch which saved/restore the values of pragma Normalize_Scalars because the value of Normalize_Scalars must not be saved/restored because once set to true its value never changes. That is, if a compilation unit has pragma Normalize_Scalars then it forces that value

[Ada] Use unique names in ALFA cross reference in ALI files

2011-08-04 Thread Arnaud Charlet
The formal verification backend relies on unique names for the variables named in ALFA sections of ALI files. Thus, generate these unique names with a new function. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * frontend.adb (Frontend): remove previous patc

[Ada] Set Entity for a created Identifier Node

2011-08-04 Thread Arnaud Charlet
The function Identifer_For, called from the code that generates the type declarations for string types in the standard package, now also sets the entity of the generated identifier. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Johannes Kanig * cstand.adb: Add Informati

Re: [RFC PATCH 0/9] CFG aware dwarf2 cfi generation

2011-08-04 Thread Jan Hubicka
> Jan Hubicka writes: > > > > Cool, will this also help to handle alternate entry points, so we can move > > ahead > > on this area we got stuck years ago? (i.e. add support for alternate entry > > points on > > i386 skipping IP pointer load in PIC mode/using register passing > > conventions)

[Ada] Correct placement and checking of Test_Case pragma

2011-08-04 Thread Arnaud Charlet
Follow-up of changes for Test_Case pragma. Pragma is not allowed inside subprogram body, only after separate declaration. No two test cases with same name allowed on same entity. Correct error in checking procedure. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy

[Ada] Rewrite dynamic stack usage

2011-08-04 Thread Arnaud Charlet
The dynamic stack usage engine has been rewritten to slightly simplify it. It now provides accurate results on machine where the stack base is known. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Tristan Gingold * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack u

Re: [RFC PATCH] Add alloc_size attribute to the default operator new and operator new[]

2011-08-04 Thread Jason Merrill
On 08/04/2011 08:58 AM, Gabriel Dos Reis wrote: Do you intend to rule out garbage collectors? No, I suppose the rule should be that interleaved access through the returned pointer and other ways is undefined. Should not access as raw memory (e.g. through char* or void*) be allowed? No, ac

[Ada] Improve support class-wide interface conversions in .NET

2011-08-04 Thread Arnaud Charlet
This patch improves the support for interface conversions in the .NET/JVM compiler extending the current support for attribute 'tag and adding the missing runtime checks required in interface conversions when the tag of the source is unknown at compile time. After this patch the following test comp

Re: [RFC PATCH] Add alloc_size attribute to the default operator new and operator new[]

2011-08-04 Thread Gabriel Dos Reis
On Thu, Aug 4, 2011 at 8:43 AM, Jason Merrill wrote: > On 08/04/2011 08:58 AM, Gabriel Dos Reis wrote: >> >> Do you intend to rule out garbage collectors? > > No, I suppose the rule should be that interleaved access through the > returned pointer and other ways is undefined. OK. >> Should not ac

Re: [RFC PATCH] Add alloc_size attribute to the default operator new and operator new[]

2011-08-04 Thread Richard Guenther
On Thu, Aug 4, 2011 at 3:50 PM, Gabriel Dos Reis wrote: > On Thu, Aug 4, 2011 at 8:43 AM, Jason Merrill wrote: >> On 08/04/2011 08:58 AM, Gabriel Dos Reis wrote: >>> >>> Do you intend to rule out garbage collectors? >> >> No, I suppose the rule should be that interleaved access through the >> ret

[Ada] Allow static string expression as name of Test_Case pragma/aspect

2011-08-04 Thread Arnaud Charlet
Follow-up of implementation of Test_Case pragma/aspect. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure (Analyze_Pragma): allow static string expression for name of Test_Case,

[Ada] Special cross references in ALFA mode for constants and formals

2011-08-04 Thread Arnaud Charlet
ALFA mode used for formal verification requires different cross references, in which read of constants is absent, and formal is not referenced when used as selector of parameter association. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Yannick Moy * lib-xref-alfa.adb (

[Ada] Default-initialize Nodes component

2011-08-04 Thread Arnaud Charlet
When manipulating bounded hash-table based container objects, that do not otherwise have any explicit initialization expression, the compiler would emit a warning about the object not being initialized, because the Nodes component of the hash table type had not been given an initialization expressi

[PATCH] Fix parts of PR49806

2011-08-04 Thread Richard Guenther
This patch fixes FAIL: gcc.dg/tree-ssa/vrp47.c scan-tree-dump-times vrp1 "x[^ ]* \^ 1" 1 FAIL: gcc.target/i386/andor-2.c scan-assembler-not sete by simplifying simplify_truth_ops_using_ranges and make it do its job even if we need to insert some conversions (to be extended to also cover A == B v

Re: [Patch, Fortran] (Coarray) Fix constraint checks for LOCK_TYPE

2011-08-04 Thread Mikael Morin
On Thursday 04 August 2011 15:18:46 Tobias Burnus wrote: > >> The problem is that > >> diagnosing the problem can get rather difficult. For instance: > >> > >> type t > >> type(lock_type) :: C > >> end type > >> type t2 > >> type(t), allocatable :: B > >> end type t2 > >> type t3 > >> type(t2) ::

Re: [RFC PATCH] Allow user specs files to add self_spec

2011-08-04 Thread Joseph S. Myers
On Wed, 3 Aug 2011, Jakub Jelinek wrote: > 2011-08-03 Jakub Jelinek > > * gcc.c (self_spec): New variable. > (static_specs): Add self_spec. > (main): Call do_self_spec on "self_spec" specs after reading > user specs files. Move compare_debug handling right after that.

[Patch, Fortran] Coarrays: Add/fix check for no coarrays as result value

2011-08-04 Thread Tobias Burnus
This patch fixes the result check for coarrays / variables with coarray subcomponents. It was working with a separate RESULT() variable - but not if the function name was the result variable. Build and regtested on x86-64-linux. OK for the trunk? Tobias 2011-08-04 Tobias Burnus * resolve.

[Ada] Detect generics as violation of the SPARK restriction

2011-08-04 Thread Arnaud Charlet
When the SPARK restriction was set, GNAT was not issuing violations on generic. Now corrected. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Marc Sango * sem_ch12.adb (Analyze_Generic_Package_Declaration, Analyze_Generic_Subprogram_Declaration, Analyze_Package_I

[Ada] Remove C output of gnatbind

2011-08-04 Thread Arnaud Charlet
It is not possible anymore to generate the C version of the binder file. Switches -A and -C of gnatbind are now removed. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Tristan Gingold * bindgen.adb (Gen_Adainit_C): Remove. (Gen_Adafinal_C): Ditto. (Gen_E

[Ada] Implementation of AI05-0161 restriction No_Default_Stream_Attributes

2011-08-04 Thread Arnaud Charlet
This new restriction is intended to prevent the use of the predefined stream attributes for elementary types. A consequence of this restriction is that the default implementation of stream attributes for composite types cannot be created if any of its elementary components lacks user-defined Read a

[Ada]Fix GNAT compilation error when SPARK restriction mode is set

2011-08-04 Thread Arnaud Charlet
GNAT compilation error when SPARK restriction mode was set with attribut reference violation is now correct. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Marc Sango * sem_attr.adb (Analyze_Attribute): Replace the message "invisible attribute of}" of the spark

[Ada] AI05-0069 : Holder container

2011-08-04 Thread Arnaud Charlet
This AI defines a package Ada.Containers.Indefinite_Holders in order to create the ability to hold a single object of an indefinite type. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-04 Vadim Godunko * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho". * a-coin

Re: [AVR] Fix target/34888

2011-08-04 Thread Richard Henderson
On 08/03/2011 11:09 PM, Denis Chertykov wrote: > 2011/8/4 Richard Henderson : >> When a frame pointer is in use, we can optimize popping all >> queued parameters via a simple move from the frame pointer >> instead of an addition to the stack pointer. >> >> The new sequence is 4 insns, the old seque

[Ada] Get gnatls project path from Prj.Env

2011-08-04 Thread Arnaud Charlet
This change removes circuitry in gnatls that tried to approximate what is done in Prj.Env.Initialize_Default_Project_Path to set the project search path, and instead uses that routine directly. This fixes an inconsistency between gnatls' output and the actual behaviour of other project aware tools,

Re: [PATCH 3/7] Emit macro expansion related diagnostics

2011-08-04 Thread Dodji Seketeli
Hello, Below is an amended version of this patch after Jason's comments at http://gcc.gnu.org/ml/gcc-patches/2011-08/msg00099.html. From: Dodji Seketeli Date: Sat, 4 Dec 2010 16:31:35 +0100 Subject: [PATCH 3/7] Emit macro expansion related diagnostics In this third instalment the diagnostic mac

Re: [trans-mem] New TM method: serial-irrevocable on first write

2011-08-04 Thread Richard Henderson
On 08/03/2011 03:56 AM, Torvald Riegel wrote: > Add serialirr_onwrite_dispatch and use as new default method, for now. > > * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use > serialirr_onwrite_dispatch as new default for now. > * method-serial.cc (serialirr_on

[pph] Add initial support for including nested pph images (issue4847044)

2011-08-04 Thread Diego Novillo
This patch adds initial support for PPH images that include other PPH images. Currently, we support this but it is inefficient. When a parent image includes a child image, the parent embeds all the contents of the child in its image. This is a waste of space. There is one other missing piece f

  1   2   >