[PATCH] D125209: [clang-tidy] modernize-deprecated-headers check should respect extern "C" blocks

Whisperity via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 12 01:22:21 PDT 2022


whisperity added inline comments.


================
Comment at: clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp:135
             {"float.h", "cfloat"},
             {"limits.h", "climits"},
             {"locale.h", "clocale"},
----------------
steakhal wrote:
> whisperity wrote:
> > POSIX defines a "global" include `limits.h` which gives you the definition of macros like `PATH_MAX`. Will such code keep on working if the include is turned into `climits`?
> IDK.
Did an investigation on Ubuntu with G++ 7.5. So it turns out that the GNU G++ standard library implementation, on Linux, is implemented in a way that it will include the POSIX-specific `limits.h` into the C Standard `limits.h` and thus also `climits`.

And
> Out of these projects llvm-project,**contour**,codechecker,**qtbase**,protobuf,bitcoin,xerces,libwebm,tinyxml2,postgres,ffmpeg,sqlite,openssl,vim,twin,curl,**tmux**,memcached, it suppressed 5 reports

Well, Contour, tmux and Qt (and perhaps even LLVM's OS-specific support lib) //SHOULD// be heavily reliant on interfacing with POSIX stuff when compiled against Linux, so I guess we can say this transformation is not dangerous.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D125209



More information about the cfe-commits mailing list