Commit 16dd5cfe by Eric Christopher

[multiple changes]

2004-02-02  Eric Christopher  <echristo@redhat.com>
            Zack Weinberg  <zack@codesourcery.com>

        * c-opts.c (c_common_handle_option): Add -finput-charset.
        * c.opt: Ditto.
        * cppcharset.c (one_iso88591_to_utf8): Remove.
        (convert_iso88591_utf8): Ditto.
        (conversion_tab): Remove 8859-1 converter.
        (_cpp_input_to_utf8): Remove.
        (_cpp_init_iconv_buffer): Ditto.
        (_cpp_close_iconv_buffer): Ditto.
        (_cpp_convert_input): New function.
        (_cpp_default_encoding): Ditto.
        * cpphash.h: Add/remove prototypes for above.
        * cppfiles.c (read_file_guts): Use _cpp_convert_input.
        * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
        for narrow execution and input character sets.
        * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
        * doc/cppopts.texi: Document -finput-charset.

2004-02-02 Eric Christopher  <echristo@redhat.com>
           Zack Weinberg  <zack@codesourcery.com>

        * gcc.c-torture/execute/wchar_t-1.c: Add -finput-charset.

2004-01-29  Eric Christopher  <echristo@redhat.com>
            Zack Weinberg  <zack@codesourcery.com>

        * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
        -finput-charset.
        * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
        * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
        * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
        * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
        * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
        * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
        * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
        * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
        Ditto.

From-SVN: r77136
parent 6699d593
2004-02-02 Eric Christopher <echristo@redhat.com>
Zack Weinberg <zack@codesourcery.com>
* c-opts.c (c_common_handle_option): Add -finput-charset.
* c.opt: Ditto.
* cppcharset.c (one_iso88591_to_utf8): Remove.
(convert_iso88591_utf8): Ditto.
(conversion_tab): Remove 8859-1 converter.
(_cpp_input_to_utf8): Remove.
(_cpp_init_iconv_buffer): Ditto.
(_cpp_close_iconv_buffer): Ditto.
(_cpp_convert_input): New function.
(_cpp_default_encoding): Ditto.
* cpphash.h: Add/remove prototypes for above.
* cppfiles.c (read_file_guts): Use _cpp_convert_input.
* cppinit.c (cpp_create_reader): Use _cpp_default_encoding
for narrow execution and input character sets.
* cpplib.c (cpp_push_buffer): Delete uses of removed functions.
* doc/cppopts.texi: Document -finput-charset.
2004-02-02 David Edelsohn <edelsohn@gnu.org> 2004-02-02 David Edelsohn <edelsohn@gnu.org>
* rtlanal.c (refers_to_regno_p): Test regno, not inner_regno, * rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
...@@ -86,7 +106,7 @@ ...@@ -86,7 +106,7 @@
* postreload.c (reload_combine, reload_combine_note_store, * postreload.c (reload_combine, reload_combine_note_store,
reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise. reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
* ra-colorize.c (combine, color_usable_p, get_free_reg, * ra-colorize.c (combine, color_usable_p, get_free_reg,
calculate_dont_begin, calculate_dont_begin, colorize_one_web, calculate_dont_begin, calculate_dont_begin, colorize_one_web,
try_recolor_web, insert_coalesced_conflicts, check_colors, try_recolor_web, insert_coalesced_conflicts, check_colors,
break_precolored_alias): Likewise. break_precolored_alias): Likewise.
* ra-debug.c: Include regs.h * ra-debug.c: Include regs.h
...@@ -210,7 +230,7 @@ ...@@ -210,7 +230,7 @@
constant. constant.
(write_node): Simplify comparisons against small constants (write_node): Simplify comparisons against small constants
before printing tests. before printing tests.
2004-01-31 Kazu Hirata <kazu@cs.umass.edu> 2004-01-31 Kazu Hirata <kazu@cs.umass.edu>
* config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT * config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
...@@ -435,8 +455,8 @@ ...@@ -435,8 +455,8 @@
(mark_constant_pool): Use new pool datastructures. (mark_constant_pool): Use new pool datastructures.
2004-01-30 Fariborz Jahanian <fjahanian@apple.com> 2004-01-30 Fariborz Jahanian <fjahanian@apple.com>
* config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0. * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
Copy operands[1] to pseudo for simplify_gen_subreg. Copy operands[1] to pseudo for simplify_gen_subreg.
2004-01-30 Kazu Hirata <kazu@cs.umass.edu> 2004-01-30 Kazu Hirata <kazu@cs.umass.edu>
...@@ -447,7 +467,7 @@ ...@@ -447,7 +467,7 @@
2004-01-30 Andrew Pinski <pinskia@physics.uc.edu> 2004-01-30 Andrew Pinski <pinskia@physics.uc.edu>
* toplev.c: Include alloc-pool.h. * toplev.c: Include alloc-pool.h.
* Makefile.in (toplev.c): Update dependencies. * Makefile.in (toplev.c): Update dependencies.
2004-01-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2004-01-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
...@@ -533,7 +553,7 @@ ...@@ -533,7 +553,7 @@
2004-01-29 Devang Patel <dpatel@apple.com> 2004-01-29 Devang Patel <dpatel@apple.com>
* dwarf2out.c (gen_field_die): Do not equate decl number to die. * dwarf2out.c (gen_field_die): Do not equate decl number to die.
2004-01-28 Ian Lance Taylor <ian@wasabisystems.com> 2004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
PR inline-asm/6162 PR inline-asm/6162
...@@ -682,7 +702,7 @@ ...@@ -682,7 +702,7 @@
target macros. target macros.
2004-01-28 Daniel Berlin <dberlin@dberlin.org> 2004-01-28 Daniel Berlin <dberlin@dberlin.org>
* timevar.c (timevar_print): Mention when checking is enabled. * timevar.c (timevar_print): Mention when checking is enabled.
2004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org> 2004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org>
...@@ -3984,4 +4004,3 @@ ...@@ -3984,4 +4004,3 @@
* invoke.texi (-O1): Document change. * invoke.texi (-O1): Document change.
See ChangeLog.10 for earlier changes. See ChangeLog.10 for earlier changes.
...@@ -904,6 +904,10 @@ c_common_handle_option (size_t scode, const char *arg, int value) ...@@ -904,6 +904,10 @@ c_common_handle_option (size_t scode, const char *arg, int value)
cpp_opts->wide_charset = arg; cpp_opts->wide_charset = arg;
break; break;
case OPT_finput_charset_:
cpp_opts->input_charset = arg;
break;
case OPT_ftemplate_depth_: case OPT_ftemplate_depth_:
max_tinst_depth = value; max_tinst_depth = value;
break; break;
......
...@@ -482,6 +482,11 @@ fexec-charset= ...@@ -482,6 +482,11 @@ fexec-charset=
C ObjC C++ ObjC++ Joined RejectNegative C ObjC C++ ObjC++ Joined RejectNegative
-fexec-charset=<cset> Convert all strings and character constants to character set <cset> -fexec-charset=<cset> Convert all strings and character constants to character set <cset>
finput-charset=
C ObjC C++ ObjC++ Joined RejectNegative
-finput-charset=<cset> Specify the default character set for source files.
fexternal-templates fexternal-templates
C++ ObjC++ C++ ObjC++
......
...@@ -446,31 +446,6 @@ one_utf16_to_utf8 (iconv_t bigend, const uchar **inbufp, size_t *inbytesleftp, ...@@ -446,31 +446,6 @@ one_utf16_to_utf8 (iconv_t bigend, const uchar **inbufp, size_t *inbytesleftp,
return 0; return 0;
} }
/* The first 256 code points of ISO 8859.1 have the same numeric
values as the first 256 code points of Unicode, therefore the
incoming ISO 8859.1 character can be passed directly to
one_cppchar_to_utf8 (which expects a Unicode value). */
static int
one_iso88591_to_utf8 (iconv_t bigend ATTRIBUTE_UNUSED, const uchar **inbufp,
size_t *inbytesleftp, uchar **outbufp, size_t *outbytesleftp)
{
const uchar *inbuf = *inbufp;
int rval;
if (*inbytesleftp > 1)
return EINVAL;
rval = one_cppchar_to_utf8 ((cppchar_t)*inbuf, outbufp, outbytesleftp);
if (rval)
return rval;
*inbufp += 1;
*inbytesleftp -= 1;
return 0;
}
/* Helper routine for the next few functions. The 'const' on /* Helper routine for the next few functions. The 'const' on
one_conversion means that we promise not to modify what function is one_conversion means that we promise not to modify what function is
pointed to, which lets the inliner see through it. */ pointed to, which lets the inliner see through it. */
...@@ -554,14 +529,6 @@ convert_utf32_utf8 (iconv_t cd, const uchar *from, size_t flen, ...@@ -554,14 +529,6 @@ convert_utf32_utf8 (iconv_t cd, const uchar *from, size_t flen,
return conversion_loop (one_utf32_to_utf8, cd, from, flen, to); return conversion_loop (one_utf32_to_utf8, cd, from, flen, to);
} }
static bool
convert_iso88591_utf8 (iconv_t cd, const uchar *from, size_t flen,
struct _cpp_strbuf *to)
{
return conversion_loop (one_iso88591_to_utf8, cd, from, flen, to);
}
/* Identity conversion, used when we have no alternative. */ /* Identity conversion, used when we have no alternative. */
static bool static bool
convert_no_conversion (iconv_t cd ATTRIBUTE_UNUSED, convert_no_conversion (iconv_t cd ATTRIBUTE_UNUSED,
...@@ -639,7 +606,6 @@ static const struct conversion conversion_tab[] = { ...@@ -639,7 +606,6 @@ static const struct conversion conversion_tab[] = {
{ "UTF-32BE/UTF-8", convert_utf32_utf8, (iconv_t)1 }, { "UTF-32BE/UTF-8", convert_utf32_utf8, (iconv_t)1 },
{ "UTF-16LE/UTF-8", convert_utf16_utf8, (iconv_t)0 }, { "UTF-16LE/UTF-8", convert_utf16_utf8, (iconv_t)0 },
{ "UTF-16BE/UTF-8", convert_utf16_utf8, (iconv_t)1 }, { "UTF-16BE/UTF-8", convert_utf16_utf8, (iconv_t)1 },
{ "ISO-8859-1/UTF-8", convert_iso88591_utf8, (iconv_t)0 },
}; };
/* Subroutine of cpp_init_iconv: initialize and return a /* Subroutine of cpp_init_iconv: initialize and return a
...@@ -1388,44 +1354,58 @@ cpp_interpret_charconst (cpp_reader *pfile, const cpp_token *token, ...@@ -1388,44 +1354,58 @@ cpp_interpret_charconst (cpp_reader *pfile, const cpp_token *token,
} }
uchar * uchar *
_cpp_input_to_utf8 (cpp_reader *pfile, const uchar *input, cppchar_t length) _cpp_convert_input (cpp_reader *pfile, const char *input_charset,
uchar *input, size_t size, size_t len, off_t *st_size)
{ {
struct _cpp_strbuf tbuf; struct cset_converter input_cset;
struct cset_converter cvt = pfile->buffer->input_cset_desc; struct _cpp_strbuf to;
tbuf.asize = MAX (OUTBUF_BLOCK_SIZE, length); input_cset = init_iconv_desc (pfile, SOURCE_CHARSET, input_charset);
tbuf.text = xmalloc (tbuf.asize); if (input_cset.func == convert_no_conversion)
tbuf.len = 0; {
to.text = input;
to.asize = size;
to.len = len;
}
else
{
to.asize = MAX (65536, len);
to.text = xmalloc (to.asize);
to.len = 0;
if (!APPLY_CONVERSION (cvt, input, length, &tbuf)) if (!APPLY_CONVERSION (input_cset, input, len, &to))
{ cpp_error (pfile, CPP_DL_ERROR,
cpp_error (pfile, CPP_DL_ERROR, "converting input to source character set."); "failure to convert %s to %s",
return NULL; CPP_OPTION (pfile, input_charset), SOURCE_CHARSET);
}
if (length) free (input);
tbuf.text[tbuf.len] = '\n'; }
else
tbuf.text[0] = '\n';
return tbuf.text; /* Clean up the mess. */
} if (input_cset.func == convert_using_iconv)
iconv_close (input_cset.cd);
/* Check the input file format. At present assuming the input file /* Resize buffer if we allocated substantially too much, or if we
is in iso-8859-1 format. Convert this input character set to haven't enough space for the \n-terminator. */
source character set format (UTF-8). */ if (to.len + 4096 < to.asize || to.len >= to.asize)
to.text = xrealloc (to.text, to.len + 1);
void to.text[to.len] = '\n';
_cpp_init_iconv_buffer (cpp_reader *pfile, const char *from) *st_size = to.len;
{ return to.text;
pfile->buffer->input_cset_desc = init_iconv_desc (pfile, SOURCE_CHARSET,
from);
} }
void const char *
_cpp_close_iconv_buffer (cpp_reader *pfile) _cpp_default_encoding (void)
{ {
if (HAVE_ICONV const char *current_encoding = NULL;
&& pfile->buffer->input_cset_desc.func == convert_using_iconv)
iconv_close (pfile->buffer->input_cset_desc.cd); #if defined (HAVE_LOCALE_H) && defined (HAVE_LANGINFO_CODESET)
setlocale (LC_CTYPE, "");
current_encoding = nl_langinfo (CODESET);
#endif
if (current_encoding == NULL || *current_encoding == '\0')
current_encoding = SOURCE_CHARSET;
return current_encoding;
} }
...@@ -312,7 +312,7 @@ pch_open_file (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch) ...@@ -312,7 +312,7 @@ pch_open_file (cpp_reader *pfile, _cpp_file *file, bool *invalid_pch)
/* Try to open the path FILE->name appended to FILE->dir. This is /* Try to open the path FILE->name appended to FILE->dir. This is
where remap and PCH intercept the file lookup process. Return true where remap and PCH intercept the file lookup process. Return true
if the file was found, whether or not the open was successful. if the file was found, whether or not the open was successful.
Set *INVALID_PCH to true if a PCH file is found but wasn't valid. */ Set *INVALID_PCH to true if a PCH file is found but wasn't valid. */
static bool static bool
...@@ -398,10 +398,10 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir, bool f ...@@ -398,10 +398,10 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir, bool f
open_file_failed (pfile, file); open_file_failed (pfile, file);
if (invalid_pch) if (invalid_pch)
{ {
cpp_error (pfile, CPP_DL_ERROR, cpp_error (pfile, CPP_DL_ERROR,
"one or more PCH files were found, but they were invalid"); "one or more PCH files were found, but they were invalid");
if (!cpp_get_options (pfile)->warn_invalid_pch) if (!cpp_get_options (pfile)->warn_invalid_pch)
cpp_error (pfile, CPP_DL_ERROR, cpp_error (pfile, CPP_DL_ERROR,
"use -Winvalid-pch for more information"); "use -Winvalid-pch for more information");
} }
break; break;
...@@ -457,7 +457,7 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file) ...@@ -457,7 +457,7 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file)
ssize_t size, total, count; ssize_t size, total, count;
uchar *buf; uchar *buf;
bool regular; bool regular;
if (S_ISBLK (file->st.st_mode)) if (S_ISBLK (file->st.st_mode))
{ {
cpp_error (pfile, CPP_DL_ERROR, "%s is a block device", file->path); cpp_error (pfile, CPP_DL_ERROR, "%s is a block device", file->path);
...@@ -514,15 +514,8 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file) ...@@ -514,15 +514,8 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file)
cpp_error (pfile, CPP_DL_WARNING, cpp_error (pfile, CPP_DL_WARNING,
"%s is shorter than expected", file->path); "%s is shorter than expected", file->path);
/* Shrink buffer if we allocated substantially too much. */ file->buffer = _cpp_convert_input (pfile, CPP_OPTION (pfile, input_charset),
if (total + 4096 < size) buf, size, total, &file->st.st_size);
buf = xrealloc (buf, total + 1);
/* The lexer requires that the buffer be \n-terminated. */
buf[total] = '\n';
file->buffer = buf;
file->st.st_size = total;
file->buffer_valid = true; file->buffer_valid = true;
return true; return true;
...@@ -566,7 +559,7 @@ should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import) ...@@ -566,7 +559,7 @@ should_stack_file (cpp_reader *pfile, _cpp_file *file, bool import)
if (file->once_only) if (file->once_only)
return false; return false;
/* We must mark the file once-only if #import now, before header /* We must mark the file once-only if #import now, before header
guard checks. Otherwise, undefining the header guard might guard checks. Otherwise, undefining the header guard might
cause the file to be re-stacked. */ cause the file to be re-stacked. */
if (import) if (import)
...@@ -1283,7 +1276,7 @@ struct pchf_data { ...@@ -1283,7 +1276,7 @@ struct pchf_data {
This is used as an optimisation, it means we don't have to search This is used as an optimisation, it means we don't have to search
the structure if we're processing a regular #include. */ the structure if we're processing a regular #include. */
bool have_once_only; bool have_once_only;
struct pchf_entry { struct pchf_entry {
/* The size of this file. This is used to save running a MD5 checksum /* The size of this file. This is used to save running a MD5 checksum
if the sizes don't match. */ if the sizes don't match. */
...@@ -1298,7 +1291,7 @@ struct pchf_data { ...@@ -1298,7 +1291,7 @@ struct pchf_data {
static struct pchf_data *pchf; static struct pchf_data *pchf;
/* Data for pchf_addr. */ /* Data for pchf_addr. */
struct pchf_adder_info struct pchf_adder_info
{ {
cpp_reader *pfile; cpp_reader *pfile;
struct pchf_data *d; struct pchf_data *d;
...@@ -1322,11 +1315,11 @@ pchf_adder (void **slot, void *data) ...@@ -1322,11 +1315,11 @@ pchf_adder (void **slot, void *data)
the PCH file shouldn't be written... */ the PCH file shouldn't be written... */
if (f->dont_read || f->err_no) if (f->dont_read || f->err_no)
return 1; return 1;
d->entries[count].once_only = f->once_only; d->entries[count].once_only = f->once_only;
d->have_once_only |= f->once_only; d->have_once_only |= f->once_only;
if (f->buffer_valid) if (f->buffer_valid)
md5_buffer ((const char *)f->buffer, md5_buffer ((const char *)f->buffer,
f->st.st_size, d->entries[count].sum); f->st.st_size, d->entries[count].sum);
else else
{ {
...@@ -1365,22 +1358,22 @@ _cpp_save_file_entries (cpp_reader *pfile, FILE *f) ...@@ -1365,22 +1358,22 @@ _cpp_save_file_entries (cpp_reader *pfile, FILE *f)
struct pchf_data *result; struct pchf_data *result;
size_t result_size; size_t result_size;
struct pchf_adder_info pai; struct pchf_adder_info pai;
count = htab_elements (pfile->file_hash); count = htab_elements (pfile->file_hash);
result_size = (sizeof (struct pchf_data) result_size = (sizeof (struct pchf_data)
+ sizeof (struct pchf_entry) * (count - 1)); + sizeof (struct pchf_entry) * (count - 1));
result = xcalloc (result_size, 1); result = xcalloc (result_size, 1);
result->count = 0; result->count = 0;
result->have_once_only = false; result->have_once_only = false;
pai.pfile = pfile; pai.pfile = pfile;
pai.d = result; pai.d = result;
htab_traverse (pfile->file_hash, pchf_adder, &pai); htab_traverse (pfile->file_hash, pchf_adder, &pai);
result_size = (sizeof (struct pchf_data) result_size = (sizeof (struct pchf_data)
+ sizeof (struct pchf_entry) * (result->count - 1)); + sizeof (struct pchf_entry) * (result->count - 1));
qsort (result->entries, result->count, sizeof (struct pchf_entry), qsort (result->entries, result->count, sizeof (struct pchf_entry),
pchf_save_compare); pchf_save_compare);
...@@ -1393,11 +1386,11 @@ bool ...@@ -1393,11 +1386,11 @@ bool
_cpp_read_file_entries (cpp_reader *pfile ATTRIBUTE_UNUSED, FILE *f) _cpp_read_file_entries (cpp_reader *pfile ATTRIBUTE_UNUSED, FILE *f)
{ {
struct pchf_data d; struct pchf_data d;
if (fread (&d, sizeof (struct pchf_data) - sizeof (struct pchf_entry), 1, f) if (fread (&d, sizeof (struct pchf_data) - sizeof (struct pchf_entry), 1, f)
!= 1) != 1)
return false; return false;
pchf = xmalloc (sizeof (struct pchf_data) pchf = xmalloc (sizeof (struct pchf_data)
+ sizeof (struct pchf_entry) * (d.count - 1)); + sizeof (struct pchf_entry) * (d.count - 1));
memcpy (pchf, &d, sizeof (struct pchf_data) - sizeof (struct pchf_entry)); memcpy (pchf, &d, sizeof (struct pchf_data) - sizeof (struct pchf_entry));
...@@ -1422,7 +1415,7 @@ struct pchf_compare_data ...@@ -1422,7 +1415,7 @@ struct pchf_compare_data
/* Do we need to worry about entries that don't have ONCE_ONLY set? */ /* Do we need to worry about entries that don't have ONCE_ONLY set? */
bool check_included; bool check_included;
/* The file that we're searching for. */ /* The file that we're searching for. */
_cpp_file *f; _cpp_file *f;
}; };
...@@ -1435,15 +1428,15 @@ pchf_compare (const void *d_p, const void *e_p) ...@@ -1435,15 +1428,15 @@ pchf_compare (const void *d_p, const void *e_p)
const struct pchf_entry *e = (const struct pchf_entry *)e_p; const struct pchf_entry *e = (const struct pchf_entry *)e_p;
struct pchf_compare_data *d = (struct pchf_compare_data *)d_p; struct pchf_compare_data *d = (struct pchf_compare_data *)d_p;
int result; int result;
result = memcmp (&d->size, &e->size, sizeof (off_t)); result = memcmp (&d->size, &e->size, sizeof (off_t));
if (result != 0) if (result != 0)
return result; return result;
if (! d->sum_computed) if (! d->sum_computed)
{ {
_cpp_file *const f = d->f; _cpp_file *const f = d->f;
md5_buffer ((const char *)f->buffer, f->st.st_size, d->sum); md5_buffer ((const char *)f->buffer, f->st.st_size, d->sum);
d->sum_computed = true; d->sum_computed = true;
} }
...@@ -1458,7 +1451,7 @@ pchf_compare (const void *d_p, const void *e_p) ...@@ -1458,7 +1451,7 @@ pchf_compare (const void *d_p, const void *e_p)
return 1; return 1;
} }
/* Check that F is not in a list read from a PCH file (if any). /* Check that F is not in a list read from a PCH file (if any).
Assumes that f->buffer_valid is true. Return TRUE if the file Assumes that f->buffer_valid is true. Return TRUE if the file
should not be read. */ should not be read. */
...@@ -1468,7 +1461,7 @@ check_file_against_entries (cpp_reader *pfile ATTRIBUTE_UNUSED, ...@@ -1468,7 +1461,7 @@ check_file_against_entries (cpp_reader *pfile ATTRIBUTE_UNUSED,
bool check_included) bool check_included)
{ {
struct pchf_compare_data d; struct pchf_compare_data d;
if (pchf == NULL if (pchf == NULL
|| (! check_included && ! pchf->have_once_only)) || (! check_included && ! pchf->have_once_only))
return false; return false;
......
...@@ -563,9 +563,6 @@ extern void _cpp_init_internal_pragmas (cpp_reader *); ...@@ -563,9 +563,6 @@ extern void _cpp_init_internal_pragmas (cpp_reader *);
extern void _cpp_do_file_change (cpp_reader *, enum lc_reason, const char *, extern void _cpp_do_file_change (cpp_reader *, enum lc_reason, const char *,
unsigned int, unsigned int); unsigned int, unsigned int);
extern void _cpp_pop_buffer (cpp_reader *); extern void _cpp_pop_buffer (cpp_reader *);
extern uchar *_cpp_input_to_utf8 (cpp_reader *, const unsigned char *, cppchar_t);
extern void _cpp_init_iconv_buffer (cpp_reader *, const char *);
extern void _cpp_close_iconv_buffer (cpp_reader *);
/* In cpptrad.c. */ /* In cpptrad.c. */
extern bool _cpp_scan_out_logical_line (cpp_reader *, cpp_macro *); extern bool _cpp_scan_out_logical_line (cpp_reader *, cpp_macro *);
...@@ -582,8 +579,12 @@ extern size_t _cpp_replacement_text_len (const cpp_macro *); ...@@ -582,8 +579,12 @@ extern size_t _cpp_replacement_text_len (const cpp_macro *);
extern cppchar_t _cpp_valid_ucn (cpp_reader *, const uchar **, extern cppchar_t _cpp_valid_ucn (cpp_reader *, const uchar **,
const uchar *, int); const uchar *, int);
extern void _cpp_destroy_iconv (cpp_reader *); extern void _cpp_destroy_iconv (cpp_reader *);
extern bool _cpp_interpret_string_notranslate (cpp_reader *, const cpp_string *, extern bool _cpp_interpret_string_notranslate (cpp_reader *,
const cpp_string *,
cpp_string *); cpp_string *);
extern uchar *_cpp_convert_input (cpp_reader *, const char *, uchar *,
size_t, size_t, off_t *);
extern const char *_cpp_default_encoding (void);
/* Utility routines and macros. */ /* Utility routines and macros. */
#define DSC(str) (const uchar *)str, sizeof str - 1 #define DSC(str) (const uchar *)str, sizeof str - 1
......
...@@ -159,11 +159,11 @@ cpp_create_reader (enum c_lang lang, hash_table *table, ...@@ -159,11 +159,11 @@ cpp_create_reader (enum c_lang lang, hash_table *table,
CPP_OPTION (pfile, bytes_big_endian) = 1; /* does not matter */ CPP_OPTION (pfile, bytes_big_endian) = 1; /* does not matter */
/* Default to no charset conversion. */ /* Default to no charset conversion. */
CPP_OPTION (pfile, narrow_charset) = 0; CPP_OPTION (pfile, narrow_charset) = _cpp_default_encoding ();
CPP_OPTION (pfile, wide_charset) = 0; CPP_OPTION (pfile, wide_charset) = 0;
/* Default the input character set to iso-8859-1 for now. */ /* Default the input character set to UTF-8. */
CPP_OPTION (pfile, input_charset) = "ISO-8859-1"; CPP_OPTION (pfile, input_charset) = _cpp_default_encoding ();
/* A fake empty "directory" used as the starting point for files /* A fake empty "directory" used as the starting point for files
looked up without a search path. Name cannot be '/' because we looked up without a search path. Name cannot be '/' because we
...@@ -579,7 +579,7 @@ read_original_directory (cpp_reader *pfile) ...@@ -579,7 +579,7 @@ read_original_directory (cpp_reader *pfile)
debugdir[token->val.str.len - 4] = '\0'; debugdir[token->val.str.len - 4] = '\0';
pfile->cb.dir_change (pfile, debugdir); pfile->cb.dir_change (pfile, debugdir);
} }
/* We want to process the fake line changes as regular changes, to /* We want to process the fake line changes as regular changes, to
get them output. */ get them output. */
...@@ -591,7 +591,7 @@ read_original_directory (cpp_reader *pfile) ...@@ -591,7 +591,7 @@ read_original_directory (cpp_reader *pfile)
/* This is called at the end of preprocessing. It pops the last /* This is called at the end of preprocessing. It pops the last
buffer and writes dependency output, and returns the number of buffer and writes dependency output, and returns the number of
errors. errors.
Maybe it should also reset state, such that you could call Maybe it should also reset state, such that you could call
cpp_start_read with a new filename to restart processing. */ cpp_start_read with a new filename to restart processing. */
int int
......
...@@ -1925,7 +1925,6 @@ cpp_push_buffer (cpp_reader *pfile, const uchar *buffer, size_t len, ...@@ -1925,7 +1925,6 @@ cpp_push_buffer (cpp_reader *pfile, const uchar *buffer, size_t len,
int from_stage3) int from_stage3)
{ {
cpp_buffer *new = xobnew (&pfile->buffer_ob, cpp_buffer); cpp_buffer *new = xobnew (&pfile->buffer_ob, cpp_buffer);
const char *input = CPP_OPTION (pfile, input_charset);
/* Clears, amongst other things, if_stack and mi_cmacro. */ /* Clears, amongst other things, if_stack and mi_cmacro. */
memset (new, 0, sizeof (cpp_buffer)); memset (new, 0, sizeof (cpp_buffer));
...@@ -1937,7 +1936,6 @@ cpp_push_buffer (cpp_reader *pfile, const uchar *buffer, size_t len, ...@@ -1937,7 +1936,6 @@ cpp_push_buffer (cpp_reader *pfile, const uchar *buffer, size_t len,
new->need_line = true; new->need_line = true;
pfile->buffer = new; pfile->buffer = new;
_cpp_init_iconv_buffer (pfile, input);
return new; return new;
} }
...@@ -1960,8 +1958,6 @@ _cpp_pop_buffer (cpp_reader *pfile) ...@@ -1960,8 +1958,6 @@ _cpp_pop_buffer (cpp_reader *pfile)
/* In case of a missing #endif. */ /* In case of a missing #endif. */
pfile->state.skipping = 0; pfile->state.skipping = 0;
_cpp_close_iconv_buffer (pfile);
/* _cpp_do_file_change expects pfile->buffer to be the new one. */ /* _cpp_do_file_change expects pfile->buffer to be the new one. */
pfile->buffer = buffer->prev; pfile->buffer = buffer->prev;
......
...@@ -511,6 +511,16 @@ corresponds to the width of @code{wchar_t}. As with ...@@ -511,6 +511,16 @@ corresponds to the width of @code{wchar_t}. As with
by the system's @code{iconv} library routine; however, you will have by the system's @code{iconv} library routine; however, you will have
problems with encodings that do not fit exactly in @code{wchar_t}. problems with encodings that do not fit exactly in @code{wchar_t}.
@item -finput-charset=@var{charset}
@opindex finput-charset
Set the input character set, used for translation from the character
set of the input file to the source character set used by GCC. If the
locale does not specify, or GCC cannot get this information from the
locale, the default is UTF-8. This can be overriden by either the locale
or this command line option. Currently the command line option takes
precedence if there's a conflict. @var{charset} can be any encoding
supported by the system's @code{iconv} library routine.
@item -fworking-directory @item -fworking-directory
@opindex fworking-directory @opindex fworking-directory
@opindex fno-working-directory @opindex fno-working-directory
......
2004-02-02 Eric Christopher <echristo@redhat.com>
Zack Weinberg <zack@codesourcery.com>
* gcc.c-torture/execute/wchar_t-1.c: Add -finput-charset.
2004-02-02 Zack Weinberg <zack@codesourcery.com> 2004-02-02 Zack Weinberg <zack@codesourcery.com>
* g++.dg/eh/forced1.C, g++.dg/eh/forced2.C, g++.dg/eh/forced3.C * g++.dg/eh/forced1.C, g++.dg/eh/forced2.C, g++.dg/eh/forced3.C
...@@ -20556,5 +20561,3 @@ rlsruhe.de> ...@@ -20556,5 +20561,3 @@ rlsruhe.de>
correspond to c-torture 1.11. correspond to c-torture 1.11.
* New file. * New file.
/* { dg-options "-finput-charset=utf-8" } */
typedef __WCHAR_TYPE__ wchar_t; typedef __WCHAR_TYPE__ wchar_t;
wchar_t x[] = L"Ä"; wchar_t x[] = L"Ä";
wchar_t y = L'Ä'; wchar_t y = L'Ä';
......
2004-01-29 Eric Christopher <echristo@redhat.com>
Zack Weinberg <zack@codesourcery.com>
* testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
-finput-charset.
* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
* testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
* testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
Ditto.
2004-02-02 Paolo Carlini <pcarlini@suse.de> 2004-02-02 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_function.h: Additional minor tweaks. * include/bits/stl_function.h: Additional minor tweaks.
...@@ -97,7 +112,7 @@ ...@@ -97,7 +112,7 @@
* testsuite/21_strings/basic_string/cons/char/6.cc: New. * testsuite/21_strings/basic_string/cons/char/6.cc: New.
* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New. * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
* testsuite/performance/21_strings/string_cons_input_iterator.cc: New. * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
2004-01-30 Felix Yen <fwy@alumni.brown.edu> 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
* testsuite/performance/20_util/allocator_thread.cc (do_loop): * testsuite/performance/20_util/allocator_thread.cc (do_loop):
...@@ -108,7 +123,7 @@ ...@@ -108,7 +123,7 @@
* src/demangle.cc: Add instantiations. * src/demangle.cc: Add instantiations.
* src/Makefile.am: Remove special rules for demangle.lo, demangle.o. * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
* src/Makefile.in: Regenerate. * src/Makefile.in: Regenerate.
2004-01-30 David Edelsohn <edelsohn@gnu.org> 2004-01-30 David Edelsohn <edelsohn@gnu.org>
* src/allocator.cc: Protect _S_get_thread_id() and * src/allocator.cc: Protect _S_get_thread_id() and
...@@ -196,7 +211,7 @@ ...@@ -196,7 +211,7 @@
* include/bits/allocator.h: Temporary switch to new_allocator as * include/bits/allocator.h: Temporary switch to new_allocator as
the default to unjam bootstraps. the default to unjam bootstraps.
2004-01-28 Benjamin Kosnik <bkoz@redhat.com> 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (bits_headers): Remove allocator_traits.h. * include/Makefile.am (bits_headers): Remove allocator_traits.h.
...@@ -212,7 +227,7 @@ ...@@ -212,7 +227,7 @@
* src/Makefile.am (sources): Add allocator.cc. * src/Makefile.am (sources): Add allocator.cc.
* src/Makefile.in: Regenerate. * src/Makefile.in: Regenerate.
* testsuite/20_util/allocator/1.cc: Split second test into... * testsuite/20_util/allocator/1.cc: Split second test into...
* testsuite/20_util/allocator/8230.cc: ...this. * testsuite/20_util/allocator/8230.cc: ...this.
* include/bits/stl_bvector.h (__gnu_norm): Change bit_vector * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
typedef to use std::allocatore. Format. typedef to use std::allocatore. Format.
* include/ext/pool_allocator.h: Remove allocator_traits.h include, * include/ext/pool_allocator.h: Remove allocator_traits.h include,
...@@ -228,14 +243,14 @@ ...@@ -228,14 +243,14 @@
implementation details. implementation details.
* include/ext/mt_allocator.h: Replace free with delete. * include/ext/mt_allocator.h: Replace free with delete.
2004-01-28 Benjamin Kosnik <bkoz@redhat.com> 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
* src/globals_io.cc: Change to __gnu_internal namespace. * src/globals_io.cc: Change to __gnu_internal namespace.
* src/globals_locale.cc: Same. * src/globals_locale.cc: Same.
* src/locale_init.cc: Same. * src/locale_init.cc: Same.
* src/ios_init.cc: Same. * src/ios_init.cc: Same.
2004-01-28 Stefan Olsson <stefan@snon.net> 2004-01-28 Stefan Olsson <stefan@snon.net>
* include/ext/mt_allocator.h: Replaced all malloc() calls with * include/ext/mt_allocator.h: Replaced all malloc() calls with
...@@ -264,7 +279,7 @@ ...@@ -264,7 +279,7 @@
* include/bits/basic_string.h (_Rep::operator[]): Tweak * include/bits/basic_string.h (_Rep::operator[]): Tweak
signature to take a size_type, consistently with the other signature to take a size_type, consistently with the other
members. members.
2004-01-27 Benjamin Kosnik <bkoz@redhat.com> 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/27_io/ios_base/storage/11584.cc: Correct new and * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
...@@ -304,7 +319,7 @@ ...@@ -304,7 +319,7 @@
PR libstdc++/13884 PR libstdc++/13884
* include/bits/sstream.tcc: Guard use of extern template. * include/bits/sstream.tcc: Guard use of extern template.
2004-01-27 Paolo Carlini <pcarlini@suse.de> 2004-01-27 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.tcc * include/bits/basic_string.tcc
...@@ -616,7 +631,7 @@ ...@@ -616,7 +631,7 @@
_CharT, const _Alloc&)): Remove redundant try/catch. _CharT, const _Alloc&)): Remove redundant try/catch.
(_M_mutate(size_type, size_type, size_type)): Ditto. (_M_mutate(size_type, size_type, size_type)): Ditto.
(_M_clone(const _Alloc&, size_type)): Ditto. (_M_clone(const _Alloc&, size_type)): Ditto.
2004-01-18 Paolo Carlini <pcarlini@suse.de> 2004-01-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.h (c_str()): Simplify, due to * include/bits/basic_string.h (c_str()): Simplify, due to
...@@ -652,7 +667,7 @@ ...@@ -652,7 +667,7 @@
2004-01-16 Benjamin Kosnik <bkoz@redhat.com> 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/ext/enc_filebuf/char/13189.cc: Fix guards. * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same. * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
2004-01-16 Danny Smith <dannysmith@users.sourceforge.net> 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
...@@ -675,15 +690,15 @@ ...@@ -675,15 +690,15 @@
... here, change signature to take a const char* and a size_t ... here, change signature to take a const char* and a size_t
for the grouping; not a template anymore. for the grouping; not a template anymore.
(__add_grouping, num_put::_M_group_int, num_put::_M_group_float): (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
Likewise change signature and tweak consistently. Likewise change signature and tweak consistently.
(num_get::_M_extract_float, num_get::_M_extract_int, (num_get::_M_extract_float, num_get::_M_extract_int,
num_put::_M_insert_int, num_put::_M_insert_float, num_put::_M_insert_int, num_put::_M_insert_float,
money_get::do_get(string_type&), money_get::do_put(string_type)): money_get::do_get(string_type&), money_get::do_put(string_type)):
Update callers. Update callers.
* config/locale/generic/numeric_members.cc * config/locale/generic/numeric_members.cc
(numpunct<>::_M_initialize_numpunct): Assign the new member. (numpunct<>::_M_initialize_numpunct): Assign the new member.
* config/locale/gnu/numeric_members.cc * config/locale/gnu/numeric_members.cc
(numpunct<>::_M_initialize_numpunct): Likewise. (numpunct<>::_M_initialize_numpunct): Likewise.
* src/locale-inst.cc (__add_grouping): Tweak signature. * src/locale-inst.cc (__add_grouping): Tweak signature.
(__verify_grouping): Don't instantiate, not a template anymore. (__verify_grouping): Don't instantiate, not a template anymore.
...@@ -698,13 +713,13 @@ ...@@ -698,13 +713,13 @@
* include/ext/mt_allocator.h: Fixups. * include/ext/mt_allocator.h: Fixups.
* testsuite/performance/allocator.cc: Enable __mt_alloc tests. * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
* testsuite/performance/allocator_thread.cc: Same. * testsuite/performance/allocator_thread.cc: Same.
2004-01-13 Benjamin Kosnik <bkoz@redhat.com> 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/performance/ifstream_extract_float.cc: Add higher * testsuite/performance/ifstream_extract_float.cc: Add higher
precision tests. precision tests.
* testsuite/performance/ofstream_insert_float.cc: Same. * testsuite/performance/ofstream_insert_float.cc: Same.
2004-01-13 Paolo Carlini <pcarlini@suse.de> 2004-01-13 Paolo Carlini <pcarlini@suse.de>
* src/locale-misc-inst.cc (__convert_from_v(long), * src/locale-misc-inst.cc (__convert_from_v(long),
...@@ -830,7 +845,7 @@ ...@@ -830,7 +845,7 @@
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto. * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
* testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto. * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
2004-01-10 Paolo Carlini <pcarlini@suse.de> 2004-01-10 Paolo Carlini <pcarlini@suse.de>
* docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html: * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
...@@ -860,7 +875,7 @@ ...@@ -860,7 +875,7 @@
* config.h.in: Regenerate. * config.h.in: Regenerate.
* aclocal.m4: Same. * aclocal.m4: Same.
* configure: Same. * configure: Same.
2004-01-07 Gawain Bolton <gp.bolton@computer.org> 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
* include/bits/stl_list.h: * include/bits/stl_list.h:
...@@ -874,7 +889,7 @@ ...@@ -874,7 +889,7 @@
Remove inheritance from iterator class and create separate Remove inheritance from iterator class and create separate
classes for non-constant and constant iterators. classes for non-constant and constant iterators.
* include/bits/stl_tree.h (_Rb_tree class): * include/bits/stl_tree.h (_Rb_tree class):
* src/tree.cc: * src/tree.cc:
Only erase contents in destructor. Only erase contents in destructor.
Eliminate unnecessary initialization in assignment operator. Eliminate unnecessary initialization in assignment operator.
Optimize for the nominal case by not checking whether Optimize for the nominal case by not checking whether
...@@ -886,9 +901,9 @@ ...@@ -886,9 +901,9 @@
Use _M_leftmost() and _M_end() to improve readability where Use _M_leftmost() and _M_end() to improve readability where
appropriate. appropriate.
Create separate classes for non-constant and constant Create separate classes for non-constant and constant
iterators to clarify code, avoid extra template parameters and iterators to clarify code, avoid extra template parameters and
casting away constness. casting away constness.
2004-01-07 Benjamin Kosnik <bkoz@redhat.com> 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (sources): Add list.cc, tree.cc. * src/Makefile.am (sources): Add list.cc, tree.cc.
...@@ -900,7 +915,7 @@ ...@@ -900,7 +915,7 @@
* testsuite/23_containers/set/operators/1_neg.cc: Add excess errors. * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
* bits/stl_vector.h: Column wrap comments. * bits/stl_vector.h: Column wrap comments.
2004-01-07 Loren J. Rittle <ljrittle@acm.org> 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
(re-open) PR libstdc++/12658 (re-open) PR libstdc++/12658
......
...@@ -18,9 +18,8 @@ ...@@ -18,9 +18,8 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA. // USA.
// Doesn't work due to use of literal ISO8859.1 characters. PR 11439 // { dg-do run }
// { dg-do compile { xfail *-*-* } } should be run // { dg-options "-finput-charset=iso-8859-1" }
// { dg-excess-errors "" }
// 22.2.4.1.1 collate members // 22.2.4.1.1 collate members
......
...@@ -20,9 +20,8 @@ ...@@ -20,9 +20,8 @@
// 22.2.4.1.1 collate members // 22.2.4.1.1 collate members
// Doesn't work due to use of literal ISO8859.1 characters. PR 11439 // { dg-do run }
// { dg-do compile { xfail *-*-* } } should be run // { dg-options "-finput-charset=iso-8859-1" }
// { dg-excess-errors "" }
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
......
...@@ -20,9 +20,8 @@ ...@@ -20,9 +20,8 @@
// 22.2.4.1.1 collate members // 22.2.4.1.1 collate members
// Doesn't work due to use of literal ISO8859.1 characters. PR 11439 // { dg-do run }
// { dg-do compile { xfail *-*-* } } should be run // { dg-options "-finput-charset=iso-8859-1" }
// { dg-excess-errors "" }
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
......
...@@ -20,9 +20,8 @@ ...@@ -20,9 +20,8 @@
// 22.2.4.1.1 collate members // 22.2.4.1.1 collate members
// Doesn't work due to use of literal ISO8859.1 characters. PR 11439 // { dg-do run }
// { dg-do compile { xfail *-*-* } } should be run // { dg-options "-finput-charset=iso-8859-1" }
// { dg-excess-errors "" }
#include <locale> #include <locale>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
......
...@@ -20,9 +20,8 @@ ...@@ -20,9 +20,8 @@
// 22.2.4.1.1 collate members // 22.2.4.1.1 collate members
// Doesn't work due to use of literal ISO8859.1 characters. PR 11439 // { dg-do run }
// { dg-do compile { xfail *-*-* } } should be run // { dg-options "-finput-charset=iso-8859-1" }
// { dg-excess-errors "" }
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
......
...@@ -20,9 +20,8 @@ ...@@ -20,9 +20,8 @@
// 22.2.4.1.1 collate members // 22.2.4.1.1 collate members
// Doesn't work due to use of literal ISO8859.1 characters. PR 11439 // { dg-do run }
// { dg-do compile { xfail *-*-* } } should be run // { dg-options "-finput-charset=iso-8859-1" }
// { dg-excess-errors "" }
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
......
...@@ -20,9 +20,8 @@ ...@@ -20,9 +20,8 @@
// 22.2.4.1.1 collate members // 22.2.4.1.1 collate members
// Doesn't work due to use of literal ISO8859.1 characters. PR 11439 // { dg-do run }
// { dg-do compile { xfail *-*-* } } should be run // { dg-options "-finput-charset=iso-8859-1" }
// { dg-excess-errors "" }
#include <locale> #include <locale>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
......
...@@ -20,9 +20,8 @@ ...@@ -20,9 +20,8 @@
// 22.2.4.1.1 collate members // 22.2.4.1.1 collate members
// Doesn't work due to use of literal ISO8859.1 characters. PR 11439 // { dg-do run }
// { dg-do compile { xfail *-*-* } } should be run // { dg-options "-finput-charset=iso-8859-1" }
// { dg-excess-errors "" }
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
......
...@@ -20,9 +20,8 @@ ...@@ -20,9 +20,8 @@
// 22.2.4.1.1 collate members // 22.2.4.1.1 collate members
// Doesn't work due to use of literal ISO8859.1 characters. PR 11439 // { dg-do run }
// { dg-do compile { xfail *-*-* } } should be run // { dg-options "-finput-charset=iso-8859-1" }
// { dg-excess-errors "" }
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment