Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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


  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