https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69138

--- Comment #4 from Xi Ruoyao <ryxi at stu dot xidian.edu.cn> ---
Created attachment 40950
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40950&action=edit
Another way to show this bug

This test case also exploits this bug.

In this lim<long> should be the same as limlong, but g++ (trunk) only
warns about the latter:

~~~
pr69138-2.cpp: In function 'long unsigned int limlong(bool)':
pr69138-2.cpp:23:16: warning: integer overflow in expression [-Woverflow]
     return b ? -limits<long>::min : limits<long>::max;
~~~

No warnings generated for lim<long>(bool).

Reply via email to