Example 17 Enabling warnings selectively

$cadvise +wall -pdb testpdb +Ww600 cc -c foo.c

5.4 Interpreting selective warnings as errors

The +Wearg1[,arg2,..,argn] option selectively interprets specified warning messages as errors. arg1 through argn must be valid warning message numbers. This option allows you to enforce a policy to disallow specific warnings by forcing an error at compile time.

+Wearg1[,arg2,..,argn]

Following is the syntax for selectively enabling warnings.

$cadvise +wall -pdb <pdbname> +Wearg1[,arg2,...,argn] compile-cmd <filename>

Following is an example for selectively enabling warnings.

Example 18 Interpreting selective warnings as errors

$cadvise +wall -pdb testpdb +We600 cc -c foo.c

5.5 Disabling warnings in a macro

The +Wmacro:MACRONAME:d1,d2,d3,..dn option disables specified warnings in a macro. MACRONAME is the name of the macro and d1, d2, d3, ..., dn are warning numbers. Specifying -1 suppresses all warnings. This option is not applicable to warning numbers greater than 20000.

NOTE: Conflicts between +W, +Ww and +We options are resolved based on the severity. The +We option is the highest and +W is the lowest.

Following is the syntax for disabling warnings in a macro.

$cadvise +wall -pdb <pdbname> +Wmacro:INITIAL:d1,d2,d3,..dn compile-cmd <filename>

Following is an example for disabling warnings in a macro.

Example 19 Disabling warnings in a macro

$cadvise +wall -pdb testpdb +Wmacro:INITIAL:600,610 cc -c foo.c

5.6 Managing warnings in a source file

#pragma diag_suppress diag_warning diag_error NNNN #pragma diag_default NNNN

Command line options help you to generate diagnostic messages for the entire build or for a specific source file. There are several pragmas available to manage warnings for a specific region within a source file. The use of #pragma diag_suppress within the source code disables generation of warning N after the pragma in the source file. The pragma diag_default restores the default handling for the diagnostic message N. Similarly, diag_warning enables generation of a diagnostic message and diag_error converts a warning to an error. The following example disables warning #2549-D locally:

Example 20 Disabling a warning locally

int i;

#pragma diag_suppress 2549 printf ("i = %d\n", i); #pragma diag_default 2549

NOTE: These pragmas are not applicable to warning numbers greater than 20000.

26 Configuring diagnostic messages

Page 26
Image 26
HP UX Web Development Tools manual Interpreting selective warnings as errors, Disabling warnings in a macro