diff options
Diffstat (limited to 'clang/test/SemaCXX/dllexport.cpp')
| -rw-r--r-- | clang/test/SemaCXX/dllexport.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/clang/test/SemaCXX/dllexport.cpp b/clang/test/SemaCXX/dllexport.cpp index e41952562c8..a6009f93c8d 100644 --- a/clang/test/SemaCXX/dllexport.cpp +++ b/clang/test/SemaCXX/dllexport.cpp @@ -447,13 +447,9 @@ class __declspec(dllexport) DerivedFromImportedTemplate : public ImportedClassTe class DerivedFromTemplateD : public ClassTemplate<double> {}; class __declspec(dllexport) DerivedFromTemplateD2 : public ClassTemplate<double> {}; -#ifdef MS -// expected-note@+4{{class template 'ClassTemplate<bool>' was instantiated here}} -// expected-warning@+4{{propagating dll attribute to already instantiated base class template with different dll attribute is not supported}} -// expected-note@+3{{attribute is here}} -#endif -class __declspec(dllimport) DerivedFromTemplateB : public ClassTemplate<bool> {}; -class __declspec(dllexport) DerivedFromTemplateB2 : public ClassTemplate<bool> {}; +class __declspec(dllexport) DerivedFromTemplateB : public ClassTemplate<bool> {}; +// The second derived class doesn't change anything, the attribute that was propagated first wins. +class __declspec(dllimport) DerivedFromTemplateB2 : public ClassTemplate<bool> {}; #ifdef MS // expected-warning@+3{{propagating dll attribute to explicitly specialized base class template without dll attribute is not supported}} |

