diff --git a/autotests/folding/test.c.fold b/autotests/folding/test.c.fold --- a/autotests/folding/test.c.fold +++ b/autotests/folding/test.c.fold @@ -8,14 +8,14 @@ two \ three -static uint64_t intWithSuffix = 42ull; +static uint64_t intWithSuffix = 42ull + ~1233L; static int octNum = 07232; static int invalidOctNum = 09231; static uint64_t hexNum = 0xDEADBEEF42; static uint64_t invalidHexNum = 0xGLDFKG; static char binNum = 0b0101010; -static double d1 = 42.; +static double d1 = 42. + 0x1.5p+2; static double d2 = .42; static double d3 = 42.3e1; static double d4 = .2e-12; diff --git a/autotests/html/test.c.html b/autotests/html/test.c.html --- a/autotests/html/test.c.html +++ b/autotests/html/test.c.html @@ -14,19 +14,19 @@ two \ three -static uint64_t intWithSuffix = 42ull; +static uint64_t intWithSuffix = 42ull + ~1233L; static int octNum = 07232; -static int invalidOctNum = 09231; +static int invalidOctNum = 09231; static uint64_t hexNum = 0xDEADBEEF42; -static uint64_t invalidHexNum = 0xGLDFKG; +static uint64_t invalidHexNum = 0xGLDFKG; static char binNum = 0b0101010; -static double d1 = 42.; +static double d1 = 42. + 0x1.5p+2; static double d2 = .42; static double d3 = 42.3e1; static double d4 = .2e-12; static double d5 = 32.e+12; -static float floatQualifier = 23.123f; +static float floatQualifier = 23.123f; static const char c1 = 'c'; static const char c2 = '\n'; diff --git a/autotests/input/test.c b/autotests/input/test.c --- a/autotests/input/test.c +++ b/autotests/input/test.c @@ -8,14 +8,14 @@ two \ three -static uint64_t intWithSuffix = 42ull; +static uint64_t intWithSuffix = 42ull + ~1233L; static int octNum = 07232; static int invalidOctNum = 09231; static uint64_t hexNum = 0xDEADBEEF42; static uint64_t invalidHexNum = 0xGLDFKG; static char binNum = 0b0101010; -static double d1 = 42.; +static double d1 = 42. + 0x1.5p+2; static double d2 = .42; static double d3 = 42.3e1; static double d4 = .2e-12; diff --git a/autotests/reference/test.c.ref b/autotests/reference/test.c.ref --- a/autotests/reference/test.c.ref +++ b/autotests/reference/test.c.ref @@ -8,19 +8,19 @@ two \
three

-static uint64_t intWithSuffix = 42ull;
+static uint64_t intWithSuffix = 42ull + ~1233L;
static int octNum = 07232;
-static int invalidOctNum = 09231;
+static int invalidOctNum = 09231;
static uint64_t hexNum = 0xDEADBEEF42;
-static uint64_t invalidHexNum = 0xGLDFKG;
+static uint64_t invalidHexNum = 0xGLDFKG;
static char binNum = 0b0101010;

-static double d1 = 42.;
+static double d1 = 42. + 0x1.5p+2;
static double d2 = .42;
static double d3 = 42.3e1;
static double d4 = .2e-12;
static double d5 = 32.e+12;
-static float floatQualifier = 23.123f;
+static float floatQualifier = 23.123f;

static const char c1 = 'c';
static const char c2 = '\n';
diff --git a/data/syntax/c.xml b/data/syntax/c.xml --- a/data/syntax/c.xml +++ b/data/syntax/c.xml @@ -1,17 +1,24 @@ - + + + + +]> @@ -119,34 +126,18 @@ - - - - - + + + + - - - - - - - - - - - - - - - @@ -173,7 +164,7 @@ - + @@ -228,6 +219,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -239,6 +260,7 @@ +