This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] Add namespace aliasing support.
- From: Tom Tromey <tromey at redhat dot com>
- To: Sami Wagiaalla <swagiaal at redhat dot com>
- Cc: GDB Patches <gdb-patches at sourceware dot org>
- Date: Fri, 29 Jan 2010 13:22:57 -0700
- Subject: Re: [patch] Add namespace aliasing support.
- References: <4B630D3F.8010507@redhat.com>
- Reply-to: tromey at redhat dot com
>>>>> "Sami" == Sami Wagiaalla <swagiaal@redhat.com> writes:
Sami> 2010-01-29 Sami Wagiaalla <swagiaal@redhat.com>
Sami> * cp-support.h: Added char* alias element to using_direct data
Sami> struct.
Sami> (cp_add_using): Added char* alias argument.
Sami> (cp_add_using_directive): Ditto.
Sami> * cp-namespace.c: Updated with the above changes.
Sami> (cp_lookup_symbol_imports): Check for aliases.
Sami> * dwarf2read.c (read_import_statement): Figure out local alias
Sami> for the import and pass it on to cp_add_using.
Sami> (read_namespace): Pass alias argument to cp_add_using.
Sami> 2010-01-29 Sami Wagiaalla <swagiaal@redhat.com>
Lots of formatting nits, plus one slightly more substantial comment.
Sami> +cp_add_using_directive (const char *dest, const char *src, const char* alias)
"char *", not "char*".
Sami> + scope DEST. ALIAS is the name of the imported namespace in the current
Sami> + scope. If ALIAS is an empty string then the namespace is known by its
Sami> + original name.
Two spaces after a period. Only one space between "string then".
Sami> + retval->alias = savestring (alias, strlen(alias));
Space before open paren.
Sami> + else if (strcmp ("", current->alias) == 0)
It is more idiomatic in C to use NULL rather than the empty string as a
special value. Please make this change.
Sami> + {
Sami> + /* If this import statement creates no alias, pass current->inner as
Sami> + NAMESPACE to direct the search towards the imported namespace. */
Sami> + sym = cp_lookup_symbol_imports (current->import_src,
The code here should be indented 2 spaces beyond the open brace, not
lined up with it.
Sami> + namespace IMPORT_DEST. These form a linked list; NEXT is the next element
Sami> + of the list. ALIAS is set to a non empty string if the imported namespace
Sami> + has been aliased.
The period rule again.
Sami> + import_alias = dwarf2_name (die, cu);
Sami> + if (import_alias == NULL)
Sami> + {
Sami> + import_alias = "";
Sami> + }
This code will be going away, but just FYI, don't brace a single
statement.
Tom