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.


Reply via email to