// cc1 immediate arguments (arguments which displays information and exits)
// shall exit indicating success (return code 0)
// RUN: %clang -cc1 -help
// RUN: %clang -cc1 -version
