summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaCast.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-12-16 00:46:30 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-12-16 00:46:30 +0000
commite64941fa6001a06b03a7987d0ff541d17c59d10e (patch)
tree68f2968105289a62504cf0de11f513e38d681128 /clang/lib/Sema/SemaCast.cpp
parentb58f003e866798c64be7868fc930f358e2e64819 (diff)
downloadbcm5719-llvm-e64941fa6001a06b03a7987d0ff541d17c59d10e.tar.gz
bcm5719-llvm-e64941fa6001a06b03a7987d0ff541d17c59d10e.zip
Sema: Check value dependent casts when possible
We know that const_cast<char *>((void)Something) is ill-formed, even if 'Something' is dependent because you can't cast from void to a pointer type. This fixes PR21845. llvm-svn: 224299
Diffstat (limited to 'clang/lib/Sema/SemaCast.cpp')
-rw-r--r--clang/lib/Sema/SemaCast.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaCast.cpp b/clang/lib/Sema/SemaCast.cpp
index d38db87fa5c..a4c2d9b51c2 100644
--- a/clang/lib/Sema/SemaCast.cpp
+++ b/clang/lib/Sema/SemaCast.cpp
@@ -240,10 +240,8 @@ Sema::BuildCXXNamedCast(SourceLocation OpLoc, tok::TokenKind Kind,
QualType DestType = DestTInfo->getType();
// If the type is dependent, we won't do the semantic analysis now.
- // FIXME: should we check this in a more fine-grained manner?
- bool TypeDependent = DestType->isDependentType() ||
- Ex.get()->isTypeDependent() ||
- Ex.get()->isValueDependent();
+ bool TypeDependent =
+ DestType->isDependentType() || Ex.get()->isTypeDependent();
CastOperation Op(*this, DestType, E);
Op.OpRange = SourceRange(OpLoc, Parens.getEnd());
OpenPOWER on IntegriCloud