Fly-by thoughts

  (one other minor thought, though we have no consistent strategy on this: what 
about suppressing the warning in other test files rather than testing it? (I 
know there's certainly a lot of incidental testing we do in other test files 
like this))


================
Comment at: lib/Sema/SemaDeclCXX.cpp:4248
@@ +4247,3 @@
+      // Also avoid issuing this diagnostic if not in C++11 mode.
+      if (getLangOpts().CPlusPlus11 && Record->hasOverrideAnnotation())
+        CheckMissingOverrideSpecifier(*this, *M);
----------------
Presumably we want to issue this in C++14, etc. So perhaps "not C++98"?

& also - if you only need to test "hasOverrideAnnotation" here, why not just 
make it a free function, rather than having to spend a bit in the 
CXXRecordDecl's data? (I haven't looked in detail, but I assume that's what 
you're doing)

================
Comment at: test/Misc/diag-override.cpp:9
@@ +8,3 @@
+  virtual void annotated_override() override;
+  // expected-error@+1 {{does not override any member functions}}
+  virtual void not_overriding_anything() override;
----------------
Presumably we already have test coverage for this, don't we? (override on a 
non-overriding method) It's best not to duplicate test coverage as it just adds 
maintenance burden when we make code changes (if we change the diagnostic text, 
for example)

================
Comment at: test/FixIt/fixit-cxx0x.cpp:36
@@ -35,3 +35,3 @@
     F f1,
-      f2 final,
+      f2 final,  // expected-warning {{but is not marked 'override'}}
       f3 override, // expected-error {{expected ';' at end of declaration}}
----------------
Here are some thoughts (possibly wrong):

1) should we let 'final' imply 'override' (I know it's not necessarily true, 
'final' could be placed at the start of an inheritance hierarchy)

2) should we use the presence of 'final' to imply that the user wanted to use 
explicit 'override' (maybe not, I suppose - someone could be using one feature 
without the other consistently)


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

Reply via email to