[PATCH] D79945: [Sema] Comparison of pointers to complete and incomplete types

Benson Chu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 10 08:12:23 PDT 2020


pestctrl marked 2 inline comments as done.
pestctrl added inline comments.


================
Comment at: clang/lib/Sema/SemaExpr.cpp:11571
+          Diag(Loc,
+               getLangOpts().C11
+                   ? diag::ext_typecheck_compare_complete_incomplete_pointers
----------------
efriedma wrote:
> rsmith wrote:
> > pestctrl wrote:
> > > efriedma wrote:
> > > > I think this condition is backwards?  Should be `!getLangOpts().C11`.  You want the warning with `-std=c99 -pedantic`, you don't want the warning with `std=c11 -pedantic`.
> > > I don't think it's backwards. If getLangOpts().C11, then it is an extension. Otherwise, it is the warning. I can switch the conditions if it is confusing though.
> > "Extension" means "this is invalid code that we're accepting anyway" -- that's what this is in C99. In C11, I think we shouldn't be diagnosing at all.
> > 
> > Has anyone checked whether WG14 removed this restriction in C11 as a DR resolution? If so, we shouldn't be diagnosing it at all, in any language mode.
> I tracked down the proposal for the change; it's http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1439.pdf .  Beyond the reference to http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_314.htm , I can't find any relevant defect report.
I have updated the diff to diagnose only for C99. Does the existence of the proposal mean we shouldn't be diagnosing in any language mode?

Also, how did you track down the proposal that quickly? Even after skimming through it, I still can't find it through searching. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79945





More information about the cfe-commits mailing list