Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
On this code
static bool is_even(unsigned a)
{
return a % 2 == 0;
}
bool same_evenness(uns
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112480
--- Comment #7 from Ivan Sorokin ---
(In reply to Jonathan Wakely from comment #6)
> + // The following seems redundant but improves codegen, see PR 112480.
> + if constexpr (is_trivially_destructible_v<_Tp>)
> +
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112480
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
int x = auto(42); // OK
int y(auto(42)); // error
On the second line GCC -std=c++23 gives an error:
error: non-function 'y' declared as implicit template
I believe
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99087
Ivan Sorokin changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111718
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
ity: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
On this function clang generates shorter code:
unsigned foo(unsigned x, unsigned y, unsigned c)
{
return x & ~c | (y | c);
}
Cl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98710
--- Comment #8 from Ivan Sorokin ---
> How often these show up, I have no idea.
Perhaps I should have written this in the original message.
The original expression "(x | c) & ~(y | c)" is obviously a reduced version of
what happens in real
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98710
--- Comment #7 from Ivan Sorokin ---
(In reply to Andrew Pinski from comment #6)
> Fixed.
Thank you!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109986
--- Comment #5 from Ivan Sorokin ---
(In reply to CVS Commits from comment #4)
> commit r14-2751-g2a3556376c69a1fb588dcf25225950575e42784f
> Author: Drew Ross
> Co-authored-by: Jakub Jelinek
Thank you!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110561
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
GCC gives -Wuninitialized on this code:
#include
uint16_t test()
{
uint32_t foo32[4] = {0, 0, 0, 0};
uint16_t* foo16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109986
--- Comment #3 from Ivan Sorokin ---
I tried to investigate why GCC is able to simplify `(a | b) ^ a` and `(a | ~b)
^ a` from comment 2, but not similarly looking `(~a | b) ^ a` from comment 0.
`(a | b) ^ a` matches the following pattern from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109986
--- Comment #1 from Ivan Sorokin ---
(In reply to Ivan Sorokin from comment #0)
> int foo(int a, int b)
> {
> return (~a | b) ^ a;
> }
>
> This can be optimized to `return ~(a | b);`. This transformation is done by
> LLVM, but not by GCC.
middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
int foo(int a, int b)
{
return (~a | b) ^ a;
}
This can be optimized to `return ~(a | b);`. This transformation is done by
LLVM, but not by GCC.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71990
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109570
--- Comment #1 from Ivan Sorokin ---
Generalizing. Perhaps similarly free(NULL) can be detected?
void* obj = malloc(...);
if (!obj)
{
free(obj);
return false;
}
Unliky fclose(NULL), free(NULL) is completely well defined operation, but
: analyzer
Assignee: dmalcolm at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
While cleaning up one not particularly well written program I noticed this code
fragment:
FILE* file = fopen(...);
if (!file)
{
fclose(file);
return false;
}
Passing
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
On this function
short test(short* a)
{
*a = 1;
return *a;
}
latest gcc -O2 generates:
test(short*):
mov eax, 1
mov WORD PTR [rdi], ax
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108219
--- Comment #5 from Ivan Sorokin ---
(In reply to Patrick Palka from comment #4)
> Fixed for GCC 13 so far
Thank you very much!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66968
--- Comment #10 from Ivan Sorokin ---
One more case (from 108676):
template
struct X
{};
template
X f();
template
X g();
int main()
{
g();
}
Here 'X' is printed in the error message instead of 'X'.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108676
Ivan Sorokin changed:
What|Removed |Added
Resolution|--- |DUPLICATE
Status|NEW
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66968
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108676
--- Comment #1 from Ivan Sorokin ---
I added a broken link to godbolt, here is a valid one:
https://godbolt.org/z/EE5eezW1r
++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Consider this code:
template
struct X
{};
template
X f();
template
X g();
int main()
{
g();
}
On GCC 12.2 it gives this error message:
:13:12: error: no matching
++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
This code compiles OK on clang, MSVC and GCC prior to 12:
template
concept test = requires
{
new T[1]{{ 42 }};
};
struct foobar
{
foobar(int);
};
int main
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
I believe this function contains undefined behavior and should not be allowed
to evaluate at compile-time.
The call to `std::destroy_at(p
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
This functions causes undefined behavior and should not be evaluated at
compile-time.
The problem is the second argument
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107161
--- Comment #2 from Ivan Sorokin ---
> Do constexpr/consteval work in such circumstances?
Yes, constexpr works for variables like "p.a":
extern constexpr mytype p = {1, 2};
int foo()
{
constexpr int t = p.a + 10;
return t;
}
foo():
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
On this code:
struct mytype
{
int a;
mutable int b;
};
extern mytype const p = {1, 2};
int foo()
{
return p.a + 10
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103382
Ivan Sorokin changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101706
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98709
Ivan Sorokin changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19987
Bug 19987 depends on bug 98709, which changed state.
Bug 98709 Summary: gcc optimizes bitwise operations, but doesn't optimize
logical ones
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98709
What|Removed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105762
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105864
--- Comment #5 from Ivan Sorokin ---
I would suggest (In reply to Andrew Pinski from comment #4)
> nullptr_t t, t1 = nullptr;
> __builtin_memcpy([0], , sizeof(t));
> So I suspect this should be marked as invalid.
The questions is how GCC
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Currently storing a nullptr_t to memory causes 0 to be written to that memory.
As there is no way to read this value back
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
This sample is reduced from a real usage of shared_ptr.
#include
#include
struct sp_counted_base
{
sp_counted_base
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104503
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105141
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Consider this code:
namespace a
{
namespace c
{}
struct a
{};
namespace b = a::c; // (1)
using
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
On this code GCC says:
typedef int foo = 42;
error: typedef 'foo' is initialized (use 'decltype' instead)
I believe this error message is quite confusing
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103559
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103382
--- Comment #3 from Ivan Sorokin ---
> Huh, I thought it was noexcept. Then yes, we should remove it.
Thank you very much! I'm looking forward for a fix.
> There are still lots of other places where the stadnard does require
> 'noexcept' and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103382
--- Comment #1 from Ivan Sorokin ---
Please note there was a related issue PR67726. I hope it is possible to meet
the requirements mentioned in the issue as well as enabling cancellation.
: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
At the moment condition_variable::wait() is marked noexcept. It means that if
pthread_cond_wait() acts as cancellation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102881
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Normally GCC combines a/b and a%b into one operation when they are computed in
the same basic-block. The example below has two functions. For one GCC
++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Consider this code:
struct mytype
{
mytype();
mytype(mytype const&);
mytype(mytype&&);
};
void test()
{
mytype e;
throw e;
}
Currently for function test() G
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61355
--- Comment #6 from Ivan Sorokin ---
(In reply to Patrick Palka from comment #5)
> Fixed for GCC 12.
Thanks!
: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
void escape(unsigned long long& a);
void foobar()
{
unsigned long long local;
escape(local);
}
For the function "foobar" GCC allocates excessive stack space:
foobar(
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98774
--- Comment #4 from Ivan Sorokin ---
I retested the sample on GCC 11.2.
https://godbolt.org/z/xrarP3zbY
Compared to Clang 12.0.1 GCC still generates 6 more instructions in total and
does 6 mulpd against Clang's 4 mulpd.
++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
struct mytype
{
int memfun [[gnu::pure]] ();
};
void test()
{
mytype x;
x.memfun();// -Wunused-value
mytype().memfun(); // no -Wunused-value
}
https://godbolt.org/z
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3507
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #60
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95014
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99797
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94355
--- Comment #7 from Ivan Sorokin ---
For me the support for operator new works well for trivially constructible
types. For a non-trivially constructible type I got a false positive:
struct foo { foo(); };
int main()
{
delete new foo();
}
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94355
--- Comment #6 from Ivan Sorokin ---
I played with -fanalyzer on godbolt (GCC trunk). I noticed that -fanalyzer
doesn't report double free in this (convoluted) case:
#include
int main()
{
int* p = new int;
delete p;
free(p);
}
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Consider this program:
typedef int& ref;
int main()
{
int a;
ref{a};
}
This is accepted by clang,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99418
--- Comment #8 from Ivan Sorokin ---
If I understand #c5 correctly the minimal reproducer should be this:
void g(int&);
void f()
{
int a[10];
int& p = a[10]; // (1)
g(a[10]); // (2)
}
Both (1) and (2) are undefined and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99418
--- Comment #7 from Ivan Sorokin ---
(In reply to Martin Liška from comment #3)
> That said, can we close it as resolved?
I'm sorry for not being clear from the beginning. The original report was about
-fsanitize=bounds sanitizer which
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99418
--- Comment #6 from Ivan Sorokin ---
(In reply to Jakub Jelinek from comment #4)
> Asan can't by design detect neither #c0 nor #c1, only ubsan can.
> The reason why ubsan has that off by one stuff is that in C/C++,
> [n - 1][m] is not undefined
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99418
--- Comment #2 from Ivan Sorokin ---
It looks like this is related to ignore_off_by_one parameter of
ubsan_instrument_bounds.
As can be seen in gimple the problematic .UBSAN_BOUNDS checks against array
size plus 1.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99418
--- Comment #1 from Ivan Sorokin ---
Here is the reduced example. It doesn't SIGSEGV, but it doesn't report any
sanitizer errors either:
$ g++ -g -fsanitize=bounds 3.cpp
$ cat 3.cpp
#include
void escape(int& a)
{}
void test(size_t n, size_t
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
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, marxin at
gcc dot
: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
These two are functionally the same, but generate different code with g++ -O2:
unsigned long long foo(unsigned long long a)
{
return a / 3;
}
unsigned long long
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91400
--- Comment #2 from Ivan Sorokin ---
I've sent a patch to gcc-patches mailing list:
https://gcc.gnu.org/pipermail/gcc-patches/2021-February/564663.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82640
Ivan Sorokin changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98774
--- Comment #3 from Ivan Sorokin ---
(In reply to Hongtao.liu from comment #1)
> It's fixed in current trunk https://godbolt.org/z/63576n
I can confirm that now GCC does use packed multiplication mulpd. Although it is
used somewhat
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98814
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98775
--- Comment #1 from Ivan Sorokin ---
Created attachment 50016
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50016=edit
nbody-unrolled.cpp
-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Created attachment 50015
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50015=edit
nbody.cpp
On the attached sample (208 LOC), clang 11.0 generates the c
-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Created attachment 50014
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50014=edit
nbody-update-velocity.cpp
In the following sample GCC (-O3 -ffast-m
ity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
On this function clang generates slightly shorter code
unsigned foo(unsigned x, unsigned y, unsigned c)
{
return (x | c
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
GCC 10.2 produces very good code for this function noticing that both sides of
conjuntion are the same:
unsigned foo_bitwise
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98660
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98555
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98501
--- Comment #2 from Ivan Sorokin ---
(In reply to Richard Biener from comment #1)
> I think there's a duplicate of this PR.
I searched the list of bugs and I found PR95663. Is it it?
normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Consider this code:
struct base1 { int a; };
struct base2 { int b; };
struct derived : base1, base2 {};
derived& to_derived_ba
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80016
Ivan Sorokin changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47579
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56719
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #8
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48877
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment #2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94852
--- Comment #6 from Ivan Sorokin ---
(In reply to Richard Biener from comment #1)
> @item -ffloat-store
> @opindex ffloat-store
> Do not store floating-point variables in registers, and inhibit other
> options that might change whether a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94852
--- Comment #4 from Ivan Sorokin ---
(In reply to Richard Biener from comment #1)
> @item -ffloat-store
> @opindex ffloat-store
> Do not store floating-point variables in registers, and inhibit other
> options that might change whether a
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
At the moment -ffloat-store significantly pessimizes the code generation
regardless of whether -mfpmath=sse -msse2 are used or not:
float f(float a, float b)
{
return a + b;
}
-O2
Assignee: dmalcolm at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
At the moment static analyzer warns about leaked malloc. It would be great if
C++ new expression were also supported.
Example:
void f()
{
char* p = new char;
}
Expected diagnostic
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91824
--- Comment #7 from Ivan Sorokin ---
(In reply to Jakub Jelinek from comment #6)
> Fixed.
Thank you!
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Consider this code:
// https://gcc.godbolt.org/z/3U2TTd
#include
template
void g(T);
template
void f() {} // (1
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
GCC shows an error on this code:
template
using foo = decltype([] {});
template
using bar = foo;
extern foo a;
extern bar
: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
gcc -O2 -mpopcnt leaves unnecessary cdqe:
#include
#include
void f(uint64_t& val, __m128i mask)
{
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Clang 8 optimizes both f() and g() to the same code:
bool f()
{
return __builtin_cpu_supports("popcnt") && __builtin_cpu_supports
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90345
--- Comment #4 from Ivan Sorokin ---
Making points-to analysis aware of SESE regions will definitely help here and
is a nice thing to have.
There is one more option. In my reduced test case the body of 'push_back' is
unavailable, but when it is
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Consider the following example (reduced from a real program):
#include
#include
struct big_integer
{
void push_back(uint32_t
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Here is the code:
template
struct bool_constant {};
using true_type = bool_constant;
template
constexpr bool is_same_v = false;
template
constexpr bool is_same_v
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vanyacpp at gmail dot com
Target Milestone: ---
Consider the following piece of code:
struct pair
{
private:
void* first;
unsigned second;
};
struct other
{
pair get() const
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82693
Ivan Sorokin changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60336
Ivan Sorokin changed:
What|Removed |Added
CC||vanyacpp at gmail dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82693
--- Comment #6 from Ivan Sorokin ---
I added files to reproduce the issue: caller.cpp and callee.cpp are the files
that need to be compiled with different compilers. empty.h is common header.
build.sh is a shell script that compiles and run all
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82693
Ivan Sorokin changed:
What|Removed |Added
Attachment #42451|0 |1
is obsolete|
1 - 100 of 153 matches
Mail list logo