[compiler-rt] r280110 - Split ScarinessScore between its "storage" (POD), and an initializing object.
Filipe Cabecinhas via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 30 10:08:47 PDT 2016
Author: filcab
Date: Tue Aug 30 12:08:47 2016
New Revision: 280110
URL: http://llvm.org/viewvc/llvm-project?rev=280110&view=rev
Log:
Split ScarinessScore between its "storage" (POD), and an initializing object.
Summary:
This is needed so we can use it for D23672 on VS2013, since this VS
version doesn't support unrestricted unions, and doesn't allow us to
uses an object without a trivial default constructor inside a union.
Reviewers: kcc, samsonov
Subscribers: kubabrecka, llvm-commits
Differential Revision: https://reviews.llvm.org/D24029
Modified:
compiler-rt/trunk/lib/asan/asan_scariness_score.h
Modified: compiler-rt/trunk/lib/asan/asan_scariness_score.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_scariness_score.h?rev=280110&r1=280109&r2=280110&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_scariness_score.h (original)
+++ compiler-rt/trunk/lib/asan/asan_scariness_score.h Tue Aug 30 12:08:47 2016
@@ -34,10 +34,10 @@
#include "sanitizer_common/sanitizer_libc.h"
namespace __asan {
-class ScarinessScore {
- public:
- ScarinessScore() {
+struct ScarinessScoreBase {
+ void Clear() {
descr[0] = 0;
+ score = 0;
}
void Scare(int add_to_score, const char *reason) {
if (descr[0])
@@ -52,16 +52,23 @@ class ScarinessScore {
Printf("SCARINESS: %d (%s)\n", score, descr);
}
static void PrintSimple(int score, const char *descr) {
- ScarinessScore SS;
- SS.Scare(score, descr);
- SS.Print();
+ ScarinessScoreBase SSB;
+ SSB.Clear();
+ SSB.Scare(score, descr);
+ SSB.Print();
}
private:
- int score = 0;
+ int score;
char descr[1024];
};
+struct ScarinessScore : ScarinessScoreBase {
+ ScarinessScore() {
+ Clear();
+ }
+};
+
} // namespace __asan
#endif // ASAN_SCARINESS_SCORE_H
More information about the llvm-commits
mailing list