Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [RFC-v5] Handle cygwin wchar_t specifics
Date: Tue, 19 Apr 2011 17:50:00 -0000	[thread overview]
Message-ID: <m3wriq3zbu.fsf@fleche.redhat.com> (raw)
In-Reply-To: <16656.7281041809$1303221408@news.gmane.org> (Pierre Muller's	message of "Tue, 19 Apr 2011 15:56:14 +0200")

>>>>> "Pierre" == Pierre Muller <pierre.muller@ics-cnrs.unistra.fr> writes:

Tom> I don't think DEFAULT_INTERMEDIATE_ENCODING is needed.

Pierre>   I assumed you ment: not necessary if PHONY_ICONV is defined,
Pierre> and this is what I changed below.
Pierre> (I would personally have favored to completely remove
Pierre> INTERMEDIATE_ENCODING macro and call the function directly.)
 
Sorry, that isn't what I meant.

All this new code is needed only in the __STDC_ISO_10646__ case.
All other cases are already handled ok.
So, I think it is best to only introduce new code along the
__STDC_ISO_10646__ branches.  Thus far your patches have touched all the
other branches -- but there is no reason to do that, and I think it just
makes it more complicated without an associated benefit.

Pierre> +#ifdef __STDC_ISO_10646__
Pierre> +  if (sizeof (gdb_wchar_t) == 2)

You might as well unify the 2 and 4 byte cases like I said earlier, and
just die for any other value.  You can use a static assert trick to make
it die during compilation, which I think is better than dying at
runtime.  E.g.:

extern char your_platform_is_bogus[(sizeof (gdb_wchar_t) == 2
                                    || sizeof (gdb_wchar_t) == 4)
                                    ? 1 : -1];

Pierre> +      /* Check that the name is in the list of handled charsets.  */
Pierre> +      for (i = 0; charset_enum[i]; i++)

I don't think this is really needed either.
Or, if you really want to do the check, do it by calling iconv_open at
initialization, and then just make gdb die early -- whatever platform
does this is really messed up.

Pierre> +  /* if gdb_wchar_t is not of size 2, or if "UTF-16XE" and "UCS-2XE" are
Pierre> +     not known, use DEFAULT_INTERMEDIATE_ENCODING macro.  */
Pierre> +  return DEFAULT_INTERMEDIATE_ENCODING;

I don't think this will generally do the right thing.
For example, your patch defines DEFAULT_INTERMEDIATE_ENCODING to
"UCS-4LE" in the !WORDS_BIGENDIAN case.  But we already know that
gdb_wchar_t has 2 bytes.  So I think this will just result in the same
bug as today.

Tom


  parent reply	other threads:[~2011-04-19 17:50 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <5928.31498147479$1302882967@news.gmane.org>
2011-04-15 18:16 ` [RFA] " Tom Tromey
2011-04-16 16:05   ` Pierre Muller
2011-04-16 16:25     ` Jan Kratochvil
2011-04-16 21:29       ` [RFA-v2] " Pierre Muller
2011-04-16 22:35         ` Jan Kratochvil
     [not found]       ` <000001cbfc7d$3f67f440$be37dcc0$%muller@ics-cnrs.unistra.fr>
2011-04-17  2:55         ` Eli Zaretskii
2011-04-18 10:36           ` Pierre Muller
     [not found]           ` <00a801cbfdb4$551214a0$ff363de0$%muller@ics-cnrs.unistra.fr>
2011-04-18 10:57             ` Eli Zaretskii
2011-04-18 15:14           ` [RFA-v3] " Pierre Muller
     [not found]           ` <21014.6501930014$1303139687@news.gmane.org>
2011-04-18 17:18             ` Tom Tromey
2011-04-19  9:18               ` [RFC-v4] " Pierre Muller
     [not found]               ` <004f01cbfe72$adddeb40$0999c1c0$%muller@ics-cnrs.unistra.fr>
2011-04-19  9:34                 ` Eli Zaretskii
     [not found]               ` <34716.7311156683$1303204711@news.gmane.org>
2011-04-19 13:19                 ` Tom Tromey
2011-04-19 13:56                   ` [RFC-v5] " Pierre Muller
     [not found]                   ` <16656.7281041809$1303221408@news.gmane.org>
2011-04-19 17:50                     ` Tom Tromey [this message]
2011-04-20  7:59                       ` Pierre Muller
2011-04-20 21:08                         ` Pedro Alves
2011-04-21  6:57                           ` Pierre Muller
2011-04-21  7:17                             ` [RFA-v6] " Pierre Muller
2011-04-21  9:02                               ` Pierre Muller
     [not found]                               ` <24274.3825926029$1303376558@news.gmane.org>
2011-04-21 14:14                                 ` Tom Tromey
2011-04-21 14:27                                   ` Pierre Muller
     [not found]                                   ` <4691.37052209607$1303396084@news.gmane.org>
2011-04-21 15:06                                     ` Tom Tromey
2011-04-21 16:39                                       ` Pierre Muller
     [not found]                                       ` <25400.1310132027$1303403986@news.gmane.org>
2011-04-21 20:25                                         ` Tom Tromey
2011-04-21 21:18                                           ` 7.3 commit " Pierre Muller
     [not found]                           ` <15550.7422438406$1303369059@news.gmane.org>
2011-04-21 14:10                             ` [RFC-v5] " Tom Tromey
     [not found]                       ` <420.768399681215$1303286406@news.gmane.org>
2011-04-20 20:21                         ` Tom Tromey
2011-04-16 21:24     ` [RFA] " Tom Tromey
2011-04-18 20:07   ` Corinna Vinschen

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=m3wriq3zbu.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=pierre.muller@ics-cnrs.unistra.fr \
    /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