: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
struct M {
constexpr M() :p{},sz{},cz{}{}
public:
char* p;
unsigned sz;
unsigned cap;
};
struct A { M a,b,c; A(); };
A::A() :a{},b{},c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56277
Bug #: 56277
Summary: libgcc.a and libgcc_eh.a should be compiled with
function-level linking
Classification: Unclassified
Product: gcc
Version: 4.7.2
Statu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56277
--- Comment #3 from msharov at users dot sourceforge.net 2013-02-11 00:33:03
UTC ---
(In reply to comment #2)
> Do you think you have an example where adding -ffunction-sections can help for
> the compiled libgcc.a ?
No, sorry. Ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56583
Bug #: 56583
Summary: ICE with constexpr ctor and nested structs and unions
Classification: Unclassified
Product: gcc
Version: 4.7.2
Status: UNCONFIRMED
Severity: nor
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56598
Bug #: 56598
Summary: Optimizer can't invert conditional when inlining a
bool function
Classification: Unclassified
Product: gcc
Version: 4.7.2
Status: UNCO
: target
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Created attachment 30122
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30122&action=edit
The emitted assembly exhibiting the ordering problem
This is on x86_64, compiled w
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
struct A { short a,b; A (void); };
A::A (void) : a(0),b(0) {}
void MoveA (const A* a, A* b) { *b = *a; }
Generates:
_ZN1AC2Ev
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23684
--- Comment #12 from msharov at users dot sourceforge.net ---
I'd like to add that this is not some corner case; this is a very common issue.
In my own projects, the compiler's inability to combine stores is the single
largest reason
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53380
Bug #: 53380
Summary: .ehframe could be smaller
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53380
--- Comment #3 from msharov at users dot sourceforge.net 2012-05-22 11:21:41
UTC ---
> Did -fno-asynchronous-unwind-tables do what you wanted it to do? In that
> disable the unwinding tables when not using exceptions?
No, it did no
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53380
--- Comment #5 from msharov at users dot sourceforge.net 2012-05-22 18:53:32
UTC ---
(In reply to comment #4)
> Adding default handling if there is no FDE is an ABI change, so can't be done
> on existing architectures (except those tha
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52888
Bug #: 52888
Summary: Unable to inline function pointer call with inexact
signature match
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57288
--- Comment #2 from Mike Sharov ---
(In reply to Andrew Pinski from comment #1)
> Can you attach the preprocessed source which is used to create this assembly
> file?
I'm afraid not. This call has been created by a gigantic collection of
template
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
typedef float v16sf __attribute__((vector_size(16)));
v16sf f (v16sf x)
{ return (__builtin_ia32_shufps (x, x, 0xff)); }
Compiled on a Haswell 4770 with -march=native -O emits:
vshufps $255
++
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
int main (void)
{
if constexpr (false)
static_assert (false, "this should not be compiled");
return 0;
}
g++ 8.1 fails compiling the branc
++
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
template
struct integral_constant {
using value_type = T;
static constexpr const value_type value = v;
constexpr operator value_type (void) const
: target
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
struct alignas(16) A {
A (void) :a(0),b(0),c(0),d(0) {}
int a,b,c,d;
};
__attribute__((noinline)) void UseA (A& a) { a.a=1; }
int main (void)
{
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80354
Mike Sharov changed:
What|Removed |Added
CC||msharov at users dot
sourceforge.n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80354
--- Comment #9 from Mike Sharov ---
(In reply to Martin Sebor from comment #8)
> A simple way to avoid the warning while also avoiding bugs resulting from
> unhandled truncation is to detect it and abort if it happens, e.g.
First of all, you mig
onent: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
#include
struct A {
A (void) {}
virtual ~A (void) {}
A (const A&) = delete;
void operator= (const A&) = delete;
};
struct B : pub
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
-Weffc++ warns about missing operator= and copy ctor in a class containing a
const pointer. The intent of the warning is to detect
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85858
--- Comment #2 from Mike Sharov ---
(In reply to Jonathan Wakely from comment #1)
> (In reply to Mike Sharov from comment #0)
> > When the pointer is const, it can not point to owned memory
> Why not?
Because a const pointer can not be freed. By
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85858
--- Comment #4 from Mike Sharov ---
(In reply to Jonathan Wakely from comment #3)
> Nothing stops you deallocating a const pointer.
According to http://en.cppreference.com/w/cpp/memory/new/operator_delete
The delete operator takes a void* and at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85858
--- Comment #6 from Mike Sharov ---
(In reply to Jonathan Wakely from comment #5)
> Nope, see the C++ standard:
>
> [ Note: A pointer to a const type can be the operand of a
> delete-expression;
Ok, I guess; you have to follow the standard, a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85858
--- Comment #8 from Mike Sharov ---
(In reply to Jonathan Wakely from comment #7)
> Your mental model of C++ is simply not how the language works.
My mental model here is actually of const correctness, not C++ specifically.
When I pass around a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85858
--- Comment #12 from Mike Sharov ---
(In reply to Jonathan Wakely from comment #10)
> It's simply not how C++ works.
Quite right. I already agreed with you here; we are arguing about whether it
/should/ work this way :)
> An object's lifetime i
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85697
--- Comment #2 from Mike Sharov ---
I previously filed bug #49127 about the non-SSE version of the same xor/mov
optimization. Perhaps both could be addressed in the same manner with a more
general capability of zeroing with a register when doing
nt: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
struct C {
struct const_iterator {
auto& operator++() { return *this; }
};
};
Compiling with -Weffc++ gives warning:
t.cc:3:24: warning: pre
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
void write64 (void* p)
{
unsigned* p1 = (unsigned*) __builtin_assume_aligned (p, 8);
*p1++ = 0;
unsigned* p2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49127
Summary: -Os generates constant mov instead of instruction xor
and mov when zeroing
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: enhancement
Priority:
ent: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
Created attachment 50315
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50315&action=edit
std::strong_ordering and incorrect duration code
When erronously dec
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99429
Mike Sharov changed:
What|Removed |Added
Attachment #50315|0 |1
is obsolete|
: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: msharov at users dot sourceforge.net
Target Milestone: ---
int rotate_argv (const char** argv, int first, int mid, int end)
{
const char** p = argv+first;
int n1 = mid
33 matches
Mail list logo