efriedma added inline comments.

================
Comment at: lib/Sema/SemaChecking.cpp:12381
+    // It is possible that the base type is incomplete (see PR39746), even
+    // though the effective type is complete. In this case we have no info
+    // about the size of the base type and so skip the following adjustment.
----------------
This comment is really confusing; the meaning of "base type" and "effective 
type" in this context isn't clear.  Also, "effective type" is a term defined in 
the C standard to mean something else.  Better to explicitly say you're talking 
about the type of the base expression before/after the call to IgnoreParenCasts.


================
Comment at: lib/Sema/SemaChecking.cpp:12383
+    // about the size of the base type and so skip the following adjustment.
+    if ((BaseType != EffectiveType) && !BaseType->isIncompleteType(nullptr)) {
       // Make sure we're comparing apples to apples when comparing index to 
size
----------------
You don't need to explicitly pass nullptr here; there's a default argument.


================
Comment at: test/SemaCXX/array-bounds.cpp:294
+  C &f() { return reinterpret_cast<C *>(xxx)[1]; } // no-warning
+  C &g() { return reinterpret_cast<C *>(xxx)[2]; } // expected-warning {{array 
index 2 is past the end of the array (which contains 2 elements)}}
+}
----------------
Not sure it actually makes sense to print a diagnostic here... at least, not 
this diagnostic.  We don't know whether the result here is actually out of 
bounds.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55862/new/

https://reviews.llvm.org/D55862



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to