[all-commits] [llvm/llvm-project] c87c89: [libc++] Audit all uses of _LIBCPP_ASSERT and _LIB...

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu Mar 24 10:14:02 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c87c8917e3662532f0aa75a91caea857c093f8f4
      https://github.com/llvm/llvm-project/commit/c87c8917e3662532f0aa75a91caea857c093f8f4
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2022-03-24 (Thu, 24 Mar 2022)

  Changed paths:
    M libcxx/include/__hash_table
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/list
    M libcxx/include/unordered_set
    M libcxx/src/filesystem/filesystem_common.h

  Log Message:
  -----------
  [libc++] Audit all uses of _LIBCPP_ASSERT and _LIBCPP_DEBUG_ASSERT

I audited all uses of _LIBCPP_ASSERT to make sure that we only used it
for "basic assertions", i.e. assertions with constant-time conditions.
I also audited all uses of _LIBCPP_DEBUG_ASSERT to make sure we used it
only for debug-mode assertions, and in one case had to change for
_LIBCPP_ASSERT instead.

As a fly-by, I also changed a couple of tests against nullptr or 0 to
be more explicit.

After this patch, all uses of _LIBCPP_ASSERT should be with constant-time
conditions, and all uses of _LIBCPP_DEBUG_ASSERT should be with conditions
that we only want to check when the debug mode is enabled.

Differential Revision: https://reviews.llvm.org/D122395




More information about the All-commits mailing list