Some of the -print-* command-line switches either don't work as advertised or their documentation should be made more clear.
All of the examples below are with the following version of GCC: gcc (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu5) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. I also tested with this version, with the same results. gcc (GCC) 3.4.2 (mingw-special) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please tell whether I should submit a bug report for some or all of the below. 1. -print-multi-directory: Documentation is confusing and unclear. The manual says: `-print-multi-directory' Print the directory name corresponding to the multilib selected by any other switches present in the command line. This directory is supposed to exist in `GCC_EXEC_PREFIX'. But without having ``multilib'' explained anywhere else in the manual, let alone having a cross-reference here to such a description, there's no way to understand what this switch does. 2. -print-multi-lib: Same issue as with the previous switch. 3. -print-prog-name: Works only for some programs; manual text misleading. The manual says: `-print-prog-name=PROGRAM' Like `-print-file-name', but searches for a program such as `cpp'. It fails to say what programs will this work with. The example it gives, `cpp' doesn't work: e...@fencepost:~$ gcc -print-prog-name=cpp cpp Similarly, it doesn't work with `gcc' itself, which seems a pity, as it doesn't allow to write scripts that discover where GCC lives. It works with cc1: e...@fencepost:~$ gcc -print-prog-name=cc1 /usr/lib/gcc/x86_64-linux-gnu/4.0.3/cc1 However, the manual should at least give a hint about which values of PROGRAM will work here, and the example with `cpp' should be removed. Thanks.