[RFC] Allow functions calling mcount before prologue to be leaf functions
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00993.html
[PATCH] PR57377: Fix mnemonic attribute
http://gcc.gnu.org/ml/gcc-patches/2013-05/msg01364.html
[PATCH] Doc: Add documentation for the mnemonic attribute
http://gcc.gn
I should have changed the testcase to use setjmp. Done now,
tested on x86_64-unknown-linux-gnu, applied.
Richard.
2013-09-03 Richard Biener
PR middle-end/57287
* gcc.dg/pr57287-2.c: Use setjmp, not __sigsetjmp.
Index: gcc/testsuite/gcc.dg/pr57287-2.c
===
On Mon, Sep 2, 2013 at 5:19 PM, Jan Hubicka wrote:
>>
>> But we still refer to the local entity from TREE_TYPE of the function decl,
>> no?
>
> depending on definition of local entity. I tought we was discussing if
> PARM_DECL
> is local or not.
>
> I spent some time thining about the whole stre
On Mon, Sep 2, 2013 at 6:05 PM, Joseph S. Myers wrote:
> On Mon, 2 Sep 2013, Richard Earnshaw wrote:
>
>> On 01/09/13 14:10, Bernd Edlinger wrote:
>> > IMHO the AAPCS forbids packed structures. Therefore we need not
>> > interfere with the C++ memory model if we have unaligned data.
>>
>> The AAPC
On Mon, Sep 2, 2013 at 8:53 PM, Bernd Edlinger
wrote:
> On Fri, 30 Aug 2013 12:34:51 Richard Biener wrote:
>> On Tue, Aug 20, 2013 at 1:01 PM, Bernd Edlinger
>> wrote:
>>> This patch fixes a bug in the vectorized pointer arithmetic in the forwprop
>>> optimization pass.
>>>
>>> Although it seems
On Tue, Sep 3, 2013 at 2:05 AM, Bernd Edlinger
wrote:
> This is a follow-up patch for Sandra Loosemore's patch in this
> thread: "reimplement -fstrict-volatile-bitfields, v3".
> It was already posted a few weeks ago, but in the wrong thread.
> Therfore I re-post it herewith.
> It was initially sug
Hi,
since z196 we have the fast-BCR-serialization facility. With this
facility a faster synchronization primitive is provided which is
sufficient for all our cases. In fact the compare and swap atomic
operations use the very same mechanism.
With this patch we always use the new variant on z196
Hi,
the attached patch implements pattern definitions for the nearest
integer functions for binary and decimal floating point. Since z196
we have "load fp integer" instructions which allow suppression of the
inexact exception. These provide a 1:1 mapping to several of the
standard math.h functio
On Tue, 3 Sep 2013 10:30:22, Richard Biener wrote:
> On Mon, Sep 2, 2013 at 6:05 PM, Joseph S. Myers
> wrote:
>> On Mon, 2 Sep 2013, Richard Earnshaw wrote:
>>
>>> On 01/09/13 14:10, Bernd Edlinger wrote:
IMHO the AAPCS forbids packed structures. Therefore we need not
interfere with the
This makes ANON_AGGRNAME_P work properly by draggin in tm.h before
tree.h for the use in tree-streamer-out.c
Committed as obvious.
Richard.
2013-09-03 Richard Biener
PR lto/58285
* tree-streamer-out.c: Include tm.h.
* Makefile.in (tree-streamer-out.o): Depend on $(TM
On Tue, 3 Sep 2013 10:53:10, Richard Biener wrote:
> On Tue, Sep 3, 2013 at 2:05 AM, Bernd Edlinger
> wrote:
>> This is a follow-up patch for Sandra Loosemore's patch in this
>> thread: "reimplement -fstrict-volatile-bitfields, v3".
>> It was already posted a few weeks ago, but in the wrong thread
Same topic as 19/n.
Tested on an x86_64-suse-linux. Applied to trunk.
-- Gaby
2013-09-03 Gabriel Dos Reis
c/
* c-objc-common.c (c_tree_printer): Tidy.
c-family/
* c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
member function.
(c_pretty_printer::
On Mon, 24 Jun 2013, Richard Biener wrote:
>
> This fixes the miscompile in PR57656 - folding of
>
> int t = 1 - (a - b) / c;
>
> to
>
> int t = (b - a) / c + 1;
>
> which introduces intermediate undefined overflow for
> a == -1 and b == INT_MAX.
>
> There seems to be a mix of assumption
I've noticed that I associate negation and conversion in one place.
Fixed by the following which also removes some useless converts.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2013-09-03 Richard Biener
* tree-affine.c (add_elt_to_tree): Fix association is
Jason,
Consider this testcase reduced from g++.dg/tm/noexcept-1.C:
...
struct TrueFalse
{
static constexpr bool v() { return true; }
};
int global;
template int foo()
{
__transaction_atomic noexcept(T::v()) { global += 1; }
return __transaction_atomic noexcept(T::v()) (global + 2);
}
int
The following patch makes us accept ISL 0.12.
Bootstrapped and tested on x86_64-unknown-linux-gnu (with using ISL 0.12),
applied as obvious.
Richard.
2013-09-03 Richard Biener
* configure.ac: Also allow ISL 0.12.
* configure: Regenerated.
Index: configure.ac
===
Hi,
a very stupid typo. Tested x86_64-linux, fixed in the active branches.
Thanks,
Paolo.
//
2013-09-03 Paolo Carlini
PR libstdc++/58302
* include/bits/random.tcc (negative_binomial_distribution<>::
operator()(_UniformRandomNumberGenerator&, con
On Fri, Aug 30, 2013 at 6:43 PM, Bernd Edlinger
wrote:
> On Thu, 29 Aug 2013 11:54:22, Richard Biener wrote:
>> On Wed, Aug 28, 2013 at 11:24 PM, Bernd Edlinger
>> wrote:
>>> The lim pass (aka loop invariant motion) can move conditional expressions
>>> with
>>> possible undefined behavior out of
On Mon, Sep 2, 2013 at 11:46 AM, Marc Glisse wrote:
> On Fri, 30 Aug 2013, Richard Biener wrote:
>
>> On Sat, Jul 6, 2013 at 9:42 PM, Marc Glisse wrote:
>>>
>>> First, the fold-const bit causes an assertion failure (building libjava)
>>> in
>>> combine_cond_expr_cond, which calls:
>>>
>>> t = f
Hi,
It looks like the frecp instructions got miscategorised as TARGET_FLOAT
instructions when they are in fact TARGET_SIMD instructions.
Move them to the right file, give them a simd_type, drop their "type"
and "v8type" and clean up the useless types from aarch64.md.
Also, where possible merge
Hello world,
here is a rewrite, which I hope make things more clear.
Unformatted sequential files are now made up of subrecords, where
a logical record may only have one.
Regarding block devices: I don't know anybody who ever used them
from gfortran, so I tried to be as vague as possible.
Any mo
Thanks Richard for reviewing.
On 02/09/13 22:15, Richard Biener wrote:
On Wed, Jul 3, 2013 at 2:25 PM, Kugan wrote:
On 17/06/13 18:33, Richard Biener wrote:
On Mon, 17 Jun 2013, Kugan wrote:
+/* Extract the value range of assigned exprassion for GIMPLE_ASSIGN stmt.
+ If the extracted value
On Tue, Sep 03, 2013 at 12:04:51PM +0200, Richard Biener wrote:
>
> The following patch makes us accept ISL 0.12.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu (with using ISL 0.12),
> applied as obvious.
Richard,
Does this also accept isl 0.12.1 as that is the current bug fix relea
On Tue, 3 Sep 2013, Jack Howarth wrote:
> On Tue, Sep 03, 2013 at 12:04:51PM +0200, Richard Biener wrote:
> >
> > The following patch makes us accept ISL 0.12.
> >
> > Bootstrapped and tested on x86_64-unknown-linux-gnu (with using ISL 0.12),
> > applied as obvious.
>
> Richard,
>Does this
(attaching the latest version. I only added comments since regtesting it)
On Tue, 3 Sep 2013, Richard Biener wrote:
Btw, as for the patch I don't like that you basically feed everything into
fold. Yes, I know we do that for conditions because that's quite
important
and nobody has re-written th
> > The decision what should go to local or global stream is basically
> > motivated by
> > 1) everything needed for interprocedural optimization has to be global
> > 2) everything related to function bodies should be local.
>
> I'd rather formulate it as "everything not needed at WPA time sh
On Tue, Sep 3, 2013 at 3:42 PM, Jan Hubicka wrote:
>> > The decision what should go to local or global stream is basically
>> > motivated by
>> > 1) everything needed for interprocedural optimization has to be global
>> > 2) everything related to function bodies should be local.
>>
>> I'd rat
Hi,
The field state->ehp_region wasn't updated before lowering constructs in the eh
path of EH_ELSE. As a consequence, __builtin_eh_pointer is lowered to 0 (or
possibly to a wrong region number) in this path.
The only user of EH_ELSE looks to be trans-mem.c:lower_transaction, and the
consequence
On 08/27/2013 02:00 PM, Peter Bergner wrote:
> I'd like to ping the following patch which fixes a wrong code bug
> on powerpc64-linux due to a lost dependency within the scheduler:
>
> Fix PR58139 by correctly initializing reg_raw_mode[]
>
> http://gcc.gnu.org/ml/gcc-patches/2013-08/msg0091
Hi,
I think it's rather clear that we should warn in this case too, that is,
when we have:
ToBeDeprecated();
for a deprecated ToBeDeprecated type. Note however in my patchlet the
check on the TREE_CODE: if I remove it, then we also warn for the lines
x = e;
and
y = S::f;
of
On Fri, Aug 16, 2013 at 02:53:11PM -0500, Peter Bergner wrote:
> PR58139
> * gcc/reginfo.c (choose_hard_reg_mode): San through all mode classes
> looking for widest mode.
Just ChangeLog nits:
1) no gcc/
2) Scan instead of San
3) PR target/58139
Jakub
Attached is a patch for constrained class templates. It's the 3rd time
I've sent it.
I added some fixes for bugs discovered after the previous send, and
added support for matching constrained declarations in out-of-class
member function definitions.
2013-08-02 Andrew Sutton
* gcc/cp/pt
On 09/02/2013 04:27 AM, Richard Biener wrote:
> On Fri, Aug 30, 2013 at 5:13 PM, Meador Inge wrote:
>> Hi All,
>>
>> This patch fixes a minor issue that can occur when issuing array bounds
>> warnings. In GNU C mode we allow empty lists and their upper bound is
>> initialized to -1. This confuse
On 09/03/2013 10:45 AM, Jakub Jelinek wrote:
> On Tue, Sep 03, 2013 at 10:40:16AM -0500, Meador Inge wrote:
>>> And I fail to see why the testcase should
>>> not warn. Clearly you have a definition of a here and it doesn't have
>>> an element
>>> so the access is out of bounds.
>>
>> Not always,
varasm.c do_assemble_alias() calls globalize_decl() before creating an
alias for a global symbol. For FUNCTION_DECLs
ASM_OUTPUT_DEF_FROM_DECLS on AIX globalizes the code label in addition
to the function descriptor globalized by varasm.c. For
non-TREE_PUBLIC decls, the alias is declared as .lglobl
On Tue, Sep 03, 2013 at 11:01:17AM -0500, Meador Inge wrote:
> On 09/03/2013 10:45 AM, Jakub Jelinek wrote:
>
> > On Tue, Sep 03, 2013 at 10:40:16AM -0500, Meador Inge wrote:
> >>> And I fail to see why the testcase should
> >>> not warn. Clearly you have a definition of a here and it doesn't hav
> What is the footprint impact of speculative devirtualization?
It is less than 2% of text section and once we solve problems with ipa-prop
tracking,
I hope it will be less.
I hope we now understand better how to devirtualize and I think we can improve
non-speculative
devirt noticeably.
>
> F
This patch fix the optional operator '?' and interval repeating like
"a{3,5}" through rewrite _StateSeq.
After this patch, the assertion supporting shall be the last
significant feature to be implemented.
It's booted and tested under x86_64. It'll be fully tested before committing.
Thanks!
--
When objdump is not available, check_weak_available is unhappy on AIX.
This hard-codes that AIX supports weak, as is implemented for other
OSes.
Bootstrapped on powerpc-ibm-aix7.1.0.0
Thanks, David
* lib/target-supports.exp (check_weak_available): Return true for AIX.
Index: target-sup
On Tue, Sep 03, 2013 at 10:40:16AM -0500, Meador Inge wrote:
> > And I fail to see why the testcase should
> > not warn. Clearly you have a definition of a here and it doesn't have
> > an element
> > so the access is out of bounds.
>
> Not always, 'size_a' can be zero and the warning is worded su
.. unfortunately the issue isn't so easy because in any case we don't
want to warn for typedefs of ToBeDeprecated.
Paolo.
Ping^2?
On 08/22/2013 02:00 PM, Brooks Moses wrote:
Ping?
On 08/08/2013 02:10 PM, Brooks Moses wrote:
As discussed in PR/42955, when GCC is built as a cross-compiler, it
will install "gcc", "g++", "c++", and "gfortran" binaries in
$(target)/bin, as well as installing the $target-gcc and so for
Hi,
On 09/03/2013 06:26 PM, Tim Shen wrote:
* include/bits/regex_compiler.h: Rewrite _Compiler to use new
_StateSeq interfaces.
nit: when you need more than one line, left align to the '*'. Also never
begin a line with ':' (well, this is just common sense ;)
Thanks a lot for
> The patch miscompiles the MPFR library on x86 Pentium Pro. Reduced testcase
> attached, compile for x86 with -mtune=pentiumpro.
Thanks, I'll look at that in the nearest future.
Best regards, Michael
> Changes were checked into trunk:
> http://gcc.gnu.org/ml/gcc-cvs/2013-07/msg00179.html
The patch miscompiles the MPFR library on x86 Pentium Pro. Reduced testcase
attached, compile for x86 with -mtune=pentiumpro.
--
Eric Botcazoustatic void __attribute__((noinline, noclone))
my_memcpy (char
On Tue, Sep 3, 2013 at 12:05 PM, Michael V. Zolotukhin
wrote:
>> The patch miscompiles the MPFR library on x86 Pentium Pro. Reduced testcase
>> attached, compile for x86 with -mtune=pentiumpro.
> Thanks, I'll look at that in the nearest future.
>
> Best regards, Michael
The problem is
t
On 03.09.2013 04:50, Jason Merrill wrote:
On 09/02/2013 05:18 PM, Adam Butcher wrote:
> will focus on the parameter pack stuff (when I get a chance).
>
Sounds good.
I had a quick hack at getting pack expansion working for the conversion
op.
The syntactic side seems to be okay. It gets all the
I have fixed my test code and replaced those aliasing violations with
unions. Now the test result shows logb() is safe for the conversions.
The conclusion is, logb() and fabs() are always safe for the
converion, and sqrt() is unsafe for the conversion from sqrtl(double)
to sqrt(double). Other math
This finishes passing the entire path of a jump threading opportunity to
register_jump_thread and arranges to dump the entire path when dumping
details.
Bootstrapped and regression tested on x86_64-unknown-linux-gnu.
Installed onto the trunk.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
in
On Tue, 3 Sep 2013, Bernd Edlinger wrote:
> >> The trouble is that AAPCS semantics are incompatible with the default GNU
> >> semantics for non-packed structures as well - AAPCS
> >> strict-volatile-bitfields is only compatible with --param
> >> allow-store-data-races=1, which is not the default f
On 09/03/2013 03:50 PM, Adam Butcher wrote:
Problem is that no RTL is set for the incoming parms in the
instantiation of the expansion. It ICEs in gimple_expand_cfg because
'DECL_RTL_IF_SET
(var)' returns nullptr for the incoming parms resulting in a failed assertion
that
SA.partition_to_pseud
On Tue, 3 Sep 2013, Xinliang David Li wrote:
> >From Joseph:
>
> "The
> conversion is not safe for sqrt if the two types are double and long
> double and long double is x86 extended, for example."
>
> This is not reflected in the patch.
No, the problem is that it tries to reflect it but hardcod
This patch changes the way that closure values are passed in the Go
frontend. In June I changed the code to pass a closure value as the
last argument to a function, which required adding descriptor wrapper
functions for all top-level functions to accept and ignore that
argument. This patch change
I'm on a openSUSE 11.4 system with a:
gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]
host compiler. When I building gdb trunk, I get a failure to build because
configure tests g++ to see if these work, but gdb links with gcc and 4.5.1
errors out with the flag. You can't set
On Fri, Aug 30, 2013 at 11:28 PM, Sharad Singhai wrote:
>> Found the issue. The stream was incorrectly being closed when it was
>> stderr/stdout. So only the dump output before the first dump_finish
>> call was being emitted to stderr. I fixed this the same way the
>> alt_dump_file was being handl
On Tuesday 03 September 2013 17:39:10 Mike Stump wrote:
> host compiler. When I building gdb trunk, I get a failure to build because
> configure tests g++ to see if these work, but gdb links with gcc and 4.5.1
> errors out with the flag. You can't set LDFLAGS, because that is given to
> gcc, with
Could you please tell me how to check the precision of long double in
GCC on different platforms?
Thank you!
Cong
On Tue, Sep 3, 2013 at 2:43 PM, Joseph S. Myers wrote:
> On Tue, 3 Sep 2013, Xinliang David Li wrote:
>
>> >From Joseph:
>>
>> "The
>> conversion is not safe for sqrt if the two ty
On Sep 3, 2013, at 2:39 PM, Mike Stump wrote:
> I'm on a openSUSE 11.4 system with a:
>
> gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]
>
> host compiler. When I building gdb trunk, I get a failure to build because
> configure tests g++ to see if these work, but gdb links wi
On Tue, 3 Sep 2013, Cong Hou wrote:
> + CASE_MATHFN (SQRT)
> +/* sqrtl(double) cannot be safely converted to sqrt(double). */
> +if (fcode == BUILT_IN_SQRTL &&
> +(TYPE_MODE (type) == TYPE_MODE (double_type_node)) &&
> +!flag_unsafe_math_opt
>From Joseph:
"The
conversion is not safe for sqrt if the two types are double and long
double and long double is x86 extended, for example."
This is not reflected in the patch.
David
On Tue, Sep 3, 2013 at 2:27 PM, Joseph S. Myers wrote:
> On Tue, 3 Sep 2013, Cong Hou wrote:
>
>> + CASE_MAT
This is a patch to prevent scheduler from scheduling compare and
branch away, in order to increase macro-fusion opportunity on recent
x86 platforms. It is motivated by the following small testcase.
double __attribute__ ((noinline)) bar (double sum);
int a[100];
double bar (double sum)
{
int i;
On Thu, Aug 22, 2013 at 05:04:21PM +0400, Alexander Ivchenko wrote:
> Ugh.. thanks, you are right. That points to another problem that I
> didn't see before:
>
> 3) *linux* targets that do not append to tm_p_file (s390x-*-linux* and
> s390x-ibm-tpf* - your patch addresses that problem correctly) O
On Tue, 3 Sep 2013, Cong Hou wrote:
> Could you please tell me how to check the precision of long double in
> GCC on different platforms?
REAL_MODE_FORMAT (TYPE_MODE (long_double_type_node))->p
(but you should be referring to the relevant types - "type", the type
being converted to, "itype", th
On 09/03/2013 11:10 AM, Paolo Carlini wrote:
ToBeDeprecated();
I'd rather handle this case in build_functional_cast.
Jason
On 4 September 2013 00:17:00 Cong Hou wrote:
Could you please tell me how to check the precision of long double in
GCC on different platforms?
I did not follow your discussion but..
http://uclibc.org/~aldot/precision_check.f
Or something along those lines in your favourite language.
HTH..
Th
On 09/03/2013 11:32 PM, Jason Merrill wrote:
On 09/03/2013 11:10 AM, Paolo Carlini wrote:
ToBeDeprecated();
I'd rather handle this case in build_functional_cast.
Indeed. Thanks for the great tip. A tried to find a place where I could
use the same check we have in grokdeclarator, involving
On Mon, 2013-09-02 at 13:44 +0200, Michael Matz wrote:
> Hi,
>
> On Fri, 30 Aug 2013, David Malcolm wrote:
>
> > Here's the result of a pair of builds of r202029 without and with the
> > patches, configured with --enable-checking=release, running "make", then
> > stripping debuginfo [1]
> >
> >
On Mon, 2013-09-02 at 13:44 +0200, Michael Matz wrote:
> Hi,
>
> On Fri, 30 Aug 2013, David Malcolm wrote:
>
[...]
> > > And the manual GTY markers are so not maintainable in the long run,
> > > gengtype or something else really needs to be taught to create them
> > > automatically.
> >
> > Ap
On Mon, 2013-09-02 at 14:35 +0200, Martin Jambor wrote:
> Hi,
>
> On Fri, Aug 30, 2013 at 03:21:22PM -0400, David Malcolm wrote:
> > Apart from the GTY aspect, how do people feel about the patch series?
> > FWIW I have vague thoughts about doing something similar for tree -
> > doing so *might* gi
Jakub et al -
The attached patch fixes bug 58312, by replacing the runtime check of
vsnprintf with a compile-time check -- which means that it now
performs the same checks for both native and cross compilers, ensuring
consistency instead of the previous behavior of just discarding some
libssp func
Hi,
of the various access control issues we have got, this one seems rather
manageable.
It seems to me that in case of nested anonymous aggregates what is
needed to get the access control right is just a bit of recursion, to
completely propagate the access from the outer to the inner aggrega
On Jul 12, 2013, at 11:18 PM, Adam Butcher wrote:
> * gcc/cp/semantics.c (build_lambda_expr),
> (build_lambda_object), (begin_lambda_type), (lambda_return_type),
> (lambda_function), (lambda_capture_field_type), (is_capture_proxy),
> (is_normal_capture_proxy), (insert_captu
From: Trevor Saunders
bootstrapped on x86_64-unknown-linux-gnu with same test results as unpatched
r202185 ok?
* compare-elim.c (find_comparisons_in_bb): adjust
* domwalk.c (init_walk_dominator_tree): Convert to dom_walk_data constructor.
(fini_walk_dominator_tree): Convert to dom_walk_data
According to this
email(http://gcc.gnu.org/ml/libstdc++/2013-09/msg5.html), I add a
testcase.
--
Tim Shen
stateseq.patch
Description: Binary data
OK.
Jason
This patch from Chris Manghane fixes passing a function that returns
multiple results to a builtin function, as in append(F()) if F returns
two values. That should work since append can take two arguments. This
patch actually makes it work. Bootstrapped and ran Go testsuite on
x86_64-unknown-lin
On 23/08/2013, at 1:04 AM, Alexander Ivchenko wrote:
> Ugh.. thanks, you are right. That points to another problem that I
> didn't see before:
>
> 3) *linux* targets that do not append to tm_p_file (s390x-*-linux* and
> s390x-ibm-tpf* - your patch addresses that problem correctly) OR
> tmake_file
On 08/28/13 12:52, Jan Hubicka wrote:
What is really important for backend is that it is not defined what happens
when you compare addresses of those functions (based on fact that youcan't take
it, as for ctors/dtors, or compare it, as for virtual functions). If backend
also knows that they are
78 matches
Mail list logo