You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add array bounds error checking in generated run-time code. A run-time error is generated if an array index attempts to access an array element that is outside the bounds of the array.
9
+
10
+
##**-earray**## is automatically implied by the ##[[CompilerOptexx|-exx]]## option.
11
+
12
+
##[[KeyPgDdfberr|__FB_ERR__]]## can be used to determine in user source code if the ##**-earray**## option was specified or implied on the command line.
The ##-eassert## compiler option enables ##[[KeyPgAssert|Assert]]## and ##[[KeyPgAssertwarn|AssertWarn]]## code generation.
9
+
10
+
##**-eassert**## is automatically implied by the ##[[CompilerOptg|-g]]## option.
11
+
12
+
##[[KeyPgDdfberr|__FB_ERR__]]## can be used to determine in user source code if the ##**-eassert**## option was specified or implied on the command line.
The ##**-edebug**## compiler option defines the intrinsic macro ##[[KeyPgDdfbdebug|__FB_DEBUG__]]## to enable user debug code.
9
+
10
+
The intrinsic macro ##[[KeyPgDdfbdebug|__FB_DEBUG__]]## is set to non-zero (-1) if the option was specified, and set to zero (0) otherwise.
11
+
12
+
##**-edebug**## is automatically implied by the ##[[CompilerOptg|-g]]## option.
13
+
14
+
##[[KeyPgDdfberr|__FB_ERR__]]## can be used to determine in user source code if the ##**-edebug**## option was specified or implied on the command line.
The ##**-edebuginfo**## compiler inserts debugging symbols into output files, to use with GDB-compatible debuggers.
9
+
10
+
##**-edebuginfo**## is automatically implied by the ##[[CompilerOptg|-g]]## option.
11
+
12
+
##[[KeyPgDdfberr|__FB_ERR__]]## can be used to determine in user source code if the ##**-edebugingo**## option was specified or implied on the command line.
The ##**-elocation**## compiler option enables full location reporting in run-time code generation.
9
+
10
+
##**-elocation**## is automatically implied by the ##[[CompilerOptexx|-exx]]## option.
11
+
12
+
##[[KeyPgDdfberr|__FB_ERR__]]## can be used to determine in user source code if the ##**-elocation**## option was specified or implied on the command line.
13
+
14
+
//Note: the intent of this option is for a future fbc feature to optimize out some of the error tracking code associated with error location reporting. When implemented, only ##-exx## or ##-elocation## will enable the full error location reporting and will be optimized away otherwise.//
The ##-enullptr## compiler option enables null-pointer error checking in run-time code generation. A run-time error is generated if an attempt is made to dereference a null-pointer to a value, or call a null function pointer.
9
+
10
+
##**-enullptr**## is automatically implied by the ##[[CompilerOptexx|-exx]]## option.
11
+
12
+
##[[KeyPgDdfberr|__FB_ERR__]]## can be used to determine in user source code if the ##**-enullptr**## option was specified or implied on the command line.
Copy file name to clipboardExpand all lines: doc/manual/cache/CompilerOptexx.wakka
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -5,11 +5,16 @@ Add error checking with ##[[KeyPgResume|Resume]]## support and array bounds and
5
5
**-exx**
6
6
##
7
7
{{fbdoc item="desc"}}
8
-
The ##-exx## compiler option adds error checking with ##[[KeyPgResume|Resume]]## support, plus array bounds and non-null-pointer checking (including the procedure pointers).
8
+
The ##**-exx**## compiler option adds error checking with ##[[KeyPgResume|Resume]]## support, plus array bounds and null-pointer checking (including the procedure pointers).
9
+
10
+
Use of the ##**-exx**## option automatically implies ##-e##, ##-exx##, ##-earray##, ##-elocation##, and ##-enullptr##, error checking and code generation options.
Add debug information, define ##""__FB_DEBUG__""##, and enable asserts
3
3
4
4
{{fbdoc item="syntax"}}##
5
5
**-g**
6
6
##
7
7
{{fbdoc item="desc"}}
8
-
The ##-g## compiler option inserts debugging symbols into output files, to use with GDB-compatible debuggers.
8
+
The ##**-g**## compiler option inserts debugging symbols into output files, to use with GDB-compatible debuggers.
9
9
10
10
The intrinsic macro ##[[KeyPgDdfbdebug|__FB_DEBUG__]]## is set to non-zero (-1) if the option was specified, and set to zero (0) otherwise.
11
+
12
+
##[[KeyPgAssert|Assert]]## and ##[[KeyPgAssertwarn|AssertWarn]]## macros are enabled.
13
+
14
+
Use of ##**-g**## automatically implies ##[[CompilerOptedebug|-edebug]]##, ##[[CompilerOptedebuginfo|-edebuginfo]]##, and ##[[CompilerOpteassert|-eassert]]##, command line options.
15
+
16
+
##[[KeyPgDdfberr|__FB_ERR__]]## can be used to determine in user source code if the ##**-g**## option was specified or implied on the command line.
0 commit comments