This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/49718] New: please allow no_instrument_function attribute in class member definition/declaration
- From: "jojelino at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 12 Jul 2011 14:22:53 +0000
- Subject: [Bug c++/49718] New: please allow no_instrument_function attribute in class member definition/declaration
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49718
Summary: please allow no_instrument_function attribute in class
member definition/declaration
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: jojelino@gmail.com
it says
instrument.cc:10:6: error: canât set âno_instrument_functionâ attribute after
definition
isn't it false-positive? because in class/struct it is normal one to define
such member function in it.
#include <stdio.h>
struct t
{
public:
t();
__attribute__((no_instrument_function)) void a(){
}
void __attribute__((no_instrument_function))b(){
}
void c() __attribute__((no_instrument_function)){
}
void d() __attribute__((no_instrument_function));
};
void t::d()
{}
int main()
{
t a;
a.a();
}
$ g++ instrument.cc -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-cygwin/4.7.0/lto-wrapper.exe
Target: i686-pc-cygwin
Configured with: ./configure --config-cache --prefix=/usr
--disable-win32-registry --enable-threads=win32 --enable-languages=c,c++,lto
--with-win32-nlsapi=unicode --enable-tls --disable-bootstrap --enable-shared
--disable-sjlj-exceptions --enable-gomp
Thread model: win32
gcc version 4.7.0 20110708 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' '-march=pentiumpro'
/usr/libexec/gcc/i686-pc-cygwin/4.7.0/cc1plus.exe -quiet -v -D__CYGWIN32__
-D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter
/usr/lib/gcc/i686-pc-cygwin/4.7.0/../../../../i686-pc-cygwin/lib/../include/w32api
-idirafter
/usr/lib/gcc/i686-pc-cygwin/4.7.0/../../../../i686-pc-cygwin/lib/../../include/w32api
instrument.cc -quiet -dumpbase instrument.cc -mtune=generic -march=pentiumpro
-auxbase instrument -version -o /tmp/ccqnGK06.s
GNU C++ (GCC) version 4.7.0 20110708 (experimental) (i686-pc-cygwin)
compiled by GNU C version 4.7.0 20110622 (experimental), GMP version
5.0.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring duplicate directory "/usr/include"
ignoring duplicate directory
"/usr/lib/gcc/i686-pc-cygwin/4.7.0/../../../../i686-pc-cygwin/lib/../../include/w32api"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/i686-pc-cygwin/4.7.0/../../../../include/c++/4.7.0
/usr/lib/gcc/i686-pc-cygwin/4.7.0/../../../../include/c++/4.7.0/i686-pc-cygwin
/usr/lib/gcc/i686-pc-cygwin/4.7.0/../../../../include/c++/4.7.0/backward
/usr/lib/gcc/i686-pc-cygwin/4.7.0/include
/usr/local/include
/usr/lib/gcc/i686-pc-cygwin/4.7.0/include-fixed
/usr/lib/gcc/i686-pc-cygwin/4.7.0/../../../../i686-pc-cygwin/include
/usr/lib/gcc/i686-pc-cygwin/4.7.0/../../../../i686-pc-cygwin/lib/../include/w32api
End of search list.
GNU C++ (GCC) version 4.7.0 20110708 (experimental) (i686-pc-cygwin)
compiled by GNU C version 4.7.0 20110622 (experimental), GMP version
5.0.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 68ba7c3bade77b76b9651c346a28b1de
instrument.cc:6:46: error: canât set âno_instrument_functionâ attribute after
definition
instrument.cc:8:45: error: canât set âno_instrument_functionâ attribute after
definition
instrument.cc:10:6: error: canât set âno_instrument_functionâ attribute after
definition