summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-10-09 18:45:17 +0000
committerDouglas Gregor <dgregor@apple.com>2011-10-09 18:45:17 +0000
commitc4475e8cd615995793f445286af616ba0cd6a4dd (patch)
treed4d46994a4153bcda0a149ad79f3ebf9abae732d
parent4d328b6e1643c973826b2f7c388649bc655e6ad8 (diff)
downloadbcm5719-llvm-c4475e8cd615995793f445286af616ba0cd6a4dd.tar.gz
bcm5719-llvm-c4475e8cd615995793f445286af616ba0cd6a4dd.zip
When building source location information for an _Atomic type, be sure
to fill in the source locations for the underlying value type. Fixes an intermittent crasher (due to uninitialized data) in the PCH test for _Atomic types. llvm-svn: 141512
-rw-r--r--clang/lib/Sema/SemaType.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp
index 1e0c2d60c4a..154b2a83f99 100644
--- a/clang/lib/Sema/SemaType.cpp
+++ b/clang/lib/Sema/SemaType.cpp
@@ -2885,6 +2885,10 @@ namespace {
void VisitAtomicTypeLoc(AtomicTypeLoc TL) {
TL.setKWLoc(DS.getTypeSpecTypeLoc());
TL.setParensRange(DS.getTypeofParensRange());
+
+ TypeSourceInfo *TInfo = 0;
+ Sema::GetTypeFromParser(DS.getRepAsType(), &TInfo);
+ TL.getValueLoc().initializeFullCopy(TInfo->getTypeLoc());
}
void VisitTypeLoc(TypeLoc TL) {
OpenPOWER on IntegriCloud