Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/cpp/lexnum.c @ 132:d34655255c78
update gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 10:21:07 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* Copyright (C) 2000 Free Software Foundation, Inc. */ /* { dg-do run } */ /* { dg-options "-trigraphs" } */ /* Test lexing of numbers. */ #if DEBUG extern int puts (const char *); #else #define puts(X) #endif extern void abort (void); #define err(str) do { puts(str); abort(); } while (0) /* Escaped newlines. */ #define foo 12\ 3\ \ 4??/ 5 #if foo != 12345 #error foo #endif int main (int argc, char *argv[]) { double a = 5.; double x = .5; /* Decimal points, including initially and immediately before and after an escaped newline. */ if (a != 5) err ("a"); if (x != .\ 5) err ("x != .5"); x = 25\ .\ 6; if (x != 25.6) err ("x != 25.6"); /* Test exponentials and their signs. A buggy lexer is more likely to fail the compile, but never mind. */ if (250 != 25e+1 || 250 != 25e1 || 250 != 2500e-1) err ("exponentials"); /* Todo: p exponentials, and how to test preprocessing number tokenisation? */ return 0; }