Skip to content

Build broken after removal of _CCCL_NODISCARD in #4265 #4273

@oleksandr-pavlyk

Description

@oleksandr-pavlyk

After rebasing development branch on top of recent main, the build of cccl.c.parallel started failing:

 [14/19] Building CUDA object _parent_cccl/c/parallel/CMakeFiles/cccl.c.parallel.dir/src/transform.cu.o
  FAILED: _parent_cccl/c/parallel/CMakeFiles/cccl.c.parallel.dir/src/transform.cu.o
  /usr/bin/sccache /usr/local/cuda/bin/nvcc -forward-unknown-to-host-compiler -ccbin=/usr/bin/g++ -DCCCL_C_EXPERIMENTAL=1 -DNVRTC_GET_TYPE_NAME=1 -D_CCCL_NO_SYSTEM_HEADER -D_CUB_HAS_TRANSFORM_UBLKCP=0 -Dcccl_c_parallel_EXPORTS -I/home/coder/cccl/c/parallel/include -I/home/coder/cccl/c/parallel/src -I/home/coder/cccl/lib/cmake/cub/../../../cub -I/home/coder/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include -I/home/coder/cccl/lib/cmake/thrust/../../../thrust -isystem /usr/local/cuda/targets/x86_64-linux/include -O3 -DNDEBUG -std=c++20 "--generate-code=arch=compute_52,code=[compute_52,sm_52]" -Xcompiler=-fPIC --extended-lambda -Xcudafe=--display_error_number -Wno-deprecated-gpu-targets -Xcudafe=--promote_warnings -Wreorder -Xcompiler=-Werror -Xcompiler=-Wall -Xcompiler=-Wextra -Xcompiler=-Wreorder -Xcompiler=-Winit-self -Xcompiler=-Woverloaded-virtual -Xcompiler=-Wcast-qual -Xcompiler=-Wpointer-arith -Xcompiler=-Wvla -Xcompiler=-Wno-gnu-line-marker -Xcompiler=-Wno-gnu-zero-variadic-macro-arguments -Xcompiler=-Wno-unused-function -Xcompiler=-Wno-noexcept-type -MD -MT _parent_cccl/c/parallel/CMakeFiles/cccl.c.parallel.dir/src/transform.cu.o -MF _parent_cccl/c/parallel/CMakeFiles/cccl.c.parallel.dir/src/transform.cu.o.d -x cu -c /home/coder/cccl/c/parallel/src/transform.cu -o _parent_cccl/c/parallel/CMakeFiles/cccl.c.parallel.dir/src/transform.cu.o
  /home/coder/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__floating_point/arithmetic.h(31): error: this declaration has no storage class or type specifier
    _CCCL_NODISCARD
    ^

  /home/coder/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__floating_point/arithmetic.h(31): error: expected a ";"
                   __attribute__((__visibility__("hidden"))) inline __attribute__((host)) __attribute__((device))
                                                             ^

  /home/coder/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__floating_point/arithmetic.h(44): error #12-D: parsing restarts here after previous syntax error
    } } }
    ^

  Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

  /home/coder/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__floating_point/cccl_fp.h(107): error: this declaration has no storage class or type specifier
    _CCCL_NODISCARD
    ^

  /home/coder/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__floating_point/cccl_fp.h(106): error: declaration is incompatible with template parameter "_Tp" (declared at line 30 of /home/coder/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__floating_point/arithmetic.h)
    template <__fp_format _Fmt>
                          ^

  /home/coder/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__floating_point/cccl_fp.h(107): error: expected a ";"
                   __attribute__((__visibility__("hidden"))) inline __attribute__((host)) __attribute__((device))
                                                             ^

  /home/coder/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__floating_point/cccl_fp.h(119): error #12-D: parsing restarts here after previous syntax error
    } } }
    ^

  7 errors detected in the compilation of "/home/coder/cccl/c/parallel/src/transform.cu".

The reason is that definition for _CCCL_NODISCARD macro had been removed in #4265 , but few instances of its use escaped replacing.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions