diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-10-19 17:40:53 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-10-19 17:40:53 +0000 |
commit | 2c8028bcf40f4bb44b3c73f788d2f63d2d353d9a (patch) | |
tree | 56e43937754e9ea307e5973ad2978a796fb9c1e6 /clang/test/Preprocessor/pragma-pushpop-macro.c | |
parent | 6339f1ce2f3f6936c98004fc0883c747fa859435 (diff) | |
download | bcm5719-llvm-2c8028bcf40f4bb44b3c73f788d2f63d2d353d9a.tar.gz bcm5719-llvm-2c8028bcf40f4bb44b3c73f788d2f63d2d353d9a.zip |
In ~Preprocessor(), also cleanup the MacroInfo objects left-over from stray "#pragma push_macro" uses. This
fixes a potential memory leak.
llvm-svn: 116826
Diffstat (limited to 'clang/test/Preprocessor/pragma-pushpop-macro.c')
-rw-r--r-- | clang/test/Preprocessor/pragma-pushpop-macro.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/Preprocessor/pragma-pushpop-macro.c b/clang/test/Preprocessor/pragma-pushpop-macro.c index 87cceaa4193..71b0e0e2600 100644 --- a/clang/test/Preprocessor/pragma-pushpop-macro.c +++ b/clang/test/Preprocessor/pragma-pushpop-macro.c @@ -25,9 +25,17 @@ int pmx3 = X; #pragma pop_macro("Y") int pmy1 = Y; +// Have a stray 'push' to show we don't crash when having inbalanced +// push/pop +#pragma push_macro("Y") +#define Y 4 +int pmy2 = Y; + // CHECK: int pmx0 = 1 // CHECK: int pmy0 = 2 // CHECK: int pmx1 = 1 // CHECK: int pmx2 = 2 // CHECK: int pmx3 = 1 // CHECK: int pmy1 = 3 +// CHECK: int pmy2 = 4 + |