From: Simon Marchi <simon.marchi@polymtl.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org
Subject: Re: GDB 7.99.91 MinGW compilation error in cli-script.c
Date: Sun, 14 May 2017 03:19:00 -0000 [thread overview]
Message-ID: <91d9fc6cc7c07674a0b5cd02e7b1502b@polymtl.ca> (raw)
In-Reply-To: <83o9v3cs25.fsf@gnu.org>
On 2017-05-08 11:00, Eli Zaretskii wrote:
> The reason is that std::to_string is guarded by the symbol
> _GLIBCXX_HAVE_BROKEN_VSWPRINTF, which mingw.org's MinGW defines in its
> os_defines.h, because msvcrt.dll's implementation of vswprintf is
> incompatible with what C++11 expects. So GDB assumes here without
> testing that this method is available, which is not true at least on
> one platform.
>
> How best to solve this? I worked around by providing my own
> implementation based on std::ostringstream, but I'm not sure this is
> TRT. An alternative would be to use some less problematic API, since
> currently cli-script.c is the only user of this method, and its needs
> are quite modest. And if we do provide a replacement for to_string,
> should the configure script probe for it, or should we condition it
> specifically on MinGW and _GLIBCXX_HAVE_BROKEN_VSWPRINTF?
>
> Thoughts?
I think the best solution would be a check at configure time. I think
it's a function that can be quite handy, so it would be unfortunate if
we had to avoid using it, especially if it's easy to implement ourselves
for MinGW. A configure check would be more robust than checking for
MinGW or _GLIBCXX_HAVE_BROKEN_VSWPRINTF specifically, in case another
platform needs the replacement too, or if the define changes at some
point.
Note that you'll need to check for the specific overload of the function
that we use, the one that accepts a parameter of
std::vector<T>::size_type (what .size() returns). In practice, I think
we can consider that it will always correspond to size_t.
Thanks,
Simon
next prev parent reply other threads:[~2017-05-14 3:19 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-04 19:44 GDB 7.99.91 available for testing Joel Brobecker
2017-05-08 14:53 ` Eli Zaretskii
2017-05-17 11:36 ` Yao Qi
2017-05-17 14:39 ` Eli Zaretskii
2017-05-08 15:00 ` GDB 7.99.91 MinGW compilation error in cli-script.c Eli Zaretskii
2017-05-14 3:19 ` Simon Marchi [this message]
2017-05-14 14:13 ` Eli Zaretskii
2017-05-17 14:31 ` Joel Brobecker
2017-05-17 16:01 ` Eli Zaretskii
2017-05-19 9:10 ` Eli Zaretskii
2017-05-19 9:49 ` Pedro Alves
2017-05-19 11:17 ` Eli Zaretskii
2017-05-19 11:23 ` Pedro Alves
2017-05-21 15:33 ` Eli Zaretskii
2017-05-22 15:26 ` Pedro Alves
2017-05-22 18:43 ` Eli Zaretskii
2017-05-23 9:53 ` Pedro Alves
2017-05-24 2:44 ` Eli Zaretskii
2017-05-25 10:05 ` Pedro Alves
2017-05-26 7:57 ` Eli Zaretskii
2017-05-26 11:52 ` Pedro Alves
2017-05-26 12:57 ` Eli Zaretskii
2017-05-26 13:58 ` Pedro Alves
2017-05-24 18:28 ` Eli Zaretskii
2017-05-24 19:37 ` Joel Brobecker
2017-05-25 10:12 ` Pedro Alves
2017-05-26 7:47 ` Eli Zaretskii
2017-05-26 10:54 ` Pedro Alves
2017-05-26 13:03 ` Eli Zaretskii
2017-05-26 14:10 ` Pedro Alves
2017-05-26 14:35 ` Eli Zaretskii
2017-05-26 14:45 ` Pedro Alves
2017-05-08 15:02 ` GDB 7.99.91 MinGW compilation warning in tui.c Eli Zaretskii
2017-05-09 10:17 ` Yao Qi
2017-05-13 8:12 ` Eli Zaretskii
2017-05-17 16:26 ` Yao Qi
2017-05-17 16:45 ` Eli Zaretskii
2017-05-17 18:21 ` Joel Brobecker
2017-05-19 8:02 ` Eli Zaretskii
2017-05-19 9:54 ` Pedro Alves
2017-05-19 11:14 ` Eli Zaretskii
2017-05-19 11:25 ` Pedro Alves
2017-05-19 12:51 ` Eli Zaretskii
2017-05-19 13:58 ` Pedro Alves
2017-05-19 14:40 ` Eli Zaretskii
2017-05-19 17:50 ` DJ Delorie
2017-05-19 17:55 ` Eli Zaretskii
2017-05-15 21:11 ` GDB 7.99.91 available for testing Simon Marchi
2017-05-16 13:51 ` Simon Marchi
2017-05-16 20:50 ` Yao Qi
2017-05-16 21:22 ` Simon Marchi
2017-05-16 21:40 ` Yao Qi
2017-05-17 11:31 ` [PATCH master/8.0] Add alias command to cmd_list_element Yao Qi
2017-05-17 12:16 ` Simon Marchi
2017-05-17 13:36 ` Yao Qi
2017-05-16 14:28 ` GDB 7.99.91 available for testing Joel Brobecker
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=91d9fc6cc7c07674a0b5cd02e7b1502b@polymtl.ca \
--to=simon.marchi@polymtl.ca \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
/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