aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/parse.c
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-09-03 19:21:32 +0900
committernsfisis <nsfisis@gmail.com>2025-09-03 19:21:32 +0900
commit5541c597cb68f76d1fc53e01b931eb870856843c (patch)
treef7510dff0dd6ab8e9b67f85b3c8b067cfa4a3a9a /src/parse.c
parentcab2491d14c6452f4382ce111a25166ed6e997c9 (diff)
downloadducc-5541c597cb68f76d1fc53e01b931eb870856843c.tar.gz
ducc-5541c597cb68f76d1fc53e01b931eb870856843c.tar.zst
ducc-5541c597cb68f76d1fc53e01b931eb870856843c.zip
feat: partially support floating point number types (parsing only)
Diffstat (limited to 'src/parse.c')
-rw-r--r--src/parse.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parse.c b/src/parse.c
index ecd8e65..9c5eaff 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -1605,6 +1605,12 @@ static Type* distinguish_type_from_type_specifiers(int type_specifiers) {
type_specifiers == (TypeSpecifierMask_unsigned + TypeSpecifierMask_long + TypeSpecifierMask_long +
TypeSpecifierMask_int)) {
return type_new(TypeKind_ullong);
+ } else if (type_specifiers == TypeSpecifierMask_float) {
+ return type_new(TypeKind_float);
+ } else if (type_specifiers == TypeSpecifierMask_double) {
+ return type_new(TypeKind_double);
+ } else if (type_specifiers == TypeSpecifierMask_long + TypeSpecifierMask_double) {
+ return type_new(TypeKind_ldouble);
} else if (type_specifiers == TypeSpecifierMask_struct) {
return NULL;
} else if (type_specifiers == TypeSpecifierMask_union) {