diff options
-rw-r--r-- | cfrontend/C2C.ml | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cfrontend/C2C.ml b/cfrontend/C2C.ml index f8905a60..bdddd14a 100644 --- a/cfrontend/C2C.ml +++ b/cfrontend/C2C.ml @@ -419,9 +419,13 @@ let rec convertExpr env e = else Evalof(l, ty) - | C.EConst(C.CInt(i, _, _)) -> + | C.EConst(C.CInt(i, k, _)) -> + if k = C.ILongLong || k = C.IULongLong then + unsupported "'long long' integer literal"; Eval(Vint(convertInt i), ty) - | C.EConst(C.CFloat(f, _, _)) -> + | C.EConst(C.CFloat(f, k, _)) -> + if k = C.FLongDouble then + unsupported "'long double' floating-point literal"; Eval(Vfloat(f), ty) | C.EConst(C.CStr s) -> let ty = typeStringLiteral s in |