Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dushistov at mail dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28539
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dushistov at mail dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28543
ty: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dushistov at mail dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28588
nt32_t -> uint16_t without warrnings
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dushistov at ma
--- Comment #2 from dushistov at mail dot ru 2007-02-03 21:15 ---
(In reply to comment #1)
> I think this has already been fixed on the trunk with the new -Wconversion
> behaviors:
> http://gcc.gnu.org/wiki/NewWconversion
>
Thaks for reply,
I hope to see this feature in
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
For code bellow, gcc 9.3 from Ubuntu reports error:
```
In file included from /usr/include/c++/9/variant:36
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
$cat test.cpp
//#include
struct vec {
double x;
double y;
double z;
double& operator[](size_t i) {
switch (i) {
case 0:
return x;
ca
++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
$cat what_test.cpp
char c[100];
void f(void)
{
for(int i=0; i < 100; ++i)
c[i] = '0';
}
I run this test with:
cat test.cpp
#include
extern void f();
int main()
{
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57890
Evgeniy Dushistov changed:
What|Removed |Added
Component|target |tree-optimization
--- Comment #2 from
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57890
--- Comment #3 from Evgeniy Dushistov ---
By the way, here is a short summary of running result of compilation test_loop
on my i7 based notebook (the best results):
icc(13.1.3 20130607): 0.228
gcc 4.7 : 0.345
gcc 4.8 : 0.4
: target
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
I tested such simple function on i7-3740QM CPU @ 2.70GHz, with gcc 4.8.1 and
gcc 4.9.0 20130725:
double pi(unsigned int count)
{
unsigned int i;
double p = 0;
double z = 1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57954
--- Comment #3 from Evgeniy Dushistov ---
Great, I tested the patch, at now pi calculation as fast as in "icc", and two
times faster then in clang 3.3.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14741
--- Comment #26 from Evgeniy Dushistov ---
I try such simple C++ function, compiled in separate object file(-march=native
-Ofast):
void mult(const double * const __restrict__ A, const double * const
__restrict__ B, double * const __restrict__ C,
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14741
--- Comment #27 from Evgeniy Dushistov ---
Created attachment 30563
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30563&action=edit
icc -c -Ofast -march=native objdump
++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Simple code:
#include
int main()
{
printf("%s: test1\n", __PRETTY_FUNCTION__);//1
printf("test2\n");//2
return 0;
}
compiled to:
callq 4005a0 <__printf_chk@plt>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58005
--- Comment #4 from Evgeniy Dushistov ---
>Such an optimization can increase code size
>if the same format string is used with
>many different arguments,
may be then two fputs calls?
fputs(__PRETTY_FUNCTION__, stdout);
fputs("%s: test1\n" + 2/*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57954
--- Comment #11 from Evgeniy Dushistov ---
(In reply to Yuri Rumyantsev from comment #9)
> I checked that zeroing of xmm register before conversion leads to
> performance slowdown on SLM (-5%) for proveded test-case. I assume that
>
> with H.J pa
: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Here is example from standard (page 250-251),
class A {
class B { };
friend class X;
};
struct X : A::B { // OK: A::B accessible to friend
A::B mx; // OK: A::B accessible to member of friend
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58054
--- Comment #2 from Evgeniy Dushistov ---
Yes, for C++ 2003 this is invalid code(page 212):
class A {
class B { };
friend class X;
};
class X : A::B { // ill-formed: A::B cannot be accessed
// in the base-clause for X
A::B mx; // OK: A::B used to
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58054
--- Comment #3 from Evgeniy Dushistov ---
Here history of changes of C++ standard that related to this bug:
http://wg21.cmeerw.net/cwg/issue372
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Such simple code accepted by gcc 4.8.1:
struct Foo {
Foo(const char *);
};
Foo::Foo(const char *str = 0)
{
}
There is DR 1344 about it:
http://www.open-std.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53135
Evgeniy Dushistov changed:
What|Removed |Added
CC||dushistov at mail dot ru
--- Comment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53135
--- Comment #3 from Evgeniy Dushistov 2012-07-14
22:18:12 UTC ---
I searched commit which cause error.
Here is result of running test from this bugreport, with such command:
arm-none-eabi-g++ -O2 -g -c /tmp/test.cpp
good:
r182757 | paolo | 2011-
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51231
Bug #: 51231
Summary: g++ remove placement new with -O1
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51231
--- Comment #1 from Evgeniy Dushistov 2011-11-19
21:49:33 UTC ---
The code works as expected for 4.4.5,
and show buggy behaviour with 4.5.3 and 4.6.2.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51231
--- Comment #2 from Evgeniy Dushistov 2011-11-19
22:03:49 UTC ---
Created attachment 25862
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25862
the preprocessed test case
generate from source with command:
g++ -ggdb -c -save-temps -O1 -Wal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51231
--- Comment #3 from Evgeniy Dushistov 2011-11-19
22:07:40 UTC ---
To build test case you need use command:
g++ -ggdb -O1 -Wall -Wextra boost_interp_alloc.cpp -lboost_thread
I use boost 1.46.1.
Or you can use preprocessed attachment to look at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51231
Evgeniy Dushistov changed:
What|Removed |Added
Known to work||4.4.5
Known to fail|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68338
Evgeniy Dushistov changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90397
Evgeniy Dushistov changed:
What|Removed |Added
CC||dushistov at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635
Evgeniy Dushistov changed:
What|Removed |Added
CC||dushistov at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635
--- Comment #20 from Evgeniy Dushistov ---
Also if add one line to code `printf("test\n");`
```
struct FooDeleter {
void operator()(FooOpaque *p) {
printf("test\n");
Foo_free(p);
}
};
```
gcc don't report any warning,
and valgrind a
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55953
Bug #: 55953
Summary: hand loop faster then builtin memset
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55953
--- Comment #2 from Evgeniy Dushistov 2013-01-12
00:05:15 UTC ---
Actually it is not only CPU 64bit related issue, for example the same CPU (i7),
32 bit mode:
variant one:
push %ebp
vmovdqa 0x80488e0,%ymm0
mov%esp,%ebp
pop%
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55953
--- Comment #3 from Evgeniy Dushistov 2013-01-12
00:13:09 UTC ---
Cross compiling for arm, g++ have almost the same version:
arm-angstrom-linux-gnueabi-g++ (Linaro GCC 4.7-2012.10) 4.7.3 20121001:
variant one (for):
movwr3, #2280
++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
#include
#include
#define SHOW std::cout << __PRETTY_FUNCTION__ << "\n"
struct Foo {
Foo() { SHOW; }
Foo(const Foo &) { SHOW; }
org
ReportedBy: dushistov at mail dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43273
--- Comment #3 from dushistov at mail dot ru 2010-03-08 20:18 ---
(In reply to comment #1)
> compiles without problems using 4.4.3 and 4.5.0
>
> if this only fails with GCC 4.2 it's unlikely to get fixed
>
There is something strange here.
I have report that with
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
Created attachment 35562
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35562&action=edit
code exam
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66194
--- Comment #2 from Evgeniy Dushistov ---
(In reply to H.J. Lu from comment #1)
> Which gcc did you use? Please provide a run-time test.
I try gcc 4.6.4, 4.7.4, 4.9.2, 5.1.0.
If you compile attachment on linux/amd64 and run:
./thash
then it gi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66194
--- Comment #3 from Evgeniy Dushistov ---
So step to reproduce:
1)Download attachment
2)Extract
tar xvf dummy_hash.tar
3)Build
cd dummy_hash && make
4)Run
./thash
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66194
--- Comment #6 from Evgeniy Dushistov ---
(In reply to Andrew Pinski from comment #5)
> C standard says this is undefined code.
Where? there is two issues aliasing (but I use -fno-strict-aliasing),
and alignment, c99 of course do not mention exa
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66194
--- Comment #8 from Evgeniy Dushistov ---
(In reply to Markus Trippelsdorf from comment #7)
> 6.3.2.3 p7:
> »A pointer to an object type may be converted to a pointer to a different
> object type. If the resulting pointer is not correctly aligned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66194
--- Comment #10 from Evgeniy Dushistov ---
>ABI requirements are not C requirements always. This paragraph is talking
>about >memory accesses but really it did not take into account other
>requirements of C >correctly.
But where then I can ge
++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
Here is code:
#include
template
class C
{
template //
friend class C;
template
friend bool operator == (C const& c1, C const& c2)
{
return c1.i
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68089
Evgeniy Dushistov changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68195
Evgeniy Dushistov changed:
What|Removed |Added
CC||dushistov at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68195
--- Comment #3 from Evgeniy Dushistov ---
I build gcc with last commit:
commit 06d6724083a2cb1f35e36f4a0db3025bfde20667
Author: nathan
Date: Wed Nov 4 17:01:23 2015 +
* libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
* libg
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68195
--- Comment #4 from Evgeniy Dushistov ---
Created attachment 36650
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36650&action=edit
preprocessed sources
I attached files created with gcc -E from main.cpp and Lib.cpp, hope this helps
reprod
ity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
struct Test {
static const int foo = (1 << sizeof(
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
Target Milestone: ---
With code like this
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68338
--- Comment #2 from Evgeniy Dushistov ---
The problem as I understand assembler in check
that find out is static variable initialized,
clang emit this:
callq 45bdb0 <__tsan_atomic8_load>
while gcc emit
callq 401260 <__tsan_read1@plt>
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
For such code:
#include
template
struct Foo {
std::function f(T p) __attribute__((warn_unused_result)) { return
[p
++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Created attachment 33864
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33864&action=edit
failed test
In attachment source code extracted from llvm/lib/Analysis/LazyValueInfo.cpp
and from co
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63711
--- Comment #1 from Evgeniy Dushistov ---
The bug is reproduced only with gcc-4.9.1.
Today I try gcc-4.9.2 and it disappear.
Component: driver
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
With such simple program:
$ cat /tmp/test2.cpp
#include
#include
int main()
{
std::vector v = {1, 2};
for (auto a : v)
printf("%d\n", a);
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Created attachment 33588
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33588&action=edit
problem code
On my system linux/x86_64 compilation of valgrind w
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63393
Evgeniy Dushistov changed:
What|Removed |Added
Summary|-ffreestanding not work:|[regression]-ffreestanding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63393
--- Comment #4 from Evgeniy Dushistov ---
(In reply to Mikael Pettersson from comment #3)
> I don't know if this is supposed to be "fixed" (for all str* and mem*
> functions one might want to implement oneself), but the standard workaround
> is t
accept invalid: double class name
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dushistov at mail dot ru
mal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
Such code vectorized with gcc 8.3, but failed to vectorized with 9.1.
Last version of clang works just fine.
```
#include
#include
#def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67762
--- Comment #7 from Evgeniy Dushistov ---
Here simple example extracted from Qt 6 git:
```
template
struct Prop {
void notify()
{
if constexpr (Signal != nullptr) {
}
}
};
class QObjectPrivate {
public:
s
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
For such simple function:
__int128 add1(__int128 a, __int128 b) {
return a + b;
}
gcc 8.2 generates for a + b:
mov r9, rdi
mov r10, rsi
add
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
Here simple example extracted from Qt 6 git:
```
template
struct Prop {
void notify()
{
if constexpr (Signal
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dushistov at mail dot ru
Target Milestone: ---
Online demo available here https://godbolt.org/z/6jdKK1K7n .
For code like this:
```
enum class MyEnum { A, B, C, D
65 matches
Mail list logo