SpECTRE Documentation Coverage Report
Current view: top level - Utilities - BlazeExceptions.hpp Hit Total Coverage
Commit: 7b84572e7f3b8c8fb2d105e3d4e12204a244a350 Lines: 0 2 0.0 %
Date: 2025-04-18 14:09:55
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 1.14