diff --git a/ClangVisitor.cpp b/ClangVisitor.cpp index 67b951103b2714484474256d925272de376301c7..e58334e41e500c5cb11a2ba995b8911b9064b9f1 100644 --- a/ClangVisitor.cpp +++ b/ClangVisitor.cpp @@ -9169,8 +9169,7 @@ bool FramacVisitor::VisitVarDecl(clang::VarDecl* Decl) { clang::APValue* resultingValue = Decl->evaluateValue(); if (resultingValue) { constantType = Decl->hasExternalStorage()?ICEXTERNCONST:ICSTATICCONST; - clang::APValue* resultingValue = Decl->evaluateValue(); - value=(int64_t) resultingValue->getInt().getLimitedValue(UINT64_MAX); + value = resultingValue->getInt().getExtValue(); } }; }; diff --git a/tests/basic/oracle/init.res.oracle b/tests/basic/oracle/init.res.oracle index 73e0ee39162006a101040c412c027c9b12f21394..45b89a05d3807f6e6eeb040e364cd86673e52a77 100644 --- a/tests/basic/oracle/init.res.oracle +++ b/tests/basic/oracle/init.res.oracle @@ -46,8 +46,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info = .number_of_base_classes = 0, .pvmt = (struct _frama_c_vmt *)0}; myStruct s = {.a = {(char)0}}; -static int const I = (int)4294967295; -static long const L = (long)4294967295; +static int const I = -1; +static long const L = (long)(-1); static long long const LL = (long long)(-1); int main(void) {