From ba1cbfb946aef122c53787e3c6b5dd8ff32a539c Mon Sep 17 00:00:00 2001 From: Robert Dewar Date: Tue, 31 Oct 2006 19:14:24 +0100 Subject: debug.adb: Update flags documentation 2006-10-31 Robert Dewar Cyrille Comar Ben Brosgol * debug.adb: Update flags documentation * gnat_ugn.texi: Add documentation for new -gnatwq switch Clean up documentation for several other warning switches Clarify how task stack size can be specified with various versions of Windows. Add note that -gnatVo includes ranges including loops Add documentation for -gnatL switch Add note on elaboration warning for initializing variables Add documentation for new -gnatwt warning switch Document new form of pragma Warnings (On|Off, string) Add comment on use of pragma Warnings to control warnings Add documentation for -gnatjnn switch Modify section on interfacing with C for VMS 64-bit. Add doc for -gnatVe/E Add documentation of new warning flags -gnatww/-gnatwW Add warnings about address clause overlays to list of warnings (Exception Handling Control): Document that the option --RTS must be used consistently for gcc and gnatbind. Clarify that inlining is not always possible Update documentation on pragma Unchecked_Union. * gnat_rm.texi: Add documentation for new extended version of pragma Obsolescent Add documentation for implementation defined attribute 'Stub_Type. Add note on use of Volatile in asm statements Add documentation on use of pragma Unreferenced in context clause Document new form of pragma Warnings (On|Off, pattern) Document pragma Wide_Character_Encoding Add note that pragma Restrictions (No_Elaboration_Code) is only fully enforced if code generation is active. Add section on pragma Suppress to document GNAT specific check Alignment_Check Clarify difference between No_Dispatching_Calls & No_Dispatch. Add documentation for pragma Restrictions (No_Elaboration_Code) * gnat-style.texi: Add comments on layout of subprogram local variables in the presence of nested subprograms. * ug_words: Resync. * elists.ads: Minor reformatting Node returns Node_Or_Entity_Id (doc change only) * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION * g-arrspl.ads (Create): Update comments. * sem.ads: Add details on the handling of the scope stack. * usage.adb: Update documentation. * validsw.ads, validsw.adb: Add definition of Validity_Check_Components and implement -gnatVe/E * vms_data.ads: Add missing VMS qualifiers. * s-addope.ads: Add documentation on overflow and divide by zero From-SVN: r118328 --- gcc/ada/vms_data.ads | 119 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 85 insertions(+), 34 deletions(-) (limited to 'gcc/ada/vms_data.ads') diff --git a/gcc/ada/vms_data.ads b/gcc/ada/vms_data.ads index 9a8dc0f..e7e19ef 100644 --- a/gcc/ada/vms_data.ads +++ b/gcc/ada/vms_data.ads @@ -744,7 +744,7 @@ package VMS_Data is -- -- Work quietly, only output warnings and errors. - S_Check_Sections : aliased constant S := "/SECTIONS= " & + S_Check_Sections : aliased constant S := "/SECTIONS=" & "DEFAULT " & "-s123 " & "COMPILER_STYLE " & @@ -752,7 +752,7 @@ package VMS_Data is "BY_RULES " & "-s2 " & "BY_FILES_BY_RULES " & - "-s3 "; + "-s3"; -- /SECTIONS[=section-option, section-option, ...] -- -- Specify what sections should be included into the report file. @@ -1566,22 +1566,33 @@ package VMS_Data is "!-gnatn,!-gnatN"; -- NODOC (see /INLINE) - S_GCC_Jumps : aliased constant S := "/LONGJMP_SETJMP " & + S_GCC_Intsrc : aliased constant S := "/INTERSPERSE_SOURCE " & "-gnatL"; - -- /NOLONGJMP_SETJMP (D) - -- /LONGJMP_SETJMP + + -- /NO_INTERSPERSE_SOURCE (D) + -- /INTERSPERSE_SOURCE -- - -- Causes the longjmp/setjmp approach to be used for exception handling. + -- Causes output from /XDEBUG or /EXPAND_SOURCE to be interspersed with + -- lines from the original source file, output as comment lines with the + -- associated line number. + + S_GCC_Just : aliased constant S := "/JUSTIFY_MESSAGES=#" & + "-gnatj#"; + + -- /NO_JUSTIFY_MESSAGES (D) + -- /JUSTIFY_MESSAGES=nnn -- - -- The default mechanism for OpenVMS is zero cost exceptions. This - -- qualifier can be used to modify this default, but it must be used for - -- all units in the partition, including all run-time library units. - -- One way to achieve this is to use the /ALL_FILES and /FORCE_COMPILE - -- for gnatmake. - -- This option is rarely used. One case in which it may be advantageous is - -- in an application where exception raising is common and the overall - -- performance of the application is improved by favoring exception - -- propagation. + -- Causes error messages to be reformatted so that a message and all its + -- continuation lines count as one warning or error in the statistics on + -- total errors, and the message is broken down into lines (justified) so + -- that no line is longer than nnn characters. The default message + -- behavior (each message counted separately and not reformatted to fit + -- a particular line length) can be obtained using /NO_JUSTIFY_MESSAGES. + + S_GCC_JustX : aliased constant S := "/NO_JUSTIFY_MESSAGES " & + "-gnatj0"; + + -- NODOC (see /JUSTIFY_MESSAGES) S_GCC_Length : aliased constant S := "/MAX_LINE_LENGTH=#" & "-gnatyM#"; @@ -1595,7 +1606,9 @@ package VMS_Data is -- /NOLIST (D) -- /LIST -- - -- Cause a full listing of the file to be generated. + -- Cause a full listing of the file to be generated. In the case where + -- a body is compiled, the corresponding spec is also listed, along + -- with any subunits. S_GCC_Mapping : aliased constant S := "/MAPPING_FILE=<" & "-gnatem>"; @@ -1767,6 +1780,19 @@ package VMS_Data is "-O0,!-O1,!-O2,!-O3"; -- NODOC (see /OPTIMIZE) + S_GCC_Output : aliased constant S := "/OUTPUT_FILE=<" & + "-gnatl=>"; + -- /OUTPUT_FILE=fname + -- + -- This has the same effect as /LIST except that the output is written + -- to a file instead of to standard output. If the given fname + -- does not start with a period, then it is the full name of the file + -- to be written. If fname starts with a period, the name of the file + -- is the concatenation of to the name of the file being compiled with + -- fname where the period is replace by an underline. For example, if + -- file xyz.adb is compiled with -gnatl=.lst, then the output is written + -- to file xyz.adb_lst. + S_GCC_Polling : aliased constant S := "/POLLING " & "-gnatP"; -- /NOPOLLING (D) @@ -2539,20 +2565,24 @@ package VMS_Data is "-gnatwp " & "NOINEFFECTIVE_INLINE " & "-gnatwP " & + "MISSING_PARENS " & + "-gnatwq " & + "NOMISSING_PARENS " & + "-gnatwQ " & "MODIFIED_UNREF " & "-gnatwm " & "NOMODIFIED_UNREF " & "-gnatwM " & - "OPTIONAL " & - "-gnatwa " & - "NOOPTIONAL " & - "-gnatwA " & "NORMAL " & "-gnatwn " & "OBSOLESCENT " & "-gnatwj " & "NOOBSOLESCENT " & "-gnatwJ " & + "OPTIONAL " & + "-gnatwa " & + "NOOPTIONAL " & + "-gnatwA " & "OVERLAYS " & "-gnatwo " & "NOOVERLAYS " & @@ -2563,6 +2593,10 @@ package VMS_Data is "-gnatwR " & "SUPPRESS " & "-gnatws " & + "DELETED_CODE " & + "-gnatwt " & + "NODELETED_CODE " & + "-gnatwT " & "UNINITIALIZED " & "-Wuninitialized " & "UNREFERENCED_FORMALS " & @@ -2581,6 +2615,10 @@ package VMS_Data is "-gnatwv " & "NOVARIABLES_UNINITIALIZED " & "-gnatwV " & + "LOWBOUND_ASSUMED " & + "-gnatww " & + "NOLOWBOUND_ASSUMED " & + "-gnatwW " & "IMPORT_EXPORT_PRAGMAS " & "-gnatwx " & "NOIMPORT_EXPORT_PRAGMAS " & @@ -2707,6 +2745,19 @@ package VMS_Data is -- inline a call, it will simply ignore the -- request silently. -- + -- MISSING_PARENS + -- Activate warnings for cases where parentheses + -- are not used and the result is potential + -- ambiguity from a reader's point of view. + -- For example (not a > b) when a and b are + -- modular means (not (a) > b) and very likely + -- the programmer intended (not (a > b)). + -- + -- NOMISSING_PARENS + -- Suppress warnings for cases where parentheses + -- are not used and the result is potential + -- ambiguity from a reader's point of view. + -- -- MODIFIED_UNREF Activates warnings for variables that are -- assigned (using an initialization value or with -- one or more assignment statements) but whose @@ -2853,8 +2904,6 @@ package VMS_Data is S_GCC_Wide : aliased constant S := "/WIDE_CHARACTER_ENCODING=" & "BRACKETS " & "-gnatWb " & - "NONE " & - "-gnatWn " & "HEX " & "-gnatWh " & "UPPER " & @@ -2977,15 +3026,6 @@ package VMS_Data is -- speed up compilation, but means that some -- tools cannot be used. - S_GCC_Zero : aliased constant S := "/ZERO_COST_EXCEPTIONS " & - "-gnatZ"; - -- /ZERO_COST_EXCEPTIONS - -- /NOZERO_COST_EXCEPTIONS - -- - -- As zero-cost exceptions is the default on VMS, this qualifier has - -- no effect, except that it cancels the effect of a previous - -- /LONGJMP_SETJUMP qualifier. - GCC_Switches : aliased constant Switches := (S_GCC_Ada_83 'Access, S_GCC_Ada_95 'Access, @@ -3015,9 +3055,12 @@ package VMS_Data is S_GCC_Immed 'Access, S_GCC_Inline 'Access, S_GCC_InlineX 'Access, - S_GCC_Jumps 'Access, + S_GCC_Intsrc 'Access, + S_GCC_Just 'Access, + S_GCC_JustX 'Access, S_GCC_Length 'Access, S_GCC_List 'Access, + S_GCC_Output 'Access, S_GCC_Mapping 'Access, S_GCC_Mess 'Access, S_GCC_Nesting 'Access, @@ -3056,8 +3099,7 @@ package VMS_Data is S_GCC_WideX 'Access, S_GCC_No_Back 'Access, S_GCC_Xdebug 'Access, - S_GCC_Xref 'Access, - S_GCC_Zero 'Access); + S_GCC_Xref 'Access); ---------------------------- -- Switches for GNAT ELIM -- @@ -4169,6 +4211,14 @@ package VMS_Data is -- -- When looking for source files also look in the specified directories. + S_Make_Stand : aliased constant S := "/STANDARD_OUTPUT_FOR_COMMANDS " & + "-S"; + -- /NOSTANDARD_OUTPUT_FOR_COMMANDS (D) + -- /STANDARD_OUTPUT_FOR_COMMANDS + -- + -- Output the commands for the compiler, the binder and the linker + -- on SYS$OUTPUT, instead of SYS$ERROR. + S_Make_Switch : aliased constant S := "/SWITCH_CHECK " & "-s"; -- /NOSWITCH_CHECK (D) @@ -4251,6 +4301,7 @@ package VMS_Data is S_Make_Search 'Access, S_Make_Skip 'Access, S_Make_Source 'Access, + S_Make_Stand 'Access, S_Make_Switch 'Access, S_Make_Unique 'Access, S_Make_Use_Map 'Access, -- cgit v1.1