lebedev.ri added a comment. In https://reviews.llvm.org/D48958#1160853, @lebedev.ri wrote:
> In https://reviews.llvm.org/D48958#1160848, @vsk wrote: > > > <...> > > The stage2 build traps before it finishes: > > > > FAILED: lib/IR/AttributesCompatFunc.inc.tmp > > cd > > /Users/vsk/src/builds/llvm.org-lldbsan-stage2-R/tools/clang/stage2-bins && > > /Users/vsk/src/builds/llvm.org-lldbsan-stage2-R/tools/clang/stage2-bins/bin/llvm-tblgen > > -gen-attrs -I /Users/vsk/src/llvm.org-lldbsan/llvm/lib/IR -I > > /Users/vsk/src/llvm.org-lldbsan/llvm/include > > /Users/vsk/src/llvm.org-lldbsan/llvm/lib/IR/AttributesCompatFunc.td -o > > lib/IR/AttributesCompatFunc.inc.tmp -d lib/IR/AttributesCompatFunc.inc.d > > /Users/vsk/src/llvm.org-lldbsan/llvm/include/llvm/ADT/DenseMap.h:732:66: > > runtime error: implicit cast from type 'uint64_t' (aka 'unsigned long > > long') of value 4294967296 (64-bit, unsigned) to type 'unsigned int' > > changed the value to 0 (32-bit, unsigned) > > /bin/sh: line 1: 96848 Abort trap: 6 > > > > > > This looks like a false positive to me. It's complaining about > > `static_cast<unsigned>(NextPowerOf2(...))`, but the static_cast is explicit. > > > Good to know, so the stack-based logic for `ExplicitCastExpr` detection needs > further tests/refinements.. creduced down to: template <typename a> a b(a c, const a &d) { if (d) ; return c; } int e = b<unsigned>(4, static_cast<unsigned>(4294967296)); int main() {} https://godbolt.org/g/1kwGk9 $ ./a.out test.cpp:6:46: runtime error: implicit cast from type 'long' of value 4294967296 (64-bit, signed) to type 'unsigned int' changed the value to 0 (32-bit, unsigned) #0 0x232f56 in _GLOBAL__sub_I_test.cpp (/home/lebedevri/CREDUCE/a.out+0x232f56) #1 0x232fbc in __libc_csu_init (/home/lebedevri/CREDUCE/a.out+0x232fbc) #2 0x7fa8c113aaa7 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x22aa7) #3 0x212029 in _start (/home/lebedevri/CREDUCE/a.out+0x212029) Repository: rC Clang https://reviews.llvm.org/D48958 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits