old-cross-binutils/gold/testsuite/dynamic_list.sh
Craig Silverstein c82fbeee59 * options.cc (General_options::parse_dynamic_list): New function.
* options.h (General_options): New flags dynamic_list,
	dynamic_list_data, dynamic_list_cpp_new, and
	dynamic_list_cpp_typeinfo.  New variable dynamic_list_.
	(General_options::in_dynamic_list): New function.
	* script.cc (Lex::Mode): New enum DYNAMIC_LIST.
	(Lex::can_start_name): Add support for DYNAMIC_LIST mode.
	(Lex::can_continue_name): Likewise.
	(yylex): Likewise.
	(read_script_file): New parameter script_options.
	(read_dynamic_list): New function.
	(Script_options::define_dynamic_list): New function.
	(dynamic_list_keyword_parsecodes): New variable.
	(dynamic_list_keywords): New variable.
	* script.h (Script_options::define_dynamic_list): New function
	prototype.
	(read_dynamic_list): New function prototype.
	* symtab.cc (strprefix): New macro.
	(Symbol::should_add_dynsym_entry): Support dynamic_list,
	dynamic_list_data, dynamic_list_cpp_new, and
	dynamic_list_cpp_typeinfo.
	* yyscript.y (PARSING_DYNAMIC_LIST): New token.
	(dynamic_list_expr): New rule.
	(dynamic_list_nodes): Likewise.
	(dynamic_list_node): Likewise.
	* testsuite/Makefile.am (dynamic_list): New test.
	* testsuite/Makefile.in: Regenerated.
	* testsuite/dynamic_list.t: New file.
	* testsuite/dynamic_list.sh: New file.
2008-11-06 07:23:31 +00:00

50 lines
1.8 KiB
Bash
Executable file

#!/bin/sh
# dynamic_list.sh -- test --dynamic-list and --dynamic-list-*
# Copyright 2008 Free Software Foundation, Inc.
# Written by Ian Lance Taylor <iant@google.com>.
# This file is part of gold.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
# MA 02110-1301, USA.
# This file goes with dynamic_list.t, which is a dynamic-list script.
check()
{
if ! grep -qw "$2" "$1"
then
echo "Did not find expected text in $1:"
echo " $2"
echo ""
echo "Actual output below:"
cat "$1"
exit 1
fi
}
check dynamic_list.stdout "main" # comes via --dynamic-list
check dynamic_list.stdout "_ZdlPv" # "operator delete(void*)"
check dynamic_list.stdout "_Z4t1_6v" # t1_6()
check dynamic_list.stdout "_ZN4t16aC2Ev" # t16a:t16a()
check dynamic_list.stdout "_ZN4t16aD1Ev" # t16a:~t16a()
check dynamic_list.stdout "_ZN4t16a1tEv" # t16a:t()
check dynamic_list.stdout "_ZTI4t16a" # typeinfo for t16a
check dynamic_list.stdout "_ZTI4t16b" # typeinfo for t16b
check dynamic_list.stdout "_ZTS4t16a" # typeinfo name for t16a
check dynamic_list.stdout "_ZTS4t16b" # typeinfo name for t16b
check dynamic_list.stdout "t20v" # comes via --dynamic-list-data