Re: [PATCH,i386] Add -mstack-protector-guard= for i386

2013-04-11 Thread Uros Bizjak
Hello! > Bionic in Android 4.2 starts to support stack-protector canary at TLS for x86. > > Android prior to 4.2 still looks at a global variable for stack > canary. To maintain backward compatibility, I propose to add a new > option -mstack-protector-guard={global,tls} for i386 back-end to use >

Re: [Patch, Fortran] PR56845 - Fix setting of vptr of CLASS(...),SAVE,ALLOCATABLE

2013-04-11 Thread Janus Weil
2013/4/12 Tobias Burnus : > Am 12.04.2013 00:05, schrieb Janus Weil: > >> Just one minor nit: >> >> + if (sym->ts.type == BT_CLASS && TREE_STATIC (sym->backend_decl) >> + && CLASS_DATA (sym)->attr.allocatable) >> >> I'd find it somewhat clearer to check for "sym->attr.save" instead of >>

[PATCH,i386] Add -mstack-protector-guard= for i386

2013-04-11 Thread Andrew Hsieh
Bionic in Android 4.2 starts to support stack-protector canary at TLS for x86. Android prior to 4.2 still looks at a global variable for stack canary. To maintain backward compatibility, I propose to add a new option -mstack-protector-guard={global,tls} for i386 back-end to use canary at global o

Re: RFC: color diagnostics markers

2013-04-11 Thread Tobias Burnus
Gabriel Dos Reis wrote: Patch OK. I am not sure whether I have seen the latest patch, but in the one I saw there is a typo in the .texi text: +only when the stdandard error is a terminal. The forms "standard" Thanks for the patch, I think it can be quite useful. Tobias PS: Please also u

Re: [Patch, Fortran, OOP] PR 56261: seg fault call procedure pointer on polymorphic array

2013-04-11 Thread Tobias Burnus
Am 12.04.2013 00:17, schrieb Janus Weil: Hmm, I think I'd prefer to have for the arguments only a warning with -std=gnu - except for the function result value, which should always be an error. And also the "requires an explicit interface" checks should always use an error. Why the distinction (a

Re: [Patch, Fortran] PR56845 - Fix setting of vptr of CLASS(...),SAVE,ALLOCATABLE

2013-04-11 Thread Tobias Burnus
Am 12.04.2013 00:05, schrieb Janus Weil: Just one minor nit: + if (sym->ts.type == BT_CLASS && TREE_STATIC (sym->backend_decl) + && CLASS_DATA (sym)->attr.allocatable) I'd find it somewhat clearer to check for "sym->attr.save" instead of "TREE_STATIC (sym->backend_decl)", but that may

Re: RFC: color diagnostics markers

2013-04-11 Thread Gabriel Dos Reis
On Thu, Apr 11, 2013 at 10:26 AM, Jakub Jelinek wrote: > On Thu, Apr 11, 2013 at 10:20:18AM -0500, Gabriel Dos Reis wrote: >> On Thu, Apr 11, 2013 at 12:55 AM, Jakub Jelinek wrote: >> > On Wed, Apr 10, 2013 at 09:04:06PM -0500, Gabriel Dos Reis wrote: >> >> We might be saying the same thing using

Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally

2013-04-11 Thread Steven Bosscher
On Thu, Apr 11, 2013 at 12:47 PM, Richard Biener wrote: > That said - I'm positively sure I will hit the IRA / reload > issue again when adding mandatory IL verification (though > for that they can simply drop the properties). > > So, if we ignore that "GC boundary" is global we can add > PROP_gc_s

Re: [Patch, Fortran, OOP] PR 56261: seg fault call procedure pointer on polymorphic array

2013-04-11 Thread Janus Weil
>>> Thus, I think one should be strict about the requires-explicit-interface >>> diagnostic (= new code, using F90+), but for interface mismatch (= could >>> be >>> old Fortran 66 code), it should be either disabled or - as currently - >>> just >>> be a warning. >> >> How about enabling it by defa

Re: [Patch, Fortran] PR56845 - Fix setting of vptr of CLASS(...),SAVE,ALLOCATABLE

2013-04-11 Thread Janus Weil
Hi Tobias, > An unallocated polymorphic variable has the declared type; however, for > static (SAVE) variables, the current code didn't set the value. > > (That the end of scope deallocation/_gfortran_caf_deregister is gone for > coarrays (declared in the main program) was a side effect. The > syn

Re: [Patch, Fortran, OOP] PR 56261: seg fault call procedure pointer on polymorphic array

2013-04-11 Thread Tobias Burnus
Am 11.04.2013 23:38, schrieb Janus Weil: 2013/4/11 Tobias Burnus : Comment to Janus: It should be possible to disable the error check, e.g. by making it a warning. That's actually what the current code does: By default, it only warns and does not print an error. No, at least the type mismatch

Re: [Patch, Fortran, OOP] PR 56261: seg fault call procedure pointer on polymorphic array

2013-04-11 Thread Janus Weil
2013/4/11 Tobias Burnus : > Am 11.04.2013 16:23, schrieb Janus Weil: > >>> [Btw, I also thought about doing a full "gfc_compare_interfaces" in >>> "resolve_global_procedure", but that would probably be too strict.] >> >> Comment to self: It's certainly more strict, but I think this is a >> good thi

Re: [Google] Fix the bug in calculating sum_all

2013-04-11 Thread Xinliang David Li
ok. David On Thu, Apr 11, 2013 at 1:56 PM, Dehao Chen wrote: > Hi, > > This patch fix the bug of sum_all, which is used in loop unroll. The > fix will suppress unrolling loops when the program is hot instruction > footprint is large. > > Bootstrapped and passed regression tests. > > Is it okay f

Re: [Google] Use line offset instead of absolute lineno to represent AutoFDO profile

2013-04-11 Thread Xinliang David Li
yes -- Dehao first needs to rip out some internal dependencies for the profile generation tool before it can be pushed upstream. David On Thu, Apr 11, 2013 at 2:04 PM, Steven Bosscher wrote: > On Thu, Apr 11, 2013 at 1:47 AM, Dehao Chen wrote: >> Hi, >> >> This patch >> 1. Uses relative line off

Re: RFA: enable LRA for rs6000

2013-04-11 Thread Vladimir Makarov
On 04/11/2013 02:32 PM, David Edelsohn wrote: On Thu, Apr 11, 2013 at 1:30 PM, Vladimir Makarov wrote: Here is a patch to enable LRA for rs6000. The patch includes code changes in rs6000 machine-dependent parts and in LRA parts. I've added a new switch -mlra for rs6000 to make debugging

Re: [Google] Use line offset instead of absolute lineno to represent AutoFDO profile

2013-04-11 Thread Steven Bosscher
On Thu, Apr 11, 2013 at 1:47 AM, Dehao Chen wrote: > Hi, > > This patch > 1. Uses relative line offset (lineno - start_lineno_of_function) to > represent AutoFDO profile. This ensures profile still work for > modified source code. Is this something that is possible to do on trunk, too? Sounds like

[Google] Fix the bug in calculating sum_all

2013-04-11 Thread Dehao Chen
Hi, This patch fix the bug of sum_all, which is used in loop unroll. The fix will suppress unrolling loops when the program is hot instruction footprint is large. Bootstrapped and passed regression tests. Is it okay for googe-4_7 branch? Thanks, Dehao --- a/gcc/auto-profile.c +++ b/gcc/auto-pr

Re: GCC does not support *mmintrin.h with function specific opts

2013-04-11 Thread Xinliang David Li
Great that it is already covered. David On Thu, Apr 11, 2013 at 1:09 PM, Sriraman Tallam wrote: > On Thu, Apr 11, 2013 at 1:05 PM, Sriraman Tallam wrote: >> On Thu, Apr 11, 2013 at 12:43 PM, Xinliang David Li >> wrote: >>> What is the compile time impact for turning it on? Code not including

[patch, fortran, backport, 4.8] PR51825 - Fortran runtime error: Cannot match namelist object name

2013-04-11 Thread Tilo Schwarz
Hi, I would like to backport the fix for PR51825 I posted here http://gcc.gnu.org/ml/gcc-patches/2013-03/msg00316.html to the 4.8 branch. The fix was committed to trunk on Wed, 20 Mar 2013, so it is on trunk now for three weeks. It fixes a namelist issue where namelist lines like arr(2)%a%b

Re: GCC does not support *mmintrin.h with function specific opts

2013-04-11 Thread Sriraman Tallam
On Thu, Apr 11, 2013 at 1:05 PM, Sriraman Tallam wrote: > On Thu, Apr 11, 2013 at 12:43 PM, Xinliang David Li > wrote: >> What is the compile time impact for turning it on? Code not including >> the intrinsic headers should not be affected too much. If the impact >> is small, why not turning on

Re: GCC does not support *mmintrin.h with function specific opts

2013-04-11 Thread Sriraman Tallam
On Thu, Apr 11, 2013 at 12:43 PM, Xinliang David Li wrote: > What is the compile time impact for turning it on? Code not including > the intrinsic headers should not be affected too much. If the impact > is small, why not turning on this option by default -- which seems to > be the behavior of IC

Re: [Google] Use line offset instead of absolute lineno to represent AutoFDO profile

2013-04-11 Thread Xinliang David Li
Ok. As followup, the profile generation tool should be moved into compiler space to avoid format mismatch. David On Wed, Apr 10, 2013 at 4:47 PM, Dehao Chen wrote: > Hi, > > This patch > 1. Uses relative line offset (lineno - start_lineno_of_function) to > represent AutoFDO profile. This ensure

Another C++ PATCH for c++/52748 (N3276 and operator overloading)

2013-04-11 Thread Jason Merrill
My earlier N3276 work only affected the function call syntax, but it needs to affect implicit function calls from overloaded operators as well. Tested x86_64-pc-linux-gnu, applying to trunk and 4.8. commit c3deee14326a96c9b058fb5433cf98fd64f8d618 Author: Jason Merrill Date: Thu Apr 11 13:46:4

Re: GCC does not support *mmintrin.h with function specific opts

2013-04-11 Thread Xinliang David Li
What is the compile time impact for turning it on? Code not including the intrinsic headers should not be affected too much. If the impact is small, why not turning on this option by default -- which seems to be the behavior of ICC. With this option, all functions without the appropriate target o

Re: [C++ PATCH] Another maybe_constant_value without fold_non_dependent* (PR c++/56895)

2013-04-11 Thread Jason Merrill
OK. Jason

Re: [PATCH] Fix MULT_HIGHPART_EXPR folding (PR tree-optimization/56918)

2013-04-11 Thread Marc Glisse
On Thu, 11 Apr 2013, Jakub Jelinek wrote: The op1 - op2 line instead of multiplication is something that has been introduced in C++ double_int changes, but without the 2 * TYPE_PRECISION prec it would always return 0 or -1 anyway. The comments on PREC in the rshift function really confused me.

GCC does not support *mmintrin.h with function specific opts

2013-04-11 Thread Sriraman Tallam
Hi, *mmintrin headers does not work with function specific opts. Example 1: #include __attribute__((target("sse4.1"))) __m128i foo(__m128i *V) { return _mm_stream_load_si128(V); } $ g++ test.cc smmintrin.h:31:3: error: #error "SSE4.1 instruction set not enabled" # error "SSE4.1 ins

Re: RFA: enable LRA for rs6000

2013-04-11 Thread David Edelsohn
On Thu, Apr 11, 2013 at 1:30 PM, Vladimir Makarov wrote: > Here is a patch to enable LRA for rs6000. The patch includes code changes > in rs6000 machine-dependent parts and in LRA parts. > > I've added a new switch -mlra for rs6000 to make debugging LRA for rs6000 > easier but not documented

[PATCH] Fix MULT_HIGHPART_EXPR folding (PR tree-optimization/56918)

2013-04-11 Thread Jakub Jelinek
Hi! The op1 - op2 line instead of multiplication is something that has been introduced in C++ double_int changes, but without the 2 * TYPE_PRECISION prec it would always return 0 or -1 anyway. And, with wide_mul_with_sign we can also handle 2 * HOST_BITS_PER_WIDE_INT precisions. Bootstrapped/reg

[C++ PATCH] Another maybe_constant_value without fold_non_dependent* (PR c++/56895)

2013-04-11 Thread Jakub Jelinek
Hi! Hopefully last problematic spot, other places where maybe_constant_value calls have been introduced are either guarded with !processing_template_decl, or I haven't succeeded in triggering ICEs (say in build_new_1). Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2013-04-

RFA: enable LRA for rs6000

2013-04-11 Thread Vladimir Makarov
Here is a patch to enable LRA for rs6000. The patch includes code changes in rs6000 machine-dependent parts and in LRA parts. I've added a new switch -mlra for rs6000 to make debugging LRA for rs6000 easier but not documented it as it will be gone at the end of stage1 (may be with ability

Re: Fold {2, 3, 4, 5} >> 31

2013-04-11 Thread Marc Glisse
On Thu, 11 Apr 2013, Jakub Jelinek wrote: On Thu, Apr 11, 2013 at 06:24:02PM +0200, Marc Glisse wrote: here is a patch to handle constant folding of mixed vector-integer operations. I could have shared the loop with the vector-vector case, but that would have meant re-testing if arg2 was a vect

Re: Fold {2, 3, 4, 5} >> 31

2013-04-11 Thread Jakub Jelinek
On Thu, Apr 11, 2013 at 06:24:02PM +0200, Marc Glisse wrote: > here is a patch to handle constant folding of mixed vector-integer > operations. I could have shared the loop with the vector-vector > case, but that would have meant re-testing if arg2 was a vector at > every iteration (I can go back t

Re: [RFA] patch to fix PR56903

2013-04-11 Thread Uros Bizjak
On Wed, Apr 10, 2013 at 10:15 PM, Vladimir Makarov wrote: > The following patch fixes > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56903 > > In this test case reload pass gets correct value HARD_REGNO_MODE_OK because > it can not create pseudos (can_create_pseudo) and this was actually used > tha

C++ PATCH for c++/56901 (lambda, auto)

2013-04-11 Thread Jason Merrill
My earlier patch to have lambda_capture_field_type and lambda_proxy_type just return the captured variable's type in more cases caused this regression; we were failing to recognize the case of an auto variable captured by reference. Fixed by stripping references. Tested x86_64-pc-linux-gnu, a

Fold {2, 3, 4, 5} >> 31

2013-04-11 Thread Marc Glisse
Hello, here is a patch to handle constant folding of mixed vector-integer operations. I could have shared the loop with the vector-vector case, but that would have meant re-testing if arg2 was a vector at every iteration (I can go back to that version if you prefer). bootstrap+testsuite on x

[Ada] Fix undefined reference at link time for array size symbol

2013-04-11 Thread Eric Botcazou
This fixes a link failure for an array object declared with an array of array type under very specific circumstances, as the compiler doesn't consistently consider that the size of the array type is constant, depending on the unit which is being compiled. I need to export the skip_simple_consta

C++ PATCH to tsubst of var_decl

2013-04-11 Thread Jason Merrill
56901 turns out to be related to an issue that has been bugging me for a while; we would hand off instantiation of a use of a variable to tsubst_decl, which might end up producing a whole new instantiation of the variable rather than look up the one that we (presumably) already have. 56901 is

Re: [Patch, Fortran, OOP] PR 56261: seg fault call procedure pointer on polymorphic array

2013-04-11 Thread Tobias Burnus
Am 11.04.2013 16:23, schrieb Janus Weil: [Btw, I also thought about doing a full "gfc_compare_interfaces" in "resolve_global_procedure", but that would probably be too strict.] Comment to self: It's certainly more strict, but I think this is a good thing. I just tried it and in fact it catches a

Re: RFC: color diagnostics markers

2013-04-11 Thread Jakub Jelinek
On Thu, Apr 11, 2013 at 10:20:18AM -0500, Gabriel Dos Reis wrote: > On Thu, Apr 11, 2013 at 12:55 AM, Jakub Jelinek wrote: > > On Wed, Apr 10, 2013 at 09:04:06PM -0500, Gabriel Dos Reis wrote: > >> We might be saying the same thing using different languages. > >> > >> I was the %r/%R markers are w

Re: [Patch, AARCH64] Define REVERSIBLE_CC_MODE

2013-04-11 Thread Marcus Shawcroft
Naveen, I've committed your original REVERSIBLE_CC_MODE patch. Cheers /Marcus On 8 January 2013 05:09, Hurugalawadi, Naveen wrote: > Hi, > > AARCH64 back-end defines REVERSE_CONDITION but not REVERSIBLE_CC_MODE. > REVERSE_CONDITION is used only in case REVERSIBLE_CC_MODE (mode) is > nonzero. > >

Re: [C++ Patch] Small bunch of SFINAE related fixes

2013-04-11 Thread Jason Merrill
OK. Jason

[PATCH] Don't run vrp87.c on various targets

2013-04-11 Thread Jeff Law
As noted in PR56900, the new vrp87 test does not work on some targets as the code ultimately fed to vrp is dependent on BRANCH_COST. I scanned all the backends for those which use the default BRANCH_COST, which is known to perturb the code in a way that VRP can't see the optimization opportu

Re: RFC: color diagnostics markers

2013-04-11 Thread Gabriel Dos Reis
On Thu, Apr 11, 2013 at 12:55 AM, Jakub Jelinek wrote: > On Wed, Apr 10, 2013 at 09:04:06PM -0500, Gabriel Dos Reis wrote: >> We might be saying the same thing using different languages. >> >> I was the %r/%R markers are ways of implementing the IL language >> I suggested in that message. So, as

[C++ Patch] Small bunch of SFINAE related fixes

2013-04-11 Thread Paolo Carlini
Hi, while working on the last patch I noticed that we have got quite a few unconditional error calls in functions taking a tusbst_flags_t parameter. The below mostly adjusts those. I'm also finding a bit misleading the name warn_ref_binding for a the function emitting a permerror, thus I'm c

Re: [PATCH] 4.8: Fix RTX sharing problem in ifcvt

2013-04-11 Thread Jakub Jelinek
On Thu, Apr 11, 2013 at 03:44:56PM +0200, Andreas Krebbel wrote: > 2013-04-11 Andreas Krebbel > > * ifcvt.c (end_ifcvt_sequence): Mark a and b for unsharing as > well. Ok, thanks. > *** gcc/ifcvt.c.orig > --- gcc/ifcvt.c > *** end_ifcvt_sequence (struct noce_if_info >

Re: Broken private gcc port

2013-04-11 Thread Paolo Bonzini
Il 11/04/2013 15:23, Amir Gonnen ha scritto: > Here it is (also copied back the comment from the original patch): > > @@ -3207,9 +3207,14 @@ > DF_REF_REG_USE, bb, insn_info, flags); > df_uses_record (collection_rec, &XEXP (dst, 2), > DF_REF_REG_USE, bb, insn_info, flags); > + > + /* Handle t

Re: [Patch, Fortran, OOP] PR 56261: seg fault call procedure pointer on polymorphic array

2013-04-11 Thread Janus Weil
> [Btw, I also thought about doing a full "gfc_compare_interfaces" in > "resolve_global_procedure", but that would probably be too strict.] Comment to self: It's certainly more strict, but I think this is a good thing. I just tried it and in fact it catches a number of cases in the testsuite, whic

RE: libcpp: registering both a pragma and a pragma namespace with the same name

2013-04-11 Thread Iyer, Balaji V
> -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Aldy Hernandez > Sent: Thursday, April 11, 2013 8:55 AM > To: Jakub Jelinek > Cc: Andrew Pinski; Tom Tromey; Iyer, Balaji V; gcc-patches > Subject: Re: libcpp: registering bot

Re: [PATCH] color diagnostics markers

2013-04-11 Thread Manuel López-Ibáñez
On 11 April 2013 03:54, Gabriel Dos Reis wrote: > As I stated before, our pursuit of enabling everything new thing by default > may have made C++ diagnostics more terrifying. Do you have examples of C++ diagnostics that are more terrifying now than in, say, GCC 4.2? Cheers, Manuel.

Re: [PATCH, AARCH64] Fix unrecognizable insn issue

2013-04-11 Thread Richard Earnshaw
On 11/04/13 14:33, James Greenhalgh wrote: -Original Message- From: Zhenqiang Chen [mailto:zhenqiang.c...@linaro.org] Sent: 11 April 2013 02:33 To: Marcus Shawcroft Cc: James Greenhalgh; gcc-patches@gcc.gnu.org; Marcus Shawcroft; pins...@gmail.com; Richard Earnshaw Subject: Re: [PATCH,

Re: C++ PATCH for c++/23055 (function parms with only non-deducible template parameters)

2013-04-11 Thread Paolo Carlini
Thanks! Paolo.

[PATCH] Reset `used' flags after verify RTL sharing

2013-04-11 Thread Andreas Krebbel
Hi, enable-checking sometimes hides RTL checking bugs instead of detecting them. The problem is that the `used' flag in the RTXs used in verify_rtl_sharing is not reset after doing the checks. But the flag is also used by other passes in order to fix RTX sharing (e.g. ifcvt). These passes then d

[PATCH] 4.8: Fix RTX sharing problem in ifcvt

2013-04-11 Thread Andreas Krebbel
Hi, the GCC 4.8.0 release unfortunately does not bootstrap on S/390. It fails with a bootstrap comparison failure. The problem is an RTL sharing bug created by ifcvt. I never noticed it because the problem does *not* occur with --enable-checking which I'm usually using on my daily build system.

[Ada] Missing range checks on the expression for Priority in protected types

2013-04-11 Thread Arnaud Charlet
This patch fixes a missing check on the priority of a protected type, when it is set by a pragma or an aspect. A static value for priority that is out of the bounds of the corresponding System type is an error. A dynamic value that is out of bounds must raise a runtime exception. Compiling t.adb m

[Ada] New environmment variable GPR_PROJECT_PATH_FILE for project path

2013-04-11 Thread Arnaud Charlet
A new environment variable GPR_PROJECT_PATH_FILE is used by the Project Manager to set up the project path. When defined, GPR_PROJECT_PATH_FILE indicates the path of a text file that contains directories to be added to the project path. GPR_PROJECT_PATH_FILE is taken into account before GPR_PROJECT

RE: [PATCH, AARCH64] Fix unrecognizable insn issue

2013-04-11 Thread James Greenhalgh
> -Original Message- > From: Zhenqiang Chen [mailto:zhenqiang.c...@linaro.org] > Sent: 11 April 2013 02:33 > To: Marcus Shawcroft > Cc: James Greenhalgh; gcc-patches@gcc.gnu.org; Marcus Shawcroft; > pins...@gmail.com; Richard Earnshaw > Subject: Re: [PATCH, AARCH64] Fix unrecognizable insn

[Ada] Support for renamings in aspects Depends and Global

2013-04-11 Thread Arnaud Charlet
This patch modifies the analysis of aspects Depends and Global. The machinery can now process renamings of entire objects. Legal renamings are replaced by the object they rename. -- Source -- -- renamings.ads package Renamings with Abstract_State => (Input_State with

[Ada] Classwide postconditions on null procedures

2013-04-11 Thread Arnaud Charlet
This patch allows classwide postconditions on null procedures when the aspect expression includes calls to abstract functions that must be rewrittne as dispatching calls. The following must compile and execute quietly: gnatmake -gnat12 -gnata -q test_class test_class -- with objects; use O

Re: Broken private gcc port

2013-04-11 Thread Amir Gonnen
Here it is (also copied back the comment from the original patch): @@ -3207,9 +3207,14 @@ DF_REF_REG_USE, bb, insn_info, flags); df_uses_record (collection_rec, &XEXP (dst, 2), DF_REF_REG_USE, bb, insn_info, flags); + + /* Handle the case of zero_extract(mem(...)) in the set dest. + This s

C++ PATCH for c++/23055 (function parms with only non-deducible template parameters)

2013-04-11 Thread Jason Merrill
This bug has accumulated a lot of duplicates over the years. The issue is that the standard says that "Implicit conversions (Clause 4) will be performed on a function argument to convert it to the type of the corresponding function parameter if the parameter type contains no template-paramete

[Ada] Spurious error in case expression of static predicate subtype

2013-04-11 Thread Arnaud Charlet
This patch corrects the implementation of static predicates in the context of case expressions and/or statements. The maching of individual case alternatives is now done against the sets of legal values defined by the static predicate. -- Source -- -- static_predicates.

Re: Broken private gcc port

2013-04-11 Thread Paolo Bonzini
Il 11/04/2013 14:57, Amir Gonnen ha scritto: > Hi Paolo, > > About 3 years ago I've sent a patch which was submitted by Kenneth > Zadeck on revision 153924 (See > http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00232.html) > > Recently we tried to update our gcc port from gcc-4.4 to gcc-4.8 and > di

[Ada] Incorrect handling of type conversion with endianness change

2013-04-11 Thread Arnaud Charlet
This change fixes an oversight in the predicate that determines whether two composite types have the same representation (difference of scalar storage order was ignored, causing the compiler to incorrectly omit a per-component assignment in this case). The following test case must compile and exec

[Ada] Always set Do_Discriminant_Check flag during semantic analysis

2013-04-11 Thread Arnaud Charlet
The flag Do_Discriminant_Check was set during semantic analysis only when expansion was also performed. Now set it unconditionally when needed. Also clarify in the associated documentation that it is set also for Unchecked_Union but not expanded into an actual check in that case. Tested on x86_64-

Broken private gcc port

2013-04-11 Thread Amir Gonnen
Hi Paolo, About 3 years ago I've sent a patch which was submitted by Kenneth Zadeck on revision 153924 (See http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00232.html) Recently we tried to update our gcc port from gcc-4.4 to gcc-4.8 and discovered that the same lines of code were changed, thus break

[PATCH] Improve vectorizer code generation

2013-04-11 Thread Richard Biener
Currently for initial values for inductions the vectorizer generates stmp_var_.3_2 = 0 + 1; stmp_var_.3_19 = stmp_var_.3_2 + 1; stmp_var_.3_20 = stmp_var_.3_19 + 1; vect_cst_.4_21 = {0, stmp_var_.3_2, stmp_var_.3_19, stmp_var_.3_20}; instead of properly folding elements and eventually ge

Re: [Patch, Fortran, OOP] PR 56261: seg fault call procedure pointer on polymorphic array

2013-04-11 Thread Janus Weil
>> Ok, here is an updated patch, which does the discussed checking for >> procedure pointer assignments. For this I have introduced a new >> function 'gfc_explicit_interface_required', which checks all the items >> in F08:12.4.2.2 and is loosely based on the present checks in >> 'resolve_global_pro

Re: libcpp: registering both a pragma and a pragma namespace with the same name

2013-04-11 Thread Aldy Hernandez
On 04/11/13 07:36, Jakub Jelinek wrote: On Thu, Apr 11, 2013 at 07:10:46AM -0500, Aldy Hernandez wrote: Yeah, the above is definitely wrong. Just if (flag_cilkplus) cpp_register_deferred_pragma (parse_in, NULL, "simd", PRAGMA_SIMD, true, false); Well, the thing is that you can't just

[Ada] gnatname and temporary files

2013-04-11 Thread Arnaud Charlet
Instead of creating then deleting multiple times the same temporary file, gnatname now creates then deletes temporary files with distinct names. In addition, if environment variable TMPDIR exists, the temporary files are created in this directory. No change in gnatname behavior, so no test. Tested

[Ada] Aspect specifications can appear on subprogram body stubs

2013-04-11 Thread Arnaud Charlet
In Ada 2012, aspect specifications can appear on subprogram body stubs, as long as there is no previous corresponding subprogram declaration. This patch handles properly aspects on such stubs, and rejects aspects when a previous subprogram declaration exists. executing the following: gnatmake

Re: [testsuite, i386] Reimplementing array comparison in avx2-vpop-check.h

2013-04-11 Thread Richard Biener
On Thu, Apr 11, 2013 at 1:58 PM, Alexander Ivchenko wrote: > Hi, > > Usually does not include but on bionic it is > historically included. memcmp() reacts on a volatile argument > differently, depending on whether is included or not. If it > is included, then the compiler will generate a warnin

Re: [C++ Patch] PR 56913

2013-04-11 Thread Jason Merrill
OK. Jason

[Ada] Avoid raising an exception in Connect_Socket with timeout

2013-04-11 Thread Arnaud Charlet
This change replaces a call to a thick socket operation binding that uses an exception to report an expected condition (return with EINPROGRESS error) with a thin call reporting the same information through a return value and errno setting, to avoid an unnecessary exception raise. Tested on x86_64

[Ada] Incomplete view of ancestor type

2013-04-11 Thread Arnaud Charlet
The Ada 2012 RM introduces the notion of an incomplete view of an ancestor type: in a child unit, a derived type is within the derivation class of an ancestor declared in a parent unit, even if there is an intermediate derivation that does not see the full view of that ancestor. This makes some typ

Re: libcpp: registering both a pragma and a pragma namespace with the same name

2013-04-11 Thread Jakub Jelinek
On Thu, Apr 11, 2013 at 07:10:46AM -0500, Aldy Hernandez wrote: > >Yeah, the above is definitely wrong. Just > > if (flag_cilkplus) > > cpp_register_deferred_pragma (parse_in, NULL, "simd", PRAGMA_SIMD, > > true, false); > > Well, the thing is that you can't just use NULL for "#pragma simd

[Ada] Aspect Depends

2013-04-11 Thread Arnaud Charlet
This patch provides the initial implementation of aspect Depends. This construct is intended for formal verification proofs. The syntax of the aspect is as follows: DEPENDENCY_RELATION ::= null | DEPENDENCY_CLAUSE {, DEPENDENCY_CLAUSE} DEPENDENCY_CLAUSE ::= OUTPUT

Re: [PATCH, x86] Use vector moves in memmove expanding

2013-04-11 Thread Michael Zolotukhin
> 128 is about upper bound you can expand with sse moves. > Tuning did not take into account code size and measured only when code > is in tigth loop. > For GPR-moves limit is around 64. Thanks for the data - I've not performed measurements with this implementation yet, but we surely should adjust

[Ada] If-expressions and the capture of local values

2013-04-11 Thread Arnaud Charlet
The routine Safe_To_Capture_Values performs simple data-flow to determine whether some characteristic of a variable (its value after assignment, or the fact that an access value is non-null after a test) can be used downstream. The value cannot be saved if the expression that determines that value

Re: [build, driver] RFC: Support compressed debug sections

2013-04-11 Thread Rainer Orth
Andi Kleen writes: > Rainer Orth writes: > >> There's some interest inside Oracle to support compressed debug sections >> inside their toolchain, both on Solaris and Linux. So far, there's the >> GNU style supported by gas, gld, gold, and gdb, which mangles section >> names (.debug_* -> .zdebug

Re: [PATCH] Improve the mode which is used for insertion

2013-04-11 Thread Robert Schiele
Hi, On Tue, Sep 4, 2012 at 12:33 AM, Andrew Pinski wrote: > Hi, > On MIPS it is better sometimes not to use the word mode (DImode) but > rather SImode. The main reason is for 32bits, the value has to be > sign extended to 64bits so using the 32bit instruction for insertion > is allows for that

Re: [PATCH 2/3] libstdc++-v3: ::tmpnam depends on uClibc SUSV4_LEGACY

2013-04-11 Thread Paolo Carlini
Hi, On 04/11/2013 02:04 PM, Bernhard Reutner-Fischer wrote: I would have expected that somebody would tell me that omitting ::tmpnam violates 27.9.2 from the spec but noone yelled at me yet? Frankly, I didn't because the targets I really care about aren't affected. The actual maintainers of

Re: libcpp: registering both a pragma and a pragma namespace with the same name

2013-04-11 Thread Aldy Hernandez
On 04/11/13 00:32, Jakub Jelinek wrote: On Wed, Apr 10, 2013 at 05:16:17PM -0700, Andrew Pinski wrote: On Wed, Apr 10, 2013 at 3:24 PM, Aldy Hernandez wrote: Hi Tom. Hi folks. We've asked Balaji to rewrite the <#pragma simd> handling for cilkplus as we currently do for OMP, etc, in init_prag

Re: [PATCH 2/3] libstdc++-v3: ::tmpnam depends on uClibc SUSV4_LEGACY

2013-04-11 Thread Bernhard Reutner-Fischer
On 5 April 2013 11:48, Bernhard Reutner-Fischer wrote: > On 5 April 2013 11:23, Gabriel Dos Reis wrote: >> On Fri, Apr 5, 2013 at 4:13 AM, Rainer Orth >> wrote: >>> Gabriel Dos Reis writes: >>> On Fri, Apr 5, 2013 at 4:01 AM, Rainer Orth wrote: > Gabriel Dos Reis writes: >

[testsuite, i386] Reimplementing array comparison in avx2-vpop-check.h

2013-04-11 Thread Alexander Ivchenko
Hi, Usually does not include but on bionic it is historically included. memcmp() reacts on a volatile argument differently, depending on whether is included or not. If it is included, then the compiler will generate a warning: warning: passing argument 2 of 'memcmp' discards 'volatile' qualifie

Re: [build, driver] RFC: Support compressed debug sections

2013-04-11 Thread Andi Kleen
Rainer Orth writes: > There's some interest inside Oracle to support compressed debug sections > inside their toolchain, both on Solaris and Linux. So far, there's the > GNU style supported by gas, gld, gold, and gdb, which mangles section > names (.debug_* -> .zdebug_*), but consultation with t

[build, driver] RFC: Support compressed debug sections

2013-04-11 Thread Rainer Orth
There's some interest inside Oracle to support compressed debug sections inside their toolchain, both on Solaris and Linux. So far, there's the GNU style supported by gas, gld, gold, and gdb, which mangles section names (.debug_* -> .zdebug_*), but consultation with the Solaris linker engineers re

Re: [PATCH, boehm-gc, AArch64] Add AArch64 support

2013-04-11 Thread Yvan Roux
Hi Marcus, thanks for pointing this, but unfortunately I don't have the svn write access for the moment, thus if somebody can commit it for me, i would be very thankful. Cheers, Yvan On 11 April 2013 13:02, Marcus Shawcroft wrote: > Hi Yvan, My understanding of the 'Free for all' section of >

[PATCH] Fix PR56878

2013-04-11 Thread Richard Biener
The testcase in PR56878 and my previous changes to the vectorizer expose that there is amongst the DRs with unknown misalignment with the same number of related accesses a better candidate if the DRs base address is invariant in some loops. This is because then you can hoist the misalign computat

Re: [PATCH, boehm-gc, AArch64] Add AArch64 support

2013-04-11 Thread Marcus Shawcroft
Hi Yvan, My understanding of the 'Free for all' section of http://gcc.gnu.org/svnwrite.html#policies is that since this is a backport from an upstream project you do not need to seek further approval to commit this change. Cheers /Marcus On 2 April 2013 11:50, Yvan Roux wrote: > Ping (second tr

Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally

2013-04-11 Thread Richard Biener
On Thu, 11 Apr 2013, Jakub Jelinek wrote: > On Thu, Apr 11, 2013 at 12:26:00PM +0200, Richard Biener wrote: > > So, the option I didn't mention is to add a way to disable the > > GC (clearing/setting a property for example). > > Yeah, TODO_ggc_avoid_collect or similar would be easiest, plus > per

[Ada] Raise_Expression in membership test causes test to fail

2013-04-11 Thread Arnaud Charlet
This patch implements Ada 2012 AI-0022, which specifies that a raise expression that is executed in a predicate that is tested during the execution of a membership test causes the test to fail (or succeed for NOT IN), rather than raising an exception. The following, compiled with -gnata: 1.

Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally

2013-04-11 Thread Richard Biener
On Thu, 11 Apr 2013, Bernd Schmidt wrote: > On 04/11/2013 12:26 PM, Richard Biener wrote: > > > > The point was not to remove TODO_ggc_collect, the point was to > > both enforce the GC boundary at all passes (that's what the pass > > manager assumes anyway) and to collect when necessary at such >

[Ada] Implement AI12-0022 (raise expression)

2013-04-11 Thread Arnaud Charlet
This patch implements Ada 2012 AI (AI12-0022) which intorduces a new expression type "raiae expression". This can appear within an expression and results in raising the given exception. Most importantly, if this form is used in an assertion such as a precondition, it can be used to change the excep

Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally

2013-04-11 Thread Jakub Jelinek
On Thu, Apr 11, 2013 at 12:26:00PM +0200, Richard Biener wrote: > So, the option I didn't mention is to add a way to disable the > GC (clearing/setting a property for example). Yeah, TODO_ggc_avoid_collect or similar would be easiest, plus perhaps some way of expressing the requirement that "this

Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally

2013-04-11 Thread Bernd Schmidt
On 04/11/2013 12:26 PM, Richard Biener wrote: > > The point was not to remove TODO_ggc_collect, the point was to > both enforce the GC boundary at all passes (that's what the pass > manager assumes anyway) and to collect when necessary at such > well-defined boundaries. Another approach would hav

Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally

2013-04-11 Thread Richard Biener
On Thu, 11 Apr 2013, Bernd Schmidt wrote: > On 04/11/2013 12:05 PM, Richard Biener wrote: > > Any particular suggestions? The easiest "split" is to emit > > a ' reload/lra =' marker (or similar). > > It's about getting a dump of the insns, in two separate files so tha

[Ada] Clean up handling of assertions when disabled

2013-04-11 Thread Arnaud Charlet
This patch fixes a number of problems that arose from the handling of assertions (more generally checks from pragma Checks). In particular if a check was explicitly disabled with Check_Policy then the argument was not analyzed leading to junk warnings. The following should compile quietly with -gna

Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally

2013-04-11 Thread Bernd Schmidt
On 04/11/2013 12:05 PM, Richard Biener wrote: > Any particular suggestions? The easiest "split" is to emit > a ' reload/lra =' marker (or similar). It's about getting a dump of the insns, in two separate files so that one can do diffs (between sched1/ira or ira/reload)

[Patch, testsuite] Add -gdwarf to dg-options in debug/dwarf2 testcases

2013-04-11 Thread Senthil Kumar Selvaraj
Hi, This patch adds the new -gdwarf option to dg-options for testcases in gcc.dg/debug/dwarf2 that don't already explicitly request DWARF. Not asking gcc to generate DWARF causes these tests to fail if gcc is built/configured with support for multiple debugging formats and DWARF is not the defaul

  1   2   >