lebedev.ri added inline comments.

================
Comment at: docs/UndefinedBehaviorSanitizer.rst:136-137
+     overflow happens (signed or unsigned).
+     Both of these two issues are handled by ``-fsanitize=implicit-conversion``
+     group of checks.
   -  ``-fsanitize=unreachable``: If control flow reaches an unreachable
----------------
rsmith wrote:
> lebedev.ri wrote:
> > rsmith wrote:
> > > I don't think that's true (not until you add a sanitizer for signed <-> 
> > > unsigned conversions that change the value). `4U / -2` produces the 
> > > unexpected result `0U` rather than the mathematically-correct result 
> > > `-2`, and `-fsanitize=implicit-conversion` doesn't catch it. Maybe just 
> > > strike this sentence for now?
> > > 
> > > In fact... I think this is too much text to be adding to this bulleted 
> > > list, which is just supposed to summarize the available checks. Maybe 
> > > replace the description with
> > > 
> > >     Signed integer overflow, where the result of a signed integer 
> > > computation cannot be represented in its type. This includes all the 
> > > checks covered by ``-ftrapv``, as well as checks for signed division 
> > > overflow (``INT_MIN/-1``), but not checks for lossy implicit conversions 
> > > performed before the computation (see ``-fsanitize=implicit-conversion``).
> > I will assume you meant "lossy implicit conversions performed *after* the 
> > computation".
> I really meant "performed before", for cases like `4u / -2`, where `-2` is 
> implicitly converted to `UINT_MAX - 2` before the computation. Conversions 
> that are performed after a computation aren't part of the computation at all, 
> so I think it's much clearer that they're not in scope for this sanitizer.
Ok, with that additional explanation, i do see the error of my ways, and will 
re-adjust the docs accordingly.
Sorry.


Repository:
  rC Clang

https://reviews.llvm.org/D48958



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

Reply via email to