GCC13, c++, cygwin 64:
auto x = 9223372036854775808L
gives the warning: "integer constant is so large that it is unsigned"
But actually the type is signed __int128:
std::cout << x;
gives the error: "ambiguous overload for ‘operator<<’ (operand types are
‘std::ostream’ {aka ‘std::basic_ostre
I wrote some simple program that set a signal handler for SIGFPE, throws a C++
exception in the signal handler
and catches the exception.
I compiled with and without -fnon-call-exceptions (on x64 Linux).
In both cases, the result was the same: the exception was caught and the
destructors were cal
>Von: "Jakub Jelinek"
>An: "Helmut Zeisel"
>Cc: gcc@gcc.gnu.org
>Betreff: Re: GCC 13.1 compile error when using CXXFLAGS=-std=c++20
>On Thu, Apr 27, 2023 at 11:09:19AM +0200, Helmut Zeisel via Gcc wrote:
>> I compiled GCC 13.1.0 with GCC 12 and had the
I compiled GCC 13.1.0 with GCC 12 and had the environment variable CXXFLAGS set
to -std=c++20
This gives the error (both linux and cygin)
gcc-13.1.0/libstdc++-v3/src/c++98/bitmap_allocator.cc:51:23: error: ISO C++17
does not allow dynamic exception specifications
51 | _M_get(size_t __sz) th
Von: "Jonathan Wakely"
> What exactly are you suggesting for the semantics of the warning?
Good question. It is difficult to detect all suspiscious cases, but at least
some of the can be defined:
If we have a function prototype
f(...,Ti xi,...Tj xj,...)
and call the function f(... xi, ..
Recently I read about Value-Oriented Programming
( https://accu.org/journals/overload/31/173/teodorescu/ )
There it is pointed out that sharing mutable data. i. e., code like
my_push_back(vec, vec[0]);
can lead to subtle errors. Of course GCC cannot change C++ to a language like
Val that forbids