summaryrefslogtreecommitdiffstats
path: root/clang/tools/c-index-test/c-index-test.c
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2016-12-01 23:41:27 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2016-12-01 23:41:27 +0000
commit5dda1128f17b6a79740d9f549bac4a3db5d45ac2 (patch)
tree289f9603e568037a430aa86065d790bef394d4aa /clang/tools/c-index-test/c-index-test.c
parent734c59d501315192e12d9b6450139f5b02c2f8cb (diff)
downloadbcm5719-llvm-5dda1128f17b6a79740d9f549bac4a3db5d45ac2.tar.gz
bcm5719-llvm-5dda1128f17b6a79740d9f549bac4a3db5d45ac2.zip
[libclang] Add APIs to check the result of an integer expression in CXEvalResult without overflow
Patch by Emilio Cobos Álvarez! See https://reviews.llvm.org/D26788 llvm-svn: 288438
Diffstat (limited to 'clang/tools/c-index-test/c-index-test.c')
-rw-r--r--clang/tools/c-index-test/c-index-test.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c
index 2878ba26aff..de87351059f 100644
--- a/clang/tools/c-index-test/c-index-test.c
+++ b/clang/tools/c-index-test/c-index-test.c
@@ -2462,8 +2462,14 @@ static void display_evaluate_results(CXEvalResult result) {
switch (clang_EvalResult_getKind(result)) {
case CXEval_Int:
{
- int val = clang_EvalResult_getAsInt(result);
- printf("Kind: Int , Value: %d", val);
+ printf("Kind: Int, ");
+ if (clang_EvalResult_isUnsignedInt(result)) {
+ unsigned long long val = clang_EvalResult_getAsUnsigned(result);
+ printf("unsigned, Value: %llu", val);
+ } else {
+ long long val = clang_EvalResult_getAsLongLong(result);
+ printf("Value: %lld", val);
+ }
break;
}
case CXEval_Float:
OpenPOWER on IntegriCloud