https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66624
--- Comment #7 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
markus@x4 ~ % clang++ -fsanitize=undefined -O0 -g t.cc
markus@x4 ~ % gdb ./a.out
Reading symbols from ./a.out...done.
(gdb) b __ubsan::ScopedReport::~ScopedReport
Breakpoint 1 at 0x41f5c0: file
/home/markus/llvm/projects/compiler-rt/lib/ubsan/ubsan_diag.cc, line 364.
(gdb) run
Starting program: /home/markus/a.out 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
/usr/lib64/gcc/x86_64-pc-linux-gnu/5.2.1/include/g++-v5/bits/ios_base.h:102:24:
runtime error: load of value 4294967221, which is not a valid value for type
'std::_Ios_Fmtflags'

Breakpoint 1, __ubsan::ScopedReport::~ScopedReport (this=0x7fffffffdec0,
__in_chrg=<optimized out>) at
/home/markus/llvm/projects/compiler-rt/lib/ubsan/ubsan_diag.cc:364
364     ScopedReport::~ScopedReport() {
(gdb) up
#1  0x0000000000420a5f in handleLoadInvalidValue (Data=<optimized out>,
Val=4294967221, Opts=...) at
/home/markus/llvm/projects/compiler-rt/lib/ubsan/ubsan_handlers.cc:375
375                                        : ErrorType::InvalidEnumLoad);
(gdb) up
#2  0x0000000000422dd3 in __ubsan::__ubsan_handle_load_invalid_value
(Data=<optimized out>, Val=<optimized out>)
    at /home/markus/llvm/projects/compiler-rt/lib/ubsan/ubsan_handlers.cc:385
385       handleLoadInvalidValue(Data, Val, Opts);
(gdb) up
#3  0x0000000000425cad in std::operator&= (__a=@0xf09ec0: 4098, __b=4294967221)
at /usr/lib64/gcc/x86_64-pc-linux-gnu/5.2.1/include/g++-v5/bits/ios_base.h:102
102       { return __a = __a & __b; }
(gdb) up
#4  0x0000000000425a21 in std::ios_base::setf (this=0xf09ea8 <std::cout+8>,
__fmtfl=std::_S_hex, __mask=std::_S_basefield)
    at
/usr/lib64/gcc/x86_64-pc-linux-gnu/5.2.1/include/g++-v5/bits/ios_base.h:660
660           _M_flags &= ~__mask;
(gdb) p __mask
$1 = std::_S_basefield
(gdb)

Reply via email to