(compilation "-f alpha -f beta,gamma --features=delta --no-platform-features") (input) (output "alpha" "beta" "gamma" "delta" "elsewhere") (return 0) ;;; The flags naming the features, in every spelling sexc takes. This ;;; is not pedantry about the command line: sextest reads the program ;;; itself and prints the surviving forms to sexc, so a spelling it ;;; does not recognise leaves the guards below resolved against the ;;; wrong set -- quietly, since the test then checks the output of a ;;; program it did not mean to compile. ;;; ;;; --no-platform-features is what makes `#-unix' true wherever this is ;;; compiled, and it has to be honoured on both sides for that to hold. (include stdio.h) (pub fn main () int #+alpha (puts "alpha") #+beta (puts "beta") #+gamma (puts "gamma") #+delta (puts "delta") #-unix (puts "elsewhere") #+unix (puts "here") (return 0))