diff options
author | Nuno Lopes <nunoplopes@sapo.pt> | 2008-06-01 18:31:24 +0000 |
---|---|---|
committer | Nuno Lopes <nunoplopes@sapo.pt> | 2008-06-01 18:31:24 +0000 |
commit | 0049db6ce127cbf4671a6a81ad4dfe61fdc4aa5c (patch) | |
tree | 9031aa06cd95cd106920b96eb0aa108685f18978 /test/Lexer/multiple-include.c | |
parent | 1b8956e1ce4c5770982d6e59edb16979b500677a (diff) |
fix PR2357 (#ifs didnt invalidate the multiple-inclusion optimization state)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51843 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Lexer/multiple-include.c')
-rw-r--r-- | test/Lexer/multiple-include.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/Lexer/multiple-include.c b/test/Lexer/multiple-include.c new file mode 100644 index 0000000000..ccea3ff774 --- /dev/null +++ b/test/Lexer/multiple-include.c @@ -0,0 +1,27 @@ +// RUN: clang %s -fsyntax-only + +#ifndef XVID_AUTO_INCLUDE + +#define XVID_AUTO_INCLUDE +#define FUNC_H H_Pass_16_C +#include "multiple-include.c" + +#define FUNC_H H_Pass_8_C + +#include "multiple-include.c" +#undef XVID_AUTO_INCLUDE + +typedef void ff(); +typedef struct { ff *a;} S; + +S s = { H_Pass_8_C }; + +#endif + +#if defined(XVID_AUTO_INCLUDE) && defined(REFERENCE_CODE) +#elif defined(XVID_AUTO_INCLUDE) && !defined(REFERENCE_CODE) + +static void FUNC_H(){}; +#undef FUNC_H + +#endif |