]> granicus.if.org Git - clang/commit
[c++20] Implement most of P1152R4.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 9 Oct 2019 00:49:40 +0000 (00:49 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 9 Oct 2019 00:49:40 +0000 (00:49 +0000)
commit254170520fef51111331fb5a22c75ebfef881483
treef91990b4b0ea6340204128d17394ca51ff711d84
parentbe100f24a1899bd5ff18c71519651ec7fdbf5d1d
[c++20] Implement most of P1152R4.

Diagnose some now-deprecated uses of volatile types:
 * as function parameter types and return types
 * as the type of a structured binding declaration
 * as the type of the lvalue operand of an increment / decrement /
   compound assignment operator

This does not implement a check for the deprecation of simple
assignments whose results are used; that check requires somewhat
more complexity and will be addressed separately.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@374133 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/DiagnosticGroups.td
include/clang/Basic/DiagnosticSemaKinds.td
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExpr.cpp
lib/Sema/SemaType.cpp
test/SemaCXX/deprecated.cpp
www/cxx_status.html