hans added a comment.

We tried it, and the warning is still firing in a similar (but not exactly the 
same) way:

  In file included from 
../../content/browser/accessibility/browser_accessibility_manager_win.cc:19:
  In file included from 
../..\content/browser/renderer_host/legacy_render_widget_host_win.h:11:
  ../../third_party/wtl/include\atlapp.h(366,12): error: performing pointer 
subtraction with a null pointer may have undefined behavior 
[-Werror,-Wnull-pointer-subtraction]
                          uSize = NONCLIENTMETRICS_V1_SIZE;
                                  ^~~~~~~~~~~~~~~~~~~~~~~~
  ../../third_party/wtl/include\atlapp.h(248,38): note: expanded from macro 
'NONCLIENTMETRICS_V1_SIZE'
    #define NONCLIENTMETRICS_V1_SIZE   _SIZEOF_STRUCT(NONCLIENTMETRICS, 
lfMessageFont)
                                       
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../../third_party/wtl/include\atlapp.h(228,91): note: expanded from macro 
'_SIZEOF_STRUCT'
    #define _SIZEOF_STRUCT(structname, member)  
(((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + 
sizeof(((structname*)0)->member))
                                                                                
            ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~

Note that this time the warning is coming from a macro defined in a wtl/ header 
itself , which is not a system header. So I think the "don't warn in system 
headers" part is working correctly.

And it's good that it's got a separate flag, because for Chromium we would need 
to turn it off.

But as a developer I'm confused by the warning saying this _may_ have undefined 
behavior. Does it or doesn't it? If it does, I suppose the warning makes sense 
and keeping it behind a separate flag that's part of -Wextra seems reasonable.


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

https://reviews.llvm.org/D98798

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

Reply via email to