]> granicus.if.org Git - clang/commit
DR330: look through array types when forming the cv-decomposition of a type.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 11 Jul 2018 00:19:19 +0000 (00:19 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 11 Jul 2018 00:19:19 +0000 (00:19 +0000)
commit295c88685f7c285358db0d83f1fc315ac23677e3
tree054f8c88ea571d0fddb19dcb52bc312451994ba2
parent3c6b78637e54fd4bc2f6413e2f34439b51da65fa
DR330: look through array types when forming the cv-decomposition of a type.

This allows more qualification conversions, eg. conversion from
   'int *(*)[]' -> 'const int *const (*)[]'
is now permitted, along with all the consequences of that: more types
are similar, more cases are permitted by const_cast, and conversely,
fewer "casting away constness" cases are permitted by reinterpret_cast.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@336745 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/ASTContext.h
lib/AST/ASTContext.cpp
lib/Sema/SemaCast.cpp
lib/Sema/SemaOverload.cpp
lib/StaticAnalyzer/Core/SValBuilder.cpp
test/CXX/drs/dr3xx.cpp
test/SemaCXX/const-cast.cpp
www/cxx_dr_status.html