MAJ terminée. Nous sommes passés en version 14.6.2 . Pour consulter les "releases notes" associées c'est ici :

https://about.gitlab.com/releases/2022/01/11/security-release-gitlab-14-6-2-released/
https://about.gitlab.com/releases/2022/01/04/gitlab-14-6-1-released/

SnesMacro.hpp 1.27 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
//! \file
//
//
//  SnesMacro.hpp
//  MoReFEM
//
//  Created by sebastien on 05/09/2018.
//Copyright © 2018 Inria. All rights reserved.
//

#ifndef MOREFEM_x_THIRD_PARTY_x_WRAPPERS_x_PETSC_x_SNES_MACRO_HPP_
# define MOREFEM_x_THIRD_PARTY_x_WRAPPERS_x_PETSC_x_SNES_MACRO_HPP_

GILLES Sebastien's avatar
GILLES Sebastien committed
14
15
16
17
18

// ============================
//! \cond IGNORE_BLOCK_IN_DOXYGEN
// ============================

19
20
21
22
23
24
25
# ifdef MOREFEM_NO_TRAP_SNES_EXCEPTION

#  define MOREFEM_TRAP_SNES_EXCEPTION_TRY
#  define MOREFEM_TRAP_SNES_EXCEPTION_CATCH(Snes)

# else // MOREFEM_NO_TRAP_SNES_EXCEPTION

GILLES Sebastien's avatar
GILLES Sebastien committed
26
27
28
29
30
/*!
 * If the macro is not defined, in standard SnesInterface functions exceptions are caught and transformed into
 * Petsc error codes. This prevent libc++ abi issues if exceptions are thrown from one of functions fed to Petsc
 * through a pointer.
 */
31
32
33
34
35
36
37
38
39
40
41
#  define MOREFEM_TRAP_SNES_EXCEPTION_TRY try
#  define MOREFEM_TRAP_SNES_EXCEPTION_CATCH(Snes) \
    catch(const std::exception& e) \
    { \
    std::cerr << "Exception caught in the Petsc Snes definition: " << e.what() << std::endl; \
    return PETSC_ERR_MIN_VALUE; \
    }

# endif // MOREFEM_NO_TRAP_SNES_EXCEPTION


GILLES Sebastien's avatar
GILLES Sebastien committed
42
43
44
45
46
// ============================
//! \endcond IGNORE_BLOCK_IN_DOXYGEN
// ============================


47
#endif // MOREFEM_x_THIRD_PARTY_x_WRAPPERS_x_PETSC_x_SNES_MACRO_HPP_