Skip to content

clang-tidy error in tutorial/lesson_09 #8833

@stevesuzuki-arm

Description

@stevesuzuki-arm
halide/tutorial/lesson_09_update_definitions.cpp:177:21: error: call to 'fabs' promotes float to double [performance-type-promotion-in-math-fn,-warnings-as-errors]
   18 |                 if (fabs(halide_result(x, y) - c_result[y][x]) > 0.01f) {
      |                     ^~~~
      |                     std::fabs

I just want to sanity-check if this is a know issue or not.
I ran the script on Ubuntu 22.04 arm-64-linux, while PR check seems to be performed on mac os.
The difference I've found so far is clang version, 21.1.3 vs 21.1.1

(main)$ ./run-clang-tidy.sh -j16
Using 16 processes.
CLANG_TIDY_LLVM_INSTALL_DIR = /usr/lib/llvm-21
clang-tidy version 21 found.
CLANG_TIDY_BUILD_DIR = /tmp/tmp.MZzgs5V0PW
Configuring Halide...
-- The C compiler identification is Clang 21.1.3
-- The CXX compiler identification is Clang 21.1.3
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/llvm-21/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/llvm-21/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Halide 'host' platform triple:   arm-64-linux
-- Halide 'cmake' platform triple:  arm-64-linux
-- Halide default AOT target:       host
-- Looking for HALIDE_INTERNAL_USING_ASAN
-- Looking for HALIDE_INTERNAL_USING_ASAN - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Performing Test HAVE_FFI_CALL
-- Performing Test HAVE_FFI_CALL - Success
-- Found FFI: /usr/lib/aarch64-linux-gnu/libffi.so  
-- Could NOT find LibEdit (missing: LibEdit_INCLUDE_DIRS LibEdit_LIBRARIES) 
-- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.2.11")  
-- Found zstd: /usr/lib/aarch64-linux-gnu/libzstd.so  
-- Found LibXml2: /usr/lib/aarch64-linux-gnu/libxml2.so (found version "2.9.13") 
-- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) 
-- Could NOT find LibEdit (missing: LibEdit_INCLUDE_DIRS LibEdit_LIBRARIES) 
-- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) 
-- Could NOT find LibEdit (missing: LibEdit_INCLUDE_DIRS LibEdit_LIBRARIES) 
-- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) 
-- Found Halide_LLVM: /usr/lib/llvm-21/cmake/LLVMConfig.cmake (found suitable version "21.1.3", required range is "20...99") found components: WebAssembly X86 AArch64 ARM Hexagon NVPTX PowerPC RISCV 
-- Found JPEG: /usr/lib/aarch64-linux-gnu/libjpeg.so (found version "80") 
-- Found PNG: /usr/lib/aarch64-linux-gnu/libpng.so (found version "1.6.37") 
-- Proceeding with version: 23.5.26.0
-- Looking for strtof_l
-- Looking for strtof_l - found
-- Looking for strtoull_l
-- Looking for strtoull_l - found
-- Looking for realpath
-- Looking for realpath - found
-- CMAKE_CXX_FLAGS: 
-- Found Git: /usr/bin/git (found version "2.48.0") 
-- Looking for alloca.h
-- Looking for alloca.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for setjmp.h
-- Looking for setjmp.h - found
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of ssize_t
-- Check size of ssize_t - done
-- Check size of size_t
-- Check size of size_t - done
-- Looking for __i386__
-- Looking for __i386__ - not found
-- Looking for __SSE2_MATH__
-- Looking for __SSE2_MATH__ - not found
-- Performing Test LINKER_HAS_FLAG_VERSION_SCRIPT
-- Performing Test LINKER_HAS_FLAG_VERSION_SCRIPT - Success
-- Found Python: /usr/bin/python3.10 (found suitable version "3.10.12", minimum required is "3.9") found components: Interpreter Development.Module 
-- pybind11 v2.11.1 
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Performing Test HAS_FLTO_THIN
-- Performing Test HAS_FLTO_THIN - Success
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) 
-- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) 
-- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) 
-- The following features have been enabled:

 * Halide_ENABLE_EXCEPTIONS, Enable exceptions in Halide
 * Halide_ENABLE_RTTI, Enable RTTI in Halide
 * WITH_AUTOSCHEDULERS, Build the Halide autoschedulers
 * WITH_PACKAGING, Halide's CMake package install rules
 * WITH_PYTHON_BINDINGS, Halide's native Python module (not the whole pip package)
 * WITH_SERIALIZATION, Include experimental Serialization/Deserialization code
 * WITH_TUTORIALS, Halide's tutorial code
 * WITH_UTILS, Optional utility programs for Halide, including HalideTraceViz

-- The following features have been disabled:

 * WITH_DOCS, Halide's Doxygen documentation
 * WITH_TESTS, Halide's unit test suite

-- Configuring done (16.0s)
-- Generating done (0.1s)
-- Build files have been written to: /tmp/tmp.MZzgs5V0PW
Building Halide...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions