diff options
Diffstat (limited to 'clang/test/CodeGenCXX/dllimport.cpp')
| -rw-r--r-- | clang/test/CodeGenCXX/dllimport.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/dllimport.cpp b/clang/test/CodeGenCXX/dllimport.cpp index 59f8f636161..c0949942dc7 100644 --- a/clang/test/CodeGenCXX/dllimport.cpp +++ b/clang/test/CodeGenCXX/dllimport.cpp @@ -276,6 +276,11 @@ USE(redecl3) // GNU-DAG: declare void @_Z7friend2v() // MSC-DAG: define void @"\01?friend3@@YAXXZ"() // GNU-DAG: define void @_Z7friend3v() +// MSC-DAG: declare void @"\01?friend4@@YAXXZ"() +// GNU-DAG: declare void @_Z7friend4v() +// MSC-DAG: declare dllimport void @"\01?friend5@@YAXXZ"() +// GNU-DAG: declare dllimport void @_Z7friend5v() + struct FuncFriend { friend __declspec(dllimport) void friend1(); friend __declspec(dllimport) void friend2(); @@ -284,9 +289,18 @@ struct FuncFriend { __declspec(dllimport) void friend1(); void friend2(); // dllimport ignored void friend3() {} // dllimport ignored + +__declspec(dllimport) void friend4(); +__declspec(dllimport) void friend5(); +struct FuncFriendRedecl { + friend void friend4(); // dllimport ignored + friend void ::friend5(); +}; USE(friend1) USE(friend2) USE(friend3) +USE(friend4) +USE(friend5) // Implicit declarations can be redeclared with dllimport. // MSC-DAG: declare dllimport noalias i8* @"\01??2@{{YAPAXI|YAPEAX_K}}@Z"( |

