--- Comment #11 from janus at gcc dot gnu dot org 2009-06-23 07:27 ---
Closing.
--
janus at gcc dot gnu dot org changed:
What|Removed |Added
Status|ASSIGNED
--- Comment #4 from burnus at gcc dot gnu dot org 2009-06-23 08:34 ---
(In reply to comment #3)
> This patch gives the correct error messages for comment #1
> + && actual->ts.derived && actual->ts.derived->ts.is_iso_c
> + && (formal->ts.derived->attr.use_rename
> + ||
For simple conditional expression like (flag == 1 ? 2 : 0), gcc generates not
optimized code in terms of both code size and performance.
--
Summary: missed optimization in conditional expression
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
--- Comment #1 from ramana at gcc dot gnu dot org 2009-06-23 09:05 ---
Can you specify options , example, target under consideration and version of
the source tree considered ?
--
ramana at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #2 from carrot at google dot com 2009-06-23 09:09 ---
Created an attachment (id=18053)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18053&action=view)
test case
Compile the attached code with options -mthumb -march=armv5te -Os, gcc
generates
push{lr}
--- Comment #9 from ramana at gcc dot gnu dot org 2009-06-23 09:16 ---
(In reply to comment #4)
> (In reply to comment #3)
> > Is this related to bug 39715?
> >
>
> Maybe.
>
39715 appears to be strictly a 4.5 missed optimization, but from comment #5 it
appears as though this is diffe
--- Comment #5 from paolo dot carlini at oracle dot com 2009-06-23 09:18
---
2.2.4 is definitely *very* old, but in principle the macro should be available,
as far as I know. Jakub, what do you think?
I'm thinking that in the configure tests, for the auto case, we have a special
check
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|--- |4.4.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40521
--- Comment #5 from rguenth at gcc dot gnu dot org 2009-06-23 09:37 ---
The idea is ok though do not use make_rename_temp but the usual create_tmp_var,
add_referenced_var, make_ssa_name sequence.
The checking currently only matches the return value (it does so since the
beginning of the
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-06-23 09:43 ---
extern void abort (void);
int main ()
{
long int exp = -__LONG_MAX__ - 1;
unsigned long int test = (exp < (long int) 2 ? 2 : (unsigned long int) exp);
if (test != 2)
abort ();
return 0;
}
this is fixed
--- Comment #7 from rguenth at gcc dot gnu dot org 2009-06-23 09:43 ---
*** Bug 40524 has been marked as a duplicate of this bug. ***
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
---
--- Comment #3 from steven at gcc dot gnu dot org 2009-06-23 09:47 ---
This should be done in if conversion. I'll have a look.
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
--
--- Comment #10 from steven at gcc dot gnu dot org 2009-06-23 09:50 ---
Yes, this bug is indeed not related to bug 39715.
I have also verified that the SEE pass (sign-extend elimination, but also
should handle zero-extend) fails to handle this case. And that pass doesn't
exist anymore
gcc version:
g++ -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/usr/local
Thread model: posix
gcc version 4.5.0 20090521 (experimental) (GCC)
Command:
--
g++ -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wal
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-06-23 10:06 ---
You can attach it compressed, but I suggest that you update your GCC to a more
recent snapshot, some bugs in this area have been fixed by now.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40526
--- Comment #3 from jakub at gcc dot gnu dot org 2009-06-23 11:09 ---
I think if we don't want to emit .eh_frame, we should just default to
-fno-dwarf2-cfi-asm. But if we do want to generate it, I fail to see what do
we gain by also generating .debug_frame. Duplicating the same info, i
--- Comment #8 from mkuvyrkov at gcc dot gnu dot org 2009-06-23 11:39
---
(In reply to comment #6)
> But that was the meat of fixing PR28690. :-(
>
> The insn should satisfy the constraints of alternative 4.
Well, not really. For the insn to match alternative 4 the pattern should be
--- Comment #9 from bonzini at gnu dot org 2009-06-23 12:04 ---
But % makes it commutative, no? So operand 2 matches operand 0, and operand 1
matches mSrIKLT.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37053
--- Comment #2 from ubizjak at gmail dot com 2009-06-23 12:09 ---
(In reply to comment #1)
> Uros, this bug is from the pre-IRA times. Could you check if you still see
> this problem, please?
Yes, it is still present as of gcc 4.5.0 20090623
--
ubizjak at gmail dot com c
--- Comment #4 from drow at gcc dot gnu dot org 2009-06-23 12:24 ---
Subject: Re: [4.4/4.5 Regression] -g causes GCC to
generate .eh_frame
On Tue, Jun 23, 2009 at 11:09:48AM -, jakub at gcc dot gnu dot org wrote:
> I think if we don't want to emit .eh_frame, we should just
--- Comment #10 from mkuvyrkov at gcc dot gnu dot org 2009-06-23 12:26
---
(In reply to comment #9)
> But % makes it commutative, no?
Yes, but that only means that the operands can be swapped *if*
swap_commutative_operands_p() returns true. Due to the funny precedence that
does not ha
--- Comment #4 from steven at gcc dot gnu dot org 2009-06-23 12:31 ---
This is the usual idiotic behavior of ifcvt.c for targets that have conditional
execution, but not for all insns.
Normally the find_if_case_1() transformation should handle this optimization.
But the dead_or_predica
--- Comment #9 from paolo at gcc dot gnu dot org 2009-06-23 12:36 ---
Subject: Bug 40518
Author: paolo
Date: Tue Jun 23 12:36:43 2009
New Revision: 148850
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148850
Log:
2009-06-23 Paolo Carlini
PR libstdc++/40518
*
--
ramana at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |ramana at gcc dot gnu dot
|dot org
I do regard the alignment settings for structs, unions,
classes as important as the signature of functions.
compilation of structs in the scope of different
#pragma pack([push], n)
produces errors that are hard to understand.
The linker could produce errors or warnings when
combining compilati
--- Comment #10 from paolo dot carlini at oracle dot com 2009-06-23 12:39
---
I think this is for mainline only. In a couple of few weeks a I will give it a
second thought for 4_4-branch but certainly isn't a regression.
--
paolo dot carlini at oracle dot com changed:
Wh
--- Comment #11 from bonzini at gnu dot org 2009-06-23 13:09 ---
> Yes, but that only means that the operands can be swapped *if*
> swap_commutative_operands_p() returns true. Due to the funny precedence that
> does not happen.
>
> Matching procedures do not take commutativeness into ac
--- Comment #10 from jamborm at gcc dot gnu dot org 2009-06-23 13:21
---
The miscompiled file seems to be gas/tc-i386.o. Early SRA is enough to trigger
the problem. Digging deeper...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40493
--- Comment #11 from hjl dot tools at gmail dot com 2009-06-23 13:40
---
(In reply to comment #10)
> The miscompiled file seems to be gas/tc-i386.o. Early SRA is enough to
> trigger
> the problem. Digging deeper...
>
tc-i386.c uses union with bit fields. See opcodes/i386-opc.h
for
--- Comment #7 from jamborm at gcc dot gnu dot org 2009-06-23 14:12 ---
Fixed
--
jamborm at gcc dot gnu dot org changed:
What|Removed |Added
Status|ASSIGNED
--- Comment #2 from rolf dot wester at ilt dot fraunhofer dot de
2009-06-23 14:24 ---
Subject: Re: csr_wrap.cxx:46551: error: missing callgraph
edge for call stmt:
rguenth at gcc dot gnu dot org wrote:
> --- Comment #1 from rguenth at gcc dot gnu dot org 2009-06-23 10:06
>
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-06-23 14:25 ---
Thus fixed.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCO
--- Comment #5 from janus at gcc dot gnu dot org 2009-06-23 15:43 ---
(In reply to comment #2)
> The missing checks are due to the following code in interface.c
> (compare_parameter):
>
> if (formal->ts.type == BT_DERIVED
> && formal->ts.derived && formal->ts.derived->ts.is_iso_
--- Comment #7 from drow at gcc dot gnu dot org 2009-06-23 15:49 ---
Nope. It would be somewhere between hard and impossible to do in the linker,
because these have to go in the middle of the .text section, and within
compile-time known offsets from the using functions (to accommodate l
--- Comment #6 from janus at gcc dot gnu dot org 2009-06-23 15:54 ---
Here is a maximally reduced test case, which yields the same error as
iso_c_binding_rename_1.f90 (if the code from comment #2 is removed):
module rename
use, intrinsic :: iso_c_binding, only: my_c_ptr_0 => c_ptr
end
--- Comment #12 from jamborm at gcc dot gnu dot org 2009-06-23 16:45
---
Reduced testcase:
extern void abort (void);
typedef union i386_operand_type
{
struct
{
unsigned int reg8:1;
unsigned int reg16:1;
unsigned int reg32:1;
unsigned int reg64:1;
un
Binutils and glibc implemented STT_GNU_IFUNC:
http://groups.google.com/group/generic-abi
A new ifunc attribute can provide user access to this
feature at C language level. Several options:
1. Ifunc attribute with argument:
int foo (
);
__typeof (foo) *
__attribute__ ((ifunc ("foo")))
foo_ifunc
--- Comment #12 from mkuvyrkov at gcc dot gnu dot org 2009-06-23 17:21
---
(In reply to comment #11)
> Still, I don't think a target hook is the solution. Even if it adds hack over
> hack, having the "funny precedence" rules only before reload could be a
> solution.
For the record, I
--- Comment #14 from sje at gcc dot gnu dot org 2009-06-23 18:28 ---
Subject: Bug 39297
Author: sje
Date: Tue Jun 23 18:28:26 2009
New Revision: 148862
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148862
Log:
2009-06-23 Steve Ellcey
PR testsuite/39297
* gcc
--- Comment #6 from jwakely dot gcc at gmail dot com 2009-06-23 18:32
---
This seems to be fixed in all open branches (4.3+)
--
jwakely dot gcc at gmail dot com changed:
What|Removed |Added
-
--- Comment #9 from jwakely dot gcc at gmail dot com 2009-06-23 18:40
---
The library pieces of Doug's patch that still need to be applied are:
* include/std/tuple (_Tuple_impl): Use lvalue references when
explicitly specifying the template argument to std::move.
--- Comment #1 from jakub at gcc dot gnu dot org 2009-06-23 19:19 ---
See http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#613
and http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145375
--
jakub at gcc dot gnu dot org changed:
What|Removed
--- Comment #6 from paolo dot carlini at oracle dot com 2009-06-23 19:41
---
As far as I'm concerned, we could also close the PR as WONFIX, in particular
since we have an excellent workaround: --enable-clocale=generic.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40511
gcc -v -save-temps -o
/home/mjordan/Download/build/linux2/source/blender/radiosity/intern/source/radfactors.o
-c -O3 -Wno-char-subscripts -Wdeclaration-after-statement -pipe -fPIC
-funsigned-char -fno-strict-aliasing -mtune=core2 -march=core2
-findirect-inlining -floop-interchange -floop-strip-mine
--- Comment #1 from rperini at email dot it 2009-06-23 19:55 ---
Created an attachment (id=18054)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18054&action=view)
The preprocessed source file.
The output from gcc -v -save-temps
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4
--- Comment #2 from rperini at email dot it 2009-06-23 20:19 ---
If you remove the flag "-ffast-math" compilation goes well.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40529
--- Comment #1 from jakub at gcc dot gnu dot org 2009-06-23 20:23 ---
Introduced by PR34691 fix - r145709.
--
jakub at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #3 from roland at redhat dot com 2009-06-23 20:27 ---
I don't understand. Why can't it print the source-level variable name?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40517
--- Comment #5 from dominiq at lps dot ens dot fr 2009-06-23 20:46 ---
> Dominique, to ignore a particular warning you can use dg-prune-output.
Yes I know that, but it is not a general solution.
Could someone make the call for this pr, either with the patch in comment #0 or
by XFAIL po
--- Comment #6 from dominiq at lps dot ens dot fr 2009-06-23 20:49 ---
BTW the problem is still there, see
http://gcc.gnu.org/ml/gcc-testresults/2009-06/msg01902.html
FAIL: gcc.dg/vect/section-anchors-pr27770.c (test for excess errors)
FAIL: gcc.dg/vect/section-anchors-vect-69.c (test f
I imagine a bitfield which does not specify 'signed' or 'unsigned'
will often be a bug in user code - maybe the programmer did not
know or did not remember that 'int i:3;' can be unsigned.
I suggest a warning for that in user code. Maybe included in
-Wextra, but I cannot guess how much such corre
Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20090618-1.c -w -O0 -lm
-o /test/gnu/gcc/objdir/gcc/testsuite/gcc/20090618-1.x0(timeout = 300)
/usr/ccs/bin/ld: Unsatisfied symbols:
mempcpy (first refer
Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/gcc/testsuite/gcc.dg/builtins-65.c -O2 -ffast-math -lm -o
bu
iltins-65.exe(timeout = 300)
/usr/ccs/bin/ld: Unsatisfied symbols:
link_error (first referenced in /var/tmp//ccyLWKiQ.o) (code)
Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/gcc/testsuite/gcc.dg/ucnid-11.c -std=c99
-fextended-identifiers
-fdata-sections -lm -o ./ucnid-11.exe(timeout = 300)
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/ucnid-11.c:1:0: warning: -fdata-secti
Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/gcc/testsuite/gcc.dg/vector-4.c-ansi -pedantic-errors -S -o
vector-4.s(timeout = 300)
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/vector-4.c:11:1: warning: alignment (16)
for a exceeds maximum alig
--- Comment #7 from mckelvey at maskull dot com 2009-06-24 02:47 ---
(In reply to comment #6)
> As far as I'm concerned, we could also close the PR as WONFIX, in particular
> since we have an excellent workaround: --enable-clocale=generic.
>
I'm trying that now. If it works, then WONTF
GCC 4.5.0 20090618.
bug.cc:
--
typedef void (__attribute__((__stdcall__)) * F)();
template struct S {
S(T s) { T t = s; }
};
void f(F g)
{
S h = g;
}
--
bug.cc: In function 'void f(void (*)())
--- Comment #10 from christian dot joensson at gmail dot com 2009-06-24
05:56 ---
Backing out gcc commit r148408 from gcc trunk , using binutils 2.19.51.20090623
cvs checkout (03:52:32 UTC 2009), for r148850, gets bootstrap to complete.
Testresults posted at
http://gcc.gnu.org/ml/gcc-te
Dear all,
When I try to compile the sample code at the end of this report with
"gcc -ansi -pedantic-errors -Wall essai.c -o essai", I get the error :
/usr/include/bits/resource.h:161: erreur: comma at end of enumerator list
If I remove the "-pedantic-errors", the compilation goes fine.
Here i
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-06-24 06:16 ---
/usr/include/bits/resource.h is not controlled by GCC.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
--
--- Comment #2 from bpiguet at teaser dot fr 2009-06-24 06:28 ---
(In reply to comment #1)
> /usr/include/bits/resource.h is not controlled by GCC.
>
OK.
Before I make the same error again, any hints on the project which controls
/usr/include/bits/resource.h ? I guess it might be li
--- Comment #1 from ubizjak at gmail dot com 2009-06-24 06:35 ---
Can you put HAVE_C99_RUNTIME around problematic conversions (just copy the
approach from builtins-18.c) ?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40532
62 matches
Mail list logo