[all-commits] [llvm/llvm-project] d0fcdc: [libc++] Fix the LIBCXX_HAS_MERGED_TYPEINFO_NAMES_...

Louis Dionne via All-commits all-commits at lists.llvm.org
Fri May 29 03:15:09 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d0fcdcd28f95d699b27d2026ede964a7f9cff9dd
      https://github.com/llvm/llvm-project/commit/d0fcdcd28f95d699b27d2026ede964a7f9cff9dd
  Author: Louis Dionne <ldionne at apple.com>
  Date:   2020-05-29 (Fri, 29 May 2020)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/Apple.cmake
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/include/__config
    M libcxx/include/__config_site.in
    M libcxx/include/typeinfo
    M libcxx/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.apple.compile.pass.cpp
    M libcxx/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.merged.sh.cpp
    M libcxx/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.unmerged.sh.cpp

  Log Message:
  -----------
  [libc++] Fix the LIBCXX_HAS_MERGED_TYPEINFO_NAMES_DEFAULT setting

When the __config_site header is generated, but LIBCXX_HAS_MERGED_TYPEINFO_NAMES_DEFAULT
wasn't specified, _LIBCPP_HAS_MERGED_TYPEINFO_NAMES_DEFAULT would be defined
to 0, which was the NonUnique RTTI comparison implementation. The intent
was to use the Unique RTTI comparison implementation in that case, which
caused https://llvm.org/PR45549.

Instead, use a proper "switch" to select the RTTI comparison implementation.
Note that 0 can't be used as a value, because that is treated the same
by CMake as a variable that is just not defined.

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




More information about the All-commits mailing list