Synergy .NET compiler options
For Synergy .NET projects, Visual Studio and .NET CLI build features invoke the Synergy .NET compiler, and Visual Studio project properties control the way the Synergy .NET compiler works.
The most commonly used Synergy .NET compiler options are set using options on the following project properties pages:
- Application page of Visual Studio project properties
- Compile page of Visual Studio project properties (Synergy .NET)
- Signing page of Visual Studio project properties (Synergy .NET)
- Reference Paths page of Visual Studio project properties (Synergy .NET)
- Build page of Visual Studio project properties
Additionally, you can set some compiler options manually by entering them in the “Other options” field of the Compile page of project properties. These options are documented below.
Compiler options for the “Other options” field
Note that optional argument elements are enclosed in [italic square brackets].
Return value of ^SIZE and %SIZE
Syntax: -s or -q[no]decscope
^SIZE (or %SIZE) of a real or pseudo array returns the size of the whole array. By default, Synergy DBL returns the size of one array element (-qnodecscope).
For example, assume you have the following array declarations:
array, [10]d4
pseudo, 10d4
The effect of this option is as follows:
^SIZE reference | -qnodecscope (default) | -s or -qdecscope |
---|---|---|
^size(array) | 4 | 40 |
^size(array[ ]) | 40 | 40 |
^size(array[1]) | 4 | 4 |
^size(pseudo) | 4 | 40 |
^size(pseudo[ ]) | 40 | 40 |
^size(pseudo(1)) | 4 | 4 |
Omit duplicate global structures and enumerations
Syntax: -qrelaxed:allowdup
Ignore duplicate global structures and enumerations. The first declarations for duplicates will be used, and successive declarations will be ignored, but the compiler will report W_GLOBDUPIGN warnings.
Allow passing alpha to decimal
Syntax: -qrelaxed:paramad
Allow passing type a to an input d or unspecified direction d. (For decimal type only, not implied-decimal.)
COMMON statement defaults
Syntax: -c or -qexternal
Treat COMMON statements that don’t specify GLOBAL or EXTERNAL modifiers as global in the main routine and as external in all other routines.
Syntax: -G or -qglobal
Treat COMMON statements that don’t specify GLOBAL or EXTERNAL modifiers as global commons instead of external commons.
Lock records for FIND
Syntax: -F
Lock records that the FIND statement positions to. By default, Synergy DBL does not lock the record unless the LOCK qualifier is specified.
Map decimal arguments to numeric
Syntax: -N
Map decimal subroutine arguments (d) to numeric (n), which is the same as using system option #28.
STATIC default for unqualified RECORD
Syntax: -qstatic or -qlocal
Make STATIC the default behavior of unqualified RECORD statements.