On Fri, 22 Dec 2023, 22:04 Andrew Pinski via Gcc, wrote: > On Fri, Dec 22, 2023 at 1:54 PM Olavi Esker via Gcc > wrote: > > > > Hello, > > > > #include > > #include > > > > int main() > > { > > std::int8_t myInt{65}; > > myInt += 1; > > std::cout << myInt; > > } > > > > Guess what this returns? > > Character "B". > > > > int main() > > { > > std::int8_t myInt{}; > > std::cin >> myInt; > > std::cout << myInt; > > } > > This will also read a character, and > > print the characters ascii value. > > So if I give it 3, it read it as '3', and prints out 51. > > > > > > The compiler gives no warning of this whatsoever with the flags: > > "-std=c++20", > > "-pedantic-errors", > > "-Wall", > > "-Wpedantic", > > "-Wshadow", > > "-Wcast-align", > > "-Wlogical-op", > > "-Wno-unused-parameter", > > "-Weffc++", > > "-Wextra", > > "-Wconversion", > > "-Wsign-conversion". > > > > > > t does seem like a mistake to have `signed char` and `unsigned char` > > display as characters rather than numbers, since `char` is a distinct > type. > > And so `char` could display as a character and the other two as integers. > > > > Wish you can change this. > > First this is the wrong email list, it should be sent to gcc-help@. > Second, your subject line can be read as being offensive to some folks > due to the use of the phrase "lives matter". > (The thread has moved to gcc-help now) Third, this is what the C++ standard says it should be. And it might > be better to be brought up to a C++ forum rather than one about the > GCC implementation of the C++ standard. > > Thanks, > Andrew Pinski > > > > > Thanks. > > OE >