[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#686178: g++-4.7: g++ ignore "pragma GCC diagnostic ..." directives



Package: g++-4.7
Version: 4.7.1-7
Severity: normal

  Hi,

  Contrary to gcc, g++ ignore "#pragma GCC diagnostic ...".
Note that the GNU doc tell us that g++ support most of gcc pragma.
Moreover, g++ does not emit a warning about unknown pragma as it
does for typo.

Example:
vdanjean@eyak:/tmp$ cat toto.cpp 
#pragma GCC diagnostic ignored "-Wcpp"
#warning this is a warning
vdanjean@eyak:/tmp$ g++-4.7 -Wall -c toto.cpp
toto.cpp:2:2: warning: #warning this is a warning [-Wcpp]
vdanjean@eyak:/tmp$ gcc-4.7 --language=c -Wall -c toto.cpp
vdanjean@eyak:/tmp$ 

Example that shows that the previous pragma is recongnized but ignored
with various typo that make g++ emit other warnings:
vdanjean@eyak:/tmp$ cat titi.cpp 
#pragma GCC wrong-pragma ignored "-Wcpp"
#pragma GXX diagnostic ignored "-Wcpp"
#pragma GCC diagnostic ignored "-Wwrong-option"
#warning this is a warning
vdanjean@eyak:/tmp$ g++-4.7 -Wall -c titi.cpp 
titi.cpp:1:0: warning: ignoring #pragma GCC wrong [-Wunknown-pragmas]
titi.cpp:2:0: warning: ignoring #pragma GXX diagnostic [-Wunknown-pragmas]
titi.cpp:4:2: warning: #warning this is a warning [-Wcpp]
titi.cpp:3:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
vdanjean@eyak:/tmp$ 

So "#pragma GCC diagnostic ignored "-Wcpp"" has been correctly recognized in
toto.cpp but ignored.

  Regards,
    Vincent

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386 armel mipsel

Kernel: Linux 3.2.0-3-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages g++-4.7 depends on:
ii  gcc-4.7             4.7.1-7
ii  gcc-4.7-base        4.7.1-7
ii  libc6               2.13-35
ii  libgmp10            2:5.0.5+dfsg-2
ii  libmpc2             0.9-4
ii  libmpfr4            3.1.0-5
ii  libstdc++6-4.7-dev  4.7.1-7
ii  zlib1g              1:1.2.7.dfsg-13

g++-4.7 recommends no packages.

Versions of packages g++-4.7 suggests:
ii  g++-4.7-multilib    4.7.1-7
pn  gcc-4.7-doc         <none>
pn  libstdc++6-4.7-dbg  <none>

-- no debconf information


Reply to: