summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitch Phillips <mitchphillips@outlook.com>2019-04-30 23:07:10 +0000
committerMitch Phillips <mitchphillips@outlook.com>2019-04-30 23:07:10 +0000
commitfea2ce9367928a8f9b32f02fa4774f0b0c0af81f (patch)
tree6c1547166f2f922e2c2456dd1137c6623f95b0e4
parent3850bab0ef36d549a7b14e233227c45e96ad7d22 (diff)
downloadcompiler-rt-fea2ce9367928a8f9b32f02fa4774f0b0c0af81f.tar.gz
[sanitizer_common] Added 64-bit signed flag parser.
Summary: Adds a 64-bit signed flag parser for GWP-ASan's use. Reviewers: vlad.tsyrklevich, eugenis Subscribers: kubamracek, #sanitizers, llvm-commits, vitalybuka, morehouse, pcc, kcc Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D61342 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359631 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/sanitizer_common/sanitizer_flag_parser.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/sanitizer_common/sanitizer_flag_parser.h b/lib/sanitizer_common/sanitizer_flag_parser.h
index 3b5404a97..ea8bfebed 100644
--- a/lib/sanitizer_common/sanitizer_flag_parser.h
+++ b/lib/sanitizer_common/sanitizer_flag_parser.h
@@ -99,6 +99,15 @@ inline bool FlagHandler<uptr>::Parse(const char *value) {
return ok;
}
+template <>
+inline bool FlagHandler<s64>::Parse(const char *value) {
+ const char *value_end;
+ *t_ = internal_simple_strtoll(value, &value_end, 10);
+ bool ok = *value_end == 0;
+ if (!ok) Printf("ERROR: Invalid value for s64 option: '%s'\n", value);
+ return ok;
+}
+
class FlagParser {
static const int kMaxFlags = 200;
struct Flag {