diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-12-30 22:35:49 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-12-30 22:35:49 +0000 |
commit | 6affe781e430bbf2075faf6539fb020564b3a38f (patch) | |
tree | 692719941fd882684f44cd343d474bd89fec941e /gold/options.h | |
parent | d35130122459b29ac7f41123d224aa61d00625f6 (diff) | |
download | gdb-6affe781e430bbf2075faf6539fb020564b3a38f.zip gdb-6affe781e430bbf2075faf6539fb020564b3a38f.tar.gz gdb-6affe781e430bbf2075faf6539fb020564b3a38f.tar.bz2 |
PR 10861
* script.h (class Version_script_info): Define Language enum.
Update declarations. Define Glob, Exact, and Lookup types. Add
new fields globals_, locals_, and is_finalized_.
* script.cc: Various formatting fixes.
(class Parser_closure): Change language_stack_ from a vector of
std::string to one of Version_script_info::Language. Adjust all
uses accordingly.
(class Lazy_demangler): Remove.
(struct Version_expression): Change language from std::string to
Version_script_info::Language.
(Version_script_info::Version_script_info): New function.
(Version_script_info::~Version_script_info): Don't call clear.
(Version_script_info::finalize): New function.
(Version_script_info::build_lookup_tables): New function.
(Version_script_info::build_expression_list_lookup): New
function.
(Version_script_info::get_symbol_version_helper): Rewrite to use
lookup tables.
(Version_script_info::print_expression_list): Adjust to use
Version_script_info::Language.
(script_push_lex_into_version_mode): Check that the version script
has not been finalized.
(version_script_push_lang): Change language string to
Version_script_info::Language.
* options.cc (Command_line::version_script): New function.
* options.h (class General_options): Add finalize_dynamic_list
function. Change version_script from declaration to definition.
* testsuite/ver_test_4.script: Remove duplicate def of t2_2.
* testsuite/version_script.map: Remove duplicate def of foo.
* testsuite/Makefile.am (ver_matching_def.so): Depend upon
version_script.map.
* testsuite/Makefile.in: Rebuild.
Diffstat (limited to 'gold/options.h')
-rw-r--r-- | gold/options.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gold/options.h b/gold/options.h index be7b018..d8f5fb9 100644 --- a/gold/options.h +++ b/gold/options.h @@ -1118,6 +1118,11 @@ class General_options in_dynamic_list(const char* symbol) const { return this->dynamic_list_.version_script_info()->symbol_is_local(symbol); } + // Finalize the dynamic list. + void + finalize_dynamic_list() + { this->dynamic_list_.version_script_info()->finalize(); } + // The disposition given by the --incremental-changed, // --incremental-unchanged or --incremental-unknown option. The // value may change as we proceed parsing the command line flags. @@ -1552,10 +1557,9 @@ class Command_line script_options() { return this->script_options_; } - // Get the version-script options: a convenience routine. + // Finalize the version-script options and return them. const Version_script_info& - version_script() const - { return *this->script_options_.version_script_info(); } + version_script(); // Get the input files. Input_arguments& |