This file is indexed.

/usr/include/oce/Standard_ErrorHandler.lxx is in liboce-foundation-dev 0.18.2-2build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Copyright (c) 1998-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.

#include <Standard_JmpBuf.hxx>

inline Standard_JmpBuf& Standard_ErrorHandler::Label()
{
  return myLabel;
}

/*Common part for jumps*/
// In the current version setjmp is used. The alternative solution is to
// use sigsetjmp that stores the signal mask (to be checked)
// In the original implementation sigsetjmp is tried to use for SUN and IRIX
// in the following way:
//    #ifdef SOLARIS
//      #define DoesNotAbort(aHandler) !sigsetjmp(aHandler.Label(),1)
//    #endif
//

#if defined(NO_CXX_EXCEPTION) || defined(OCC_CONVERT_SIGNALS)
  #ifdef SOLARIS
    #define DoesNotAbort(aHandler) !setjmp(aHandler.Label())
  #elif IRIX
    #define DoesNotAbort(aHandler) !setjmp(aHandler.Label())
  #else
    #define DoesNotAbort(aHandler) !setjmp(aHandler.Label())
  #endif
#endif


#ifdef NO_CXX_EXCEPTION
/* No CXX Exceeptions, only jumps in all the cases.*/
  #define try               Standard_ErrorHandler _Function; \
                            if(DoesNotAbort(_Function))
  #define catch(Error)        else if(_Function.Catches(STANDARD_TYPE(Error)))
  #define OCC_CATCH_SIGNALS 
#elif defined(OCC_CONVERT_SIGNALS)
/* Exceptions are raied as usual, signal are converted into jumps and 
   raused in the proper point.*/
  #define OCC_CATCH_SIGNALS   Standard_ErrorHandler _aHandler; \
                              if(!DoesNotAbort(_aHandler)) { \
				_aHandler.Catches(STANDARD_TYPE(Standard_Failure)); \
				_aHandler.Error()->Reraise(); \
			      }
#else
/*Normal Exceptions (for example WNT)*/
  #define OCC_CATCH_SIGNALS
#endif