/* ldlang.h - linker command language support
- Copyright (C) 1991-2017 Free Software Foundation, Inc.
+ Copyright (C) 1991-2018 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
struct flag_info *section_flag_list;
/* Point to the next file - whatever it is, wanders up and down
- archives */
+ archive elements. If this input_statement is for an archive, it
+ won't be on file_chain (which uses this list pointer), but if
+ any elements have been extracted from the archive, it will point
+ to the input_statement for the last such element. */
union lang_statement_union *next;
- /* Point to the next file, but skips archive contents. */
+ /* Point to the next file, but skips archive contents. Used by
+ input_file_chain. */
union lang_statement_union *next_real_file;
const char *target;
#define LANG_FOR_EACH_INPUT_STATEMENT(statement) \
lang_input_statement_type *statement; \
- for (statement = (lang_input_statement_type *) file_chain.head; \
- statement != (lang_input_statement_type *) NULL; \
- statement = (lang_input_statement_type *) statement->next) \
+ for (statement = &file_chain.head->input_statement; \
+ statement != NULL; \
+ statement = &statement->next->input_statement)
#define lang_output_section_find(NAME) \
lang_output_section_statement_lookup (NAME, 0, FALSE)