diff options
Diffstat (limited to 'gcc/testsuite/c-c++-common/cpp')
-rw-r--r-- | gcc/testsuite/c-c++-common/cpp/headerguard.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/cpp/noheaderguard-a.h | 3 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/cpp/noheaderguard-b.h | 4 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/cpp/noheaderguard.c | 9 |
4 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/cpp/headerguard.c b/gcc/testsuite/c-c++-common/cpp/headerguard.c new file mode 100644 index 00000000000..be63849d33c --- /dev/null +++ b/gcc/testsuite/c-c++-common/cpp/headerguard.c @@ -0,0 +1,8 @@ +/* { dg-do preprocess } */ +/* Check header guards are optimized. */ + +#include "noheaderguard-b.h" +#include "noheaderguard-b.h" +#include "noheaderguard-a.h" + +/* { dg-final { scan-file headerguard.i {# [0-9]* "[^\n]*headerguard.c"\n\n*# [0-9]* "[^\n]*headerguard-b.h" 1\n\n*# [0-9]* "[^\n]*headerguard-a.h" 1\n\n*# [0-9]* "[^\n]*headerguard-b.h" 2\n\n*# [0-9]* "[^\n]*headerguard.c" 2\n} } } */ diff --git a/gcc/testsuite/c-c++-common/cpp/noheaderguard-a.h b/gcc/testsuite/c-c++-common/cpp/noheaderguard-a.h new file mode 100644 index 00000000000..6a6c2b49e8f --- /dev/null +++ b/gcc/testsuite/c-c++-common/cpp/noheaderguard-a.h @@ -0,0 +1,3 @@ +#ifndef INNER +#define INNER +#endif diff --git a/gcc/testsuite/c-c++-common/cpp/noheaderguard-b.h b/gcc/testsuite/c-c++-common/cpp/noheaderguard-b.h new file mode 100644 index 00000000000..8b72a9fbb7a --- /dev/null +++ b/gcc/testsuite/c-c++-common/cpp/noheaderguard-b.h @@ -0,0 +1,4 @@ +#ifndef OUTER +#define OUTER +#include "noheaderguard-a.h" +#endif diff --git a/gcc/testsuite/c-c++-common/cpp/noheaderguard.c b/gcc/testsuite/c-c++-common/cpp/noheaderguard.c new file mode 100644 index 00000000000..3e6fd876f1b --- /dev/null +++ b/gcc/testsuite/c-c++-common/cpp/noheaderguard.c @@ -0,0 +1,9 @@ +/* { dg-do preprocess } */ +/* { dg-additional-options -fno-header-guard-opt } */ +/* Check header guard optimization is disabled. */ + +#include "noheaderguard-b.h" +#include "noheaderguard-b.h" +#include "noheaderguard-a.h" + +/* { dg-final { scan-file noheaderguard.i {# [0-9]* "[^\n]*noheaderguard.c"\n\n*# [0-9]* "[^\n]*noheaderguard-b.h" 1\n\n*# [0-9]* "[^\n]*noheaderguard-a.h" 1\n\n*# [0-9]* "[^\n]*noheaderguard-b.h" 2\n\n*# [0-9]* "[^\n]*noheaderguard.c" 2\n\n*# [0-9]* "[^\n]*noheaderguard-b.h" 1\n\n*# [0-9]* "[^\n]*noheaderguard.c" 2\n\n*# [0-9]* "[^\n]*noheaderguard-a.h" 1\n\n*# [0-9]* "[^\n]*noheaderguard.c" 2\n} } } */ |