diff options
| author | Hans Wennborg <hans@hanshq.net> | 2014-05-15 22:07:49 +0000 |
|---|---|---|
| committer | Hans Wennborg <hans@hanshq.net> | 2014-05-15 22:07:49 +0000 |
| commit | b0f2f146bb6574ec8eba5ead788d95f47a7cc3ba (patch) | |
| tree | 4c1326f49266952e3130fcc5f3c723f7343d588b /clang/test/SemaCXX/dllexport.cpp | |
| parent | 03efd41bc04c44afc5e3fb5789288f3a327b0cbc (diff) | |
| download | bcm5719-llvm-b0f2f146bb6574ec8eba5ead788d95f47a7cc3ba.tar.gz bcm5719-llvm-b0f2f146bb6574ec8eba5ead788d95f47a7cc3ba.zip | |
Allow dllimport/dllexport on inline functions and adjust the linkage.
This is a step towards handling these attributes on classes (PR11170).
Differential Revision: http://reviews.llvm.org/D3772
llvm-svn: 208925
Diffstat (limited to 'clang/test/SemaCXX/dllexport.cpp')
| -rw-r--r-- | clang/test/SemaCXX/dllexport.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/test/SemaCXX/dllexport.cpp b/clang/test/SemaCXX/dllexport.cpp index 3558eef8b83..6d67ec25da3 100644 --- a/clang/test/SemaCXX/dllexport.cpp +++ b/clang/test/SemaCXX/dllexport.cpp @@ -92,10 +92,10 @@ __declspec(dllexport) void def() {} extern "C" __declspec(dllexport) void externC() {} // Export inline function. -__declspec(dllexport) inline void inlineFunc1() {} // expected-warning{{'dllexport' attribute ignored}} -inline void __attribute__((dllexport)) inlineFunc2() {} // expected-warning{{'dllexport' attribute ignored}} +__declspec(dllexport) inline void inlineFunc1() {} +inline void __attribute__((dllexport)) inlineFunc2() {} -__declspec(dllexport) inline void inlineDecl(); // expected-warning{{'dllexport' attribute ignored}} +__declspec(dllexport) inline void inlineDecl(); void inlineDecl() {} __declspec(dllexport) void inlineDef(); @@ -188,7 +188,7 @@ template void exportedFuncTmpl<ExplicitInst_Exported>(); // Export specialization of an exported function template. template<> __declspec(dllexport) void exportedFuncTmpl<ExplicitSpec_Exported>(); template<> __declspec(dllexport) void exportedFuncTmpl<ExplicitSpec_Def_Exported>() {} -template<> __declspec(dllexport) inline void exportedFuncTmpl<ExplicitSpec_InlineDef_Exported>() {} // expected-warning{{'dllexport' attribute ignored}} +template<> __declspec(dllexport) inline void exportedFuncTmpl<ExplicitSpec_InlineDef_Exported>() {} // Not exporting specialization of an exported function template without // explicit dllexport. @@ -205,7 +205,7 @@ template __declspec(dllexport) void funcTmpl<ExplicitInst_Exported>(); // Export specialization of a non-exported function template. template<> __declspec(dllexport) void funcTmpl<ExplicitSpec_Exported>(); template<> __declspec(dllexport) void funcTmpl<ExplicitSpec_Def_Exported>() {} -template<> __declspec(dllexport) inline void funcTmpl<ExplicitSpec_InlineDef_Exported>() {} // expected-warning{{'dllexport' attribute ignored}} +template<> __declspec(dllexport) inline void funcTmpl<ExplicitSpec_InlineDef_Exported>() {} |

