SpECTRE Documentation Coverage Report
Current view: top level - Utilities - BlazeExceptions.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 0.0 % 2 0
Test Date: 2026-10-22 17:29:42
Legend: Lines:     hit not hit

            Line data    Source code
       1            0 : // Distributed under the MIT License.
       2              : // See LICENSE.txt for details.
       3              : 
       4              : #pragma once
       5              : 
       6              : #include <csignal>
       7              : 
       8              : // Blaze 3.8.2 has a missing include that causes nvcc to fail
       9              : // (fixed in https://bitbucket.org/blaze-lib/blaze/pull-requests/63).
      10              : // We just include it here to fix the issue.
      11              : // NOLINTBEGIN
      12              : #include <blaze/util/EnableIf.h>
      13              : #include <blaze/math/traits/ReduceTrait.h>
      14              : // NOLINTEND
      15              : 
      16              : #ifdef __CUDA_ARCH__
      17              : // When building for Nvidia GPUs we need to disable the use of vector
      18              : // intrinsics.
      19              : #define BLAZE_USE_VECTORIZATION 0
      20              : #endif
      21              : 
      22              : #ifdef SPECTRE_DEBUG
      23              : #define BLAZE_THROW(EXCEPTION)           \
      24              :   struct sigaction handler {};           \
      25              :   handler.sa_handler = SIG_IGN;          \
      26              :   handler.sa_flags = 0;                  \
      27              :   sigemptyset(&handler.sa_mask);         \
      28              :   sigaction(SIGTRAP, &handler, nullptr); \
      29              :   raise(SIGTRAP);                        \
      30              :   throw EXCEPTION
      31              : #else  // SPECTRE_DEBUG
      32            0 : #define BLAZE_THROW(EXCEPTION)
      33              : #endif  // SPECTRE_DEBUG
        

Generated by: LCOV version 2.0-1