diff options
author | Hans Wennborg <hans@hanshq.net> | 2014-05-23 20:16:41 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2014-05-23 20:16:41 +0000 |
commit | be4be16be3f358e08cba4676f057e46d51e08297 (patch) | |
tree | 41c72fc90f7fe26253afb27410bb95b7e436a128 /clang/test/Rewriter | |
parent | 839e30b2c07347b1538587693e7ed014c345b74b (diff) | |
download | llvm-be4be16be3f358e08cba4676f057e46d51e08297.zip llvm-be4be16be3f358e08cba4676f057e46d51e08297.tar.gz llvm-be4be16be3f358e08cba4676f057e46d51e08297.tar.bz2 |
Don't suppress warning about dllimport on typedefs etc. in MicrosoftExt mode
It's true the MSVC doesn't warn about dllimport when applied to e.g. a typedef,
but that applies to dllexport too. I'd like us to be consistent, and I think
the right thing to do is to warn.
The original test that came with implementing the old behaviour doesn't provide
a good motivation, and it said it was checking that we're not repoting an *error*,
which is still true since this is just a warning.
There are plenty of tests e.g. in Sema/dllimport.c to check that we do warn
about dllimport on non functions or variables.
Differential Revision: http://reviews.llvm.org/D3832
llvm-svn: 209546
Diffstat (limited to 'clang/test/Rewriter')
-rw-r--r-- | clang/test/Rewriter/dllimport-typedef.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/clang/test/Rewriter/dllimport-typedef.c b/clang/test/Rewriter/dllimport-typedef.c deleted file mode 100644 index b587f16..0000000 --- a/clang/test/Rewriter/dllimport-typedef.c +++ /dev/null @@ -1,17 +0,0 @@ -// RUN: not %clang_cc1 -triple i686-pc-win32 -fms-extensions -fsyntax-only %s 2>&1 | FileCheck -check-prefix=CHECK-NEG %s -// RUN: not %clang_cc1 -triple i686-pc-win32 -fsyntax-only %s 2>&1 | FileCheck -check-prefix=CHECK-POS %s - -// Do not report an error with including dllimport in the typedef when -fms-extensions is specified. -// Addresses <rdar://problem/7653870>. -typedef __declspec(dllimport) int CB(void); - -// This function is added just to trigger a diagnostic. This way we can test how many -// diagnostics we expect. -void bar() { return 1; } - -// CHECK-NEG: error: void function 'bar' should not return a value -// CHECK-NEG: {{^}}1 error generated -// CHECK-POS: warning: 'dllimport' attribute only applies to variables and functions -// CHECK-POS: error: void function 'bar' should not return a value -// CHECK-POS: 1 warning and 1 error generated - |