You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[clang][ExprConst] Consider integer pointers of value 0 nullptr
When casting a 0 to a pointer type, the IsNullPtr flag was always set
to false, leading to weird results like a pointer with value 0 that
isn't a null pointer.
This caused
struct B { const int *p;};
template<B> void f() {}
template void f<B{nullptr}>();
template void f<B{fold(reinterpret_cast<int*>(0))}>();
to be valid code, since nullptr and (int*)0 aren't equal. This seems
weird and GCC doesn't behave like this.
0 commit comments