parent
915a0cc5d6
commit
f71987d34b
@ -0,0 +1,98 @@
|
||||
From ff47ab3b90333bdfaa40b86cb548e92a01787345 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Thu, 25 Aug 2011 11:26:24 +0200
|
||||
Subject: [PATCH] Do not split decimal float suffix from constant
|
||||
|
||||
N1312 draft of ISO/IEC WDTR24732 defines additional floating types
|
||||
with given suffixes:
|
||||
|
||||
_Decimal32 DF, df
|
||||
_Decimal64 DD, dd
|
||||
_Decimal128 DL, dl
|
||||
|
||||
These suffixes must stick on numeric part of the constant as classic
|
||||
float or long float does.
|
||||
---
|
||||
regression/TEST | 3 ++-
|
||||
regression/input/float-constant-suffix.c | 13 +++++++++++++
|
||||
regression/standard/float-constant-suffix.c | 13 +++++++++++++
|
||||
src/lexi.c | 9 +++++++++
|
||||
4 files changed, 37 insertions(+), 1 deletions(-)
|
||||
create mode 100644 regression/input/float-constant-suffix.c
|
||||
create mode 100644 regression/standard/float-constant-suffix.c
|
||||
|
||||
diff --git a/regression/TEST b/regression/TEST
|
||||
index c860ef2..1402ddf 100755
|
||||
--- a/regression/TEST
|
||||
+++ b/regression/TEST
|
||||
@@ -35,7 +35,8 @@ EXAMPLES="do.c else.c for.c func-def.c lshift.c ncs.c \
|
||||
|
||||
BUGS="case-label.c one-line-1.c one-line-2.c one-line-3.c \
|
||||
one-line-4.c struct-decl.c sizeof-in-while.c line-break-comment.c \
|
||||
- macro.c enum.c elif.c nested.c wrapped-string.c minus_predecrement.c"
|
||||
+ macro.c enum.c elif.c nested.c wrapped-string.c minus_predecrement.c \
|
||||
+ float-constant-suffix.c"
|
||||
|
||||
INDENTSRC="args.c backup.h backup.c dirent_def.h globs.c indent.h \
|
||||
indent.c indent_globs.h io.c lexi.c memcpy.c parse.c pr_comment.c \
|
||||
diff --git a/regression/input/float-constant-suffix.c b/regression/input/float-constant-suffix.c
|
||||
new file mode 100644
|
||||
index 0000000..58f5310
|
||||
--- /dev/null
|
||||
+++ b/regression/input/float-constant-suffix.c
|
||||
@@ -0,0 +1,13 @@
|
||||
+float foo = 1.0F;
|
||||
+float foo = 1.0f;
|
||||
+double foo = 1.0;
|
||||
+double foo = 1.0;
|
||||
+long double foo = 1.0L;
|
||||
+long double foo = 1.0l;
|
||||
+
|
||||
+_Decimal32 foo = 1.0DF;
|
||||
+_Decimal32 foo = 1.0df;
|
||||
+_Decimal64 foo = 1.0DD;
|
||||
+_Decimal64 foo = 1.0dd;
|
||||
+_Decimal128 foo = 1.0DL;
|
||||
+_Decimal128 foo = 1.0dl;
|
||||
diff --git a/regression/standard/float-constant-suffix.c b/regression/standard/float-constant-suffix.c
|
||||
new file mode 100644
|
||||
index 0000000..58f5310
|
||||
--- /dev/null
|
||||
+++ b/regression/standard/float-constant-suffix.c
|
||||
@@ -0,0 +1,13 @@
|
||||
+float foo = 1.0F;
|
||||
+float foo = 1.0f;
|
||||
+double foo = 1.0;
|
||||
+double foo = 1.0;
|
||||
+long double foo = 1.0L;
|
||||
+long double foo = 1.0l;
|
||||
+
|
||||
+_Decimal32 foo = 1.0DF;
|
||||
+_Decimal32 foo = 1.0df;
|
||||
+_Decimal64 foo = 1.0DD;
|
||||
+_Decimal64 foo = 1.0dd;
|
||||
+_Decimal128 foo = 1.0DL;
|
||||
+_Decimal128 foo = 1.0dl;
|
||||
diff --git a/src/lexi.c b/src/lexi.c
|
||||
index abc2bfa..eafb65e 100644
|
||||
--- a/src/lexi.c
|
||||
+++ b/src/lexi.c
|
||||
@@ -330,6 +330,15 @@ extern codes_ty lexi(void)
|
||||
{
|
||||
buf_ptr++;
|
||||
}
|
||||
+ else if (*buf_ptr == 'D' || *buf_ptr == 'd')
|
||||
+ {
|
||||
+ if (buf_ptr[1] == 'F' || buf_ptr[1] == 'f' ||
|
||||
+ buf_ptr[1] == 'D' || buf_ptr[1] == 'd' ||
|
||||
+ buf_ptr[1] == 'L' || buf_ptr[1] == 'l')
|
||||
+ {
|
||||
+ buf_ptr+=2;
|
||||
+ }
|
||||
+ }
|
||||
else
|
||||
{
|
||||
while (*buf_ptr == 'U' || *buf_ptr == 'u' || *buf_ptr == 'L' || *buf_ptr == 'l')
|
||||
--
|
||||
1.7.6
|
||||
|
Loading…
Reference in new issue