lgtm

================
Comment at: lib/Sema/SemaDeclCXX.cpp:1310
@@ +1309,3 @@
+
+  if (BaseTemplateSpec->getSpecializationKind() != TSK_Undeclared) {
+    bool DifferentAttribute = false;
----------------
Can you return early if getSpecializationKind() == TSK_Undeclared to reduce 
indentation?

================
Comment at: lib/Sema/SemaDeclCXX.cpp:1326-1328
@@ +1325,5 @@
+
+    // The template was previously instantiated or explicitly specialized
+    // without, or with the wrong kind of, dll attribute. It's too late for us
+    // to change the attribute, so warn that this is unsupported.
+    S.Diag(BaseLoc, diag::warn_attribute_dll_instantiated_base_class)
----------------
I think one of the 4 cases you have here is impossible.  An explicitly 
specialized template will never have a different dll attribute, because it can 
only have an explicit, non-inherited attribute, in which case we won't try to 
change the dll attribute.  What do you think of this for the first sentence:

The template was previously instantiated or explicitly specialized without a 
dll attribute, or the template was previously instantiated with a different 
inherited dll attribute.

http://reviews.llvm.org/D4264



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to