Ted Kremenek | 12911a8 | 2010-02-21 05:12:53 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -triple i686-pc-win32 -fms-extensions -fsyntax-only %s 2>&1 | FileCheck -check-prefix=CHECK-NEG %s |
| 2 | // RUN: %clang_cc1 -triple i686-pc-win32 -fsyntax-only %s 2>&1 | FileCheck -check-prefix=CHECK-POS %s |
| 3 | |
| 4 | // Do not report that 'foo()' is redeclared without dllimport attribute with -fms-extensions |
| 5 | // specified. Addresses <rdar://problem/7653912>. |
| 6 | |
| 7 | __declspec(dllimport) int __cdecl foo(void); |
| 8 | inline int __cdecl foo() { return 0; } |
| 9 | |
| 10 | // This function is added just to trigger a diagnostic. This way we can test how many |
| 11 | // diagnostics we expect. |
| 12 | void bar() { return 1; } |
| 13 | |
Chris Lattner | 184aa4e | 2010-07-11 23:34:02 +0000 | [diff] [blame] | 14 | // CHECK-NEG: error: void function 'bar' should not return a value |
| 15 | // CHECK-NEG: 1 error generated |
Ted Kremenek | 12911a8 | 2010-02-21 05:12:53 +0000 | [diff] [blame] | 16 | // CHECK-POS: warning: 'foo' redeclared without dllimport attribute: previous dllimport ignored |
Chris Lattner | 184aa4e | 2010-07-11 23:34:02 +0000 | [diff] [blame] | 17 | // CHECK-POS: error: void function 'bar' should not return a value |
| 18 | // CHECK-POS: 1 warning and 1 error generated |
Ted Kremenek | 12911a8 | 2010-02-21 05:12:53 +0000 | [diff] [blame] | 19 | |