[Bug c++/77896] Object vtable lookups are not hoisted out of loops

2016-10-08 Thread scovich at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77896 --- Comment #5 from Ryan Johnson --- In an ideal world, C++ would disallow such behavior by default, with a function attribute of some kind that flags cases where a type change might occur (kind of like how c++11 assumes `nothrow()` for destructo

[Bug c++/77896] Object vtable lookups are not hoisted out of loops

2016-10-08 Thread scovich at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77896 --- Comment #4 from Ryan Johnson --- Yikes. That explains it, all right. I never would have thought of an object destroying itself and changing its type with placement new... I guess it must be subject to the same restrictions as `delete this`

[Bug c++/77896] Object vtable lookups are not hoisted out of loops

2016-10-07 Thread scovich at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77896 --- Comment #1 from Ryan Johnson --- It appears that multiple calls to different virtual functions of the same object are not optimized, either (each performs the same load-load-jump operation).

[Bug c++/77896] New: Object vtable lookups are not hoisted out of loops

2016-10-07 Thread scovich at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com Target Milestone: --- C++ virtual function calls normally require two memory loads followed by an indirect jump: one load fetches the vtable from the object, another to fetch the function

[Bug c++/68859] Add a less strict/smarter version of -Wreorder

2015-12-11 Thread scovich at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68859 --- Comment #1 from Ryan Johnson --- (I would be happy to do some legwork on this if somebody is willing to send a few pointers by PM. I know the code in gcc/cp/init.c, particularly functions `perform_member_init` and `sort_mem_initializers` are

[Bug c++/68859] New: Add a less strict/smarter version of -Wreorder

2015-12-11 Thread scovich at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com Target Milestone: --- I am working with a large legacy code base that triggers a huge number of warnings when compiled with -Wreorder (or -Wall, which enables it). I am not making any excuses

[Bug c++/67866] New: False positive -Wshift-count-overflow on template code that checks for shift count overflow

2015-10-06 Thread scovich at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com Target Milestone: --- The following code snippet evokes an obviously unhelpful warning: bug.cpp template unsigned long int

[Bug c++/61991] Destructors not always called for statically initialized thread_local objects

2015-07-10 Thread scovich at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61991 --- Comment #1 from Ryan Johnson --- C++14 (N3652 [1]) specifically alters the Standard to state that a thread_local object with static or constexpr initialization may have a non-trivial destructor (implying that such a destructor should actually

[Bug c++/65656] __builtin_constant_p should always be constexpr

2015-06-25 Thread scovich at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65656 --- Comment #3 from Ryan Johnson --- (In reply to Jason Merrill from comment #2) > Author: jason > Date: Tue Apr 28 14:43:59 2015 > New Revision: 222531 > > URL: https://gcc.gnu.org/viewcvs?rev=222531&root=gcc&view=rev > Log: > PR c++/6565

[Bug c++/65656] New: __builtin_constant_p should be constexpr

2015-04-01 Thread scovich at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com Consider the following program compiled with `gcc -std=c++11' = bug.cpp = #include int main(int argc, char *argv[]) { constexpr bool x = __builtin_constant_p(argc); std::printf("

[Bug c++/61991] New: Destructors not always called for statically initialized thread_local objects

2014-08-01 Thread scovich at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com If a thread_local object is statically initialized---trivial or constexpr constructor---but has a non-trivial destructor, the destructor will only run

[Bug inline-asm/49611] Inline asm should support input/output of flags

2014-06-02 Thread scovich at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 --- Comment #9 from Ryan Johnson --- (In reply to Andi Kleen from comment #7) > You can do many of these things these days with asm goto, however it > typically requires non-structured control flow (goto labels). I filed this bug after determinin

[Bug c++/61372] New: Add warning to detect noexcept functions that might throw

2014-05-30 Thread scovich at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com The C++11 standard adds the "noexcept" specification that lets the programmer assert that a function does not throw any exceptions (terminating executi

[Bug inline-asm/49611] Inline asm should support input/output of flags

2014-05-30 Thread scovich at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 --- Comment #6 from Ryan Johnson --- (In reply to Jeremy from comment #5) > It may not be possible, but perhaps a simpler thing might be for > the asm() to notionally "return" a single boolean value which > reflects ONE flag only. Interesting!

[Bug c++/14932] [3.4/4.0 Regression] cannot use offsetof to get offsets of array elements in g++ 3.4.0 prerelease

2014-05-28 Thread scovich at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14932 Ryan Johnson changed: What|Removed |Added CC||scovich at gmail dot com --- Comment #16

[Bug rtl-optimization/10474] shrink wrapping for functions

2013-11-25 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10474 --- Comment #20 from Ryan Johnson --- Hi Martin, (PM reply because I don't have up-to-date information to file a proper bug report with) On 25/11/2013 9:57 AM, jamborm at gcc dot gnu.org wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1047

[Bug rtl-optimization/10474] shrink wrapping for functions

2013-11-25 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10474 --- Comment #18 from Ryan Johnson --- (In reply to Martin Jambor from comment #17) > The testcase is now shrink-wrapped on ppc64 and x86_64, it is not on > others such as i?86 because parameter-passing ABI basically prevents > it. If any of the t

[Bug c++/58051] New: No named return value optimization when returned object is implicitly converted

2013-08-01 Thread scovich at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com The following test case introduces an extra object copy, even though none should be required: // <<<--- bug.cpp --->>> extern

[Bug c++/58050] New: RVO fails when calling static function through unnamed temporary

2013-08-01 Thread scovich at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com Return value optimization is not applied when calling a static member function via an unnamed temporary (value or pointer, it doesn't matter). Calling the fun

[Bug c++/58022] [4.8 Regression] Compiler rejects abstract class in template class with friend operator<

2013-07-29 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58022 --- Comment #3 from Ryan Johnson --- (In reply to Paolo Carlini from comment #1) > Please try to reduce the testcase further, no includes. You have a number of > options here: http://gcc.gnu.org/wiki/A_guide_to_testcase_reduction Sorry, I thought

[Bug c++/58022] New: Compiler rejects abstract class in template class with friend operator<

2013-07-29 Thread scovich at gmail dot com
normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com First, apologies for the vague subject line, I really don't know what to call this bug... Consider the following test case: // <<&

[Bug c++/57971] New: Improve copy elision when returning structs by value

2013-07-24 Thread scovich at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: scovich at gmail dot com Hi all, In the testcase below, bar() and baz() perform copy elision as expected, but blah() does not, in spite of its being functionally identical to baz(): #include struct foo { foo

[Bug c++/55288] Improve handling/suppression of maybe-uninitialized warnings

2012-11-12 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55288 --- Comment #2 from Ryan Johnson 2012-11-12 21:11:43 UTC --- (In reply to comment #1) > Why don't just initialize the variable? It seems simpler than implementing yet > another special attribute in GCC. In the original program, the "var

[Bug c++/55288] New: Improve handling/suppression of maybe-uninitialized warnings

2012-11-12 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55288 Bug #: 55288 Summary: Improve handling/suppression of maybe-uninitialized warnings Classification: Unclassified Product: gcc Version: 4.7.1 Status: UNCONFIR

[Bug inline-asm/49611] Inline asm should support input/output of flags

2012-04-12 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 --- Comment #3 from Ryan Johnson 2012-04-12 16:39:32 UTC --- FYI: based on a discussion from quite some time ago [1], it seems that the Linux kernel folks would be "tickled pink" to have this feature, and discussed several potential ways to imple

[Bug middle-end/32074] Optimizer does not exploit assertions

2012-03-28 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32074 --- Comment #5 from Ryan Johnson 2012-03-29 02:46:50 UTC --- (In reply to comment #4) > We have __builtin_unreachable() now which should allow for this optimization. I've been using __builtin_unreachable() for some time now, and it's very nice f

[Bug c++/52637] New: ICE producing debug info for c++11 code using templates/decltype/lambda

2012-03-20 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52637 Bug #: 52637 Summary: ICE producing debug info for c++11 code using templates/decltype/lambda Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFI

[Bug c++/52529] New: Compiler rejects template code inconsistently

2012-03-07 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52529 Bug #: 52529 Summary: Compiler rejects template code inconsistently Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Prio

[Bug tree-optimization/50346] Function call foils VRP/jump-threading of redundant predicate on struct member

2012-03-07 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50346 --- Comment #8 from Ryan Johnson 2012-03-07 14:28:29 UTC --- (In reply to comment #7) > On Wed, 7 Mar 2012, scovich at gmail dot com wrote: > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50346 > > > > --- Comment #6

[Bug tree-optimization/50346] Function call foils VRP/jump-threading of redundant predicate on struct member

2012-03-07 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50346 --- Comment #6 from Ryan Johnson 2012-03-07 13:31:19 UTC --- (In reply to comment #5) > On Wed, 12 Oct 2011, scovich at gmail dot com wrote: > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50346 > > > > --- Comment #4

[Bug bootstrap/52513] gcc-4.7.0-RC-20120302 fails to build for i686-pc-cygwin

2012-03-07 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52513 --- Comment #2 from Ryan Johnson 2012-03-07 13:02:50 UTC --- (In reply to comment #1) > 4.6 should be broken as well for you? Oops. I reported wrong in my OP. I've actually been using a home-built 4.6.2 for some time now... and it is the host com

[Bug bootstrap/52513] New: gcc-4.7.0-RC-20120302 fails to build for i686-pc-cygwin

2012-03-06 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52513 Bug #: 52513 Summary: gcc-4.7.0-RC-20120302 fails to build for i686-pc-cygwin Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED S

[Bug c++/52166] New: c++0x required to import standard c++ headers?

2012-02-07 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52166 Bug #: 52166 Summary: c++0x required to import standard c++ headers? Classification: Unclassified Product: gcc Version: 4.6.2 Status: UNCONFIRMED Severity: normal Pri

[Bug tree-optimization/50346] Function call foils VRP/jump-threading of redundant predicate on struct member

2011-10-12 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50346 --- Comment #4 from Ryan Johnson 2011-10-12 12:40:25 UTC --- (In reply to comment #3) > Well, it's a tree optimization issue. It's simple - the local aggregate f > escapes the function via the member function call to baz: > > : > foo::baz (&f

[Bug c++/50346] New: Function call foils VRP/jump-threading of redundant predicate on struct member

2011-09-09 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50346 Bug #: 50346 Summary: Function call foils VRP/jump-threading of redundant predicate on struct member Classification: Unclassified Product: gcc Version: 4.6.1 Status:

[Bug c++/50312] New: ICE when calling offsetof() illegally on incomplete template class

2011-09-06 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50312 Bug #: 50312 Summary: ICE when calling offsetof() illegally on incomplete template class Classification: Unclassified Product: gcc Version: 4.6.1 Status: UNCONFIRMED

[Bug inline-asm/49611] Inline asm should support input/output of flags

2011-07-04 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 --- Comment #2 from Ryan Johnson 2011-07-04 20:32:01 UTC --- (In reply to comment #1) > Making this work reliably is probably more work than making GCC use the flags > from more cases from regular C code. Does that mean each such case would need

[Bug inline-asm/49611] New: Inline asm should support input/output of flags

2011-07-01 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 Summary: Inline asm should support input/output of flags Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: inline-asm Assi

[Bug middle-end/49035] Avoid setting up stack frame for short, hot code paths

2011-05-17 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49035 --- Comment #1 from Ryan Johnson 2011-05-18 02:56:23 UTC --- Update: using __attribute__((noinline)) it is actually possible to force the compiler to do the right thing, though it makes the code significantly less readable: === example.cpp =

[Bug middle-end/49035] New: Avoid setting up stack frame for short, hot code paths

2011-05-17 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49035 Summary: Avoid setting up stack frame for short, hot code paths Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: middle-end

[Bug c++/46143] __attribute__((optimize)) emits wrong code

2010-10-22 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46143 --- Comment #4 from Ryan Johnson 2010-10-22 23:06:53 UTC --- As I said, the stack smashing was only there to make the behavior consistent. If the offending stack location happens to contain zero, the bug would go unnoticed (try adding 'long n[1]'

[Bug c++/46143] __attribute__((optimize)) emits wrong code

2010-10-22 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46143 Ryan Johnson changed: What|Removed |Added Attachment #22129|0 |1 is obsolete|

[Bug c++/46143] New: __attribute__((optimize)) emits wrong code

2010-10-22 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46143 Summary: __attribute__((optimize)) emits wrong code Product: gcc Version: 4.5.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig..

[Bug c++/45968] New: ICE: tree code 'template_type_parm' is not supported in gimple streams with -flto

2010-10-11 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45968 Summary: ICE: tree code 'template_type_parm' is not supported in gimple streams with -flto Product: gcc Version: lto Status: UNCONFIRMED Severity: normal Priority:

[Bug lto/45959] [4.6 Regression] ICE: tree code 'template_type_parm' is not supported in gimple streams with -flto/-fwhopr

2010-10-11 Thread scovich at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45959 Ryan Johnson changed: What|Removed |Added CC||scovich at gmail dot com --- Comment #6

[Bug debug/43828] Emit debug info allowing inlined functions to show in stack traces

2010-05-07 Thread scovich at gmail dot com
--- Comment #6 from scovich at gmail dot com 2010-05-07 21:20 --- Aha! The problem is not that gcc fails to emit the proper debug info, it's that it doesn't always track well which instructions came from which function. For example, if we compile this toy program: int

[Bug debug/43828] Emit debug info allowing inlined functions to show in stack traces

2010-05-07 Thread scovich at gmail dot com
--- Comment #5 from scovich at gmail dot com 2010-05-07 20:12 --- Belated follow-up: I just tried to use sparc-sun-solaris2.10-gcc-4.4.0 (built from sources) and it does not emit the DW_AT_call_* debug attributes which gdb expects in order to unwind inlined functions. I have searched

[Bug debug/43828] Emit debug info allowing inlined functions to show in stack traces

2010-04-23 Thread scovich at gmail dot com
--- Comment #4 from scovich at gmail dot com 2010-04-23 23:29 --- > Try the -i option of addr2line. Ah, very nice. It turns out I was using a 4.0-series gcc, which according to gdb's docs doesn't output quite enough debug information to reconstruct inlined stack traces;

[Bug debug/43828] Emit debug info allowing inlined functions to show in stack traces

2010-04-21 Thread scovich at gmail dot com
--- Comment #1 from scovich at gmail dot com 2010-04-21 09:29 --- (In reply to comment #0) One more way debugging would improve: it would become possible to set breakpoints in inlined functions -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43828

[Bug debug/43828] New: Emit debug info allowing inlined functions to show in stack traces

2010-04-21 Thread scovich at gmail dot com
y: Emit debug info allowing inlined functions to show in stack traces Product: gcc Version: unknown Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu

[Bug bootstrap/43301] top-level configure script ignores ---with-build-time-tools

2010-03-08 Thread scovich at gmail dot com
--- Comment #1 from scovich at gmail dot com 2010-03-09 01:04 --- (In reply to comment #0) > Let's just say this led to extremely frustrating behavior until I decided to > start digging... To be more specific, the gcc/as wrapper is generated with: ORIGINAL_AS

[Bug bootstrap/43301] New: top-level configure script ignores ---with-build-time-tools

2010-03-08 Thread scovich at gmail dot com
gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC host triplet: i686-pc-cygwin GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43301

[Bug c/35503] Warning about restricted pointers?

2009-11-26 Thread scovich at gmail dot com
--- Comment #2 from scovich at gmail dot com 2009-11-27 07:45 --- I've also run into this. Perhaps the machinery which tracks strict aliasing (and generates best-effort warnings) could be used here? ... adding this comment instead of filing a duplicate :P -- scovich at gmai

[Bug tree-optimization/39390] [4.4 Regression] Bogus aliasing warning with std::set

2009-11-17 Thread scovich at gmail dot com
--- Comment #10 from scovich at gmail dot com 2009-11-17 11:16 --- (In reply to comment #3) > the warning is for dead code. Thus this is not a > wrong-code problem. Just to verify, does this (and comment #7) mean that the warning is harmless and can be ignored? --

[Bug middle-end/42077] New: std::set: dereferencing pointer '__x.15' does break strict-aliasing rules

2009-11-17 Thread scovich at gmail dot com
Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC host triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42077

[Bug bootstrap/42028] Bootstrap fails for mpfr/gmp not in LD_LIBRARY_PATH

2009-11-13 Thread scovich at gmail dot com
--- Comment #1 from scovich at gmail dot com 2009-11-13 10:35 --- Hmm.. it seems the final executable depends on mpfr and gmp as well... I could have sworn the docs said it was a build-time dependency only. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42028

[Bug bootstrap/42028] New: Bootstrap fails for mpfr/gmp not in LD_LIBRARY_PATH

2009-11-13 Thread scovich at gmail dot com
y: trivial Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC host triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42028

[Bug inline-asm/40124] Inline asm should support limited control flow

2009-05-13 Thread scovich at gmail dot com
--- Comment #11 from scovich at gmail dot com 2009-05-13 09:51 --- > If you allow inline asms to change control flow, even just > to labels whose address has been taken through &&label, you > penalize a lot of code which doesn't change the control > flow, as

[Bug inline-asm/40124] Inline asm should support limited control flow

2009-05-13 Thread scovich at gmail dot com
--- Comment #9 from scovich at gmail dot com 2009-05-13 07:55 --- RE: __builtin_expect -- Thanks! It did help quite a bit, even though the compiler was already emitting not-taken branch hints on its own. RE: Filing bugs -- I have. This RFE arose out of Bug #40078, which was triggered

[Bug inline-asm/40124] Inline asm should support limited control flow

2009-05-12 Thread scovich at gmail dot com
--- Comment #7 from scovich at gmail dot com 2009-05-12 17:01 --- Isn't __builtin_expect a way to send branch prediction hints? I'm not having trouble with that AFAIK. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40124

[Bug inline-asm/40124] Inline asm should support limited control flow

2009-05-12 Thread scovich at gmail dot com
--- Comment #4 from scovich at gmail dot com 2009-05-12 16:36 --- I'm actually running sparcv9-sun-solaris2.10 (the examples used x86 because more people know it and its asm is easier to read). My use case is the following: I'm implementing high-performance synchronization

[Bug inline-asm/40124] Inline asm should support limited control flow

2009-05-12 Thread scovich at gmail dot com
--- Comment #2 from scovich at gmail dot com 2009-05-12 16:13 --- Overflow and adc were only examples. Other instructions that set cc, or other conditions (e.g. parity) would not have that optimization. Another use is the ability to jump out of an inline asm to handle an uncommon case

[Bug inline-asm/40124] New: Inline asm should support limited control flow

2009-05-12 Thread scovich at gmail dot com
labels.1894(%rip), %rax jmp *%rax .p2align 4,,7 .L5: leaq12(%rsp), %rdx callhandle_overflow .L4: movl12(%rsp), %eax movq16(%rsp), %rbx movq24(%rsp), %rbp addq$32, %rsp ret -- Summary:

[Bug middle-end/37722] destructors not called on computed goto

2009-05-09 Thread scovich at gmail dot com
--- Comment #2 from scovich at gmail dot com 2009-05-09 08:16 --- Computed gotos can easily make it impossible for the compiler to call constructors and destructors consistently. This is a major gotcha of computed gotos for people who have used normal gotos in C++ and expect destructors

[Bug middle-end/40078] passing label to inline asm "i" constraint generates bad code

2009-05-08 Thread scovich at gmail dot com
--- Comment #2 from scovich at gmail dot com 2009-05-08 23:24 --- Sorry to bring this back up, but I'm not sure if comments show up in a meaningful way on closed bugs... 1. where does is it documented that inline asm can't change control flow? I can't find it in the

[Bug middle-end/40078] New: passing label to inline asm "i" constraint generates bad code

2009-05-08 Thread scovich at gmail dot com
D Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC target triplet: sparc-sun-solaris2.10 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40078

[Bug target/40067] use brz instead of cmp/be with 32-bit values

2009-05-08 Thread scovich at gmail dot com
--- Comment #3 from scovich at gmail dot com 2009-05-08 11:30 --- > What|Removed |Added > > GCC target triplet|sparc-sun-solaris2.10 |sparc64-sun-solaris2.10 I t

[Bug middle-end/40067] gcc should use brz(brnz) instead of cmp/be(bne) when possible

2009-05-08 Thread scovich at gmail dot com
--- Comment #1 from scovich at gmail dot com 2009-05-08 09:38 --- Sorry, the C code should have been: long spin(int volatile* ptr) { long rval=0; while(*ptr) rval++; return rval; } -- scovich at gmail dot com changed: What|Removed

[Bug c/40067] New: gcc should use brz(brnz) instead of cmp/be(bne) when possible

2009-05-08 Thread scovich at gmail dot com
possible Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC target triplet: sparc-sun

[Bug libgomp/29986] testsuite failures

2008-04-09 Thread scovich at gmail dot com
--- Comment #4 from scovich at gmail dot com 2008-04-09 15:18 --- If it's any help, adding some inline asm to the file makes the Sun toolchain croak on my machine. SunOS 5.10 Generic_118833-23 sun4v sparc SUNW,Sun-Fire-T200 Sun C 5.9 SunOS_sparc Patch 124867-01 2007/07/12 Solaris

[Bug c++/34184] Scope broken for inherited members inside template class?

2007-12-11 Thread scovich at gmail dot com
--- Comment #4 from scovich at gmail dot com 2007-12-11 17:27 --- (In reply to comment #3) > Note you can declare a specialization of foo::bar which shows that the code > is really dependent. > Duh! That's perfect. Thanks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34184

[Bug target/34115] atomic builtins not supported on i686?

2007-11-28 Thread scovich at gmail dot com
--- Comment #9 from scovich at gmail dot com 2007-11-28 14:20 --- (In reply to comment #8) > (In reply to comment #7) > > Too bad they aren't defined for any machine I've tried so far... > > The explanation is very simple: the new macros are implemented only i

[Bug target/34115] atomic builtins not supported on i686?

2007-11-27 Thread scovich at gmail dot com
--- Comment #7 from scovich at gmail dot com 2007-11-28 01:56 --- (In reply to comment #2) > I think this is essentially invalid. Note that now we also have the various > __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* macros: > > http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined

[Bug c++/34184] Scope broken for inherited members inside template class?

2007-11-22 Thread scovich at gmail dot com
--- Comment #2 from scovich at gmail dot com 2007-11-23 02:06 --- Subject: Re: Scope broken for inherited members inside template class? On 22 Nov 2007 21:03:11 -, pinskia at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: > The issue comes down to if bar is dependent he

[Bug c++/34184] New: Scope broken for inherited members inside template class?

2007-11-21 Thread scovich at gmail dot com
ass? Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34184

[Bug target/34115] atomic builtins not supported on i686?

2007-11-15 Thread scovich at gmail dot com
--- Comment #6 from scovich at gmail dot com 2007-11-16 01:04 --- (In reply to comment #5) > Subject: Re: atomic builtins not supported on i686? > > On 15 Nov 2007 23:53:06 -, joseph at codesourcery dot com > <[EMAIL PROTECTED]> wrote: > > > Because the

[Bug target/34115] atomic builtins not supported on i686?

2007-11-15 Thread scovich at gmail dot com
--- Comment #5 from scovich at gmail dot com 2007-11-16 01:00 --- Subject: Re: atomic builtins not supported on i686? On 15 Nov 2007 23:53:06 -, joseph at codesourcery dot com <[EMAIL PROTECTED]> wrote: > > Because the default arch for i686-linux-gnu is i386. > Wh

[Bug c/34115] New: atomic builtins not supported on i686?

2007-11-15 Thread scovich at gmail dot com
Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC host triplet: i686-pc-cygwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34115

[Bug debug/32990] [Regression] gdb has symbol table issues

2007-08-13 Thread scovich at gmail dot com
--- Comment #7 from scovich at gmail dot com 2007-08-13 21:10 --- (In reply to comment #6) > Sorry, my mistake. I meant readelf -wi (lowercase I). > Unfortunately, I recompiled with 4.1 to get on with debugging, and also updated to 20070810 later that day. Now the bug won'

[Bug debug/32990] [Regression] gdb has symbol table issues

2007-08-10 Thread scovich at gmail dot com
--- Comment #5 from scovich at gmail dot com 2007-08-10 16:50 --- Murphy strikes again -- 5 minutes after closing this bug it popped back up in spite of a clean compile. Apparently `make clean' can change which PC causes complaints but doesn't necessarily fix t

[Bug debug/32990] [Regression] gdb has symbol table issues

2007-08-10 Thread scovich at gmail dot com
--- Comment #4 from scovich at gmail dot com 2007-08-10 16:39 --- The problem comes from adding a member function to a header file and only recompiling some of the source files that include it (make depend missed something). It looked like a regression because changing versions of gcc

[Bug debug/32990] [Regression] gdb has symbol table issues

2007-08-10 Thread scovich at gmail dot com
--- Comment #3 from scovich at gmail dot com 2007-08-10 16:20 --- Created an attachment (id=14050) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14050&action=view) Output of readelf -wf I'm attaching the output of `readelf -wf' This time around some of offendin

[Bug c++/32992] New: Incorrect code generated for anonymous union

2007-08-04 Thread scovich at gmail dot com
nt) b._array[1], (int) b._array[2]); printf("A={%d,%d,%d}\n", (int) a._a, (int) a._b, (int) a._c); return 0; } -- Summary: Incorrect code generated for anonymous union Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority:

[Bug c++/32990] New: [Regression] gdb has symbol table issues

2007-08-04 Thread scovich at gmail dot com
4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32990

[Bug c++/32912] New: [Regression] ICE with C99 compound literal expression

2007-07-27 Thread scovich at gmail dot com
AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32912

[Bug rtl-optimization/32725] Unnecessary reg-reg moves

2007-07-26 Thread scovich at gmail dot com
--- Comment #6 from scovich at gmail dot com 2007-07-26 22:51 --- I've observed several more pieces of code where this bug comes up, and it always seems to be a case of (a) the compiler duplicating a register to preserve the value after a 2-operand insn can clobbers the original,

[Bug c++/32870] New: Unclear error message when declaring struct in wrong namespace

2007-07-23 Thread scovich at gmail dot com
onent: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32870

[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args

2007-07-11 Thread scovich at gmail dot com
--- Comment #6 from scovich at gmail dot com 2007-07-11 20:27 --- (In reply to comment #5) > SImode moves will be a bit harder, because shufps insn pattern is involved in > the vector expansion. IIRC, shufps takes 3 cycles on Core2 (http://www.agner.org/optimize/instruction_tabl

[Bug middle-end/32729] Regression: Loop unrolling not performed with large constant loop bound

2007-07-11 Thread scovich at gmail dot com
--- Comment #2 from scovich at gmail dot com 2007-07-11 16:37 --- Regression: gcc-4.1.2 outputs the expected code for all test cases -- scovich at gmail dot com changed: What|Removed |Added

[Bug middle-end/32729] Loop unrolling not performed with large constant loop bound

2007-07-11 Thread scovich at gmail dot com
--- Comment #1 from scovich at gmail dot com 2007-07-11 16:36 --- (In reply to comment #0) > // g++ -mtune=core2 -O3 -S -dp Oops... that doesn't actually unroll loop() all, though it still peels loop_few(). Adding -funroll-loops (supposedly enabled by -O3?) unrolls loop(

[Bug middle-end/32729] New: Loop unrolling not performed with large constant loop bound

2007-07-11 Thread scovich at gmail dot com
oop bound Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC tar

[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args

2007-07-11 Thread scovich at gmail dot com
--- Comment #3 from scovich at gmail dot com 2007-07-11 15:10 --- This bug also causes _mm_cvtsi128_si64x() (which calls __builtin_ia32_vec_ext_v2di) to emit suboptimal code. // g++-4.3-070710 -mtune=core2 -O3 -S -dp #include long vector2long(__m128i* src) { return _mm_cvtsi128_si64x

[Bug target/32661] __builtin_ia32_vec_ext suboptimal for pointer/ref args

2007-07-11 Thread scovich at gmail dot com
--- Comment #2 from scovich at gmail dot com 2007-07-11 15:03 --- (In reply to comment #1) > Confirmed, not a regression. > Also affects 4.3. Changing target -- scovich at gmail dot com changed: What|Removed

[Bug middle-end/32725] New: Unnecessary reg-reg moves

2007-07-10 Thread scovich at gmail dot com
Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32725

[Bug middle-end/32711] Regression: ICE when using inline asm constraint "X"

2007-07-09 Thread scovich at gmail dot com
--- Comment #2 from scovich at gmail dot com 2007-07-09 23:27 --- (In reply to comment #1) > "X" constraint means anything matches. Now why we are ICEing is a bit weird. I started using it because "g" doesn't seem to allow xmm references. Fortunately, &q

[Bug middle-end/32711] New: Regression: ICE when using inline asm constraint "X"

2007-07-09 Thread scovich at gmail dot com
traint "X" Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32711

[Bug middle-end/32708] New: _mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient

2007-07-09 Thread scovich at gmail dot com
inefficient Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC t

[Bug middle-end/32662] Significant extra code generation for 64x64=>128-bit multiply

2007-07-07 Thread scovich at gmail dot com
--- Comment #3 from scovich at gmail dot com 2007-07-07 14:55 --- While it's nice that the new optimization framework can eliminate the redundant IMUL instruction(s), why were they being generated in the first place? Compiling the simpler foo() without optimizations

[Bug middle-end/32662] New: Significant extra code generation for 64x64=>128-bit multiply

2007-07-06 Thread scovich at gmail dot com
d AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32662

[Bug middle-end/32661] New: __builtin_ia32_vec_ext suboptimal for pointer/ref args

2007-07-06 Thread scovich at gmail dot com
or pointer/ref args Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: scovich at gmail dot com GCC target tripl

  1   2   >