[all-commits] [llvm/llvm-project] 17bd79: [libc++] Rename __bit_reference template parameter...

Dimitry Andric via All-commits all-commits at lists.llvm.org
Mon Feb 5 02:59:17 PST 2024


  Branch: refs/heads/users/DimitryAndric/libcxx-fillvalue-collision
  Home:   https://github.com/llvm/llvm-project
  Commit: 17bd7942d8b60619d0df8a1e3021478db021532a
      https://github.com/llvm/llvm-project/commit/17bd7942d8b60619d0df8a1e3021478db021532a
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2024-02-05 (Mon, 05 Feb 2024)

  Changed paths:
    M libcxx/include/__bit_reference

  Log Message:
  -----------
  [libc++] Rename __bit_reference template parameter to avoid conflict

As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
contains a template `__fill_n` with a bool `_FillValue` parameter.

Unfortunately there is a relatively widely used piece of scientific
software called NetCDF, which exposes a (C) macro `_FillValue` in its
public headers.

When building the NetCDF C++ bindings, this quickly leads to compilation
errors when the macro interferes with the template in `__bit_reference`.

Rename the parameter to `_Fill_Value` to avoid the conflict.




More information about the All-commits mailing list