Non-nesting example
//  fragment 1
extern void F1(T1);

struct St {
  int value;
#ifdef __cplusplus
//  fragment 2
  int getValue() { return value; }
#endif
//  fragment 3
};

extern void F2(T2);