Re: [C++0x] contiguous bitfields race implementation

2011-08-31 Thread Richard Guenther
On Wed, Aug 31, 2011 at 6:53 PM, Aldy Hernandez wrote: > Sure.  I assume in this case, *bit_offset would be 0, right? >>> >>> It would be DECL_FIELD_BIT_OFFSET of that field.  Oh, and >>> *byte_offset would be >>> >>> *byte_offset = size_binop (MULT_EXPR, TREE_OPERAND (exp, 2), >>>          

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Iain Sandoe
On 31 Aug 2011, at 20:07, Iain Sandoe wrote: On 31 Aug 2011, at 17:34, Arnaud Charlet wrote: In particular I'd be curious to know if revision 178376 has the failure or not. different failure; built with BOOT_CFLAGS="-O0 -g" .. .. it fails debug-compare (ada/exp_ch6.o). There are a lot

Re: [Patch, testsuite] Skip case struct-layout-1 for targets using short enums.

2011-08-31 Thread Jakub Jelinek
On Thu, Sep 01, 2011 at 02:32:51PM +0800, Terry Guo wrote: > FAIL: gcc.dg/compat/struct-layout-1 c_compat_x_tst.o compile > FAIL: gcc.dg/compat/struct-layout-1 c_compat_y_tst.o compile > UNRESOLVED: gcc.dg/compat/struct-layout-1 c_compat_x_tst.o-c_compat_y_tst.o > link > UNRESOLVED: gcc.dg/compat/

RE: [Patch, testsuite] Skip case struct-layout-1 for targets using short enums.

2011-08-31 Thread Terry Guo
Hello Jakub, > > On Thu, Sep 01, 2011 at 09:34:20AM +0800, Terry Guo wrote: > > Here is the patch, is it OK to commit? > > Definitely not. > struct-layout-1* already has support for short enums, see > http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110247 > So, if that doesn't work for you, you

Re: [Patch, testsuite] Skip case struct-layout-1 for targets using short enums.

2011-08-31 Thread Jakub Jelinek
On Thu, Sep 01, 2011 at 09:34:20AM +0800, Terry Guo wrote: > Here is the patch, is it OK to commit? Definitely not. struct-layout-1* already has support for short enums, see http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110247 So, if that doesn't work for you, you need to debug why. > 2011-08-

Re: bb partitioning vs optimize_function_for_speed_p

2011-08-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08/31/11 15:41, Bernd Schmidt wrote: > On 08/29/11 18:02, Jeff Law wrote: >> On 08/26/11 08:47, Bernd Schmidt wrote: >>> In rest_of_reorder_blocks, we avoid reordering if >>> !optimize_function_for_speed_p. However, we still call >>> insert_sectio

[Patch, testsuite] Skip case struct-layout-1 for targets using short enums.

2011-08-31 Thread Terry Guo
Hello, There are some bitfield definitions in this case, such as "enum E2 a:31". For most targets, the ENUM type size equals INT type so this definition is OK. But for some targets like arm_eabi, the default ENUM type size could be the smallest integer type that can contain all of its enumerated v

Re: bb partitioning vs optimize_function_for_speed_p

2011-08-31 Thread Bernd Schmidt
On 08/29/11 18:02, Jeff Law wrote: > On 08/26/11 08:47, Bernd Schmidt wrote: >> In rest_of_reorder_blocks, we avoid reordering if >> !optimize_function_for_speed_p. However, we still call >> insert_section_bounary_note, which can cause problems because now, if >> we have a sequence of HOT-COLD-HO

Re: Copy frame_related bits

2011-08-31 Thread Bernd Schmidt
On 08/31/11 19:43, Jeff Law wrote: > Presumably the jump & call flags are copied as part of the > shallow_copy_rtx call, thus removing the explicit copy is safe? That's the conclusion I came to. Bernd

Re: Add unwind information to mips epilogues

2011-08-31 Thread Bernd Schmidt
On 08/31/11 20:43, Richard Sandiford wrote: > Bernd Schmidt writes: >> This is necessary when adding shrink-wrapping; otherwise dwarf2cfi sees >> inconsistent information and aborts. >> >> Tested on mips64-elf together with the rest of the shrink-wrapping >> patches. Ok? > > It looks like the cur

Re: [x86] Use match_test for .md attributes

2011-08-31 Thread Richard Sandiford
Uros Bizjak writes: > On Mon, Aug 15, 2011 at 11:57 AM, Richard Sandiford > wrote: > Following on from the two patches I've just posted, this one makes config/i386/*.md use match_test for .md attributes.  Tested as described here: >>>     http://gcc.gnu.org/ml/gcc-patches/2011

Re: Vector shuffling

2011-08-31 Thread Joseph S. Myers
On Wed, 31 Aug 2011, Artem Shinkarov wrote: > On Wed, Aug 31, 2011 at 4:38 PM, Joseph S. Myers > wrote: > > On Wed, 31 Aug 2011, Artem Shinkarov wrote: > > > >> 1) Helper function for the pseudo-builtins. > >> In my case the builtin can have 2 or 3 arguments, and I think that I > >> expressed tha

[Patch, fortran] [3/4] gfc_ss structs initialization small refactoring: scalars

2011-08-31 Thread Mikael Morin
gfc_ss structs of type GFC_SS_SCALAR (and GFC_SS_REFERENCE) are not uncommon. Let's share their initialization. There is one single case of GFC_SS_REFERENCE, everything else is GFC_SS_SCALAR, so I have decided to always set GFC_SS_SCALAR in the initialisation, and reset it to the right value afte

[Patch, fortran] [4/4] gfc_ss structs initialization small refactoring: minor cleanups

2011-08-31 Thread Mikael Morin
Now that array gfc_ss structs are initialized right after allocation, especially their DIM and DIMEN fields are set properly, later initializations of those fields are now redundant. This patch removes such initializations and/or replaces them with asserts that the value is already correct. OK? 2

[Patch, fortran] [2/4] gfc_ss structs initialization small refactoring: temps

2011-08-31 Thread Mikael Morin
gfc_ss structs of type GFC_SS_TEMP are not uncommon. Let's share their initialization. OK? 2011-08-30 Mikael Morin * trans-array.h (gfc_get_temp_ss): New prototype. * trans-array.c (gfc_get_temp_ss): New function. (gfc_conv_resolve_dependencies): Re-use gfc_get_temp_ss.

[Patch, fortran] [1/4] gfc_ss structs initialization small refactoring: arrays

2011-08-31 Thread Mikael Morin
All the gfc_ss of type GFC_SS_FUNCTION, GFC_SS_ARRAY, GFC_SS_CONSTRUCTOR, GFC_SS_VECTOR, ... have the same kind of initialization. Let's share it. OK? 2011-08-30 Mikael Morin * trans-array.h (gfc_get_array_ss): New prototype. * trans-array.c (gfc_get_array_ss): New function.

[Patch, fortran] [0/4] gfc_ss structs initialization small refactoring

2011-08-31 Thread Mikael Morin
Hello, the 4 follow-up patches try to refactor some common code initializing gfc_ss structs. Regression-tested (the 4 patches together only) on x86_64-freebsd8.2. OK for trunk? Mikael trans-array.c | 181 - trans-array.h |6 ++ tr

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Iain Sandoe
On 31 Aug 2011, at 20:07, Iain Sandoe wrote: Same for revision 178311 will set this going .. prob. tomorrow before a report. fails with: "exp_light.ali" not found "exp_light.adb" must be compiled (that issue was already reported by Richi). so .. not much progress ... will try bisec

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Iain Sandoe
On 31 Aug 2011, at 17:34, Arnaud Charlet wrote: Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x 0x001c4fa0 in lib__writ__write_ali () (gdb) bt #0 0x001c4fa0 in lib__writ__write_ali () #1 0x0036799a in _ada_gnat1drv () #2

Re: Add unwind information to mips epilogues

2011-08-31 Thread Richard Sandiford
Bernd Schmidt writes: > This is necessary when adding shrink-wrapping; otherwise dwarf2cfi sees > inconsistent information and aborts. > > Tested on mips64-elf together with the rest of the shrink-wrapping > patches. Ok? It looks like the current code doesn't handle the RESTORE instruction. Could

Re: [C++0x] contiguous bitfields race implementation

2011-08-31 Thread Aldy Hernandez
Did you test Ada and enable the C++ memory model? ;) See my earlier comment on Ada. Who would ever use the C++ memory model on Ada? Btw, even if the bitfield we access (and thus the whole region) is at a constant offset, the field _following_ the bitregion (the one you query above with ge

Re: [C++0x] contiguous bitfields race implementation

2011-08-31 Thread Aldy Hernandez
Sure. I assume in this case, *bit_offset would be 0, right? It would be DECL_FIELD_BIT_OFFSET of that field. Oh, and *byte_offset would be *byte_offset = size_binop (MULT_EXPR, TREE_OPERAND (exp, 2), size_int (DECL_OFFSET_ALIGN (field) / BITS_PER_UNIT)

Initial shrink-wrapping patch

2011-08-31 Thread Bernd Schmidt
This is a new version of the original 4/6 shrink wrapping patch, minus the preliminary bits that were already approved, and with some extra bug fixes that were discovered in the meantime. This is now mostly contained to just function.c. I'll resubmit the other parts (i.e. exposing more shrink-wrapp

Re: Copy frame_related bits

2011-08-31 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08/31/11 11:20, Bernd Schmidt wrote: > With the final shrink-wrapping patch applied, I see failures in > dwarf2cfi on mips64-elf. The problem is that reorg.c uses copy_rtx > to copy instructions, and for some reason that clears the > frame_related

Re: Vector shuffling

2011-08-31 Thread Chris Lattner
On Aug 31, 2011, at 1:27 AM, Artem Shinkarov wrote: >> If you're going to add vector shuffling builtins, you might consider adding >> the same builtin that clang has for compatibility: >> http://clang.llvm.org/docs/LanguageExtensions.html#__builtin_shufflevector >> >> It should be straight-forw

Add unwind information to mips epilogues

2011-08-31 Thread Bernd Schmidt
This is necessary when adding shrink-wrapping; otherwise dwarf2cfi sees inconsistent information and aborts. Tested on mips64-elf together with the rest of the shrink-wrapping patches. Ok? Bernd * config/mips/mips.c (cfa_restores): New static variable. (mips_restore_reg): Add to

Re: Vector shuffling

2011-08-31 Thread Artem Shinkarov
On Wed, Aug 31, 2011 at 4:38 PM, Joseph S. Myers wrote: > On Wed, 31 Aug 2011, Artem Shinkarov wrote: > >> 1) Helper function for the pseudo-builtins. >> In my case the builtin can have 2 or 3 arguments, and I think that I >> expressed that in a pretty much short way without any helper function. >

Copy frame_related bits

2011-08-31 Thread Bernd Schmidt
With the final shrink-wrapping patch applied, I see failures in dwarf2cfi on mips64-elf. The problem is that reorg.c uses copy_rtx to copy instructions, and for some reason that clears the frame_related bit. We end up with a prologue insn in a delay slot, and dwarf2cfi disregards its effects. I se

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Arnaud Charlet
> Program received signal EXC_BAD_ACCESS, Could not access memory. > Reason: KERN_PROTECTION_FAILURE at address: 0x > 0x001c4fa0 in lib__writ__write_ali () > (gdb) bt > #0 0x001c4fa0 in lib__writ__write_ali () > #1 0x0036799a in _ada_gnat1drv () > #2 0x000305f5 in gnat_parse_file () I j

[RFC] Split -mrecip

2011-08-31 Thread Michael Matz
Hello, I'd like to have tighter control over the individual situations that -mrecip handles, and I think the user might appreciate this too. Hence I've introduced four new target options -mrecip-div, -mrecip-sqrt, -mrecip-vec-div and -mrecip-vec-sqrt. I've redefined -mrecip to be equivalent

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Iain Sandoe
On 31 Aug 2011, at 16:57, Arnaud Charlet wrote: (x86_64-unknown-linux-gnu) | | Storage_Error stack overflow or erroneous memory access | | Error detected at system.ads: 175:5 | + = = = = = = ===

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Iain Sandoe
On 31 Aug 2011, at 16:53, Joseph S. Myers wrote: On Wed, 31 Aug 2011, Arnaud Charlet wrote: +===GNAT BUG DETECTED==+ | 4.7.0 20110831 (experimental) [trunk revision 161655] (x86_64-unknown-linux-gnu) | | Storage_Error stack overflow or

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Arnaud Charlet
> (x86_64-unknown-linux-gnu) | > | Storage_Error stack overflow or erroneous memory access | > | Error detected at system.ads:175:5 | > +==+ > > > > Please include these

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Joseph S. Myers
On Wed, 31 Aug 2011, Arnaud Charlet wrote: > > >> +===GNAT BUG > > >> DETECTED======+ > > >> | 4.7.0 20110831 (experimental) [trunk revision 161655] > > >> (x86_64-unknown-linux-gnu) | > > >&g

Re: Vector shuffling

2011-08-31 Thread Joseph S. Myers
On Wed, 31 Aug 2011, Artem Shinkarov wrote: > 1) Helper function for the pseudo-builtins. > In my case the builtin can have 2 or 3 arguments, and I think that I > expressed that in a pretty much short way without any helper function. > Am I missing something? The point is to refactor what's commo

Re: [C++0x] contiguous bitfields race implementation

2011-08-31 Thread Aldy Hernandez
*bit_offset = (TREE_INT_CST_LOW (DECL_FIELD_OFFSET (fld)) * BITS_PER_UNIT + TREE_INT_CST_LOW (DECL_FIELD_BIT_OFFSET (fld))) - (TREE_INT_CST_LOW (DECL_FIELD_OFFSET (bitregion_start)) * BITS_PER_UNIT + TREE_INT_CST_LOW (DECL_FIELD_BIT_OFFSET (bitregion_sta

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Arnaud Charlet
> >> +===GNAT BUG > >> DETECTED======+ > >> | 4.7.0 20110831 (experimental) [trunk revision 161655] > >> (x86_64-unknown-linux-gnu) | > >> | Storage_Error stack overflow or erroneous memory access      

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Richard Guenther
orry about the pain. Yes, I'm trying hard to not break bootstrap, and when > I do, I fix it as soon as possible. > >> +===GNAT BUG DETECTED==+ >> | 4.7.0 20110831 (experimental) [trunk revision 161655]

[PING] [PATCH] PR c++/47346 - access control for nested type is ignored in template

2011-08-31 Thread Dodji Seketeli
I am friendly pinging this patch. --- Begin Message --- Hello, Consider this code snippet: class C { struct Private { }; }; template struct exploit1 { C::Private type; }; exploit1 x1; //#1 At the instantiation point of exploit1 in #1, the compiler

[PATCH] Make VEC_COND_EXPR a GIMPLE_TERNARY_RHS

2011-08-31 Thread Richard Guenther
$subject says it all, COND_EXPR to follow. rhs1 will still be a "single" tree, namely a is_gimple_condexpr () operand. That's not easy to change (without forcing it to a separate statement, thus making it a is_gimple_val) because it embeds another tree code. Bootstrapped and tested on x86_64-un

Re: [PATCH PR43513, 1/3] Replace vla with array - Implementation.

2011-08-31 Thread H.J. Lu
On Sat, Jul 30, 2011 at 12:21 AM, Tom de Vries wrote: > > This is an updated version of the patch. I have 2 new patches and an updated > testcase which I will sent out individually. > > Patch set was bootstrapped and reg-tested on x86_64. > > Ok for trunk? > > Thanks, > - Tom > > 2011-07-30  Tom d

PING PING Re: [Patch 0/4] ARM 64 bit sync atomic operations [V2]

2011-08-31 Thread David Gilbert
On 9 August 2011 11:30, David Gilbert wrote: > Other than Ramana's comment about my comment on 4/4, has anyone else got any > other input?  Otherwise I'd like to fix that comment and then get it in. We now have comments from Ramana on patches 3/4 and 4/4 - anyone for anything on the main pair ?

Re: [PATCH Atom][PR middle-end/44382] Tree reassociation improvement

2011-08-31 Thread Ilya Enkovich
Hello Richard, Thanks for the review! > The fact that you have to adjust gcc.dg/tree-ssa/pr38533.c looks problematic > to me.  Can you investigate the problem report, look at the geneated > code with the atom default of the param and see whether it's still > reasonably "fixed" (maybe you'd alread

Re: Vector shuffling

2011-08-31 Thread Richard Guenther
On Wed, Aug 31, 2011 at 1:02 PM, Artem Shinkarov wrote: > Here is a newer version of the patch, which transforms the builtin to > the VEC_SHUFFLE_EXPR in the front-end. > > Several comments: > 1) Helper function for the pseudo-builtins. > In my case the builtin can have 2 or 3 arguments, and I thi

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Arnaud Charlet
and when I do, I fix it as soon as possible. > +===GNAT BUG DETECTED======+ > | 4.7.0 20110831 (experimental) [trunk revision 161655] > (x86_64-unknown-linux-gnu) | > | Storage_Error stack overflow or erroneous memory access

Re: [C++0x] contiguous bitfields race implementation

2011-08-31 Thread Richard Guenther
On Wed, Aug 31, 2011 at 9:45 AM, Richard Guenther wrote: > On Tue, Aug 30, 2011 at 5:01 PM, Aldy Hernandez wrote: >> [I'm going to respond to this piece-meal, to make sure I don't drop >> anything.  My apologies for the long thread, but I'm pretty sure it's in >> everybody's kill file by now.] >>

[v3] Implement LWG 2004

2011-08-31 Thread Paolo Carlini
Hi, tested x86_64-linux, committed to mainline. Paolo. /// 2011-08-31 Paolo Carlini * include/std/chrono (operator*(const _Rep1&, const duration<>&)): Fix order of template parameters per LWG 2004. Index: include/std/chrono ===

Re: [Ada] Implementation of aspects within generic units

2011-08-31 Thread Richard Guenther
don't break bootstrap all the time? I'm now simply testing patches w/o Ada for the time being (having wasted another hour for verifying it wasn't my patch causing the last bootstrap error I ran into, loads of +===GNAT BUG DETECTED=

[Ada] Implementation of aspects within generic units

2011-08-31 Thread Arnaud Charlet
If a declaration within a generic unit has aspects, the capture of references within the aspect expressions has to be done in a separate step because the aspect specificatios are not directly attached to the tree for the declaration. The following must compile quietly: gcc -c -gnat12 -gnata ml

[Ada] Passing Stream_Element_Offset/Storage_Offset in heterogeneous DSA apps

2011-08-31 Thread Arnaud Charlet
This change ensures that partitions in a DSA application always use a 64 bit representation when exchanging data of type Stream_Element_Offset or Storage_Offset, to avoid interoperability issues between 32- and 64-bit hosts. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-31 Thomas Qui

[Ada] Use Dir_Seps everywhere to properly handle all directory speparators.

2011-08-31 Thread Arnaud Charlet
On Windows the directory separator can be / or \, in some cases this was not properly handled. This patch fixes this issue. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-31 Pascal Obry * a-direct.adb: Use Dir_Seps everywhere to properly handle all directory spepara

[Ada] Expansion of indexed referenced to packed arrays when prefix is a call

2011-08-31 Thread Arnaud Charlet
When an indexed reference to a packed array is expanded, it is rewritten as a boolean operation on the prefix that denotes the packed array. If the prefix is a function call it must not be reanalyzed, because it will have been expanded already. and may carry extra actuals for accessibility checks.

[Ada] Spurious errors on aggregates in instances

2011-08-31 Thread Arnaud Charlet
In an instance, errors that report that an aggregate (sub)component is limited must be ignaored because they originate in view conflicts. If the original aggregate is legal and the actuals are legal, the aggregate in the instance itself is legal. No simple example available. Tested on x86_64-pc-l

[Ada] Fix spurious "prefix of dereference must be an access type"

2011-08-31 Thread Arnaud Charlet
This patch fixes an obscure bug, in which an error "prefix of dereference must be an access type" is given incorrectly. The spurious error would occur in an instance of a generic if an implicit dereference of an expression of a private type is used. No simple test is available. Tested on x86_64-pc

Re: [DOC] CP_TYPE_QUALS -> cp_type_quals

2011-08-31 Thread Paolo Carlini
.. I applied the patch after running make info and make dvi, seems obvious to me. Thanks, Paolo.

[Ada] Support for Priority aspect

2011-08-31 Thread Arnaud Charlet
Priority may be specified for protected and task types and objects using the standard aspect notation. This patch makes the analysis of the aspect argument earlier, so it is taken into account when the task or protected object is been created. The following must compile quietly in Ada2012 mode and

[Ada] Use assertion to verify representation invariant for lock status

2011-08-31 Thread Arnaud Charlet
Replaced a comment about lock status with a proper assertion, and added a comment to explain the representation invariant for the lock status. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-31 Matthew Heaney * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for l

[Ada] Delete SCIL files in CodePeer mode

2011-08-31 Thread Arnaud Charlet
When generating scil files (-gnatcC), we want to remove any old scil files corresponding to the main unit being compiled in case of errors, to avoid re-analyzing these old scil files. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-31 Arnaud Charlet * comperr.adb, comperr.a

[Ada] Detect all derived types as violation of the SPARK restriction

2011-08-31 Thread Arnaud Charlet
When the SPARK restriction was set, GNAT was not issuing violations on some derived types. Now corrected. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-31 Marc Sango * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N) by Comes_From_Source (Origi

[Ada] Isolate variables used to handle exceptions during finalization

2011-08-31 Thread Arnaud Charlet
This is a small refactoring that remove some duplicate code. No functional change. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-31 Tristan Gingold * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to hold variables between these following subprogr

[Ada] Correct various bad choices in Alfa mode

2011-08-31 Thread Arnaud Charlet
Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-31 Yannick Moy * exp_alfa.adb (Expand_Alfa_N_Package_Declaration, Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply call Qualify_Entity_Names. (Expand_Alfa): call Qualify_Entity_Names

Re: Vector shuffling

2011-08-31 Thread Richard Guenther
On Wed, Aug 31, 2011 at 10:35 AM, Duncan Sands wrote: > Hi Artem, > > On 31/08/11 10:27, Artem Shinkarov wrote: >> >> On Wed, Aug 31, 2011 at 12:51 AM, Chris Lattner >>  wrote: >>> >>> On Aug 30, 2011, at 10:01 AM, Artem Shinkarov wrote: >> >> The patch at the moment lacks of some examples

[Ada] Initialize pointer components of red-black tree node

2011-08-31 Thread Arnaud Charlet
When a node is allocated from the free store, its pointer components (the links to other nodes in the tree) must also be initialized (to 0, the equivalent of null). This simplifies the post-allocation handling of nodes inserted into terminal positions. Tested on x86_64-pc-linux-gnu, committed on t

[Ada] Ambiguities with prefixed views of synchronized primitives

2011-08-31 Thread Arnaud Charlet
A selected_component whose selector_name denotes an entity of a concurrent tagged type may be ambiguous because the target entity may be covered by a class-wide subprogram. This patch adds this missing test to the frontend to report the ambiguity. The following test must now compile with errors: p

[Ada] Default-initialize Nodes component

2011-08-31 Thread Arnaud Charlet
When manipulating bounded tree-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 tree type had not been given an initialization expression. This wa

[Ada] Error on instantiation with private type that has discriminated full type

2011-08-31 Thread Arnaud Charlet
The compiler incorrectly rejects a generic instantiation that passes an undiscriminated private type when the full type has discriminants and the generic does an assignment to a dereferenced access value denoting an object of the formal type. The error message complains that the type has no discrim

[PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-08-31 Thread Richard Guenther
When making sizetypes no longer sign-extended (they are unsigned) we run into extract_muldiv_1 miscompiling the Ada RTS during secondary stack initialization while folding sizes for an allocation. From ((sizetype) (_GLOBAL.SZ4_system.secondary_stack (.last, .first) /[cl] 8) + 15 & 0x0ff

[Ada] Insert must check for zero-length buckets array

2011-08-31 Thread Arnaud Charlet
Hash values must be folded by the length of the buckets array. The length of the buckets array is a discriminant of the container type, which means that it is possible for the user to specify 0 as the length value. Insert must therefore check for this case specifically, in order to prevent divide-b

[Ada] Check ambiguity with prefixed views of tagged primitives

2011-08-31 Thread Arnaud Charlet
When the frontend resolves a dispatching call through the object operation notation it must also check if there is a class-wide subprogram covering the target primitive. This check was missing in the frontend. After this patch the following test must compile with errors: package Pkg1 is type If

[Ada] Filter out read reference to operator in Alfa xrefs

2011-08-31 Thread Arnaud Charlet
Alfa cross references should only contain 'call' references for operators. Filter out unwanted references which are otherwise generated on intrinsic operator. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-08-31 Yannick Moy * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take int

[Ada] Crash on quantified expressions containing 'Old in postconditions

2011-08-31 Thread Arnaud Charlet
The attribute reference 'Old ppears within a postcondition, but refers to an entity in the enclosing subprogram. If the prefix is a component of a formal its expansion might generate actual subtypes that may be referenced in an inner context, and which must be elaborated within the subprogram itse

[Ada] Compiler crash on entry requeue in discriminated protected type

2011-08-31 Thread Arnaud Charlet
When compiling with -gnatc (or any mode that turns off the expansion phase), the compiler gets an Assertion_Failure when attempting to retrieve the body discriminal of a discriminant of a protected type. In the absence of expansion, a concurrent record type is not created, so this possibility has t

[Ada] Dereference correct hash table for a given node array index

2011-08-31 Thread Arnaud Charlet
Symmetric_Difference iterates over each hash table, populating the result set as it identifies items in one set not in the other set. The iterator works by passing a node index value back to the caller, which it in turn uses to dereference the node array. Both the Left and Right sets are visible in

Re: Vector shuffling

2011-08-31 Thread Duncan Sands
Hi Artem, On 31/08/11 10:27, Artem Shinkarov wrote: On Wed, Aug 31, 2011 at 12:51 AM, Chris Lattner wrote: On Aug 30, 2011, at 10:01 AM, Artem Shinkarov wrote: The patch at the moment lacks of some examples, but mainly it works fine for me. It would be nice if i386 gurus could look into the w

Re: Vector shuffling

2011-08-31 Thread Artem Shinkarov
On Wed, Aug 31, 2011 at 12:51 AM, Chris Lattner wrote: > On Aug 30, 2011, at 10:01 AM, Artem Shinkarov wrote: The patch at the moment lacks of some examples, but mainly it works fine for me. It would be nice if i386 gurus could look into the way I am doing the expansion. M

Re: Vector shuffling

2011-08-31 Thread Richard Guenther
On Wed, Aug 31, 2011 at 1:51 AM, Chris Lattner wrote: > On Aug 30, 2011, at 10:01 AM, Artem Shinkarov wrote: The patch at the moment lacks of some examples, but mainly it works fine for me. It would be nice if i386 gurus could look into the way I am doing the expansion. Mi

Re: Vector shuffling

2011-08-31 Thread Richard Guenther
On Tue, Aug 30, 2011 at 7:01 PM, Artem Shinkarov wrote: > On Tue, Aug 30, 2011 at 2:03 PM, Richard Guenther > wrote: >> On Tue, Aug 30, 2011 at 4:31 AM, Artem Shinkarov >> wrote: >>> Hi >>> >>> This is a patch for the explicit vector shuffling we have discussed a >>> long time ago here: >>> http

Re: [C++0x] contiguous bitfields race implementation

2011-08-31 Thread Richard Guenther
On Tue, Aug 30, 2011 at 8:13 PM, Aldy Hernandez wrote: > >> Btw, *byte_offset is still not relative to the containing object as >> documented, but relative to the base object of the exp reference >> tree (thus, to a in a.i.j.k.l instead of to a.i.j.k).  If it were supposed >> to be relative to a.i

Re: [C++0x] contiguous bitfields race implementation

2011-08-31 Thread Richard Guenther
On Tue, Aug 30, 2011 at 6:15 PM, Aldy Hernandez wrote: > >> *bit_offset is supposed to be relative to *byte_offset then it should >> be easy to calculate it without another get_inner_reference. > > Since, as you suggested, we will terminate early on variable length offsets, > we can assume both DE

Re: [C++0x] contiguous bitfields race implementation

2011-08-31 Thread Richard Guenther
On Tue, Aug 30, 2011 at 5:01 PM, Aldy Hernandez wrote: > [I'm going to respond to this piece-meal, to make sure I don't drop > anything.  My apologies for the long thread, but I'm pretty sure it's in > everybody's kill file by now.] > >> +  /* Be as conservative as possible on variable offsets.  *

Re: [PATCH, PR 49886] Prevent fnsplit from changing signature when there are type attributes

2011-08-31 Thread Richard Guenther
On Tue, Aug 30, 2011 at 6:50 PM, Martin Jambor wrote: > Ping.  Re-bootstrapped and re-tested yesterday on x86_64-linux. Ok. Does this also apply (maybe in modifed form) to the 4.6 branch? Thanks, Richard. > THanks, > > Martin > > > On Fri, Jul 29, 2011 at 10:55:31PM +0200, Martin Jambor wrote:

Re: [PATCH PING] Remove obsolete alias check in cgraph_redirect_edge_call_stmt_to_callee

2011-08-31 Thread Richard Guenther
On Tue, Aug 30, 2011 at 6:38 PM, Martin Jambor wrote: > > Hi, > > this is a ping of a patch that I have originally posted almost two > months ago. > > Since (same body) aliases have their own cgraph_nodes, the check for > them in cgraph_redirect_edge_call_stmt_to_callee is now unnecessary > becaus