diff options
author | Tom Tromey <tromey@redhat.com> | 2007-09-13 20:18:38 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2007-09-13 20:18:38 +0000 |
commit | 46c2514e82bf5f6ed45ef6ac8b123c9283bf8d6a (patch) | |
tree | 13e4924b9d71b04792c65b0f96e8b0a51e4b8ecc /gcc/c-common.c | |
parent | 76896993c25ad2143fbb0a1d7fbfcbdea30e41f0 (diff) | |
download | gcc-46c2514e82bf5f6ed45ef6ac8b123c9283bf8d6a.zip gcc-46c2514e82bf5f6ed45ef6ac8b123c9283bf8d6a.tar.gz gcc-46c2514e82bf5f6ed45ef6ac8b123c9283bf8d6a.tar.bz2 |
c-common.c (fname_as_string): Update.
gcc
* c-common.c (fname_as_string): Update.
* c-parser.c (c_parser) <lex_untranslated_string>: New field.
(c_lex_one_token): Update. Add 'parser' argument.
(c_parser_simple_asm_expr): Update.
(c_parser_attributes): Update.
(c_parser_asm_statement): Update.
(c_parser_asm_operands): Update.
(c_parser_peek_token): Update.
(c_parser_peek_2nd_token): Update.
* c-lex.c (c_lex_string_translate): Remove.
(c_lex_return_raw_strings): Likewise.
(c_lex_with_flags): Added 'lex_flags' argument.
(lex_string): Added 'translate' argument.
* c-pragma.h (c_lex_with_flags): Update.
(c_lex_string_translate, c_lex_return_raw_strings): Remove.
(C_LEX_STRING_NO_TRANSLATE): New define.
(C_LEX_RAW_STRINGS): Likewise.
gcc/cp
* parser.c (cp_lexer_new_main): Don't use
c_lex_return_raw_strings.
(cp_lexer_get_preprocessor_token): Update. Add special case when
lexer is NULL.
From-SVN: r128479
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r-- | gcc/c-common.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c index f6af052..0f4d695 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -756,7 +756,8 @@ fname_as_string (int pretty_p) { const char *name = "top level"; char *namep; - int vrb = 2; + int vrb = 2, len; + cpp_string cstr = { 0, 0 }, strname; if (!pretty_p) { @@ -767,24 +768,18 @@ fname_as_string (int pretty_p) if (current_function_decl) name = lang_hooks.decl_printable_name (current_function_decl, vrb); - if (c_lex_string_translate) - { - int len = strlen (name) + 3; /* Two for '"'s. One for NULL. */ - cpp_string cstr = { 0, 0 }, strname; + len = strlen (name) + 3; /* Two for '"'s. One for NULL. */ - namep = XNEWVEC (char, len); - snprintf (namep, len, "\"%s\"", name); - strname.text = (unsigned char *) namep; - strname.len = len - 1; + namep = XNEWVEC (char, len); + snprintf (namep, len, "\"%s\"", name); + strname.text = (unsigned char *) namep; + strname.len = len - 1; - if (cpp_interpret_string (parse_in, &strname, 1, &cstr, false)) - { - XDELETEVEC (namep); - return (const char *) cstr.text; - } + if (cpp_interpret_string (parse_in, &strname, 1, &cstr, false)) + { + XDELETEVEC (namep); + return (const char *) cstr.text; } - else - namep = xstrdup (name); return namep; } |