| // FIXME: The standalone module still seems to cause clang to want to test for |
| // the existence of a 'foo' directory: |
| // RUN: rm -rf %t |
| // RUN: mkdir %t |
| // RUN: cp %s %t |
| // RUN: rm -rf %t/foo |
| // RUN: mkdir %t/foo |
| // RUN: cd %t |
| // RUN: not %clang_cc1 -fmodules -fsyntax-only %s 2>&1 | FileCheck %s |
| |
| // CHECK: error: no matching function for call to 'foo' |
| // CHECK: note: candidate function not viable: requires 0 arguments, but 1 was provided |
| |
| // FIXME: This should use -verify, but it seems it doesn't hook up the |
| // SourceManager correctly or something, and the foo.h note gets attributed to |
| // the synthetic module translation unit "foo.map Line 2:...". |
| // %clang_cc1 -fmodules -verify %s |
| |
| #pragma clang module build foo |
| module foo { |
| umbrella "foo" |
| module * { |
| export * |
| } |
| } |
| #pragma clang module contents |
| #pragma clang module begin foo.foo |
| # 1 "foo.h" 1 |
| #ifndef FOO_FOO_H |
| void foo(); |
| #endif |
| #pragma clang module end |
| #pragma clang module endbuild |
| #pragma clang module import foo.foo |
| // expected-note@foo.h:2 {{candidate function not viable: requires 0 arguments, but 1 was provided}} |
| int main() { |
| foo(1); // expected-error {{no matching function for call to 'foo'}} |
| } |