Late SIMPLE_IPA_PASS, DECL_INITIAL and error mark nodes
Erick Ochoa
eochoa@gcc.gnu.org
Fri Jun 11 10:06:24 GMT 2021
Hi,
I am looking for a small clarification. I understand that during late
SIMPLE_IPA_PASSes some statically initialized global variables might
have error_mark_node trees in their DECL_INITIAL field.
I believe that I read something similar in the past about how to get
the tree expressions in these situations, and I believe it said one
had to stream in those symbols from the .gnu.lto_.decl section.
However, on the GCC Internals there is also the following mention: "If
the DECL_INITIAL is the error_mark_node, there is an initializer, but
it is given by an explicit statement later in the code; no bitwise
copy is required. " [0]
What (if any) is the correct way to get these expressions?
As a note, when running this pass as an IPA_PASS I am able to see the
DECL_INITIAL node of the variable of interest during LGEN.
Thanks!
[0] https://gcc.gnu.org/onlinedocs/gccint/Working-with-declarations.html
More information about the Gcc
mailing list