__FB_ERR__

Intrinsic define (macro value) set by the compiler

Syntax
   __FB_ERR__

Description
   __FB_ERR__ indicates if -e, -ex, or -exx was specified on the compiler 
   command line at the time of compilation of a module.

   __FB_ERR__ indicates if -earray, -enullptr, or -elocation was specified 
   on the compiler command line, or implied by use of -exx, at the time of 
   compilation of a module.

   __FB_ERR__ indicates if -edebug, -edebuginfo, or -eassert was specified 
   on the compiler command line, or implied by use of -g, at the time of 
   compilation of a module.

   __FB_ERR__ indicates if -eunwind was specified on the compiler command 
   line, or implied by use of -e, -ex, or -exx, at the time of compilation 
   of a module.

   Returns bit-wise OR of the following values:
         +-----+-------------+------------------------------------------+
         |value|flag         |description                               |
         |0    |no flag      |                                          |
         |1    |errorcheck   |implied by '-e', '-ex', '-exx'            |
         |2    |resumeerr    |implied by '-ex', '-exx'                  |
         |4    |extraerrchk  |implied by '-exx'                         |
         |8    |arrayboundchk|implied by '-earray', '-exx'              |
         |16   |nullptrchk   |implied by '-enullptr', '-exx'            |
         |32   |assertions   |implied by '-eassert', '-g'               |
         |64   |debuginfo    |implied by '-edebuginfo', '-g'            |
         |128  |debug        |implied by '-edebug', '-g'                |
         |256  |errlocation  |implied by '-elocation', '-exx'           |
         |512  |unwindinfo   |implied by '-eunwind', '-e', '-ex', '-exx'|
         +-----+-------------+------------------------------------------+

   __FB_ERR__ is always defined.

Example
   'Example code to demonstrate a use of __FB_ERR__

   Dim fb_err_value As Integer
   fb_err_value = __FB_ERR__
   If fb_err_value = 0 Then
      Print "no flag enabled"
   Else
      If fb_err_value And 1 Then
         Print "'errorcheck' flag enabled"
      End If
      If fb_err_value And 2 Then
         Print "'resumeerr' flag enabled"
      End If
      If fb_err_value And 4 Then
         Print "'extraerrchk' flag enabled"
      End If
      If fb_err_value And 8 Then
         Print "'arrayboundchk' flag enabled"
      End If
      If fb_err_value And 16 Then
         Print "'nullptrchk' flag enabled"
      End If
      If fb_err_value And 32 Then
         Print "'assertions' flag enabled"
      End If
      If fb_err_value And 64 Then
         Print "'debuginfo' flag enabled"
      End If
      If fb_err_value And 128 Then
         Print "'debug' flag enabled"
      End If
      If fb_err_value And 256 Then
         Print "'errlocation' flag enabled"
      End If
      If fb_err_value And 512 Then
         Print "'unwindinfo' flag enabled"
      End If
   End If

Version
   * Since fbc 1.10.0: -eunwind indication.
   * Since fbc 1.07.0: -earray, -enullptr, -elocation, -edebug, -edebuginfo
     , and -eassert indications.

Differences from QB
   * New to FreeBASIC

See also 
   * __FB_MT__
   * __FB_DEBUG__
   * Compiler Option: -e
   * Compiler Option: -ex
   * Compiler Option: -exx
   * Compiler Option: -eunwind
   * Error Handling

