lang_input_statement_type next pointers
authorAlan Modra <amodra@gmail.com>
Sat, 10 Aug 2019 01:00:19 +0000 (10:30 +0930)
committerAlan Modra <amodra@gmail.com>
Sat, 10 Aug 2019 07:46:16 +0000 (17:16 +0930)
commit36983a93bb338b7cdd6f7d6f9f91dc9ce9815b4e
tree226f938cd59f78af1aa427f65c1e5678bd9ea141
parent8be90e963138c88d7648c1eb2146e45f048d616e
lang_input_statement_type next pointers

"next" and "next_real_file" in lang_input_statement_type always point
to another lang_input_statement_type, so it makes sense for these to
not be the generic lang_statement_union_type.  This patch also updates
a number of variables in ldlang.c for the same reason, and modifies
lang_statement_append to reduce the need for casts.

* ldlang.h (lang_input_statement_type): Make next
and next_real_file a lang_input_statement_type pointer.
(lang_statement_append): Delete prototype.
(LANG_FOR_EACH_INPUT_STATEMENT): Update for lang_input_statement_type
change.
* ldmain.c (add_archive_element): Likewise.
* ldlang.c: Likewise throughout.
(lang_statement_append): Make static.  Make element and field
void pointers.  Remove casts in calls.
(lang_check): Use a lang_input_statement_type pointer for "file".
(find_rescan_insertion): Similarly for "iter" and return value.
(lang_process): Similarly for "insert", "iter" and "temp".
* emultempl/spuelf.em (embedded_spu_file): Likewise.
* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Expand
lang_statment_append call.
ld/ChangeLog
ld/emultempl/aix.em
ld/emultempl/spuelf.em
ld/ldlang.c
ld/ldlang.h
ld/ldmain.c