From: DeLesley Hutchins Date: Fri, 30 May 2014 18:20:04 +0000 (+0000) Subject: Thread Safety Analysis: fix handling of string and char literals. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c951e3394fc8cab3d1a2552fb8d312752234657f;p=clang Thread Safety Analysis: fix handling of string and char literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209913 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Analysis/Analyses/ThreadSafetyTIL.h b/include/clang/Analysis/Analyses/ThreadSafetyTIL.h index e84af077f9..8e4299ea70 100644 --- a/include/clang/Analysis/Analyses/ThreadSafetyTIL.h +++ b/include/clang/Analysis/Analyses/ThreadSafetyTIL.h @@ -237,7 +237,7 @@ inline ValueType ValueType::getValueType() { template<> inline ValueType ValueType::getValueType() { - return ValueType(BT_Pointer, getSizeType(sizeof(StringRef)), false, 0); + return ValueType(BT_String, getSizeType(sizeof(StringRef)), false, 0); } template<> diff --git a/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h b/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h index 322a3b589e..bc1490b4a4 100644 --- a/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h +++ b/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h @@ -599,6 +599,10 @@ protected: SS << E->value(); } + void printLiteralT(LiteralT *E, StreamType &SS) { + SS << "'" << E->value() << "'"; + } + void printLiteral(Literal *E, StreamType &SS) { if (E->clangExpr()) { SS << getSourceLiteralString(E->clangExpr());