From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31555 invoked by alias); 18 Sep 2006 21:02:45 -0000 Received: (qmail 31445 invoked by uid 48); 18 Sep 2006 21:02:26 -0000 Date: Mon, 18 Sep 2006 21:02:00 -0000 Message-ID: <20060918210226.31444.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/23628] Typeinfo comparison code easily breaks shared libs In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "geoffk at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-09/txt/msg01743.txt.bz2 List-Id: ------- Comment #28 from geoffk at gcc dot gnu dot org 2006-09-18 21:02 ------- The current version of the documentation says, for -fvisibility=, Be aware that headers from outside your project, in particular system headers and headers from any other library you use, may not be expecting to be compiled with visibility other than the default. You may need to explicitly say @samp{#pragma GCC visibility push(default)} before including any such headers. ... Note that @samp{-fvisibility} does affect C++ vague linkage entities. This means that, for instance, an exception class that will be thrown between DSOs must be explicitly marked with default visibility so that the @samp{type_info} nodes will be unified between the DSOs. Also, the documentation for the 'hidden' attribute no longer uses ELF-specific terminology, so anyone who understands the C++ standard should be able to understand 'hidden' too. Does that address this bug? I don't think we can change the meaning of -fvisibility= at this point, people are depending on the existing behaviour. Apple has a -fvisibility-ms-compat flag which aims to give Visual C++ bug-compatible linkage behaviour, that might provide a good model for any additional features in this area. -- geoffk at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23628