------- Comment #2 from rich at phekda dot gotadsl dot co dot uk  2007-01-03 
21:45 -------
Created an attachment (id=12853)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12853&action=view)
A test case

When I compile the attached test case, I get:

[EMAIL PROTECTED] test-cases]$ make
g++ -W -Wall -g    hidden.cpp   -o hidden
hidden.cpp:5: warning: 'visibility' attribute ignored on non-class types

Line 5 refers to the declaration with the attribute attached to the return
type.

Looking at the generated ELF file, I see that "func" is not hidden, but "func2"
is:

[EMAIL PROTECTED] test-cases]$ readelf -s hidden | c++filt  | grep func
    51: 080487f2    23 FUNC    LOCAL  DEFAULT   12 global constructors keyed to
_Z4funcv
    53: 08049e80     4 OBJECT  LOCAL  DEFAULT   25 func2()::foo2
    55: 08049e90     4 OBJECT  LOCAL  DEFAULT   25 func()::foo
    59: 08049e78     8 OBJECT  LOCAL  DEFAULT   25 guard variable for
func2()::foo2
    60: 08049e88     8 OBJECT  LOCAL  DEFAULT   25 guard variable for
func()::foo
    89: 080488fa   220 FUNC    GLOBAL DEFAULT   12 func()
    99: 0804881e   220 FUNC    GLOBAL HIDDEN   12 func2()

Version information:

[EMAIL PROTECTED] test-cases]$ gcc --version  
gcc (GCC) 4.1.1 20061011 (Red Hat 4.1.1-30)
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.

[EMAIL PROTECTED] test-cases]$ ld --version
GNU ld version 2.17.50.0.3-6 20060715
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
[EMAIL PROTECTED] test-cases]$ cat /etc/redhat-release 
Fedora Core release 6 (Zod)
[EMAIL PROTECTED] test-cases]$ rpm -q gcc
gcc-4.1.1-30
[EMAIL PROTECTED] test-cases]$ rpm -q binutils
binutils-2.17.50.0.3-6


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30361

Reply via email to