From dcbcd678e4204556fbe27e38ad42cc7f1d1a591c Mon Sep 17 00:00:00 2001 From: echristo Date: Tue, 20 Apr 2004 21:50:12 +0000 Subject: [PATCH] 2004-04-20 Eric Christopher * gcc.dg/charset/extern.c: New test. * g++.dg/charset/extern3.cc: Ditto. 2004-04-20 Eric Christopher * cp/parser.c (cp_parser_declaration): Move translate up before tokens are lexed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80926 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 ++++++- gcc/cp/parser.c | 4 ++-- gcc/testsuite/ChangeLog | 7 ++++++- gcc/testsuite/g++.dg/charset/extern3.cc | 11 +++++++++++ gcc/testsuite/gcc.dg/charset/extern.c | 11 +++++++++++ 5 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 gcc/testsuite/g++.dg/charset/extern3.cc create mode 100644 gcc/testsuite/gcc.dg/charset/extern.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fb0b092..58436c3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-04-20 Eric Christopher + + * cp/parser.c (cp_parser_declaration): Move translate + up before tokens are lexed. + 2004-04-20 Uros Bizjak * optabs.h (enum optab_index): Add new OTI_asin and OTI_acos. @@ -31,7 +36,7 @@ * doc/invoke.texi (Optimize options): Move -frename-registers to "Not triggered by any -O level" section. Adjust commentary accordingly. - + 2004-04-20 Anil Paranjpe    * toplev.c (compile_file): Move targetm.asm_out.file_end call to end. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index a7f49e0..fde2f5a 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -6349,6 +6349,8 @@ cp_parser_declaration (cp_parser* parser) if (token1.type != CPP_EOF) token2 = *cp_lexer_peek_nth_token (parser->lexer, 2); + c_lex_string_translate = true; + /* If the next token is `extern' and the following token is a string literal, then we have a linkage specification. */ if (token1.keyword == RID_EXTERN @@ -6398,8 +6400,6 @@ cp_parser_declaration (cp_parser* parser) else /* Try to parse a block-declaration, or a function-definition. */ cp_parser_block_declaration (parser, /*statement_p=*/false); - - c_lex_string_translate = true; } /* Parse a block-declaration. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c88423e..f0f5ef4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-04-20 Eric Christopher + + * gcc.dg/charset/extern.c: New test. + * g++.dg/charset/extern3.cc: Ditto. + 2004-04-20 Uros Bizjak * gcc.dg/builtins-39.c: New test. @@ -152,7 +157,7 @@ 2004-04-17 Laurent GUERBY * ada/acats/run_all.sh: use -O2 by default. - + 2004-04-17 Richard Sandiford * gcc.dg/vr-mult-[12].c: New tests. diff --git a/gcc/testsuite/g++.dg/charset/extern3.cc b/gcc/testsuite/g++.dg/charset/extern3.cc new file mode 100644 index 0000000..5e46ca6 --- /dev/null +++ b/gcc/testsuite/g++.dg/charset/extern3.cc @@ -0,0 +1,11 @@ +/* { dg-do compile } + { dg-require-iconv "IBM-1047" } + { dg-final { scan-assembler-not "abcdefghijklmnopqrstuvwxyz" } } */ + +extern char *bar; + +extern void foo (void) +{ + char str[]="abcdefghijklmnopqrstuvwxyz"; + bar = str; +} diff --git a/gcc/testsuite/gcc.dg/charset/extern.c b/gcc/testsuite/gcc.dg/charset/extern.c new file mode 100644 index 0000000..5e46ca6 --- /dev/null +++ b/gcc/testsuite/gcc.dg/charset/extern.c @@ -0,0 +1,11 @@ +/* { dg-do compile } + { dg-require-iconv "IBM-1047" } + { dg-final { scan-assembler-not "abcdefghijklmnopqrstuvwxyz" } } */ + +extern char *bar; + +extern void foo (void) +{ + char str[]="abcdefghijklmnopqrstuvwxyz"; + bar = str; +} -- 2.7.4