diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp')
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/import1.c | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/import1.h | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/import2.c | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/import2.h | 4 |
4 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp/import1.c b/gcc/testsuite/gcc.dg/cpp/import1.c new file mode 100644 index 0000000..d118d7f --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/import1.c @@ -0,0 +1,16 @@ +/* Copyright (C) 2003 Free Software Foundation, Inc. */ + +/* { dg-do preprocess } */ +/* { dg-options "" } */ + +/* This tests that our eagerness to apply the multiple include guard + optimization to the #import doesn't stop us marking the file + once-only. + + Neil Booth, 2 August 2003. */ + +#include "import1.h" +#import "import1.h" +#undef IMPORT1_H +#define BUG +#include "import1.h" diff --git a/gcc/testsuite/gcc.dg/cpp/import1.h b/gcc/testsuite/gcc.dg/cpp/import1.h new file mode 100644 index 0000000..936c525 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/import1.h @@ -0,0 +1,6 @@ +#ifndef IMPORT1_H +#define IMPORT1_H +#ifdef BUG +#error Should not happen +#endif +#endif diff --git a/gcc/testsuite/gcc.dg/cpp/import2.c b/gcc/testsuite/gcc.dg/cpp/import2.c new file mode 100644 index 0000000..5c32523 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/import2.c @@ -0,0 +1,11 @@ +/* Copyright (C) 2003 Free Software Foundation, Inc. */ + +/* { dg-do preprocess } */ +/* { dg-options "" } */ + +/* This tests that the file is only included once + Neil Booth, 2 August 2003. */ + +#include "import2.h" +#import "import2.h" +#include "import2.h" diff --git a/gcc/testsuite/gcc.dg/cpp/import2.h b/gcc/testsuite/gcc.dg/cpp/import2.h new file mode 100644 index 0000000..c6a0fa5 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/import2.h @@ -0,0 +1,4 @@ +#ifdef BUG +#error Should not happen! +#endif +#define BUG |