aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2007-09-13 20:18:38 +0000
committerTom Tromey <tromey@gcc.gnu.org>2007-09-13 20:18:38 +0000
commit46c2514e82bf5f6ed45ef6ac8b123c9283bf8d6a (patch)
tree13e4924b9d71b04792c65b0f96e8b0a51e4b8ecc /gcc/c-common.c
parent76896993c25ad2143fbb0a1d7fbfcbdea30e41f0 (diff)
downloadgcc-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.c27
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;
}