public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: PICCA Frederic-Emmanuel <frederic-emmanuel.picca@synchrotron-soleil.fr>
To: Jonathan Wakely <jwakely.gcc@gmail.com>
Cc: gcc-help <gcc-help@gcc.gnu.org>,
	"taurel@esrf.eu" <taurel@esrf.eu>,
	"Avi  Kivity" <avi@cloudius-systems.com>
Subject: RE:gcc5 and std::string
Date: Sat, 12 Sep 2015 09:12:00 -0000	[thread overview]
Message-ID: <A2A20EC3B8560D408356CAC2FC148E53B2F832B1@SUN-DAG3.synchrotron-soleil.fr> (raw)
In-Reply-To: <CAH6eHdT18HOyYkOdg6zVz3ZJ0AQOdkHzMonzFGYxDdD+yJtMTw@mail.gmail.com>

first thanks a lot for your really helpfull comment.

> The symbol shown above doesn't mention std::string so you can't really
> say it "is cxx11 abi" because it isn't using any std::string, new or
> old. As far as we can tell from the symbol it doesn't depend on
> std::string at all.

sorry, I saw str and my brean tought it was std::string.


I recompiled the tango project with the -Wabi-tag

now I have thousands of line like this.

../../../../../lib/cpp/log4tango/include/log4tango/AppenderAttachable.hh:58:24: warning: 'log4tango::AppenderAttachable' does not have the "cxx11" ABI tag that 'log4tango::AppenderMap {aka std::map<std::__cxx11::basic_string<char>, log4tango::Appender*>}' (used in the type of 'log4tango::AppenderAttachable::_appenders') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/LoggerStream.hh:58:7: warning: 'log4tango::LoggerStream' does not have the "cxx11" ABI tag that 'std::ostringstream {aka std::__cxx11::basic_ostringstream<char>}' (used in the type of 'log4tango::LoggerStream::_buffer') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/Logger.hh:56:24: warning: 'log4tango::Logger' does not have the "cxx11" ABI tag that 'const string {aka const std::__cxx11::basic_string<char>}' (used in the type of 'log4tango::Logger::_name') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/LoggingEvent.hh:50:25: warning: 'log4tango::LoggingEvent' does not have the "cxx11" ABI tag that 'const string {aka const std::__cxx11::basic_string<char>}' (used in the type of 'log4tango::LoggingEvent::logger_name') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/LoggingEvent.hh:50:25: warning: 'log4tango::LoggingEvent' does not have the "cxx11" ABI tag that 'const string {aka const std::__cxx11::basic_string<char>}' (used in the type of 'log4tango::LoggingEvent::message') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/LoggingEvent.hh:50:25: warning: 'log4tango::LoggingEvent' does not have the "cxx11" ABI tag that 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' (used in the type of 'log4tango::LoggingEvent::thread_name') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/Layout.hh:41:24: warning: 'log4tango::Layout' does not have the "cxx11" ABI tag that 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' (used in the type of 'virtual std::__cxx11::string log4tango::Layout::format(const log4tango::LoggingEvent&)') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/Appender.hh:45:24: warning: 'log4tango::Appender' does not have the "cxx11" ABI tag that 'const string {aka const std::__cxx11::basic_string<char>}' (used in the type of 'log4tango::Appender::_name') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/PatternLayout.hh:99:26: warning: 'log4tango::PatternLayout::PatternComponent' does not have the "cxx11" ABI tag that 'std::ostringstream {aka std::__cxx11::basic_ostringstream<char>}' (used in the type of 'virtual void log4tango::PatternLayout::PatternComponent::append(std::ostringstream&, const log4tango::LoggingEvent&)') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/PatternLayout.hh:43:24: warning: 'log4tango::PatternLayout' does not have the "cxx11" ABI tag that 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' (used in the type of 'log4tango::PatternLayout::_conversionPattern') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/PatternLayout.hh:43:24: warning: 'log4tango::PatternLayout' does not have the "cxx11" ABI tag that 'const string {aka const std::__cxx11::basic_string<char>}' (used in the type of 'virtual int log4tango::PatternLayout::set_conversion_pattern(const string&)') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/PatternLayout.hh:43:24: warning: 'log4tango::PatternLayout' does not have the "cxx11" ABI tag that 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' (used in the type of 'virtual std::__cxx11::string log4tango::PatternLayout::get_conversion_pattern() const') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/LoggingEvent.hh:50:25: warning: 'log4tango::LoggingEvent' does not have the "cxx11" ABI tag that 'const string {aka const std::__cxx11::basic_string<char>}' (used in the type of 'log4tango::LoggingEvent::logger_name') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/LoggingEvent.hh:50:25: warning: 'log4tango::LoggingEvent' does not have the "cxx11" ABI tag that 'const string {aka const std::__cxx11::basic_string<char>}' (used in the type of 'log4tango::LoggingEvent::message') has [-Wabi-tag]
../../../../../lib/cpp/log4tango/include/log4tango/LoggingEvent.hh:50:25: warning: 'log4tango::LoggingEvent' does not have the "cxx11" ABI tag that 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' (used in the type of 'log4tango::LoggingEvent::thread_name') has [-Wabi-tag

I filtered the line which explain explicitely that the symbol inherit from the cxx11 ABI.

If I understand you correctly I need to fix each of these symbols by adding your #define snipset. (right ?)

It seems to me that this is a HUGE task and it "polute" the code with this snipset everywhere.
I mean is it something really specific to gcc ?, what about other c++ compiler, I especially think about msvc abd clang.
What i understand is that this is just a waning saying that a problem can occure when someone use one of these symbols in the incriminate .h file.

I imagine also that not all libraries where instrumented like that.
since the problem show up for me at runtime. I have the filling that I have a damocles sword above my head. Maybe there is something that I do not understand correctly :)

In another hand only a few of these symbols cause troubles practcally (the used one, so only the one in the public API).
Do you have some practical advise in order to fix this problem with a minimal impact on all the code.

thanks a lot for your help


Frederic

  reply	other threads:[~2015-09-12  9:12 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-11 13:04 gcc5 " PICCA Frederic-Emmanuel
2015-09-11 13:24 ` Avi Kivity
2015-09-11 13:27   ` Jonathan Wakely
2015-09-11 13:50     ` PICCA Frederic-Emmanuel
2015-09-11 13:55       ` gcc5 " David Abdurachmanov
2015-09-11 13:59         ` PICCA Frederic-Emmanuel
2015-09-11 14:23         ` gcc5 " Jonathan Wakely
2015-09-11 14:33       ` Jonathan Wakely
2015-09-12  9:12         ` PICCA Frederic-Emmanuel [this message]
2015-09-12 10:12           ` Jonathan Wakely
2015-09-12 10:42             ` PICCA Frederic-Emmanuel
2015-09-13  6:22             ` PICCA Frederic-Emmanuel
2015-09-14  7:23   ` gcc5 " Mason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=A2A20EC3B8560D408356CAC2FC148E53B2F832B1@SUN-DAG3.synchrotron-soleil.fr \
    --to=frederic-emmanuel.picca@synchrotron-soleil.fr \
    --cc=avi@cloudius-systems.com \
    --cc=gcc-help@gcc.gnu.org \
    --cc=jwakely.gcc@gmail.com \
    --cc=taurel@esrf.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).