See here
<https://colinpaice.blog/2023/04/11/migrating-from-cc-to-xlc-is-like-playing-twister/#skipsrc>
SKIPS(SHOW|HIDE)
The SKIPS(HIDE) also known as SKIPSRC shows you what is used, and
suppresses text which is not used. I found this useful trying to find the
combination of #define … to get the program to compile.
For example with SKIPS(SHOW)
170 |#if 0x42040000 >= 0X220A0000 | 672
4
171 | #if defined (_NO_PROTO) && !defined(__cplusplus) | 673
4
172 | #define __new210(ret,func,parms) ret func () | 674
4
173 | #else | 675
4 *174 | #define __new210(ret,func,parms) ret func
parms | 676 4 *
175 | #endif | 677
4
176 |#elif !defined(__cplusplus) && !defined(_NO_NEW_FUNC_CHECK)| 678
4 *177 | #define __new210(ret,func,parms) \
| 679 4
178 | extern struct __notSupportedBeforeV2R10__ func | 680
4 *
179 | #else | 681
4
180 | #define __new210(ret,func,parms) | 682
4
181 |#endif | 683
4
With SKIPS(HIDE) the bold lines are not displayed,
170 |#if 0x42040000 >= 0X220A0000 | 629 4
171 | #if defined (_NO_PROTO) && !defined(__cplusplus) | 630 4
172 | #define __new210(ret,func,parms) ret func () | 631 4
173 | else | 632 4
175 | #endif | 633 4
176 | | 634 4
179 | #else | 635 4
181 |#endif | 636 4
182 |#endif | 637 4
This shows
- 170 The line number within the included file
- 629 The line number within the file
- 4 is the 4th included file. In the “I N C L U D E S” section it says 4
/usr/include/features.h
- rows 174 is missing … this is the #else text which was not included
- rows 177, 178,180 are omitted.
This makes is much easier to browse through the includes to find why you
have duplicate definitions and other problems.
On Sat, 24 Jun 2023 at 01:00, Eric Erickson <[email protected]> wrote:
> Using XL C on z/OS V2R5. I've got a set of #ifdefs in a header file that
> are not giving me the results I expect. I know on other compilers I've used
> in the past that there were options to output all input statements showing
> the #ifdefs and how the logic was processed. I need the same thing for the
> XL C compiler, but can not seem to find the proper options. I tried PPONLY,
> but it only showed the output after preprocessing it does not show the
> #ifdefs, which I need to see how the logic is getting executed.
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN