This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: How to Properly Set a Tree Member Variable
On Jan 27, 2008 11:11 AM, Tom Tromey <tromey@redhat.com> wrote:
> >>>>> "Andreas" == Andreas Schwab <schwab@suse.de> writes:
...
> >> /* the following two lines give a gcc error: lvalue required as left
> >> operand of assignment */
> >> DECL_SOURCE_FILE (parm_decl) = local_input_filename;
> >> DECL_SOURCE_LINE (parm_decl) = lineno;
> >> Apparently this code worked at one time.
>
> Andreas> You need to set DECL_SOURCE_LOCATION now.
>
> To expand a little -- gcc has 2 possible internal representations of
> locations. The default changed to "mapped locations" in 4.3. In 4.4
> we'll remove the old "expanded location" code entirely.
>
> The reason to use mapped locations is that they use less memory while
> also including information about the column number and include file
> sequence.
...
> >> what is the correct way to set the parm_decl members?
>
> Andreas> Take a look at tree.h.
>
> Also you may want to look at input.h and libcpp/include/line-map.h.
> line-map.h declares the API to creating mapped locations.
>
> Tom
Thanks, Tom and Andreas.
-Tom B.