diff options
author | Ryan Hill <rhill@gentoo.org> | 2012-05-14 06:18:59 +0000 |
---|---|---|
committer | Ryan Hill <rhill@gentoo.org> | 2012-05-14 06:18:59 +0000 |
commit | ce3411d07037a8ce550c826899e4e5d99041707a (patch) | |
tree | 27ad6e7e219f3022563989bd7ac6a943c702ded3 /4.7.0 | |
parent | add fix by Alexis Ballier for PIE on FreeBSD systems #415185 (diff) | |
download | gcc-patches-ce3411d07037a8ce550c826899e4e5d99041707a.tar.gz gcc-patches-ce3411d07037a8ce550c826899e4e5d99041707a.tar.bz2 gcc-patches-ce3411d07037a8ce550c826899e4e5d99041707a.zip |
Initial 4.7.0 patchset based on the latest 4.6.3 patchset.
Diffstat (limited to '4.7.0')
26 files changed, 14440 insertions, 0 deletions
diff --git a/4.7.0/gentoo/03_all_java-nomulti.patch b/4.7.0/gentoo/03_all_java-nomulti.patch new file mode 100644 index 0000000..5fce8b2 --- /dev/null +++ b/4.7.0/gentoo/03_all_java-nomulti.patch @@ -0,0 +1,44 @@ +--- a/libjava/configure ++++ b/libjava/configure +@@ -1618,6 +1618,8 @@ Optional Features: + default=yes + --enable-java-maintainer-mode + allow rebuilding of .class and .h files ++ --enable-libjava-multilib ++ build libjava as multilib + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-maintainer-mode enable make rules and dependencies not useful +@@ -3361,6 +3363,16 @@ else + fi + + ++# Check whether --enable-libjava-multilib was given. ++if test "${enable_libjava_multilib+set}" = set; then ++ enableval=$enable_libjava_multilib; ++fi ++ ++if test "$enable_libjava_multilib" = no; then ++ multilib=no ++ ac_configure_args="$ac_configure_args --disable-multilib" ++fi ++ + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX. + + +--- a/libjava/configure.ac ++++ b/libjava/configure.ac +@@ -139,6 +139,13 @@ AC_ARG_ENABLE(java-maintainer-mode, + [allow rebuilding of .class and .h files])) + AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes) + ++AC_ARG_ENABLE(libjava-multilib, ++ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib])) ++if test "$enable_libjava_multilib" = no; then ++ multilib=no ++ ac_configure_args="$ac_configure_args --disable-multilib" ++fi ++ + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX. + GCC_NO_EXECUTABLES + diff --git a/4.7.0/gentoo/08_all_cross-compile.patch.exclude b/4.7.0/gentoo/08_all_cross-compile.patch.exclude new file mode 100644 index 0000000..4203e3a --- /dev/null +++ b/4.7.0/gentoo/08_all_cross-compile.patch.exclude @@ -0,0 +1,40 @@ +Some notes on the 'bootstrap with or without libc headers' debate: +http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html +http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html + +--- a/gcc/configure ++++ b/gcc/configure +@@ -11354,7 +11354,7 @@ then + *) + ;; + esac +-elif test "x$TARGET_SYSTEM_ROOT" != x; then ++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then + SYSTEM_HEADER_DIR=$build_system_header_dir + fi + +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -1759,7 +1759,7 @@ then + *) + ;; + esac +-elif test "x$TARGET_SYSTEM_ROOT" != x; then ++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then + SYSTEM_HEADER_DIR=$build_system_header_dir + fi + +--- a/gcc/unwind-dw2.c ++++ b/gcc/unwind-dw2.c +@@ -329,9 +329,11 @@ _Unwind_GetTextRelBase (struct _Unwind_Context *context) + } + #endif + ++#ifndef inhibit_libc + #ifdef MD_UNWIND_SUPPORT + #include MD_UNWIND_SUPPORT + #endif ++#endif + + /* Extract any interesting information from the CIE for the translation + unit F belongs to. Return a pointer to the byte after the augmentation, diff --git a/4.7.0/gentoo/10_all_default-fortify-source.patch b/4.7.0/gentoo/10_all_default-fortify-source.patch new file mode 100644 index 0000000..f0b3a03 --- /dev/null +++ b/4.7.0/gentoo/10_all_default-fortify-source.patch @@ -0,0 +1,28 @@ +Enable -D_FORTIFY_SOURCE=2 by default + +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -5973,6 +5973,11 @@ also turns on the following optimization flags: + Please note the warning under @option{-fgcse} about + invoking @option{-O2} on programs that use computed gotos. + ++NOTE: In Gentoo, @option{-D_FORTIFY_SOURCE=2} is set by default, and is ++activated when @option{-O} is set to 2 or higher. This enables additional ++compile-time and run-time checks for several libc functions. To disable, ++specify either @option{-U_FORTIFY_SOURCE} or @option{-D_FORTIFY_SOURCE=0}. ++ + @item -O3 + @opindex O3 + Optimize yet more. @option{-O3} turns on all optimizations specified +--- a/gcc/c-family/c-cppbuiltin.c ++++ b/gcc/c-family/c-cppbuiltin.c +@@ -731,6 +731,9 @@ c_cpp_builtins (cpp_reader *pfile) + builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0); + builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0); + ++ /* Fortify Source enabled by default */ ++ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2); ++ + /* Misc. */ + if (flag_gnu89_inline) + cpp_define (pfile, "__GNUC_GNU_INLINE__"); diff --git a/4.7.0/gentoo/11_all_default-warn-format-security.patch b/4.7.0/gentoo/11_all_default-warn-format-security.patch new file mode 100644 index 0000000..5dbab43 --- /dev/null +++ b/4.7.0/gentoo/11_all_default-warn-format-security.patch @@ -0,0 +1,49 @@ +Enable -Wformat and -Wformat-security by default. + + +--- a/gcc/c-family/c-common.c ++++ b/gcc/c-family/c-common.c +@@ -201,7 +201,7 @@ int warn_unknown_pragmas; /* Tri state variable. */ + /* Warn about format/argument anomalies in calls to formatted I/O functions + (*printf, *scanf, strftime, strfmon, etc.). */ + +-int warn_format; ++int warn_format = 1; + + /* C/ObjC language option variables. */ + +--- a/gcc/c-family/c.opt ++++ b/gcc/c-family/c.opt +@@ -384,7 +384,7 @@ C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning + Warn about format strings that contain NUL bytes + + Wformat-security +-C ObjC C++ ObjC++ Var(warn_format_security) Warning ++C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning + Warn about possible security problems with format functions + + Wformat-y2k +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -3111,6 +3111,9 @@ aspects of format checking, the options @option{-Wformat-y2k}, + @option{-Wformat-nonliteral}, @option{-Wformat-security}, and + @option{-Wformat=2} are available, but are not included in @option{-Wall}. + ++In Gentoo this option is enabled by default for C, C++, ObjC, ObjC++. ++To disable, use @option{-Wformat=0}. ++ + @item -Wformat-y2k + @opindex Wformat-y2k + @opindex Wno-format-y2k +@@ -3164,6 +3167,11 @@ currently a subset of what @option{-Wformat-nonliteral} warns about, but + in future warnings may be added to @option{-Wformat-security} that are not + included in @option{-Wformat-nonliteral}.) + ++In Gentoo this option is enabled by default for C, C++, ObjC, ObjC++. ++To disable, use @option{-Wno-format-security}, or disable all format warnings ++with @option{-Wformat=0}. To make format security warnings fatal, specify ++@option{-Werror=format-security}. ++ + @item -Wformat=2 + @opindex Wformat=2 + @opindex Wno-format=2 diff --git a/4.7.0/gentoo/12_all_default-warn-trampolines.patch b/4.7.0/gentoo/12_all_default-warn-trampolines.patch new file mode 100644 index 0000000..4b26aec --- /dev/null +++ b/4.7.0/gentoo/12_all_default-warn-trampolines.patch @@ -0,0 +1,24 @@ +Enable -Wtrampolines by default. + +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -639,7 +639,7 @@ Common Var(warn_system_headers) Warning + Do not suppress warnings from system headers + + Wtrampolines +-Common Var(warn_trampolines) Warning ++Common Var(warn_trampolines) Init(1) Warning + Warn whenever a trampoline is generated + + Wtype-limits +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -3878,6 +3878,8 @@ headers---for that, @option{-Wunknown-pragmas} must also be used. + for most targets, it is made up of code and thus requires the stack + to be made executable in order for the program to work properly. + ++ This warning is enabled by default in Gentoo. ++ + @item -Wfloat-equal + @opindex Wfloat-equal + @opindex Wno-float-equal diff --git a/4.7.0/gentoo/15_all_libgomp-Werror.patch b/4.7.0/gentoo/15_all_libgomp-Werror.patch new file mode 100644 index 0000000..3456e8a --- /dev/null +++ b/4.7.0/gentoo/15_all_libgomp-Werror.patch @@ -0,0 +1,16 @@ +libgomp does not respect --disable-werror + +https://bugs.gentoo.org/229059 +http://gcc.gnu.org/PR38436 + +--- a/libgomp/configure ++++ b/libgomp/configure +@@ -4284,7 +4284,7 @@ save_CFLAGS="$CFLAGS" + + # Add -Wall -Werror if we are using GCC. + if test "x$GCC" = "xyes"; then +- XCFLAGS="$XCFLAGS -Wall -Werror" ++ XCFLAGS="$XCFLAGS -Wall" + fi + + # Find other programs we need. diff --git a/4.7.0/gentoo/25_all_alpha-mieee-default.patch b/4.7.0/gentoo/25_all_alpha-mieee-default.patch new file mode 100644 index 0000000..9f99434 --- /dev/null +++ b/4.7.0/gentoo/25_all_alpha-mieee-default.patch @@ -0,0 +1,31 @@ +Set the default behavior on alpha to use -mieee since the large majority of +time we want this (bad/weird things can happen with packages built without +it). + +To satisfy those people who may not want -mieee forced on them all the time, +we also provide -mno-ieee. + +Patch by Mike Frysinger <vapier@gentoo.org> + +--- a/gcc/config/alpha/alpha.h ++++ b/gcc/config/alpha/alpha.h +@@ -96,6 +96,8 @@ along with GCC; see the file COPYING3. If not see + while (0) + #endif + ++#define CPP_SPEC "%{!no-ieee:-mieee}" ++ + /* Run-time compilation parameters selecting different hardware subsets. */ + + /* Which processor to schedule for. The cpu attribute defines a list that +--- a/gcc/config/alpha/alpha.opt ++++ b/gcc/config/alpha/alpha.opt +@@ -39,7 +39,7 @@ Target RejectNegative Mask(IEEE_CONFORMANT) + Request IEEE-conformant math library routines (OSF/1) + + mieee +-Target Report RejectNegative Mask(IEEE) ++Target Report Mask(IEEE) + Emit IEEE-conformant code, without inexact exceptions + + mieee-with-inexact diff --git a/4.7.0/gentoo/26_all_alpha-asm-mcpu.patch b/4.7.0/gentoo/26_all_alpha-asm-mcpu.patch new file mode 100644 index 0000000..593431c --- /dev/null +++ b/4.7.0/gentoo/26_all_alpha-asm-mcpu.patch @@ -0,0 +1,16 @@ +https://bugs.gentoo.org/170146 +http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00403.html + +alpha: turn -mcpu=<cpu> into -m<cpu> for assembler all the time + +--- a/gcc/config/alpha/elf.h ++++ b/gcc/config/alpha/elf.h +@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see + #define CC1_SPEC "%{G*}" + + #undef ASM_SPEC +-#define ASM_SPEC "%{G*} %{relax:-relax} %{!gstabs*:-no-mdebug}%{gstabs*:-mdebug}" ++#define ASM_SPEC "%{G*} %{relax:-relax} %{!gstabs*:-no-mdebug}%{gstabs*:-mdebug} %{mcpu=*:-m%*}" + + #undef IDENT_ASM_OP + #define IDENT_ASM_OP "\t.ident\t" diff --git a/4.7.0/gentoo/29_all_arm_armv4t-default.patch b/4.7.0/gentoo/29_all_arm_armv4t-default.patch new file mode 100644 index 0000000..4616cf9 --- /dev/null +++ b/4.7.0/gentoo/29_all_arm_armv4t-default.patch @@ -0,0 +1,16 @@ +gcc defaults to armv5t for all targets even armv4t + +http://sourceware.org/ml/crossgcc/2008-05/msg00009.html + + +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -45,7 +45,7 @@ + The ARM10TDMI core is the default for armv5t, so set + SUBTARGET_CPU_DEFAULT to achieve this. */ + #undef SUBTARGET_CPU_DEFAULT +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi + + /* TARGET_BIG_ENDIAN_DEFAULT is set in + config.gcc for big endian configurations. */ diff --git a/4.7.0/gentoo/33_all_armhf.patch b/4.7.0/gentoo/33_all_armhf.patch new file mode 100644 index 0000000..492d689 --- /dev/null +++ b/4.7.0/gentoo/33_all_armhf.patch @@ -0,0 +1,43 @@ +use new common path to the arm hard float linker + +change taken from upstream gcc + +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -32,7 +32,8 @@ + while (false) + + /* We default to a soft-float ABI so that binaries can run on all +- target hardware. */ ++ target hardware. If you override this to use the hard-float ABI then ++ change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */ + #undef TARGET_DEFAULT_FLOAT_ABI + #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT + +@@ -59,10 +60,23 @@ + #undef SUBTARGET_EXTRA_LINK_SPEC + #define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION + +-/* Use ld-linux.so.3 so that it will be possible to run "classic" +- GNU/Linux binaries on an EABI system. */ ++/* GNU/Linux on ARM currently supports three dynamic linkers: ++ - ld-linux.so.2 - for the legacy ABI ++ - ld-linux.so.3 - for the EABI-derived soft-float ABI ++ - ld-linux-armhf.so.3 - for the EABI-derived hard-float ABI. ++ All the dynamic linkers live in /lib. ++ We default to soft-float, but this can be overridden by changing both ++ GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ ++ + #undef GLIBC_DYNAMIC_LINKER +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3" ++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3" ++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3" ++#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT ++ ++#define GLIBC_DYNAMIC_LINKER \ ++ "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \ ++ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ ++ %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" + + /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to + use the GNU/Linux version, not the generic BPABI version. */ diff --git a/4.7.0/gentoo/34_all_ia64_note.GNU-stack.patch b/4.7.0/gentoo/34_all_ia64_note.GNU-stack.patch new file mode 100644 index 0000000..219fe9f --- /dev/null +++ b/4.7.0/gentoo/34_all_ia64_note.GNU-stack.patch @@ -0,0 +1,92 @@ +http://gcc.gnu.org/PR21098 + + +2004-09-20 Jakub Jelinek <jakub@redhat.com> + + * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also + on ppc64-linux. + + * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on + ia64-linux. + * config/ia64/crtbegin.asm: Likewise. + * config/ia64/crtend.asm: Likewise. + * config/ia64/crti.asm: Likewise. + * config/ia64/crtn.asm: Likewise. + +2004-05-14 Jakub Jelinek <jakub@redhat.com> + + * config/ia64/linux.h (TARGET_ASM_FILE_END): Define. + + +--- a/gcc/config/ia64/linux.h ++++ b/gcc/config/ia64/linux.h +@@ -24,6 +24,8 @@ a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + ++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack ++ + /* This is for -profile to use -lc_p instead of -lc. */ + #undef CC1_SPEC + #define CC1_SPEC "%{profile:-p} %{G*}" +--- a/gcc/config/rs6000/ppc-asm.h ++++ b/gcc/config/rs6000/ppc-asm.h +@@ -352,7 +352,7 @@ GLUE(.L,name): \ + #endif + #endif + +-#if defined __linux__ && !defined __powerpc64__ ++#if defined __linux__ + .section .note.GNU-stack + .previous + #endif +--- a/libgcc/config/ia64/crtbegin.S ++++ b/libgcc/config/ia64/crtbegin.S +@@ -252,3 +252,7 @@ __do_jv_register_classes: + .weak __cxa_finalize + #endif + .weak _Jv_RegisterClasses ++ ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +--- a/libgcc/config/ia64/crtend.S ++++ b/libgcc/config/ia64/crtend.S +@@ -119,3 +119,6 @@ __do_global_ctors_aux: + + br.ret.sptk.many rp + .endp __do_global_ctors_aux ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif +--- a/libgcc/config/ia64/crti.S ++++ b/libgcc/config/ia64/crti.S +@@ -49,5 +49,8 @@ _fini: + .save rp, r33 + mov r33 = b0 + .body ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif + + # end of crti.S +--- a/libgcc/config/ia64/crtn.S ++++ b/libgcc/config/ia64/crtn.S +@@ -39,5 +39,8 @@ + .restore sp + mov r12 = r35 + br.ret.sptk.many b0 ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif + + # end of crtn.S +--- a/libgcc/config/ia64/lib1funcs.S ++++ b/libgcc/config/ia64/lib1funcs.S +@@ -793,3 +793,6 @@ __floattitf: + .endp __floattitf + #endif + #endif ++#ifdef __linux__ ++.section .note.GNU-stack; .previous ++#endif diff --git a/4.7.0/gentoo/38_all_sh_pr24836_all-archs.patch b/4.7.0/gentoo/38_all_sh_pr24836_all-archs.patch new file mode 100644 index 0000000..06fd90a --- /dev/null +++ b/4.7.0/gentoo/38_all_sh_pr24836_all-archs.patch @@ -0,0 +1,27 @@ +gcc/configure doesn't handle all possible SH architectures + +http://gcc.gnu.org/PR24836 + + +--- a/gcc/configure ++++ b/gcc/configure +@@ -22753,7 +22753,7 @@ foo: .long 25 + tls_first_minor=14 + tls_as_opt="-m64 -Aesame --fatal-warnings" + ;; +- sh-*-* | sh[34]-*-*) ++ sh-*-* | sh[34]*-*-*) + conftest_s=' + .section ".tdata","awT",@progbits + foo: .long 25 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -2924,7 +2924,7 @@ foo: .long 25 + tls_first_minor=14 + tls_as_opt="-m64 -Aesame --fatal-warnings" + ;; +- sh-*-* | sh[34]-*-*) ++ sh-*-* | sh[34]*-*-*) + conftest_s=' + .section ".tdata","awT",@progbits + foo: .long 25 diff --git a/4.7.0/gentoo/42_all_superh_default-multilib.patch b/4.7.0/gentoo/42_all_superh_default-multilib.patch new file mode 100644 index 0000000..8b638d9 --- /dev/null +++ b/4.7.0/gentoo/42_all_superh_default-multilib.patch @@ -0,0 +1,24 @@ +The gcc-3.x toolchains would contain all the targets by default. With gcc-4, +you have to actually list out the multilibs you want or you will end up with +just one when using targets like 'sh4-linux-gnu'. + +The resulting toolchain can't even build a kernel as the kernel needs to build +with the nofpu flag to be sure that no fpu ops are generated. + +Here we restore the gcc-3.x behavior; the additional overhead of building all +of these multilibs by default is negligible. + +https://bugs.gentoo.org/140205 +https://bugs.gentoo.org/320251 + +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2455,7 +2455,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ + if test "$sh_multilibs" = "default" ; then + case ${target} in + sh64-superh-linux* | \ +- sh[1234]*) sh_multilibs=${sh_cpu_target} ;; ++ sh[1234]*) sh_multilibs=$(echo $(sed -n '/^[[:space:]]*case ${sh_multilib} in/,/)/{s:case ${sh_multilib} in::;s: | *:,:g;s:[\\)]::g;p}' ${srcdir}/config.gcc) | sed 's: ::g') ;; + sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;; + sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; + sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;; diff --git a/4.7.0/gentoo/50_all_libiberty-asprintf.patch b/4.7.0/gentoo/50_all_libiberty-asprintf.patch new file mode 100644 index 0000000..9ad4a92 --- /dev/null +++ b/4.7.0/gentoo/50_all_libiberty-asprintf.patch @@ -0,0 +1,18 @@ +2008-07-25 Magnus Granberg <zorry@ume.nu> + + * include/libiberty.h (asprintf): Don't declare if defined as a macro + +--- a/include/libiberty.h ++++ b/include/libiberty.h +@@ -609,8 +609,11 @@ extern int pwait (int, int *, int); + /* Like sprintf but provides a pointer to malloc'd storage, which must + be freed by the caller. */ + ++/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */ ++#ifndef asprintf + extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2; + #endif ++#endif + + #if !HAVE_DECL_VASPRINTF + /* Like vsprintf but provides a pointer to malloc'd storage, which diff --git a/4.7.0/gentoo/51_all_libiberty-pic.patch b/4.7.0/gentoo/51_all_libiberty-pic.patch new file mode 100644 index 0000000..b6160a7 --- /dev/null +++ b/4.7.0/gentoo/51_all_libiberty-pic.patch @@ -0,0 +1,10 @@ +--- a/libiberty/Makefile.in ++++ b/libiberty/Makefile.in +@@ -246,6 +246,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) + $(AR) $(AR_FLAGS) $(TARGETLIB) \ + $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \ + $(RANLIB) $(TARGETLIB); \ ++ cp $(TARGETLIB) ../ ; \ + cd ..; \ + else true; fi + diff --git a/4.7.0/gentoo/52_all_netbsd-Bsymbolic.patch b/4.7.0/gentoo/52_all_netbsd-Bsymbolic.patch new file mode 100644 index 0000000..4db281e --- /dev/null +++ b/4.7.0/gentoo/52_all_netbsd-Bsymbolic.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/122698 + +--- a/gcc/config/netbsd-elf.h ++++ b/gcc/config/netbsd-elf.h +@@ -70,6 +70,7 @@ along with GCC; see the file COPYING3. If not see + #define NETBSD_LINK_SPEC_ELF \ + "%{assert*} %{R*} %{rpath*} \ + %{shared:-shared} \ ++ %{symbolic:-Bsymbolic} \ + %{!shared: \ + -dc -dp \ + %{!nostdlib: \ diff --git a/4.7.0/gentoo/64_all_gcc-hppa-64bit-pr52408.patch b/4.7.0/gentoo/64_all_gcc-hppa-64bit-pr52408.patch new file mode 100644 index 0000000..01493ff --- /dev/null +++ b/4.7.0/gentoo/64_all_gcc-hppa-64bit-pr52408.patch @@ -0,0 +1,118 @@ +http://gcc.gnu.org/PR52408 +https://bugs.gentoo.org/382075 + +From 1cd2ad1b2da194ce96e432085dd8892735160daa Mon Sep 17 00:00:00 2001 +From: danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Sun, 4 Mar 2012 16:23:26 +0000 +Subject: [PATCH] Backport from mainline 2012-03-01 John David + Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/52408 + * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to + unsigned HOST_WIDE_INT. + (zvdep_imm64): Likewise. + (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT. + (vdepi_and): Likewise. + Likewise for unamed 64-bit patterns. + * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment. + + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@184888 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/ChangeLog | 14 ++++++++++++++ + gcc/config/pa/pa.md | 12 ++++++------ + gcc/config/pa/predicates.md | 6 +++--- + 3 files changed, 23 insertions(+), 9 deletions(-) + +2012-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + Backport from mainline + 2012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/52408 + * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to + unsigned HOST_WIDE_INT. + (zvdep_imm64): Likewise. + (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT. + (vdepi_and): Likewise. + Likewise for unamed 64-bit patterns. + * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment. + +diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md +index 1bd9f0b..c91e057 100644 +--- a/gcc/config/pa/pa.md ++++ b/gcc/config/pa/pa.md +@@ -6348,7 +6348,7 @@ + "" + "* + { +- int x = INTVAL (operands[1]); ++ unsigned HOST_WIDE_INT x = UINTVAL (operands[1]); + operands[2] = GEN_INT (4 + exact_log2 ((x >> 4) + 1)); + operands[1] = GEN_INT ((x & 0xf) - 0x10); + return \"{zvdepi %1,%2,%0|depwi,z %1,%%sar,%2,%0}\"; +@@ -6366,7 +6366,7 @@ + "exact_log2 (INTVAL (operands[1]) + 1) > 0" + "* + { +- int x = INTVAL (operands[1]); ++ HOST_WIDE_INT x = INTVAL (operands[1]); + operands[2] = GEN_INT (exact_log2 (x + 1)); + return \"{vdepi -1,%2,%0|depwi -1,%%sar,%2,%0}\"; + }" +@@ -6383,7 +6383,7 @@ + "INTVAL (operands[1]) == -2" + "* + { +- int x = INTVAL (operands[1]); ++ HOST_WIDE_INT x = INTVAL (operands[1]); + operands[2] = GEN_INT (exact_log2 ((~x) + 1)); + return \"{vdepi 0,%2,%0|depwi 0,%%sar,%2,%0}\"; + }" +@@ -6447,7 +6447,7 @@ + "TARGET_64BIT" + "* + { +- int x = INTVAL (operands[1]); ++ unsigned HOST_WIDE_INT x = UINTVAL (operands[1]); + operands[2] = GEN_INT (4 + exact_log2 ((x >> 4) + 1)); + operands[1] = GEN_INT ((x & 0x1f) - 0x20); + return \"depdi,z %1,%%sar,%2,%0\"; +@@ -6465,7 +6465,7 @@ + "TARGET_64BIT && exact_log2 (INTVAL (operands[1]) + 1) > 0" + "* + { +- int x = INTVAL (operands[1]); ++ HOST_WIDE_INT x = INTVAL (operands[1]); + operands[2] = GEN_INT (exact_log2 (x + 1)); + return \"depdi -1,%%sar,%2,%0\"; + }" +@@ -6482,7 +6482,7 @@ + "TARGET_64BIT && INTVAL (operands[1]) == -2" + "* + { +- int x = INTVAL (operands[1]); ++ HOST_WIDE_INT x = INTVAL (operands[1]); + operands[2] = GEN_INT (exact_log2 ((~x) + 1)); + return \"depdi 0,%%sar,%2,%0\"; + }" +diff --git a/gcc/config/pa/predicates.md b/gcc/config/pa/predicates.md +index ea41169..ff5dc17 100644 +--- a/gcc/config/pa/predicates.md ++++ b/gcc/config/pa/predicates.md +@@ -421,9 +421,9 @@ + (ior (match_operand 0 "register_operand") + (match_operand 0 "cint_ior_operand"))) + +-;; True iff OP is a CONST_INT of the forms 0...0xxxx or +-;; 0...01...1xxxx. Such values can be the left hand side x in (x << +-;; r), using the zvdepi instruction. ++;; True iff OP is a CONST_INT of the forms 0...0xxxx, 0...01...1xxxx, ++;; or 1...1xxxx. Such values can be the left hand side x in (x << r), ++;; using the zvdepi instruction. + + (define_predicate "lhs_lshift_cint_operand" + (match_code "const_int") +-- +1.7.9.7 diff --git a/4.7.0/gentoo/74_all_gcc46_cloog-dl.patch b/4.7.0/gentoo/74_all_gcc46_cloog-dl.patch new file mode 100644 index 0000000..36c40df --- /dev/null +++ b/4.7.0/gentoo/74_all_gcc46_cloog-dl.patch @@ -0,0 +1,520 @@ +When graphite support is enabled several extra libraries (libppl, libcloog, +libgmpxx, libstdc++-v3) get linked into cc1. When these libs bump their soname we get +a completely broken compiler. + +Instead, dlopen libcloog as necessary. This patch originated in Fedora and +was modified to work on FreeBSD (http://bugs.gentoo.org/317211). + +2011-01-04 Jakub Jelinek <jakub@redhat.com> + + * Makefile.in (BACKENDLIBS): Link against -ldl instead of + -lcloog -lppl. + (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. + (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. + (graphite*.o): Adjust dependencies. + * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and + libppl symbols through pointers in cloog_pointers__ variable. + * graphite.c (init_cloog_pointers): New function. + (graphite_transform_loops): Call init_cloog_pointers. + * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename + stmt_for argument to stmt_fora. + * graphite-poly.h: Include graphite-cloog-util.h. + +2011-04-02 Ryan Hill <dirtyepic@gentoo.org> + + * configure.ac (DL_LIB): Check how to dlopen. + * configure: Regenerate. + * Makefile.in (BACKENDLIBS): Use DL_LIB. + * graphite-cloog-compat.h: Add missing symbols. + + +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ + PLUGIN_H = plugin.h $(GCC_PLUGIN_H) + PLUGIN_VERSION_H = plugin-version.h configargs.h + LIBFUNCS_H = libfuncs.h $(HASHTAB_H) ++GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h ++GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) + + # + # Now figure out from those variables how to compile and link. +@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) + # and the system's installed libraries. + LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \ + $(HOST_LIBS) +-BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ ++BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ + $(ZLIB) + # Any system libraries needed just for GNAT. + SYSLIBS = @GNAT_LIBEXC@ +@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ + $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h + graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ + $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ +- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ ++ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ + graphite-clast-to-gimple.h graphite-sese-to-poly.h + graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ +- sese.h graphite-ppl.h graphite-poly.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) + graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ + $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ +- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ +- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ ++ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ ++ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ + graphite-dependences.h graphite-cloog-compat.h + graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ +- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h ++ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h + graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ +- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ +- graphite-cloog-util.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ ++ $(GRAPHITE_CLOOG_UTIL_H) + graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ +- sese.h graphite-ppl.h graphite-poly.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) + graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ +- sese.h graphite-ppl.h graphite-poly.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) + graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ +- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ +- graphite-dependences.h graphite-cloog-util.h ++ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ ++ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) + graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ +- graphite-cloog-util.h graphite-ppl.h ++ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h + graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ +- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h + graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ + $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ +- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ ++ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ + graphite-sese-to-poly.h + tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ +@@ -3483,6 +3485,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \ + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ + $(out_file) $(OUTPUT_OPTION) + ++graphite%.o : \ ++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) ++graphite.o : \ ++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) ++ + # Build auxiliary files that support ecoff format. + mips-tfile: mips-tfile.o version.o $(LIBDEPS) + $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ +--- a/gcc/configure ++++ b/gcc/configure +@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS + LIBOBJS + enable_plugin + pluginlibs ++DL_LIB + CLOOGINC + CLOOGLIBS + PPLINC +@@ -4842,7 +4843,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supports_ada" >&5 + $as_echo "$acx_cv_cc_gcc_supports_ada" >&6; } + +-if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then ++if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then + have_gnat=yes + else + have_gnat=no +@@ -26282,6 +26283,7 @@ $as_echo "unable to check" >&6; } + fi + + # Check -ldl ++ DL_LIB= + saved_LIBS="$LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 + $as_echo_n "checking for library containing dlopen... " >&6; } +@@ -26341,7 +26343,9 @@ fi + + if test x"$ac_cv_search_dlopen" = x"-ldl"; then + pluginlibs="$pluginlibs -ldl" ++ DL_LIB=$ac_cv_search_dlopen + fi ++ + LIBS="$saved_LIBS" + + # Check that we can build shared objects with -fPIC -shared +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -4839,11 +4839,14 @@ if test x"$enable_plugin" = x"yes"; then + fi + + # Check -ldl ++ DL_LIB= + saved_LIBS="$LIBS" + AC_SEARCH_LIBS([dlopen], [dl]) + if test x"$ac_cv_search_dlopen" = x"-ldl"; then + pluginlibs="$pluginlibs -ldl" ++ DL_LIB=$ac_cv_search_dlopen + fi ++ AC_SUBST(DL_LIB) + LIBS="$saved_LIBS" + + # Check that we can build shared objects with -fPIC -shared +--- a/gcc/graphite-clast-to-gimple.c ++++ b/gcc/graphite-clast-to-gimple.c +@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt) + from STMT_FOR. */ + + static tree +-gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level, ++gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level, + tree lb_type, tree ub_type) + { +- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for; ++ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora; + struct clast_user_stmt *body = clast_get_body_of_loop (stmt); + CloogStatement *cs = body->statement; + poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs); +--- a/gcc/graphite-cloog-compat.h ++++ b/gcc/graphite-cloog-compat.h +@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) + return m->NbRows; + } + #endif /* CLOOG_ORG */ ++ ++#include <dlfcn.h> ++#define DYNSYMS \ ++ DYNSYM (cloog_block_alloc); \ ++ DYNSYM (cloog_block_list_free); \ ++ DYNSYM (cloog_block_list_malloc); \ ++ DYNSYM (cloog_clast_create); \ ++ DYNSYM (cloog_clast_free); \ ++ DYNSYM (cloog_domain_free); \ ++ DYNSYM (cloog_domain_matrix2domain); \ ++ DYNSYM (cloog_initialize); \ ++ DYNSYM (cloog_loop_malloc); \ ++ DYNSYM (cloog_matrix_alloc); \ ++ DYNSYM (cloog_matrix_copy); \ ++ DYNSYM (cloog_matrix_free); \ ++ DYNSYM (cloog_matrix_print); \ ++ DYNSYM (cloog_names_malloc); \ ++ DYNSYM (cloog_names_scalarize); \ ++ DYNSYM (cloog_options_free); \ ++ DYNSYM (cloog_options_malloc); \ ++ DYNSYM (cloog_program_dump_cloog); \ ++ DYNSYM (cloog_program_extract_scalars); \ ++ DYNSYM (cloog_program_free); \ ++ DYNSYM (cloog_program_generate); \ ++ DYNSYM (cloog_program_malloc); \ ++ DYNSYM (cloog_program_print); \ ++ DYNSYM (cloog_program_scatter); \ ++ DYNSYM (cloog_statement_alloc); \ ++ DYNSYM (cloog_domain_union); \ ++ DYNSYM (cloog_matrix_read); \ ++ DYNSYM (cloog_new_pol); \ ++ DYNSYM (cloog_vector_gcd); \ ++ DYNSYM (ppl_finalize); \ ++ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ ++ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ ++ DYNSYM (ppl_Coefficient_to_mpz_t); \ ++ DYNSYM (ppl_Constraint_coefficient); \ ++ DYNSYM (ppl_Constraint_inhomogeneous_term); \ ++ DYNSYM (ppl_Constraint_space_dimension); \ ++ DYNSYM (ppl_Constraint_System_begin); \ ++ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ ++ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ ++ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ ++ DYNSYM (ppl_Constraint_System_end); \ ++ DYNSYM (ppl_Constraint_System_insert_Constraint); \ ++ DYNSYM (ppl_Constraint_System_space_dimension); \ ++ DYNSYM (ppl_Constraint_type); \ ++ DYNSYM (ppl_delete_Coefficient); \ ++ DYNSYM (ppl_delete_Constraint); \ ++ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ ++ DYNSYM (ppl_delete_Linear_Expression); \ ++ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ ++ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ ++ DYNSYM (ppl_delete_Polyhedron); \ ++ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ ++ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ ++ DYNSYM (ppl_Linear_Expression_coefficient); \ ++ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ ++ DYNSYM (ppl_Linear_Expression_space_dimension); \ ++ DYNSYM (ppl_new_Coefficient); \ ++ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ ++ DYNSYM (ppl_new_Constraint); \ ++ DYNSYM (ppl_new_Constraint_System); \ ++ DYNSYM (ppl_new_Constraint_System_const_iterator); \ ++ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ ++ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ ++ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ ++ DYNSYM (ppl_new_Linear_Expression); \ ++ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ ++ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ ++ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ ++ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ ++ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ ++ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ ++ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ ++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ ++ DYNSYM (ppl_Polyhedron_add_constraint); \ ++ DYNSYM (ppl_Polyhedron_add_constraints); \ ++ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ ++ DYNSYM (ppl_Polyhedron_get_constraints); \ ++ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ ++ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ ++ DYNSYM (ppl_Polyhedron_space_dimension); \ ++ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ ++ DYNSYM (pprint); \ ++ DYNSYM (stmt_block); \ ++ DYNSYM (stmt_for); \ ++ DYNSYM (stmt_guard); \ ++ DYNSYM (stmt_root); \ ++ DYNSYM (stmt_user); \ ++ DYNSYM (ppl_delete_Constraint_System); \ ++ DYNSYM (ppl_initialize); \ ++ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ ++ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ ++ DYNSYM (ppl_Polyhedron_affine_image); \ ++ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ ++ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ ++ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ ++ DYNSYM (ppl_delete_PIP_Problem); ++extern struct ++{ ++ bool inited; ++ void *h; ++#define DYNSYM(x) __typeof (x) *p_##x ++ DYNSYMS ++#undef DYNSYM ++} cloog_pointers__; ++ ++#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) ++#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) ++#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) ++#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) ++#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) ++#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) ++#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) ++#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) ++#ifndef CLOOG_ORG ++#undef cloog_loop_malloc ++#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () ++#else ++#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) ++#endif ++#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) ++#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) ++#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) ++#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) ++#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) ++#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) ++#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) ++#ifndef CLOOG_ORG ++#undef cloog_options_malloc ++#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () ++#undef cloog_program_dump_cloog ++#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ ++ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) ++#undef cloog_program_extract_scalars ++#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ ++ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) ++#else ++#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) ++#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) ++#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) ++#endif ++#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) ++#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) ++#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) ++#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) ++#ifndef CLOOG_ORG ++#undef cloog_program_scatter ++#define cloog_program_scatter(PROG, SCATT, OPT) \ ++ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) ++#undef cloog_statement_alloc ++#define cloog_statement_alloc(STATE, INDEX) \ ++ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) ++#else ++#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) ++#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) ++#endif ++#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) ++#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) ++#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) ++#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) ++#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) ++#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) ++#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) ++#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) ++#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) ++#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) ++#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) ++#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) ++#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) ++#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) ++#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) ++#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) ++#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) ++#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) ++#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) ++#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) ++#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) ++#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) ++#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) ++#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) ++#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) ++#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) ++#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) ++#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) ++#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) ++#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) ++#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) ++#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) ++#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) ++#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) ++#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) ++#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) ++#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) ++#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) ++#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) ++#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) ++#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) ++#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) ++#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) ++#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) ++#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) ++#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) ++#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) ++#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) ++#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) ++#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) ++#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) ++#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) ++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) ++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) ++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) ++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) ++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) ++#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) ++#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) ++#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) ++#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) ++#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) ++#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) ++#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) ++#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) ++#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) ++#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) ++#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) ++#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) ++#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) ++#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) ++#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) ++#define pprint (*cloog_pointers__.p_pprint) ++#define stmt_block (*cloog_pointers__.p_stmt_block) ++#define stmt_for (*cloog_pointers__.p_stmt_for) ++#define stmt_guard (*cloog_pointers__.p_stmt_guard) ++#define stmt_root (*cloog_pointers__.p_stmt_root) ++#define stmt_user (*cloog_pointers__.p_stmt_user) ++#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) ++#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) ++#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) ++#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) ++#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) ++#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) ++#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) ++#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) ++#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) ++ ++#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) ++ ++ + #endif /* GRAPHITE_CLOOG_COMPAT_H */ +--- a/gcc/graphite-poly.h ++++ b/gcc/graphite-poly.h +@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see + #ifndef GCC_GRAPHITE_POLY_H + #define GCC_GRAPHITE_POLY_H + ++#include "graphite-cloog-util.h" ++ + typedef struct poly_dr *poly_dr_p; + DEF_VEC_P(poly_dr_p); + DEF_VEC_ALLOC_P (poly_dr_p, heap); +--- a/gcc/graphite.c ++++ b/gcc/graphite.c +@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see + + CloogState *cloog_state; + ++__typeof (cloog_pointers__) cloog_pointers__; ++ ++static bool ++init_cloog_pointers (void) ++{ ++ void *h; ++ ++ if (cloog_pointers__.inited) ++ return cloog_pointers__.h != NULL; ++ h = dlopen ("libcloog.so.0", RTLD_LAZY); ++ cloog_pointers__.h = h; ++ if (h == NULL) ++ return false; ++#define DYNSYM(x) \ ++ do \ ++ { \ ++ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ ++ u.q = dlsym (h, #x); \ ++ if (u.q == NULL) \ ++ return false; \ ++ cloog_pointers__.p_##x = u.p; \ ++ } \ ++ while (0) ++ DYNSYMS ++#undef DYNSYM ++ return true; ++} ++ ++ + /* Print global statistics to FILE. */ + + static void +@@ -201,6 +230,12 @@ graphite_initialize (void) + return false; + } + ++ if (!init_cloog_pointers ()) ++ { ++ sorry ("Graphite loop optimizations cannot be used"); ++ return false; ++ } ++ + scev_reset (); + recompute_all_dominators (); + initialize_original_copy_tables (); diff --git a/4.7.0/gentoo/76_all_4.7.0_c-family-headers.patch b/4.7.0/gentoo/76_all_4.7.0_c-family-headers.patch new file mode 100644 index 0000000..9d559fe --- /dev/null +++ b/4.7.0/gentoo/76_all_4.7.0_c-family-headers.patch @@ -0,0 +1,50 @@ +https://bugs.gentoo.org/396005 + + +2011-07-22 Romain Geissler <romain.geissler@gmail.com> + + PR plugins/45348 + PR plugins/48425 + PR plugins/46577 + * Makefile.in: Do not flatten c-family directory when installing + plugin headers. + + +2011-07-25 Romain Geissler <romain.geissler@gmail.com> + + * c-pretty-print.h: Search c-common.h in c-family. + + +--- gcc/c-family/c-pretty-print.h ++++ gcc/c-family/c-pretty-print.h +@@ -23,7 +23,7 @@ + #define GCC_C_PRETTY_PRINTER + + #include "tree.h" +-#include "c-common.h" ++#include "c-family/c-common.h" + #include "pretty-print.h" + + +--- gcc/Makefile.in ++++ gcc/Makefile.in +@@ -4602,8 +4602,8 @@ + + # Install the headers needed to build a plugin. + install-plugin: installdirs lang.install-plugin s-header-vars +-# We keep the directory structure for files in config and .def files. All +-# other files are flattened to a single directory. ++# We keep the directory structure for files in config or c-family and .def ++# files. All other files are flattened to a single directory. + $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) + headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`; \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ +@@ -4615,7 +4615,7 @@ + else continue; \ + fi; \ + case $$path in \ +- "$(srcdir)"/config/* | "$(srcdir)"/*.def ) \ ++ "$(srcdir)"/config/* | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ + base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \ + *) base=`basename $$path` ;; \ + esac; \ diff --git a/4.7.0/gentoo/80_all_gcc-4.6-x32.patch b/4.7.0/gentoo/80_all_gcc-4.6-x32.patch new file mode 100644 index 0000000..dfde53b --- /dev/null +++ b/4.7.0/gentoo/80_all_gcc-4.6-x32.patch @@ -0,0 +1,13063 @@ +taken from: + git://gcc.gnu.org/git/gcc.git + branch: hjl/x32/gcc-4_6-branch+mx32 + +git diff origin/gcc-4_6-branch...origin/hjl/x32/gcc-4_6-branch+mx32 + +diff --git a/gcc/ChangeLog.mx32 b/gcc/ChangeLog.mx32 +new file mode 100644 +index 0000000..1b6ad28 +--- /dev/null ++++ b/gcc/ChangeLog.mx32 +@@ -0,0 +1,42 @@ ++2011-12-07 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Re-order. ++ ++ * config/i386/biarchx32.h (TARGET_64BIT_DEFAULT): Replace ++ OPTION_MASK_ISA_X86_64 with OPTION_MASK_ISA_64BIT. ++ ++ * config/i386/i386.c (ix86_option_override_internal): Properly ++ handle -m32, -m64 and -mx32. ++ ++ * config/i386/i386.h (TARGET_LP64): Changed to TARGET_X86_64. ++ ++ * config/i386/i386.opt (m32): Changed back to ISA_64BIT. ++ (m64): Replace ISA_64BIT with ISA_X86_64. ++ (mx86-64): Replace ISA_X86_64 with ISA_64BIT. ++ ++2011-12-07 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config.gcc: Also support --with-abi={mx32|m64}. ++ ++2011-12-07 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config.gcc: For --with-abi=x32 or --with-multilib-list=mx32, ++ use i386/biarchx32.h instead of i386/biarch64.h. ++ (supported_defaults): Add abi for i[34567]86-*-* and x86_64-*-*. ++ ++ * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Add ++ OPTION_MASK_ISA_X86_64. ++ ++ * config/i386/biarchx32.h: New. ++ ++ * config/i386/i386.c (ix86_option_override_internal): Properly ++ set OPTION_MASK_ISA_64BIT and OPTION_MASK_ISA_X32. ++ ++ * config/i386/i386.h (TARGET_X86_64): New. ++ ++ * config/i386/i386.opt (m32): Replace ISA_64BIT with ISA_X86_64. ++ (mx86-64): New. ++ ++ * config/i386/linux64.h (SPEC_64): Support TARGET_BI_ARCH == 2. ++ (SPEC_X32): Likewise. ++ (MULTILIB_DEFAULTS): Likewise. +diff --git a/gcc/ChangeLog.x32 b/gcc/ChangeLog.x32 +new file mode 100644 +index 0000000..4e12dde +--- /dev/null ++++ b/gcc/ChangeLog.x32 +@@ -0,0 +1,421 @@ ++2011-11-15 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (ix86_expand_movmem): Replace Pmode with ++ word_mode for loop. ++ (ix86_expand_setmem): Likewise. ++ ++2011-11-15 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (ix86_gen_pro_epilogue_adjust_stack): Removed. ++ (ix86_option_override_internal): Don't set ++ ix86_gen_pro_epilogue_adjust_stack. ++ (ix86_expand_prologue): Check Pmode == DImode. ++ ++2011-11-11 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * unwind-dw2.c (_Unwind_SetGRValue): Update comments. ++ ++2011-11-11 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.md (*zero_extendsidi2_x32): New. ++ * config/i386/predicates.md (x86_64_symbolic_immediate_operand): ++ Likewise. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ Backport from mainline ++ 2011-07-26 Uros Bizjak <ubizjak@gmail.com> ++ ++ * config/i386/i386.md (add->lea splitter): Implement using SWI ++ mode iterator. Change operand 2 predicate to <nonmemory_operand>. ++ (add->lea zext splitter): Change operand 2 predicate to ++ x86_64_nonmemory_operand. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ Backport from mainline ++ 2011-08-05 Uros Bizjak <ubizjak@gmail.com> ++ ++ * config/i386/i386.c (ix86_print_operand_address): Handle SUBREGs of ++ parts.base and parts.index. ++ * config/i386/predicates.md (aligned_operand): Ditto. ++ (cmpxchg8b_pic_memory_operand): Ditto. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (x86_this_parameter): Replace DImode with ++ Pmode. ++ (x86_output_mi_thunk): Likewise. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (function_value_64): Return pointers in ++ word_mode instead of Pmode. ++ (ix86_promote_function_mode): Likewise. ++ ++2011-10-25 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.md (lwp_slwpcb): Check Pmode instead ++ of TARGET_64BIT. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/sse.md (*sse2_maskmovdqu_rex64): Replace :DI ++ with :P. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ Backport from mainline ++ 2011-07-29 Uros Bizjak <ubizjak@gmail.com> ++ ++ PR target/47715 ++ * config/i386/i386.md (*load_tp_x32): New. ++ (*load_tp_x32_zext): Ditto. ++ (*add_tp_x32): Ditto. ++ (*add_tp_x32_zext): Ditto. ++ (*load_tp_<mode>): Disable for TARGET_X32 targets. ++ (*add_tp_<mode>): Ditto. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size ++ <= saved reg size. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ PR other/48007 ++ * config.gcc (libgcc_tm_file): Add i386/value-unwind.h for ++ Linux/x86. ++ ++ * unwind-dw2.c (ASSUME_EXTENDED_UNWIND_CONTEXT): New. ++ (_Unwind_Context_Reg_Val): Likewise. ++ (_Unwind_Get_Unwind_Word): Likewise. ++ (_Unwind_Get_Unwind_Context_Reg_Val): Likewise. ++ (_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field. ++ (_Unwind_IsExtendedContext): Check ASSUME_EXTENDED_UNWIND_CONTEXT ++ for EXTENDED_CONTEXT_BIT. ++ (__frame_state_for): Likewise. ++ (uw_init_context_1): Likewise. ++ (_Unwind_GetGR): Updated. ++ (_Unwind_SetGR): Likewise. ++ (_Unwind_GetGRPtr): Likewise. ++ (_Unwind_SetGRPtr): Likewise. ++ (_Unwind_SetGRValue): Likewise. ++ (_Unwind_GRByValue): Likewise. ++ (uw_install_context_1): Likewise. ++ ++ * doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT and ++ ASSUME_EXTENDED_UNWIND_CONTEXT. ++ * doc/tm.texi: Regenerated. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ PR middle-end/47715 ++ * calls.c (precompute_register_parameters): Promote the function ++ argument before checking non-legitimate constant. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ PR rtl-optimization/47449 ++ * fwprop.c (forward_propagate_subreg): Don't propagate hard ++ register nor zero/sign extended hard register. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (ix86_option_override_internal): Disallow ++ MS ABI in x32 mode. ++ (ix86_init_builtins): Call ix86_init_builtins_va_builtins_abi ++ only for TARGET_LP64. ++ (ix86_handle_abi_attribute): Check TARGET_LP64 instead of ++ TARGET_64BIT. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ Backport from mainline ++ 2011-07-21 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (function_value_64): Always return pointers ++ in Pmode. ++ (ix86_promote_function_mode): New. ++ (TARGET_PROMOTE_FUNCTION_MODE): Likewise. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.md (*lea_3_zext): New. ++ (*lea_general_1_zext): Removed. ++ (*lea_general_2_zext): Likewise. ++ (*lea_general_3_zext): Likewise. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.md (*lea_general_2): Replace "i" with "n" ++ on const248_operand. ++ (*lea_general_3): Likewise. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ Backport from mainline ++ 2011-07-26 Uros Bizjak <ubizjak@gmail.com> ++ H.J. Lu <hongjiu.lu@intel.com> ++ ++ PR target/47381 ++ PR target/49832 ++ PR target/49833 ++ * config/i386/i386.md (i): Change SImode attribute to "e". ++ (g): Change SImode attribute to "rme". ++ (di): Change SImode attribute to "nF". ++ (general_operand): Change SImode attribute to x86_64_general_operand. ++ (general_szext_operand): Change SImode attribute to ++ x86_64_szext_general_operand. ++ (immediate_operand): Change SImode attribute to ++ x86_64_immediate_operand. ++ (nonmemory_operand): Change SImode attribute to ++ x86_64_nonmemory_operand. ++ (*movdi_internal_rex64): Remove mode from pic_32bit_operand check. ++ (*movsi_internal): Ditto. Use "e" constraint in alternative 2. ++ (testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2. ++ (*bt<mode>): Ditto. ++ (*add<mode>1): Use x86_64_general_operand predicate for operand 2. ++ Update operand constraints. ++ (addsi_1_zext): Ditto. ++ (*add<mode>2): Ditto. ++ (*addsi_3_zext): Ditto. ++ (*subsi_1_zext): Ditto. ++ (*subsi_2_zext): Ditto. ++ (*subsi_3_zext): Ditto. ++ (*addsi3_carry_zext): Ditto. ++ (*<plusminus_insn>si3_zext_cc_overflow): Ditto. ++ (*mulsi3_1_zext): Ditto. ++ (*andsi_1): Ditto. ++ (*andsi_1_zext): Ditto. ++ (*andsi_2_zext): Ditto. ++ (*<any_or:code>si_1_zext): Ditto. ++ (*<any_or:code>si_2_zext): Ditto. ++ (*test<mode>_1): Use <general_operand> predicate for operand 1. ++ (*and<mode>_2): Ditto. ++ (mov<mode>cc): Use <general_operand> predicate for operands 1 and 2. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (legitimize_tls_address): Use ++ gen_tls_local_dynamic_x32 for TARGET_X32. ++ ++ * config/i386/i386.md (*tls_local_dynamic_64): Renamed to ... ++ (*tls_local_dynamic_<x86_64_mode>): This. Replace :DI with :P. ++ Support TARGET_X32. ++ (tls_local_dynamic_64): Renamed to ... ++ (tls_local_dynamic_<x86_64_mode>): This. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (legitimize_tls_address): Use ++ gen_tls_global_dynamic_x32 for TARGET_X32. ++ ++ * config/i386/i386.md (*tls_global_dynamic_64): Renamed to ... ++ (*tls_global_dynamic_<x86_64_mode>): This. Replace :DI with :P. ++ Support TARGET_X32. ++ (tls_global_dynamic_64): Renamed to ... ++ (tls_global_dynamic_<x86_64_mode>): This. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/x86-64.h (SIZE_TYPE): Check TARGET_LP64 instead ++ of TARGET_64BIT. ++ (PTRDIFF_TYPE): Likewise. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (ix86_option_override_internal): Turn on ++ OPTION_MASK_ISA_64BIT for TARGET_X32. Only allow small and ++ small PIC models for TARGET_X32. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.md (stack_protect_set): Check TARGET_LP64 ++ instead of TARGET_64BIT. ++ (stack_protect_test): Likewise. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (ix86_trampoline_init): Use movl for 64bit ++ if ptr_mode == SImode. Replace DImode with Pmode or ptr_mode. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.md (add->lea splitter): Add :DWI. Extend ++ operands less than SImode wide to SImode. ++ (*lea_general_1): Check TARGET_LP64 instead of TARGET_64BIT. ++ (*lea_general_2): Likewise. ++ (*lea_general_3): Likewise. ++ (*lea_general_1_zext): Replace Pmode with DImode. ++ (*lea_general_2_zext): Likewise. ++ (*lea_general_3_zext): Likewise. ++ (ashift->lea splitter): Extend operands less than SImode wide to ++ SImode. ++ (lea peephole): Replace Pmode with word_mode. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (ix86_legitimate_address_p): Allow SImode ++ and DImode base and index registers. ++ ++ * config/i386/i386.md (*lea_1): Renamed to ... ++ (lea<mode>_1): This. Replace :P with :SWI48. ++ ++2011-11-08 H.J. Lu <hongjiu.lu@intel.com> ++ ++ Backport from mainline ++ 2011-07-20 H.J. Lu <hongjiu.lu@intel.com> ++ Uros Bizjak <ubizjak@gmail.com> ++ Richard Henderson <rth@redhat.com> ++ ++ * config/i386/constraints.md (w): New. ++ ++ * config/i386/i386.c (ix86_output_addr_vec_elt): Check ++ TARGET_LP64 instead of TARGET_64BIT for ASM_QUAD. ++ ++ * config/i386/i386.h (CASE_VECTOR_MODE): Check TARGET_LP64 ++ instead of TARGET_64BIT. ++ ++ * config/i386/i386.md (indirect_jump): Replace ++ nonimmediate_operand with indirect_branch_operand. ++ (*indirect_jump): Likewise. Replace constraint "m" with "w". ++ (tablejump): Replace nonimmediate_operand with ++ indirect_branch_operand. ++ (*tablejump_1): Replace nonimmediate_operand with ++ indirect_branch_operand. Replace constraint "m" with "w". ++ (*call_1_rex64_vzeroupper): Replace :DI with :P. Replace ++ constraint "m" with "w". ++ (*call_1_rex64): Likewise. ++ (*sibcall_1_rex64_vzeroupper): Likewise. ++ (*sibcall_1_rex64): Likewise. ++ (*call_value_0_rex64_vzeroupper): Likewise. ++ (*call_value_0_rex64): Likewise. ++ (*call_value_1_rex64_vzeroupper): Likewise. ++ (*call_value_1_rex64): Likewise. ++ (set_got_offset_rex64): Check TARGET_LP64 instead of ++ TARGET_64BIT. ++ ++ * config/i386/predicates.md (indirect_branch_operand): New. ++ (call_insn_operand): Support x32. ++ ++2011-11-08 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386-protos.h (ix86_output_rex_prefix_p): New. ++ * config/i386/i386.c (ix86_output_rex_prefix_p): Likewise. ++ ++ * config/i386/i386.md (*movsi_internal): Output REX prefix if ++ needed. ++ (*add<mode>_1): Likewise. ++ ++2011-11-08 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.c (ix86_gen_pro_epilogue_adjust_stack): New. ++ (ix86_option_override_internal): Check TARGET_LP64. Set ++ ix86_gen_pro_epilogue_adjust_stack. Update ix86_gen_monitor. ++ (setup_incoming_varargs_64): Use word_mode with integer ++ parameters in registers. ++ (gen_push): Push register in word_mode instead of Pmode. ++ (ix86_emit_save_regs): Likewise. ++ (ix86_emit_save_regs_using_mov): Save integer registers in ++ word_mode. ++ (gen_pop): Pop register in word_mode instead of Pmode. ++ (ix86_emit_restore_regs_using_pop): Likewise. ++ (pro_epilogue_adjust_stack): Check TARGET_LP64. ++ (ix86_expand_prologue): Replace Pmode with word_mode for push ++ immediate. Use ix86_gen_pro_epilogue_adjust_stack. Save and ++ restore RAX and R10 in word_mode. ++ (ix86_emit_restore_regs_using_mov): Restore integer registers ++ in word_mode. ++ (ix86_expand_split_stack_prologue): Save R10_REG and restore in ++ word_mode. ++ (ix86_decompose_address): Disallow fs:(reg) if Pmode != ++ word_mode. ++ (legitimize_tls_address): Load TP into register for ++ TLS_MODEL_INITIAL_EXEC and TLS_MODEL_LOCAL_EXEC modes in x32. ++ (ix86_print_operand): Output register in DImode for 64bit ++ indirect branch. ++ (ix86_split_to_parts): Use word_mode with PUT_MODE for push. ++ (ix86_split_long_move): Likewise. ++ (ix86_zero_extend_to_Pmode): Handle Pmode != DImode. ++ (ix86_expand_movmem): Use word_mode for size needed for loop. ++ ++ * config/i386/i386.md (W): New. ++ (x86_64_mode): Likewise. ++ (*push<mode>2_prologue): Replace :P with :W. ++ (*pop<mode>1): Likewise. ++ (*pop<mode>1_epilogue): Likewise. ++ (*rep_movdi_rex64): Replace :DI with :P. Add addr32 if needed. ++ (*rep_stosdi_rex64): Likewise. ++ (*rep_movsi): Add addr32 if needed. ++ (*rep_movqi): Likewise. ++ (*rep_stossi): Likewise. ++ (*rep_stosqi): Likewise. ++ (*cmpstrnqi_nz_1): Likewise. ++ (*cmpstrnqi_1): Likewise. ++ (*strlenqi_1): Likewise. ++ (push/pop peephole2): Use word_mode scratch registers. ++ ++ * config/i386/sse.md (sse3_monitor64): Renamed to ... ++ (sse3_monitor_<x86_64_mode>): This. ++ ++2011-11-08 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * longlong.h (count_leading_zeros): Use long long builtin for ++ x86-64. ++ (count_trailing_zeros): Likewise. ++ ++2011-11-04 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * dwarf2out.c (dwarf2out_frame_debug_expr): Check ++ HARD_FRAME_POINTER_REGNUM instead of hard_frame_pointer_rtx ++ in Rule 18. ++ ++2011-11-04 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/mmx.md (*mmx_maskmovq): Replace :SI with :P and ++ remove "&& !TARGET_64BIT" ++ (*mmx_maskmovq_rex): Removed. ++ ++2011-11-04 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/i386.h (Pmode): Replace TARGET_64BIT with ++ TARGET_LP64. ++ ++2011-11-04 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config.gcc: Support --with-multilib-list for x86 Linux ++ targets. ++ ++ * configure.ac: Mention x86-64 for --with-multilib-list. ++ * configure: Regenerated. ++ ++ * config/i386/i386.h (TARGET_X32): New. ++ (TARGET_LP64): New. ++ (LONG_TYPE_SIZE): Likewise. ++ (POINTER_SIZE): Likewise. ++ (POINTERS_EXTEND_UNSIGNED): Likewise. ++ (OPT_ARCH64): Support x32. ++ (OPT_ARCH32): Likewise. ++ ++ * config/i386/i386.opt (mx32): New. ++ ++ * config/i386/linux64.h (GLIBC_DYNAMIC_LINKERX32): New. ++ (SPEC_X32): Likewise. ++ (SPEC_64): Support x32. ++ (SPEC_32): Likewise. ++ (ASM_SPEC): Likewise. ++ (LINK_SPEC): Likewise. ++ (TARGET_THREAD_SSP_OFFSET): Likewise. ++ (TARGET_THREAD_SPLIT_STACK_OFFSET): Likewise. ++ ++ * config/linux.h (UCLIBC_DYNAMIC_LINKERX32): New. ++ (BIONIC_DYNAMIC_LINKERX32): Likewise. ++ (LINUX_DYNAMIC_LINKERX32): Likewise. ++ ++ * config/i386/t-linux64: Support TM_MULTILIB_CONFIG. ++ ++ * doc/install.texi: Document --with-multilib-list for ++ Linux/x86-64. ++ ++ * doc/invoke.texi: Document -mx32. +diff --git a/gcc/calls.c b/gcc/calls.c +index 1c161bf..080cbec 100644 +--- a/gcc/calls.c ++++ b/gcc/calls.c +@@ -683,12 +683,6 @@ precompute_register_parameters (int num_actuals, struct arg_data *args, + pop_temp_slots (); + } + +- /* If the value is a non-legitimate constant, force it into a +- pseudo now. TLS symbols sometimes need a call to resolve. */ +- if (CONSTANT_P (args[i].value) +- && !LEGITIMATE_CONSTANT_P (args[i].value)) +- args[i].value = force_reg (args[i].mode, args[i].value); +- + /* If we are to promote the function arg to a wider mode, + do it now. */ + +@@ -698,6 +692,12 @@ precompute_register_parameters (int num_actuals, struct arg_data *args, + TYPE_MODE (TREE_TYPE (args[i].tree_value)), + args[i].value, args[i].unsignedp); + ++ /* If the value is a non-legitimate constant, force it into a ++ pseudo now. TLS symbols sometimes need a call to resolve. */ ++ if (CONSTANT_P (args[i].value) ++ && !LEGITIMATE_CONSTANT_P (args[i].value)) ++ args[i].value = force_reg (args[i].mode, args[i].value); ++ + /* If we're going to have to load the value by parts, pull the + parts into pseudos. The part extraction process can involve + non-trivial computation. */ +diff --git a/gcc/config.gcc b/gcc/config.gcc +index 39d9a19..128ca12 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -450,6 +450,10 @@ fi + + case ${target} in + i[34567]86-*-*) ++ if test "x$with_abi" != x; then ++ echo "This target does not support --with-abi." ++ exit 1 ++ fi + if test "x$enable_cld" = xyes; then + tm_defines="${tm_defines} USE_IX86_CLD=1" + fi +@@ -459,7 +463,24 @@ i[34567]86-*-*) + tm_file="vxworks-dummy.h ${tm_file}" + ;; + x86_64-*-*) +- tm_file="i386/biarch64.h ${tm_file}" ++ case ${with_abi} in ++ "") ++ if test "x$with_multilib_list" = xmx32; then ++ tm_file="i386/biarchx32.h ${tm_file}" ++ else ++ tm_file="i386/biarch64.h ${tm_file}" ++ fi ++ ;; ++ 64 | m64) ++ tm_file="i386/biarch64.h ${tm_file}" ++ ;; ++ x32 | mx32) ++ tm_file="i386/biarchx32.h ${tm_file}" ++ ;; ++ *) ++ echo "Unknown ABI used in --with-abi=$with_abi" ++ exit 1 ++ esac + if test "x$enable_cld" = xyes; then + tm_defines="${tm_defines} USE_IX86_CLD=1" + fi +@@ -1262,6 +1283,22 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i + tm_file="${tm_file} i386/x86-64.h i386/linux64.h" + tm_defines="${tm_defines} TARGET_BI_ARCH=1" + tmake_file="${tmake_file} i386/t-linux64" ++ x86_multilibs="${with_multilib_list}" ++ if test "$x86_multilibs" = "default"; then ++ x86_multilibs="m64,m32" ++ fi ++ x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'` ++ for x86_multilib in ${x86_multilibs}; do ++ case ${x86_multilib} in ++ m32 | m64 | mx32) ++ TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}" ++ ;; ++ *) ++ echo "--with-multilib-list=${x86_with_multilib} not supported." ++ exit 1 ++ esac ++ done ++ TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` + need_64bit_hwint=yes + need_64bit_isa=yes + case X"${with_cpu}" in +@@ -1311,6 +1348,22 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) + ;; + esac + tmake_file="${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules" ++ x86_multilibs="${with_multilib_list}" ++ if test "$x86_multilibs" = "default"; then ++ x86_multilibs="m64,m32" ++ fi ++ x86_multilibs=`echo $x86_multilibs | sed -e 's/,/ /g'` ++ for x86_multilib in ${x86_multilibs}; do ++ case ${x86_multilib} in ++ m32 | m64 | mx32) ++ TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${x86_multilib}" ++ ;; ++ *) ++ echo "--with-multilib-list=${x86_with_multilib} not supported." ++ exit 1 ++ esac ++ done ++ TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` + ;; + i[34567]86-pc-msdosdjgpp*) + xm_file=i386/xm-djgpp.h +@@ -2791,6 +2844,7 @@ esac + case ${target} in + i[34567]86-*-linux* | x86_64-*-linux*) + tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386" ++ libgcc_tm_file="${libgcc_tm_file} i386/value-unwind.h" + ;; + i[34567]86-*-* | x86_64-*-*) + tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386" +@@ -3356,7 +3410,7 @@ case "${target}" in + ;; + + i[34567]86-*-* | x86_64-*-*) +- supported_defaults="arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64" ++ supported_defaults="abi arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64" + for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do + eval "val=\$with_$which" + case ${val} in +diff --git a/gcc/config/i386/biarch64.h b/gcc/config/i386/biarch64.h +index 629ec98..3dc9889 100644 +--- a/gcc/config/i386/biarch64.h ++++ b/gcc/config/i386/biarch64.h +@@ -25,5 +25,5 @@ a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + +-#define TARGET_64BIT_DEFAULT OPTION_MASK_ISA_64BIT ++#define TARGET_64BIT_DEFAULT (OPTION_MASK_ISA_64BIT | OPTION_MASK_ISA_X86_64) + #define TARGET_BI_ARCH 1 +diff --git a/gcc/config/i386/biarchx32.h b/gcc/config/i386/biarchx32.h +new file mode 100644 +index 0000000..963e390 +--- /dev/null ++++ b/gcc/config/i386/biarchx32.h +@@ -0,0 +1,28 @@ ++/* Make configure files to produce biarch compiler defaulting to x32 mode. ++ This file must be included very first, while the OS specific file later ++ to overwrite otherwise wrong defaults. ++ Copyright (C) 2012 Free Software Foundation, Inc. ++ ++This file is part of GCC. ++ ++GCC 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, or (at your option) ++any later version. ++ ++GCC 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. ++ ++Under Section 7 of GPL version 3, you are granted additional ++permissions described in the GCC Runtime Library Exception, version ++3.1, as published by the Free Software Foundation. ++ ++You should have received a copy of the GNU General Public License and ++a copy of the GCC Runtime Library Exception along with this program; ++see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++<http://www.gnu.org/licenses/>. */ ++ ++#define TARGET_64BIT_DEFAULT (OPTION_MASK_ISA_64BIT | OPTION_MASK_ISA_X32) ++#define TARGET_BI_ARCH 2 +diff --git a/gcc/config/i386/constraints.md b/gcc/config/i386/constraints.md +index 6233b79..2dced94 100644 +--- a/gcc/config/i386/constraints.md ++++ b/gcc/config/i386/constraints.md +@@ -19,7 +19,7 @@ + + ;;; Unused letters: + ;;; B H T W +-;;; h jk vw ++;;; h jk v + + ;; Integer register constraints. + ;; It is not necessary to define 'r' here. +@@ -109,6 +109,11 @@ + "@internal Constant call address operand." + (match_operand 0 "constant_call_address_operand")) + ++(define_constraint "w" ++ "@internal Call memory operand." ++ (and (match_test "!TARGET_X32") ++ (match_operand 0 "memory_operand"))) ++ + ;; Integer constant constraints. + (define_constraint "I" + "Integer constant in the range 0 @dots{} 31, for 32-bit shifts." +diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h +index 4f90b50..085f74f 100644 +--- a/gcc/config/i386/i386-protos.h ++++ b/gcc/config/i386/i386-protos.h +@@ -258,6 +258,8 @@ extern void x86_output_aligned_bss (FILE *, tree, const char *, + extern void x86_elf_aligned_common (FILE *, const char *, + unsigned HOST_WIDE_INT, int); + ++extern bool ix86_output_rex_prefix_p (rtx, rtx); ++ + #ifdef RTX_CODE + extern void ix86_fp_comparison_codes (enum rtx_code code, enum rtx_code *, + enum rtx_code *, enum rtx_code *); +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index 382fabf..3a2f0b7 100644 +--- a/gcc/config/i386/i386.c ++++ b/gcc/config/i386/i386.c +@@ -3503,6 +3503,46 @@ ix86_option_override_internal (bool main_args_p) + SUBSUBTARGET_OVERRIDE_OPTIONS; + #endif + ++ /* Turn off both OPTION_MASK_ISA_X86_64 and OPTION_MASK_ISA_X32 if ++ TARGET_64BIT is false. */ ++ if (!TARGET_64BIT) ++ ix86_isa_flags &= ~(OPTION_MASK_ISA_X86_64 | OPTION_MASK_ISA_X32); ++#ifdef TARGET_BI_ARCH ++ else ++ { ++#if TARGET_BI_ARCH == 1 ++ /* When TARGET_BI_ARCH == 1, by default, OPTION_MASK_ISA_X86_64 ++ is on and OPTION_MASK_ISA_X32 is off. We turn off ++ OPTION_MASK_ISA_X86_64 if OPTION_MASK_ISA_X32 is turned on by ++ -mx32. */ ++ if (TARGET_X32) ++ ix86_isa_flags &= ~OPTION_MASK_ISA_X86_64; ++#else ++ /* When TARGET_BI_ARCH == 2, by default, OPTION_MASK_ISA_X32 is ++ on and OPTION_MASK_ISA_X86_64 is off. We turn off ++ OPTION_MASK_ISA_X32 if OPTION_MASK_ISA_X86_64 is turned on by ++ -m64. */ ++ if (TARGET_X86_64) ++ ix86_isa_flags &= ~OPTION_MASK_ISA_X32; ++#endif ++ } ++#endif ++ ++ if (TARGET_X32) ++ { ++ /* Always turn on OPTION_MASK_ISA_64BIT and turn off ++ OPTION_MASK_ISA_X86_64 for TARGET_X32. */ ++ ix86_isa_flags |= OPTION_MASK_ISA_64BIT; ++ ix86_isa_flags &= ~OPTION_MASK_ISA_X86_64; ++ } ++ else if (TARGET_X86_64) ++ { ++ /* Always turn on OPTION_MASK_ISA_64BIT and turn off ++ OPTION_MASK_ISA_X32 for TARGET_X86_64. */ ++ ix86_isa_flags |= OPTION_MASK_ISA_64BIT; ++ ix86_isa_flags &= ~OPTION_MASK_ISA_X32; ++ } ++ + /* -fPIC is the default for x86_64. */ + if (TARGET_MACHO && TARGET_64BIT) + flag_pic = 2; +@@ -3601,6 +3641,9 @@ ix86_option_override_internal (bool main_args_p) + else + ix86_abi = DEFAULT_ABI; + ++ if (ix86_abi == MS_ABI && TARGET_X32) ++ error ("MS ABI not supported in x32 mode"); ++ + if (ix86_cmodel_string != 0) + { + if (!strcmp (ix86_cmodel_string, "small")) +@@ -3618,6 +3661,20 @@ ix86_option_override_internal (bool main_args_p) + else + error ("bad value (%s) for %scmodel=%s %s", + ix86_cmodel_string, prefix, suffix, sw); ++ ++ switch (ix86_cmodel) ++ { ++ case CM_MEDIUM: ++ case CM_MEDIUM_PIC: ++ case CM_LARGE: ++ case CM_LARGE_PIC: ++ if (TARGET_X32) ++ error ("code model %qs not supported in x32 mode", ++ ix86_cmodel_string); ++ break; ++ default: ++ break; ++ } + } + else + { +@@ -4230,11 +4287,23 @@ ix86_option_override_internal (bool main_args_p) + if (TARGET_64BIT) + { + ix86_gen_leave = gen_leave_rex64; ++ if (TARGET_X32) ++ ix86_gen_monitor = gen_sse3_monitor_x32; ++ else ++ ix86_gen_monitor = gen_sse3_monitor_64; ++ } ++ else ++ { ++ ix86_gen_leave = gen_leave; ++ ix86_gen_monitor = gen_sse3_monitor; ++ } ++ ++ if (TARGET_LP64) ++ { + ix86_gen_add3 = gen_adddi3; + ix86_gen_sub3 = gen_subdi3; + ix86_gen_sub3_carry = gen_subdi3_carry; + ix86_gen_one_cmpl2 = gen_one_cmpldi2; +- ix86_gen_monitor = gen_sse3_monitor64; + ix86_gen_andsp = gen_anddi3; + ix86_gen_allocate_stack_worker = gen_allocate_stack_worker_probe_di; + ix86_gen_adjust_stack_and_probe = gen_adjust_stack_and_probedi; +@@ -4242,12 +4311,10 @@ ix86_option_override_internal (bool main_args_p) + } + else + { +- ix86_gen_leave = gen_leave; + ix86_gen_add3 = gen_addsi3; + ix86_gen_sub3 = gen_subsi3; + ix86_gen_sub3_carry = gen_subsi3_carry; + ix86_gen_one_cmpl2 = gen_one_cmplsi2; +- ix86_gen_monitor = gen_sse3_monitor; + ix86_gen_andsp = gen_andsi3; + ix86_gen_allocate_stack_worker = gen_allocate_stack_worker_probe_si; + ix86_gen_adjust_stack_and_probe = gen_adjust_stack_and_probesi; +@@ -7565,6 +7632,11 @@ function_value_64 (enum machine_mode orig_mode, enum machine_mode mode, + return gen_rtx_REG (mode, AX_REG); + } + } ++ else if (POINTER_TYPE_P (valtype)) ++ { ++ /* Pointers are always returned in word_mode. */ ++ mode = word_mode; ++ } + + ret = construct_container (mode, orig_mode, valtype, 1, + X86_64_REGPARM_MAX, X86_64_SSE_REGPARM_MAX, +@@ -7634,6 +7706,23 @@ ix86_function_value (const_tree valtype, const_tree fntype_or_decl, + return ix86_function_value_1 (valtype, fntype_or_decl, orig_mode, mode); + } + ++/* Pointer function arguments and return values are promoted to ++ word_mode. */ ++ ++static enum machine_mode ++ix86_promote_function_mode (const_tree type, enum machine_mode mode, ++ int *punsignedp, const_tree fntype, ++ int for_return) ++{ ++ if (type != NULL_TREE && POINTER_TYPE_P (type)) ++ { ++ *punsignedp = POINTERS_EXTEND_UNSIGNED; ++ return word_mode; ++ } ++ return default_promote_function_mode (type, mode, punsignedp, fntype, ++ for_return); ++} ++ + rtx + ix86_libcall_value (enum machine_mode mode) + { +@@ -7906,12 +7995,13 @@ setup_incoming_varargs_64 (CUMULATIVE_ARGS *cum) + + for (i = cum->regno; i < max; i++) + { +- mem = gen_rtx_MEM (Pmode, ++ mem = gen_rtx_MEM (word_mode, + plus_constant (save_area, i * UNITS_PER_WORD)); + MEM_NOTRAP_P (mem) = 1; + set_mem_alias_set (mem, set); +- emit_move_insn (mem, gen_rtx_REG (Pmode, +- x86_64_int_parameter_registers[i])); ++ emit_move_insn (mem, ++ gen_rtx_REG (word_mode, ++ x86_64_int_parameter_registers[i])); + } + + if (ix86_varargs_fpr_size) +@@ -9014,8 +9104,11 @@ gen_push (rtx arg) + m->fs.cfa_offset += UNITS_PER_WORD; + m->fs.sp_offset += UNITS_PER_WORD; + ++ if (REG_P (arg) && GET_MODE (arg) != word_mode) ++ arg = gen_rtx_REG (word_mode, REGNO (arg)); ++ + return gen_rtx_SET (VOIDmode, +- gen_rtx_MEM (Pmode, ++ gen_rtx_MEM (word_mode, + gen_rtx_PRE_DEC (Pmode, + stack_pointer_rtx)), + arg); +@@ -9026,9 +9119,12 @@ gen_push (rtx arg) + static rtx + gen_pop (rtx arg) + { ++ if (REG_P (arg) && GET_MODE (arg) != word_mode) ++ arg = gen_rtx_REG (word_mode, REGNO (arg)); ++ + return gen_rtx_SET (VOIDmode, + arg, +- gen_rtx_MEM (Pmode, ++ gen_rtx_MEM (word_mode, + gen_rtx_POST_INC (Pmode, + stack_pointer_rtx))); + } +@@ -9528,7 +9624,7 @@ ix86_emit_save_regs (void) + for (regno = FIRST_PSEUDO_REGISTER - 1; regno-- > 0; ) + if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, true)) + { +- insn = emit_insn (gen_push (gen_rtx_REG (Pmode, regno))); ++ insn = emit_insn (gen_push (gen_rtx_REG (word_mode, regno))); + RTX_FRAME_RELATED_P (insn) = 1; + } + } +@@ -9608,7 +9704,7 @@ ix86_emit_save_regs_using_mov (HOST_WIDE_INT cfa_offset) + for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++) + if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, true)) + { +- ix86_emit_save_reg_using_mov (Pmode, regno, cfa_offset); ++ ix86_emit_save_reg_using_mov (word_mode, regno, cfa_offset); + cfa_offset -= UNITS_PER_WORD; + } + } +@@ -9682,7 +9778,7 @@ pro_epilogue_adjust_stack (rtx dest, rtx src, rtx offset, + rtx insn; + bool add_frame_related_expr = false; + +- if (! TARGET_64BIT) ++ if (! TARGET_LP64) + insn = gen_pro_epilogue_adjust_stack_si_add (dest, src, offset); + else if (x86_64_immediate_operand (offset, DImode)) + insn = gen_pro_epilogue_adjust_stack_di_add (dest, src, offset); +@@ -10489,7 +10585,7 @@ ix86_expand_prologue (void) + to implement macro RETURN_ADDR_RTX and intrinsic function + expand_builtin_return_addr etc. */ + t = plus_constant (crtl->drap_reg, -UNITS_PER_WORD); +- t = gen_frame_mem (Pmode, t); ++ t = gen_frame_mem (word_mode, t); + insn = emit_insn (gen_push (t)); + RTX_FRAME_RELATED_P (insn) = 1; + +@@ -10661,7 +10757,7 @@ ix86_expand_prologue (void) + emit_insn (ix86_gen_allocate_stack_worker (eax, eax)); + + /* Use the fact that AX still contains ALLOCATE. */ +- adjust_stack_insn = (TARGET_64BIT ++ adjust_stack_insn = (Pmode == DImode + ? gen_pro_epilogue_adjust_stack_di_sub + : gen_pro_epilogue_adjust_stack_si_sub); + +@@ -10686,14 +10782,18 @@ ix86_expand_prologue (void) + if (r10_live && eax_live) + { + t = choose_baseaddr (m->fs.sp_offset - allocate); +- emit_move_insn (r10, gen_frame_mem (Pmode, t)); ++ emit_move_insn (gen_rtx_REG (word_mode, R10_REG), ++ gen_frame_mem (word_mode, t)); + t = choose_baseaddr (m->fs.sp_offset - allocate - UNITS_PER_WORD); +- emit_move_insn (eax, gen_frame_mem (Pmode, t)); ++ emit_move_insn (gen_rtx_REG (word_mode, AX_REG), ++ gen_frame_mem (word_mode, t)); + } + else if (eax_live || r10_live) + { + t = choose_baseaddr (m->fs.sp_offset - allocate); +- emit_move_insn ((eax_live ? eax : r10), gen_frame_mem (Pmode, t)); ++ emit_move_insn (gen_rtx_REG (word_mode, ++ (eax_live ? AX_REG : R10_REG)), ++ gen_frame_mem (word_mode, t)); + } + } + gcc_assert (m->fs.sp_offset == frame.stack_pointer_offset); +@@ -10857,7 +10957,7 @@ ix86_emit_restore_regs_using_pop (void) + + for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++) + if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, false)) +- ix86_emit_restore_reg_using_pop (gen_rtx_REG (Pmode, regno)); ++ ix86_emit_restore_reg_using_pop (gen_rtx_REG (word_mode, regno)); + } + + /* Emit code and notes for the LEAVE instruction. */ +@@ -10900,11 +11000,11 @@ ix86_emit_restore_regs_using_mov (HOST_WIDE_INT cfa_offset, + for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++) + if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, maybe_eh_return)) + { +- rtx reg = gen_rtx_REG (Pmode, regno); ++ rtx reg = gen_rtx_REG (word_mode, regno); + rtx insn, mem; + + mem = choose_baseaddr (cfa_offset); +- mem = gen_frame_mem (Pmode, mem); ++ mem = gen_frame_mem (word_mode, mem); + insn = emit_move_insn (reg, mem); + + if (m->fs.cfa_reg == crtl->drap_reg && regno == REGNO (crtl->drap_reg)) +@@ -11486,8 +11586,8 @@ ix86_expand_split_stack_prologue (void) + { + rtx rax; + +- rax = gen_rtx_REG (Pmode, AX_REG); +- emit_move_insn (rax, reg10); ++ rax = gen_rtx_REG (word_mode, AX_REG); ++ emit_move_insn (rax, gen_rtx_REG (word_mode, R10_REG)); + use_reg (&call_fusage, rax); + } + +@@ -11566,8 +11666,8 @@ ix86_expand_split_stack_prologue (void) + /* If we are in 64-bit mode and this function uses a static chain, + we saved %r10 in %rax before calling _morestack. */ + if (TARGET_64BIT && DECL_STATIC_CHAIN (cfun->decl)) +- emit_move_insn (gen_rtx_REG (Pmode, R10_REG), +- gen_rtx_REG (Pmode, AX_REG)); ++ emit_move_insn (gen_rtx_REG (word_mode, R10_REG), ++ gen_rtx_REG (word_mode, AX_REG)); + + /* If this function calls va_start, we need to store a pointer to + the arguments on the old stack, because they may not have been +@@ -11760,6 +11860,11 @@ ix86_decompose_address (rtx addr, struct ix86_address *out) + else + disp = addr; /* displacement */ + ++ /* Since address override works only on the (reg) part in fs:(reg), ++ we can't use it as memory operand. */ ++ if (Pmode != word_mode && seg == SEG_FS && (base || index)) ++ return 0; ++ + /* Extract the integral value of scale. */ + if (scale_rtx) + { +@@ -12214,8 +12319,7 @@ ix86_legitimate_address_p (enum machine_mode mode ATTRIBUTE_UNUSED, + /* Base is not a register. */ + return false; + +- if (GET_MODE (base) != Pmode) +- /* Base is not in Pmode. */ ++ if (GET_MODE (base) != SImode && GET_MODE (base) != DImode) + return false; + + if ((strict && ! REG_OK_FOR_BASE_STRICT_P (reg)) +@@ -12243,8 +12347,7 @@ ix86_legitimate_address_p (enum machine_mode mode ATTRIBUTE_UNUSED, + /* Index is not a register. */ + return false; + +- if (GET_MODE (index) != Pmode) +- /* Index is not in Pmode. */ ++ if (GET_MODE (index) != SImode && GET_MODE (index) != DImode) + return false; + + if ((strict && ! REG_OK_FOR_INDEX_STRICT_P (reg)) +@@ -12686,7 +12789,10 @@ legitimize_tls_address (rtx x, enum tls_model model, int for_mov) + rtx rax = gen_rtx_REG (Pmode, AX_REG), insns; + + start_sequence (); +- emit_call_insn (gen_tls_global_dynamic_64 (rax, x)); ++ if (TARGET_X32) ++ emit_call_insn (gen_tls_global_dynamic_x32 (rax, x)); ++ else ++ emit_call_insn (gen_tls_global_dynamic_64 (rax, x)); + insns = get_insns (); + end_sequence (); + +@@ -12715,7 +12821,10 @@ legitimize_tls_address (rtx x, enum tls_model model, int for_mov) + rtx rax = gen_rtx_REG (Pmode, AX_REG), insns, note; + + start_sequence (); +- emit_call_insn (gen_tls_local_dynamic_base_64 (rax)); ++ if (TARGET_X32) ++ emit_call_insn (gen_tls_local_dynamic_base_x32 (rax)); ++ else ++ emit_call_insn (gen_tls_local_dynamic_base_64 (rax)); + insns = get_insns (); + end_sequence (); + +@@ -12797,8 +12906,19 @@ legitimize_tls_address (rtx x, enum tls_model model, int for_mov) + if (TARGET_64BIT || TARGET_ANY_GNU_TLS) + { + base = get_thread_pointer (for_mov || !TARGET_TLS_DIRECT_SEG_REFS); +- off = force_reg (Pmode, off); +- return gen_rtx_PLUS (Pmode, base, off); ++ if (Pmode != word_mode) ++ { ++ /* Since address override works only on the (reg) part in ++ fs:(reg), we can't use it as memory operand. */ ++ rtx reg = gen_reg_rtx (Pmode); ++ emit_move_insn (reg, base); ++ return gen_rtx_PLUS (Pmode, reg, off); ++ } ++ else ++ { ++ off = force_reg (Pmode, off); ++ return gen_rtx_PLUS (Pmode, base, off); ++ } + } + else + { +@@ -12817,7 +12937,16 @@ legitimize_tls_address (rtx x, enum tls_model model, int for_mov) + if (TARGET_64BIT || TARGET_ANY_GNU_TLS) + { + base = get_thread_pointer (for_mov || !TARGET_TLS_DIRECT_SEG_REFS); +- return gen_rtx_PLUS (Pmode, base, off); ++ if (Pmode != word_mode) ++ { ++ /* Since address override works only on the (reg) part in ++ fs:(reg), we can't use it as memory operand. */ ++ rtx reg = gen_reg_rtx (Pmode); ++ emit_move_insn (reg, base); ++ return gen_rtx_PLUS (Pmode, reg, off); ++ } ++ else ++ return gen_rtx_PLUS (Pmode, base, off); + } + else + { +@@ -13922,7 +14051,8 @@ ix86_print_operand (FILE *file, rtx x, int code) + gcc_unreachable (); + } + +- ix86_print_operand (file, x, 0); ++ ix86_print_operand (file, x, ++ TARGET_64BIT && REG_P (x) ? 'q' : 0); + return; + + +@@ -14515,6 +14645,20 @@ ix86_print_operand_address (FILE *file, rtx addr) + + gcc_assert (ok); + ++ if (parts.base && GET_CODE (parts.base) == SUBREG) ++ { ++ rtx tmp = SUBREG_REG (parts.base); ++ parts.base = simplify_subreg (GET_MODE (parts.base), ++ tmp, GET_MODE (tmp), 0); ++ } ++ ++ if (parts.index && GET_CODE (parts.index) == SUBREG) ++ { ++ rtx tmp = SUBREG_REG (parts.index); ++ parts.index = simplify_subreg (GET_MODE (parts.index), ++ tmp, GET_MODE (tmp), 0); ++ } ++ + base = parts.base; + index = parts.index; + disp = parts.disp; +@@ -14719,6 +14863,29 @@ i386_asm_output_addr_const_extra (FILE *file, rtx x) + + return true; + } ++ ++/* Since x64-64 linker IE->LE transition requires a REX prefix, we ++ output a REX prefix if there isn't one. */ ++ ++bool ++ix86_output_rex_prefix_p (rtx dest, rtx op) ++{ ++ if (!TARGET_X32 ++ || GET_MODE (dest) != SImode ++ || REX_INT_REG_P (dest) ++ || !MEM_P (op)) ++ return false; ++ ++ op = XEXP (op, 0); ++ if (GET_CODE (op) != CONST) ++ return false; ++ ++ op = XEXP (op, 0); ++ if (GET_CODE (op) != UNSPEC) ++ return false; ++ ++ return XINT (op, 1) == UNSPEC_GOTNTPOFF; ++} + + /* Split one or more double-mode RTL references into pairs of half-mode + references. The RTL can be REG, offsettable MEM, integer constant, or +@@ -15343,7 +15510,7 @@ ix86_output_addr_vec_elt (FILE *file, int value) + const char *directive = ASM_LONG; + + #ifdef ASM_QUAD +- if (TARGET_64BIT) ++ if (TARGET_LP64) + directive = ASM_QUAD; + #else + gcc_assert (!TARGET_64BIT); +@@ -19329,7 +19496,7 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) + gcc_assert (ok); + + operand = copy_rtx (operand); +- PUT_MODE (operand, Pmode); ++ PUT_MODE (operand, word_mode); + parts[0] = parts[1] = parts[2] = parts[3] = operand; + return size; + } +@@ -19482,7 +19649,7 @@ ix86_split_long_move (rtx operands[]) + if (push_operand (operands[0], VOIDmode)) + { + operands[0] = copy_rtx (operands[0]); +- PUT_MODE (operands[0], Pmode); ++ PUT_MODE (operands[0], word_mode); + } + else + operands[0] = gen_lowpart (DImode, operands[0]); +@@ -20043,7 +20210,11 @@ ix86_zero_extend_to_Pmode (rtx exp) + if (GET_MODE (exp) == Pmode) + return copy_to_mode_reg (Pmode, exp); + r = gen_reg_rtx (Pmode); +- emit_insn (gen_zero_extendsidi2 (r, exp)); ++ if (Pmode == DImode) ++ emit_insn (gen_zero_extendsidi2 (r, exp)); ++ else ++ emit_move_insn (r, ++ simplify_gen_subreg (Pmode, exp, GET_MODE (exp), 0)); + return r; + } + +@@ -21070,11 +21241,11 @@ ix86_expand_movmem (rtx dst, rtx src, rtx count_exp, rtx align_exp, + gcc_unreachable (); + case loop: + need_zero_guard = true; +- size_needed = GET_MODE_SIZE (Pmode); ++ size_needed = GET_MODE_SIZE (word_mode); + break; + case unrolled_loop: + need_zero_guard = true; +- size_needed = GET_MODE_SIZE (Pmode) * (TARGET_64BIT ? 4 : 2); ++ size_needed = GET_MODE_SIZE (word_mode) * (TARGET_64BIT ? 4 : 2); + break; + case rep_prefix_8_byte: + size_needed = 8; +@@ -21240,13 +21411,13 @@ ix86_expand_movmem (rtx dst, rtx src, rtx count_exp, rtx align_exp, + break; + case loop: + expand_set_or_movmem_via_loop (dst, src, destreg, srcreg, NULL, +- count_exp, Pmode, 1, expected_size); ++ count_exp, word_mode, 1, expected_size); + break; + case unrolled_loop: + /* Unroll only by factor of 2 in 32bit mode, since we don't have enough + registers for 4 temporaries anyway. */ + expand_set_or_movmem_via_loop (dst, src, destreg, srcreg, NULL, +- count_exp, Pmode, TARGET_64BIT ? 4 : 2, ++ count_exp, word_mode, TARGET_64BIT ? 4 : 2, + expected_size); + break; + case rep_prefix_8_byte: +@@ -21458,11 +21629,11 @@ ix86_expand_setmem (rtx dst, rtx count_exp, rtx val_exp, rtx align_exp, + gcc_unreachable (); + case loop: + need_zero_guard = true; +- size_needed = GET_MODE_SIZE (Pmode); ++ size_needed = GET_MODE_SIZE (word_mode); + break; + case unrolled_loop: + need_zero_guard = true; +- size_needed = GET_MODE_SIZE (Pmode) * 4; ++ size_needed = GET_MODE_SIZE (word_mode) * 4; + break; + case rep_prefix_8_byte: + size_needed = 8; +@@ -21633,11 +21804,11 @@ ix86_expand_setmem (rtx dst, rtx count_exp, rtx val_exp, rtx align_exp, + break; + case loop: + expand_set_or_movmem_via_loop (dst, NULL, destreg, NULL, promoted_val, +- count_exp, Pmode, 1, expected_size); ++ count_exp, word_mode, 1, expected_size); + break; + case unrolled_loop: + expand_set_or_movmem_via_loop (dst, NULL, destreg, NULL, promoted_val, +- count_exp, Pmode, 4, expected_size); ++ count_exp, word_mode, 4, expected_size); + break; + case rep_prefix_8_byte: + expand_setmem_via_rep_stos (dst, destreg, promoted_val, count_exp, +@@ -23381,14 +23552,18 @@ ix86_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) + else + { + int offset = 0; ++ int opcode, size; + + /* Load the function address to r11. Try to load address using + the shorter movl instead of movabs. We may want to support + movq for kernel mode, but kernel does not use trampolines at +- the moment. */ +- if (x86_64_zext_immediate_operand (fnaddr, VOIDmode)) ++ the moment. FNADDR is a 32bit address and may not be in ++ DImode when ptr_mode == SImode. Always use movl in this ++ case. */ ++ if (ptr_mode == SImode ++ || x86_64_zext_immediate_operand (fnaddr, VOIDmode)) + { +- fnaddr = copy_to_mode_reg (DImode, fnaddr); ++ fnaddr = copy_to_mode_reg (Pmode, fnaddr); + + mem = adjust_address (m_tramp, HImode, offset); + emit_move_insn (mem, gen_int_mode (0xbb41, HImode)); +@@ -23407,13 +23582,25 @@ ix86_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) + offset += 10; + } + +- /* Load static chain using movabs to r10. */ ++ /* Load static chain using movabs to r10. Use the shorter movl ++ instead of movabs when ptr_mode == SImode. */ ++ if (ptr_mode == SImode) ++ { ++ opcode = 0xba41; ++ size = 6; ++ } ++ else ++ { ++ opcode = 0xba49; ++ size = 10; ++ } ++ + mem = adjust_address (m_tramp, HImode, offset); +- emit_move_insn (mem, gen_int_mode (0xba49, HImode)); ++ emit_move_insn (mem, gen_int_mode (opcode, HImode)); + +- mem = adjust_address (m_tramp, DImode, offset + 2); ++ mem = adjust_address (m_tramp, ptr_mode, offset + 2); + emit_move_insn (mem, chain_value); +- offset += 10; ++ offset += size; + + /* Jump to r11; the last (unused) byte is a nop, only there to + pad the write out to a single 32-bit store. */ +@@ -25953,7 +26140,7 @@ ix86_init_builtins (void) + + ix86_init_mmx_sse_builtins (); + +- if (TARGET_64BIT) ++ if (TARGET_LP64) + ix86_init_builtins_va_builtins_abi (); + + #ifdef SUBTARGET_INIT_BUILTINS +@@ -29607,7 +29794,7 @@ ix86_handle_abi_attribute (tree *node, tree name, + *no_add_attrs = true; + return NULL_TREE; + } +- if (!TARGET_64BIT) ++ if (!TARGET_LP64) + { + warning (OPT_Wattributes, "%qE attribute only available for 64-bit", + name); +@@ -29715,7 +29902,7 @@ x86_this_parameter (tree function) + parm_regs = x86_64_ms_abi_int_parameter_registers; + else + parm_regs = x86_64_int_parameter_registers; +- return gen_rtx_REG (DImode, parm_regs[aggr]); ++ return gen_rtx_REG (Pmode, parm_regs[aggr]); + } + + nregs = ix86_function_regparm (type, function); +@@ -29816,18 +30003,18 @@ x86_output_mi_thunk (FILE *file, + xops[1] = this_reg ? this_reg : this_param; + if (TARGET_64BIT) + { +- if (!x86_64_general_operand (xops[0], DImode)) ++ if (!x86_64_general_operand (xops[0], Pmode)) + { +- tmp = gen_rtx_REG (DImode, R10_REG); ++ tmp = gen_rtx_REG (Pmode, R10_REG); + xops[1] = tmp; +- output_asm_insn ("mov{q}\t{%1, %0|%0, %1}", xops); ++ output_asm_insn ("mov%z1\t{%1, %0|%0, %1}", xops); + xops[0] = tmp; + xops[1] = this_param; + } +- if (x86_maybe_negate_const_int (&xops[0], DImode)) +- output_asm_insn ("sub{q}\t{%0, %1|%1, %0}", xops); ++ if (x86_maybe_negate_const_int (&xops[0], Pmode)) ++ output_asm_insn ("sub%z1\t{%0, %1|%1, %0}", xops); + else +- output_asm_insn ("add{q}\t{%0, %1|%1, %0}", xops); ++ output_asm_insn ("add%z1\t{%0, %1|%1, %0}", xops); + } + else if (x86_maybe_negate_const_int (&xops[0], SImode)) + output_asm_insn ("sub{l}\t{%0, %1|%1, %0}", xops); +@@ -29839,7 +30026,7 @@ x86_output_mi_thunk (FILE *file, + if (vcall_offset) + { + if (TARGET_64BIT) +- tmp = gen_rtx_REG (DImode, R10_REG); ++ tmp = gen_rtx_REG (Pmode, R10_REG); + else + { + int tmp_regno = CX_REG; +@@ -29859,10 +30046,10 @@ x86_output_mi_thunk (FILE *file, + xops[0] = gen_rtx_MEM (Pmode, plus_constant (tmp, vcall_offset)); + if (TARGET_64BIT && !memory_operand (xops[0], Pmode)) + { +- rtx tmp2 = gen_rtx_REG (DImode, R11_REG); ++ rtx tmp2 = gen_rtx_REG (Pmode, R11_REG); + xops[0] = GEN_INT (vcall_offset); + xops[1] = tmp2; +- output_asm_insn ("mov{q}\t{%0, %1|%1, %0}", xops); ++ output_asm_insn ("mov%z1\t{%0, %1|%1, %0}", xops); + xops[0] = gen_rtx_MEM (Pmode, gen_rtx_PLUS (Pmode, tmp, tmp2)); + } + xops[1] = this_reg; +@@ -35219,6 +35406,9 @@ ix86_autovectorize_vector_sizes (void) + #undef TARGET_FUNCTION_VALUE_REGNO_P + #define TARGET_FUNCTION_VALUE_REGNO_P ix86_function_value_regno_p + ++#undef TARGET_PROMOTE_FUNCTION_MODE ++#define TARGET_PROMOTE_FUNCTION_MODE ix86_promote_function_mode ++ + #undef TARGET_SECONDARY_RELOAD + #define TARGET_SECONDARY_RELOAD ix86_secondary_reload + +diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h +index dcb3f29..1edec62 100644 +--- a/gcc/config/i386/i386.h ++++ b/gcc/config/i386/i386.h +@@ -41,7 +41,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + /* Redefines for option macros. */ + ++#define TARGET_X86_64 OPTION_ISA_X86_64 + #define TARGET_64BIT OPTION_ISA_64BIT ++#define TARGET_X32 OPTION_ISA_X32 + #define TARGET_MMX OPTION_ISA_MMX + #define TARGET_3DNOW OPTION_ISA_3DNOW + #define TARGET_3DNOW_A OPTION_ISA_3DNOW_A +@@ -72,6 +74,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #define TARGET_RDRND OPTION_ISA_RDRND + #define TARGET_F16C OPTION_ISA_F16C + ++#define TARGET_LP64 TARGET_X86_64 + + /* SSE4.1 defines round instructions */ + #define OPTION_MASK_ISA_ROUND OPTION_MASK_ISA_SSE4_1 +@@ -535,8 +538,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); + #define OPT_ARCH64 "!m32" + #define OPT_ARCH32 "m32" + #else +-#define OPT_ARCH64 "m64" +-#define OPT_ARCH32 "!m64" ++#define OPT_ARCH64 "m64|mx32" ++#define OPT_ARCH32 "m64|mx32:;" + #endif + + /* Support for configure-time defaults of some command line options. +@@ -656,6 +659,8 @@ enum target_cpu_default + + #define SHORT_TYPE_SIZE 16 + #define INT_TYPE_SIZE 32 ++#define LONG_TYPE_SIZE (TARGET_X32 ? 32 : BITS_PER_WORD) ++#define POINTER_SIZE (TARGET_X32 ? 32 : BITS_PER_WORD) + #define LONG_LONG_TYPE_SIZE 64 + #define FLOAT_TYPE_SIZE 32 + #define DOUBLE_TYPE_SIZE 64 +@@ -1725,7 +1730,7 @@ typedef struct ix86_args { + /* Specify the machine mode that this machine uses + for the index in the tablejump instruction. */ + #define CASE_VECTOR_MODE \ +- (!TARGET_64BIT || (flag_pic && ix86_cmodel != CM_LARGE_PIC) ? SImode : DImode) ++ (!TARGET_LP64 || (flag_pic && ix86_cmodel != CM_LARGE_PIC) ? SImode : DImode) + + /* Define this as 1 if `char' should by default be signed; else as 0. */ + #define DEFAULT_SIGNED_CHAR 1 +@@ -1783,7 +1788,14 @@ do { \ + /* Specify the machine mode that pointers have. + After generation of rtl, the compiler makes no further distinction + between pointers and any other objects of this machine mode. */ +-#define Pmode (TARGET_64BIT ? DImode : SImode) ++#define Pmode (TARGET_LP64 ? DImode : SImode) ++ ++/* A C expression whose value is zero if pointers that need to be extended ++ from being `POINTER_SIZE' bits wide to `Pmode' are sign-extended and ++ greater then zero if they are zero-extended and less then zero if the ++ ptr_extend instruction should be used. */ ++ ++#define POINTERS_EXTEND_UNSIGNED 1 + + /* A function address in a call instruction + is a byte address (for indexing purposes) +diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md +index f25a97b..2b188c9 100644 +--- a/gcc/config/i386/i386.md ++++ b/gcc/config/i386/i386.md +@@ -839,13 +839,13 @@ + (define_mode_attr r [(QI "q") (HI "r") (SI "r") (DI "r")]) + + ;; Immediate operand constraint for integer modes. +-(define_mode_attr i [(QI "n") (HI "n") (SI "i") (DI "e")]) ++(define_mode_attr i [(QI "n") (HI "n") (SI "e") (DI "e")]) + + ;; General operand constraint for word modes. +-(define_mode_attr g [(QI "qmn") (HI "rmn") (SI "g") (DI "rme")]) ++(define_mode_attr g [(QI "qmn") (HI "rmn") (SI "rme") (DI "rme")]) + + ;; Immediate operand constraint for double integer modes. +-(define_mode_attr di [(SI "iF") (DI "e")]) ++(define_mode_attr di [(SI "nF") (DI "e")]) + + ;; Immediate operand constraint for shifts. + (define_mode_attr S [(QI "I") (HI "I") (SI "I") (DI "J") (TI "O")]) +@@ -854,7 +854,7 @@ + (define_mode_attr general_operand + [(QI "general_operand") + (HI "general_operand") +- (SI "general_operand") ++ (SI "x86_64_general_operand") + (DI "x86_64_general_operand") + (TI "x86_64_general_operand")]) + +@@ -862,21 +862,21 @@ + (define_mode_attr general_szext_operand + [(QI "general_operand") + (HI "general_operand") +- (SI "general_operand") ++ (SI "x86_64_szext_general_operand") + (DI "x86_64_szext_general_operand")]) + + ;; Immediate operand predicate for integer modes. + (define_mode_attr immediate_operand + [(QI "immediate_operand") + (HI "immediate_operand") +- (SI "immediate_operand") ++ (SI "x86_64_immediate_operand") + (DI "x86_64_immediate_operand")]) + + ;; Nonmemory operand predicate for integer modes. + (define_mode_attr nonmemory_operand + [(QI "nonmemory_operand") + (HI "nonmemory_operand") +- (SI "nonmemory_operand") ++ (SI "x86_64_nonmemory_operand") + (DI "x86_64_nonmemory_operand")]) + + ;; Operand predicate for shifts. +@@ -930,6 +930,14 @@ + ;; This mode iterator allows :P to be used for patterns that operate on + ;; pointer-sized quantities. Exactly one of the two alternatives will match. + (define_mode_iterator P [(SI "Pmode == SImode") (DI "Pmode == DImode")]) ++ ++;; This mode iterator allows :W to be used for patterns that operate on ++;; word_mode sized quantities. ++(define_mode_iterator W ++ [(SI "word_mode == SImode") (DI "word_mode == DImode")]) ++ ++;; Used in x84_64 pattern name to mark x32. ++(define_mode_attr x86_64_mode [(SI "x32") (DI "64")]) + + ;; Scheduling descriptions + +@@ -1730,8 +1738,8 @@ + (set_attr "mode" "SI")]) + + (define_insn "*push<mode>2_prologue" +- [(set (match_operand:P 0 "push_operand" "=<") +- (match_operand:P 1 "general_no_elim_operand" "r<i>*m")) ++ [(set (match_operand:W 0 "push_operand" "=<") ++ (match_operand:W 1 "general_no_elim_operand" "r<i>*m")) + (clobber (mem:BLK (scratch)))] + "" + "push{<imodesuffix>}\t%1" +@@ -1739,16 +1747,16 @@ + (set_attr "mode" "<MODE>")]) + + (define_insn "*pop<mode>1" +- [(set (match_operand:P 0 "nonimmediate_operand" "=r*m") +- (match_operand:P 1 "pop_operand" ">"))] ++ [(set (match_operand:W 0 "nonimmediate_operand" "=r*m") ++ (match_operand:W 1 "pop_operand" ">"))] + "" + "pop{<imodesuffix>}\t%0" + [(set_attr "type" "pop") + (set_attr "mode" "<MODE>")]) + + (define_insn "*pop<mode>1_epilogue" +- [(set (match_operand:P 0 "nonimmediate_operand" "=r*m") +- (match_operand:P 1 "pop_operand" ">")) ++ [(set (match_operand:W 0 "nonimmediate_operand" "=r*m") ++ (match_operand:W 1 "pop_operand" ">")) + (clobber (mem:BLK (scratch)))] + "" + "pop{<imodesuffix>}\t%0" +@@ -2022,7 +2030,7 @@ + (const_string "ssecvt") + (eq_attr "alternative" "4") + (const_string "multi") +- (match_operand:DI 1 "pic_32bit_operand" "") ++ (match_operand 1 "pic_32bit_operand" "") + (const_string "lea") + ] + (const_string "imov"))) +@@ -2119,7 +2127,7 @@ + [(set (match_operand:SI 0 "nonimmediate_operand" + "=r,m ,*y,*y,?rm,?*y,*x,*x,?r ,m ,?*Yi,*x") + (match_operand:SI 1 "general_operand" +- "g ,ri,C ,*y,*y ,rm ,C ,*x,*Yi,*x,r ,m "))] ++ "g ,re,C ,*y,*y ,rm ,C ,*x,*Yi,*x,r ,m "))] + "!(MEM_P (operands[0]) && MEM_P (operands[1]))" + { + switch (get_attr_type (insn)) +@@ -2157,7 +2165,11 @@ + + default: + gcc_assert (!flag_pic || LEGITIMATE_PIC_OPERAND_P (operands[1])); +- return "mov{l}\t{%1, %0|%0, %1}"; ++ /* Output REX prefix if needed. */ ++ if (ix86_output_rex_prefix_p (operands[0], operands[1])) ++ return "rex mov{l}\t{%1, %0|%0, %1}"; ++ else ++ return "mov{l}\t{%1, %0|%0, %1}"; + } + } + [(set (attr "type") +@@ -2169,7 +2181,7 @@ + (const_string "sselog1") + (eq_attr "alternative" "7,8,9,10,11") + (const_string "ssemov") +- (match_operand:DI 1 "pic_32bit_operand" "") ++ (match_operand 1 "pic_32bit_operand" "") + (const_string "lea") + ] + (const_string "imov"))) +@@ -3658,6 +3670,17 @@ + (set_attr "prefix_0f" "0,*,*,*,*,*") + (set_attr "mode" "SI,DI,DI,DI,TI,TI")]) + ++(define_insn "*zero_extendsidi2_x32" ++ [(set (match_operand:DI 0 "register_operand" "=r") ++ (zero_extend:DI ++ (match_operand:SI 1 "x86_64_symbolic_immediate_operand" "")))] ++ "TARGET_X32" ++ "mov\t{%1, %k0|%k0, %1}" ++ [(set_attr "type" "imovx") ++ (set_attr "prefix" "orig") ++ (set_attr "prefix_0f" "0") ++ (set_attr "mode" "SI")]) ++ + (define_split + [(set (match_operand:DI 0 "memory_operand" "") + (zero_extend:DI (match_dup 0)))] +@@ -5686,9 +5709,9 @@ + [(set_attr "type" "alu") + (set_attr "mode" "QI")]) + +-(define_insn "*lea_1" +- [(set (match_operand:P 0 "register_operand" "=r") +- (match_operand:P 1 "no_seg_address_operand" "p"))] ++(define_insn "*lea<mode>_1" ++ [(set (match_operand:SWI48 0 "register_operand" "=r") ++ (match_operand:SWI48 1 "no_seg_address_operand" "p"))] + "" + "lea{<imodesuffix>}\t{%a1, %0|%0, %a1}" + [(set_attr "type" "lea") +@@ -5711,11 +5734,20 @@ + [(set_attr "type" "lea") + (set_attr "mode" "SI")]) + ++(define_insn "*lea_3_zext" ++ [(set (match_operand:DI 0 "register_operand" "=r") ++ (zero_extend:DI ++ (match_operand:SI 1 "no_seg_address_operand" "p")))] ++ "TARGET_64BIT" ++ "lea{l}\t{%a1, %k0|%k0, %a1}" ++ [(set_attr "type" "lea") ++ (set_attr "mode" "SI")]) ++ + (define_insn "*add<mode>_1" + [(set (match_operand:SWI48 0 "nonimmediate_operand" "=r,rm,r,r") + (plus:SWI48 + (match_operand:SWI48 1 "nonimmediate_operand" "%0,0,r,r") +- (match_operand:SWI48 2 "<general_operand>" "<g>,r<i>,0,l<i>"))) ++ (match_operand:SWI48 2 "x86_64_general_operand" "rme,re,0,le"))) + (clobber (reg:CC FLAGS_REG))] + "ix86_binary_operator_ok (PLUS, <MODE>mode, operands)" + { +@@ -5747,7 +5779,11 @@ + if (x86_maybe_negate_const_int (&operands[2], <MODE>mode)) + return "sub{<imodesuffix>}\t{%2, %0|%0, %2}"; + +- return "add{<imodesuffix>}\t{%2, %0|%0, %2}"; ++ /* Output REX prefix if needed. */ ++ if (ix86_output_rex_prefix_p (operands[0], operands[2])) ++ return "rex add{<imodesuffix>}\t{%2, %0|%0, %2}"; ++ else ++ return "add{<imodesuffix>}\t{%2, %0|%0, %2}"; + } + } + [(set (attr "type") +@@ -5774,7 +5810,7 @@ + [(set (match_operand:DI 0 "register_operand" "=r,r,r") + (zero_extend:DI + (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,r,r") +- (match_operand:SI 2 "general_operand" "g,0,li")))) ++ (match_operand:SI 2 "x86_64_general_operand" "rme,0,le")))) + (clobber (reg:CC FLAGS_REG))] + "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)" + { +@@ -6056,60 +6092,40 @@ + (const_string "none"))) + (set_attr "mode" "QI")]) + +-;; Convert lea to the lea pattern to avoid flags dependency. ++;; Convert add to the lea pattern to avoid flags dependency. + (define_split +- [(set (match_operand 0 "register_operand" "") +- (plus (match_operand 1 "register_operand" "") +- (match_operand 2 "nonmemory_operand" ""))) ++ [(set (match_operand:SWI 0 "register_operand" "") ++ (plus:SWI (match_operand:SWI 1 "register_operand" "") ++ (match_operand:SWI 2 "<nonmemory_operand>" ""))) + (clobber (reg:CC FLAGS_REG))] + "reload_completed && ix86_lea_for_add_ok (insn, operands)" + [(const_int 0)] + { + rtx pat; +- enum machine_mode mode = GET_MODE (operands[0]); ++ enum machine_mode mode = <MODE>mode; + +- /* In -fPIC mode the constructs like (const (unspec [symbol_ref])) +- may confuse gen_lowpart. */ +- if (mode != Pmode) ++ if (GET_MODE_SIZE (mode) < GET_MODE_SIZE (SImode)) + { +- operands[1] = gen_lowpart (Pmode, operands[1]); +- operands[2] = gen_lowpart (Pmode, operands[2]); ++ mode = SImode; ++ operands[0] = gen_lowpart (mode, operands[0]); ++ operands[1] = gen_lowpart (mode, operands[1]); ++ operands[2] = gen_lowpart (mode, operands[2]); + } + +- pat = gen_rtx_PLUS (Pmode, operands[1], operands[2]); +- +- if (GET_MODE_SIZE (mode) < GET_MODE_SIZE (SImode)) +- operands[0] = gen_lowpart (SImode, operands[0]); +- +- if (TARGET_64BIT && mode != Pmode) +- pat = gen_rtx_SUBREG (SImode, pat, 0); ++ pat = gen_rtx_PLUS (mode, operands[1], operands[2]); + + emit_insn (gen_rtx_SET (VOIDmode, operands[0], pat)); + DONE; + }) + +-;; Convert lea to the lea pattern to avoid flags dependency. +-;; ??? This pattern handles immediate operands that do not satisfy immediate +-;; operand predicate (LEGITIMATE_CONSTANT_P) in the previous pattern. +-(define_split +- [(set (match_operand:DI 0 "register_operand" "") +- (plus:DI (match_operand:DI 1 "register_operand" "") +- (match_operand:DI 2 "x86_64_immediate_operand" ""))) +- (clobber (reg:CC FLAGS_REG))] +- "TARGET_64BIT && reload_completed +- && true_regnum (operands[0]) != true_regnum (operands[1])" +- [(set (match_dup 0) +- (plus:DI (match_dup 1) (match_dup 2)))]) +- +-;; Convert lea to the lea pattern to avoid flags dependency. ++;; Convert add to the lea pattern to avoid flags dependency. + (define_split + [(set (match_operand:DI 0 "register_operand" "") + (zero_extend:DI + (plus:SI (match_operand:SI 1 "register_operand" "") +- (match_operand:SI 2 "nonmemory_operand" "")))) ++ (match_operand:SI 2 "x86_64_nonmemory_operand" "")))) + (clobber (reg:CC FLAGS_REG))] +- "TARGET_64BIT && reload_completed +- && ix86_lea_for_add_ok (insn, operands)" ++ "TARGET_64BIT && reload_completed && ix86_lea_for_add_ok (insn, operands)" + [(set (match_dup 0) + (zero_extend:DI (subreg:SI (plus:DI (match_dup 1) (match_dup 2)) 0)))] + { +@@ -6163,7 +6179,7 @@ + [(set (reg FLAGS_REG) + (compare + (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0") +- (match_operand:SI 2 "general_operand" "g")) ++ (match_operand:SI 2 "x86_64_general_operand" "rme")) + (const_int 0))) + (set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI (plus:SI (match_dup 1) (match_dup 2))))] +@@ -6241,7 +6257,7 @@ + (define_insn "*addsi_3_zext" + [(set (reg FLAGS_REG) + (compare +- (neg:SI (match_operand:SI 2 "general_operand" "g")) ++ (neg:SI (match_operand:SI 2 "x86_64_general_operand" "rme")) + (match_operand:SI 1 "nonimmediate_operand" "%0"))) + (set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI (plus:SI (match_dup 1) (match_dup 2))))] +@@ -6504,7 +6520,7 @@ + (match_operand 2 "register_operand" "r")) + (match_operand 3 "immediate_operand" "i")))] + "(GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode +- || (TARGET_64BIT && GET_MODE (operands[0]) == SImode)) ++ || (TARGET_LP64 && GET_MODE (operands[0]) == SImode)) + && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) + && GET_MODE (operands[0]) == GET_MODE (operands[1]) + && GET_MODE (operands[0]) == GET_MODE (operands[2]) +@@ -6529,35 +6545,13 @@ + [(set_attr "type" "lea") + (set_attr "mode" "SI")]) + +-(define_insn_and_split "*lea_general_1_zext" +- [(set (match_operand:DI 0 "register_operand" "=r") +- (zero_extend:DI +- (plus:SI (plus:SI +- (match_operand:SI 1 "index_register_operand" "l") +- (match_operand:SI 2 "register_operand" "r")) +- (match_operand:SI 3 "immediate_operand" "i"))))] +- "TARGET_64BIT" +- "#" +- "&& reload_completed" +- [(set (match_dup 0) +- (zero_extend:DI (subreg:SI (plus:DI (plus:DI (match_dup 1) +- (match_dup 2)) +- (match_dup 3)) 0)))] +-{ +- operands[1] = gen_lowpart (Pmode, operands[1]); +- operands[2] = gen_lowpart (Pmode, operands[2]); +- operands[3] = gen_lowpart (Pmode, operands[3]); +-} +- [(set_attr "type" "lea") +- (set_attr "mode" "SI")]) +- + (define_insn_and_split "*lea_general_2" + [(set (match_operand 0 "register_operand" "=r") + (plus (mult (match_operand 1 "index_register_operand" "l") +- (match_operand 2 "const248_operand" "i")) ++ (match_operand 2 "const248_operand" "n")) + (match_operand 3 "nonmemory_operand" "ri")))] + "(GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode +- || (TARGET_64BIT && GET_MODE (operands[0]) == SImode)) ++ || (TARGET_LP64 && GET_MODE (operands[0]) == SImode)) + && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) + && GET_MODE (operands[0]) == GET_MODE (operands[1]) + && (GET_MODE (operands[0]) == GET_MODE (operands[3]) +@@ -6580,35 +6574,14 @@ + [(set_attr "type" "lea") + (set_attr "mode" "SI")]) + +-(define_insn_and_split "*lea_general_2_zext" +- [(set (match_operand:DI 0 "register_operand" "=r") +- (zero_extend:DI +- (plus:SI (mult:SI +- (match_operand:SI 1 "index_register_operand" "l") +- (match_operand:SI 2 "const248_operand" "n")) +- (match_operand:SI 3 "nonmemory_operand" "ri"))))] +- "TARGET_64BIT" +- "#" +- "&& reload_completed" +- [(set (match_dup 0) +- (zero_extend:DI (subreg:SI (plus:DI (mult:DI (match_dup 1) +- (match_dup 2)) +- (match_dup 3)) 0)))] +-{ +- operands[1] = gen_lowpart (Pmode, operands[1]); +- operands[3] = gen_lowpart (Pmode, operands[3]); +-} +- [(set_attr "type" "lea") +- (set_attr "mode" "SI")]) +- + (define_insn_and_split "*lea_general_3" + [(set (match_operand 0 "register_operand" "=r") + (plus (plus (mult (match_operand 1 "index_register_operand" "l") +- (match_operand 2 "const248_operand" "i")) ++ (match_operand 2 "const248_operand" "n")) + (match_operand 3 "register_operand" "r")) + (match_operand 4 "immediate_operand" "i")))] + "(GET_MODE (operands[0]) == QImode || GET_MODE (operands[0]) == HImode +- || (TARGET_64BIT && GET_MODE (operands[0]) == SImode)) ++ || (TARGET_LP64 && GET_MODE (operands[0]) == SImode)) + && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) + && GET_MODE (operands[0]) == GET_MODE (operands[1]) + && GET_MODE (operands[0]) == GET_MODE (operands[3])" +@@ -6633,31 +6606,6 @@ + } + [(set_attr "type" "lea") + (set_attr "mode" "SI")]) +- +-(define_insn_and_split "*lea_general_3_zext" +- [(set (match_operand:DI 0 "register_operand" "=r") +- (zero_extend:DI +- (plus:SI (plus:SI +- (mult:SI +- (match_operand:SI 1 "index_register_operand" "l") +- (match_operand:SI 2 "const248_operand" "n")) +- (match_operand:SI 3 "register_operand" "r")) +- (match_operand:SI 4 "immediate_operand" "i"))))] +- "TARGET_64BIT" +- "#" +- "&& reload_completed" +- [(set (match_dup 0) +- (zero_extend:DI (subreg:SI (plus:DI (plus:DI (mult:DI (match_dup 1) +- (match_dup 2)) +- (match_dup 3)) +- (match_dup 4)) 0)))] +-{ +- operands[1] = gen_lowpart (Pmode, operands[1]); +- operands[3] = gen_lowpart (Pmode, operands[3]); +- operands[4] = gen_lowpart (Pmode, operands[4]); +-} +- [(set_attr "type" "lea") +- (set_attr "mode" "SI")]) + + ;; Subtract instructions + +@@ -6705,7 +6653,7 @@ + [(set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI + (minus:SI (match_operand:SI 1 "register_operand" "0") +- (match_operand:SI 2 "general_operand" "g")))) ++ (match_operand:SI 2 "x86_64_general_operand" "rme")))) + (clobber (reg:CC FLAGS_REG))] + "TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)" + "sub{l}\t{%2, %k0|%k0, %2}" +@@ -6742,7 +6690,7 @@ + [(set (reg FLAGS_REG) + (compare + (minus:SI (match_operand:SI 1 "register_operand" "0") +- (match_operand:SI 2 "general_operand" "g")) ++ (match_operand:SI 2 "x86_64_general_operand" "rme")) + (const_int 0))) + (set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI +@@ -6769,7 +6717,7 @@ + (define_insn "*subsi_3_zext" + [(set (reg FLAGS_REG) + (compare (match_operand:SI 1 "register_operand" "0") +- (match_operand:SI 2 "general_operand" "g"))) ++ (match_operand:SI 2 "x86_64_general_operand" "rme"))) + (set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI + (minus:SI (match_dup 1) +@@ -6816,7 +6764,7 @@ + (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0") + (plus:SI (match_operator 3 "ix86_carry_flag_operator" + [(reg FLAGS_REG) (const_int 0)]) +- (match_operand:SI 2 "general_operand" "g"))))) ++ (match_operand:SI 2 "x86_64_general_operand" "rme"))))) + (clobber (reg:CC FLAGS_REG))] + "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)" + "adc{l}\t{%2, %k0|%k0, %2}" +@@ -6831,7 +6779,7 @@ + (minus:SI (match_operand:SI 1 "register_operand" "0") + (plus:SI (match_operator 3 "ix86_carry_flag_operator" + [(reg FLAGS_REG) (const_int 0)]) +- (match_operand:SI 2 "general_operand" "g"))))) ++ (match_operand:SI 2 "x86_64_general_operand" "rme"))))) + (clobber (reg:CC FLAGS_REG))] + "TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)" + "sbb{l}\t{%2, %k0|%k0, %2}" +@@ -6885,7 +6833,7 @@ + (compare:CCC + (plusminus:SI + (match_operand:SI 1 "nonimmediate_operand" "<comm>0") +- (match_operand:SI 2 "general_operand" "g")) ++ (match_operand:SI 2 "x86_64_general_operand" "rme")) + (match_dup 1))) + (set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI (plusminus:SI (match_dup 1) (match_dup 2))))] +@@ -6972,7 +6920,7 @@ + [(set (match_operand:DI 0 "register_operand" "=r,r,r") + (zero_extend:DI + (mult:SI (match_operand:SI 1 "nonimmediate_operand" "%rm,rm,0") +- (match_operand:SI 2 "general_operand" "K,i,mr")))) ++ (match_operand:SI 2 "x86_64_general_operand" "K,e,mr")))) + (clobber (reg:CC FLAGS_REG))] + "TARGET_64BIT + && !(MEM_P (operands[1]) && MEM_P (operands[2]))" +@@ -7598,7 +7546,7 @@ + [(set (reg:CCNO FLAGS_REG) + (compare:CCNO + (and:SI (match_operand:SI 0 "nonimmediate_operand" "") +- (match_operand:SI 1 "nonmemory_operand" "")) ++ (match_operand:SI 1 "x86_64_nonmemory_operand" "")) + (const_int 0)))]) + + (define_expand "testqi_ccz_1" +@@ -7664,7 +7612,7 @@ + (compare + (and:SWI124 + (match_operand:SWI124 0 "nonimmediate_operand" "%!*a,<r>,<r>m") +- (match_operand:SWI124 1 "general_operand" "<i>,<i>,<r><i>")) ++ (match_operand:SWI124 1 "<general_operand>" "<i>,<i>,<r><i>")) + (const_int 0)))] + "ix86_match_ccmode (insn, CCNOmode) + && !(MEM_P (operands[0]) && MEM_P (operands[1]))" +@@ -7954,7 +7902,7 @@ + (define_insn "*andsi_1" + [(set (match_operand:SI 0 "nonimmediate_operand" "=rm,r,r") + (and:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0,qm") +- (match_operand:SI 2 "general_operand" "ri,rm,L"))) ++ (match_operand:SI 2 "x86_64_general_operand" "re,rm,L"))) + (clobber (reg:CC FLAGS_REG))] + "ix86_binary_operator_ok (AND, SImode, operands)" + { +@@ -8001,7 +7949,7 @@ + [(set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI + (and:SI (match_operand:SI 1 "nonimmediate_operand" "%0") +- (match_operand:SI 2 "general_operand" "g")))) ++ (match_operand:SI 2 "x86_64_general_operand" "rme")))) + (clobber (reg:CC FLAGS_REG))] + "TARGET_64BIT && ix86_binary_operator_ok (AND, SImode, operands)" + "and{l}\t{%2, %k0|%k0, %2}" +@@ -8149,7 +8097,7 @@ + [(set (reg FLAGS_REG) + (compare (and:SWI124 + (match_operand:SWI124 1 "nonimmediate_operand" "%0,0") +- (match_operand:SWI124 2 "general_operand" "<g>,<r><i>")) ++ (match_operand:SWI124 2 "<general_operand>" "<g>,<r><i>")) + (const_int 0))) + (set (match_operand:SWI124 0 "nonimmediate_operand" "=<r>,<r>m") + (and:SWI124 (match_dup 1) (match_dup 2)))] +@@ -8164,7 +8112,7 @@ + [(set (reg FLAGS_REG) + (compare (and:SI + (match_operand:SI 1 "nonimmediate_operand" "%0") +- (match_operand:SI 2 "general_operand" "g")) ++ (match_operand:SI 2 "x86_64_general_operand" "rme")) + (const_int 0))) + (set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI (and:SI (match_dup 1) (match_dup 2))))] +@@ -8381,7 +8329,7 @@ + [(set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI + (any_or:SI (match_operand:SI 1 "nonimmediate_operand" "%0") +- (match_operand:SI 2 "general_operand" "g")))) ++ (match_operand:SI 2 "x86_64_general_operand" "rme")))) + (clobber (reg:CC FLAGS_REG))] + "TARGET_64BIT && ix86_binary_operator_ok (<CODE>, SImode, operands)" + "<logic>{l}\t{%2, %k0|%k0, %2}" +@@ -8429,7 +8377,7 @@ + (define_insn "*<code>si_2_zext" + [(set (reg FLAGS_REG) + (compare (any_or:SI (match_operand:SI 1 "nonimmediate_operand" "%0") +- (match_operand:SI 2 "general_operand" "g")) ++ (match_operand:SI 2 "x86_64_general_operand" "rme")) + (const_int 0))) + (set (match_operand:DI 0 "register_operand" "=r") + (zero_extend:DI (any_or:SI (match_dup 1) (match_dup 2))))] +@@ -9619,7 +9567,7 @@ + (const_string "*"))) + (set_attr "mode" "QI")]) + +-;; Convert lea to the lea pattern to avoid flags dependency. ++;; Convert ashift to the lea pattern to avoid flags dependency. + (define_split + [(set (match_operand 0 "register_operand" "") + (ashift (match_operand 1 "index_register_operand" "") +@@ -9632,23 +9580,22 @@ + rtx pat; + enum machine_mode mode = GET_MODE (operands[0]); + +- if (mode != Pmode) +- operands[1] = gen_lowpart (Pmode, operands[1]); +- operands[2] = gen_int_mode (1 << INTVAL (operands[2]), Pmode); +- +- pat = gen_rtx_MULT (Pmode, operands[1], operands[2]); +- + if (GET_MODE_SIZE (mode) < GET_MODE_SIZE (SImode)) +- operands[0] = gen_lowpart (SImode, operands[0]); ++ { ++ mode = SImode; ++ operands[0] = gen_lowpart (mode, operands[0]); ++ operands[1] = gen_lowpart (mode, operands[1]); ++ } + +- if (TARGET_64BIT && mode != Pmode) +- pat = gen_rtx_SUBREG (SImode, pat, 0); ++ operands[2] = gen_int_mode (1 << INTVAL (operands[2]), mode); ++ ++ pat = gen_rtx_MULT (mode, operands[1], operands[2]); + + emit_insn (gen_rtx_SET (VOIDmode, operands[0], pat)); + DONE; + }) + +-;; Convert lea to the lea pattern to avoid flags dependency. ++;; Convert ashift to the lea pattern to avoid flags dependency. + (define_split + [(set (match_operand:DI 0 "register_operand" "") + (zero_extend:DI +@@ -10585,7 +10532,7 @@ + (zero_extract:SWI48 + (match_operand:SWI48 0 "register_operand" "r") + (const_int 1) +- (match_operand:SWI48 1 "nonmemory_operand" "rN")) ++ (match_operand:SWI48 1 "x86_64_nonmemory_operand" "rN")) + (const_int 0)))] + "TARGET_USE_BT || optimize_function_for_size_p (cfun)" + "bt{<imodesuffix>}\t{%1, %0|%0, %1}" +@@ -11192,19 +11139,19 @@ + (set_attr "modrm" "0")]) + + (define_expand "indirect_jump" +- [(set (pc) (match_operand 0 "nonimmediate_operand" ""))] ++ [(set (pc) (match_operand 0 "indirect_branch_operand" ""))] + "" + "") + + (define_insn "*indirect_jump" +- [(set (pc) (match_operand:P 0 "nonimmediate_operand" "rm"))] ++ [(set (pc) (match_operand:P 0 "indirect_branch_operand" "rw"))] + "" + "jmp\t%A0" + [(set_attr "type" "ibr") + (set_attr "length_immediate" "0")]) + + (define_expand "tablejump" +- [(parallel [(set (pc) (match_operand 0 "nonimmediate_operand" "")) ++ [(parallel [(set (pc) (match_operand 0 "indirect_branch_operand" "")) + (use (label_ref (match_operand 1 "" "")))])] + "" + { +@@ -11242,7 +11189,7 @@ + }) + + (define_insn "*tablejump_1" +- [(set (pc) (match_operand:P 0 "nonimmediate_operand" "rm")) ++ [(set (pc) (match_operand:P 0 "indirect_branch_operand" "rw")) + (use (label_ref (match_operand 1 "" "")))] + "" + "jmp\t%A0" +@@ -11484,7 +11431,7 @@ + [(set_attr "type" "call")]) + + (define_insn_and_split "*call_1_rex64_vzeroupper" +- [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm")) ++ [(call (mem:QI (match_operand:P 0 "call_insn_operand" "rzw")) + (match_operand 1 "" "")) + (unspec [(match_operand 2 "const_int_operand" "")] + UNSPEC_CALL_NEEDS_VZEROUPPER)] +@@ -11497,7 +11444,7 @@ + [(set_attr "type" "call")]) + + (define_insn "*call_1_rex64" +- [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm")) ++ [(call (mem:QI (match_operand:P 0 "call_insn_operand" "rzw")) + (match_operand 1 "" ""))] + "TARGET_64BIT && !SIBLING_CALL_P (insn) + && ix86_cmodel != CM_LARGE && ix86_cmodel != CM_LARGE_PIC" +@@ -11570,7 +11517,7 @@ + [(set_attr "type" "call")]) + + (define_insn_and_split "*sibcall_1_rex64_vzeroupper" +- [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "z,U")) ++ [(call (mem:QI (match_operand:P 0 "sibcall_insn_operand" "z,U")) + (match_operand 1 "" "")) + (unspec [(match_operand 2 "const_int_operand" "")] + UNSPEC_CALL_NEEDS_VZEROUPPER)] +@@ -11582,7 +11529,7 @@ + [(set_attr "type" "call")]) + + (define_insn "*sibcall_1_rex64" +- [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "z,U")) ++ [(call (mem:QI (match_operand:P 0 "sibcall_insn_operand" "z,U")) + (match_operand 1 "" ""))] + "TARGET_64BIT && SIBLING_CALL_P (insn)" + { return ix86_output_call_insn (insn, operands[0], 0); } +@@ -11862,7 +11809,7 @@ + (unspec:DI + [(label_ref (match_operand 1 "" ""))] + UNSPEC_SET_GOT_OFFSET))] +- "TARGET_64BIT" ++ "TARGET_LP64" + "movabs{q}\t{$_GLOBAL_OFFSET_TABLE_-%l1, %0|%0, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_-%l1}" + [(set_attr "type" "imov") + (set_attr "length_immediate" "0") +@@ -12597,22 +12544,33 @@ + operands[3] = ix86_tls_get_addr (); + }) + +-(define_insn "*tls_global_dynamic_64" +- [(set (match_operand:DI 0 "register_operand" "=a") +- (call:DI (mem:QI (match_operand:DI 2 "call_insn_operand" "")) +- (match_operand:DI 3 "" ""))) +- (unspec:DI [(match_operand:DI 1 "tls_symbolic_operand" "")] +- UNSPEC_TLS_GD)] ++(define_insn "*tls_global_dynamic_<x86_64_mode>" ++ [(set (match_operand:P 0 "register_operand" "=a") ++ (call:P (mem:QI (match_operand:P 2 "call_insn_operand" "")) ++ (match_operand:P 3 "" ""))) ++ (unspec:P [(match_operand:P 1 "tls_symbolic_operand" "")] ++ UNSPEC_TLS_GD)] + "TARGET_64BIT" +- { return ASM_BYTE "0x66\n\tlea{q}\t{%a1@tlsgd(%%rip), %%rdi|rdi, %a1@tlsgd[rip]}\n" ASM_SHORT "0x6666\n\trex64\n\tcall\t%P2"; } ++{ ++ if (!TARGET_X32) ++ fputs (ASM_BYTE "0x66\n", asm_out_file); ++ output_asm_insn ++ ("lea{q}\t{%a1@tlsgd(%%rip), %%rdi|rdi, %a1@tlsgd[rip]}", operands); ++ fputs (ASM_SHORT "0x6666\n", asm_out_file); ++ fputs ("\trex64\n", asm_out_file); ++ if (TARGET_SUN_TLS) ++ return "call\t%p2@plt"; ++ return "call\t%P2"; ++} + [(set_attr "type" "multi") +- (set_attr "length" "16")]) ++ (set (attr "length") ++ (symbol_ref "TARGET_X32 ? 15 : 16"))]) + +-(define_expand "tls_global_dynamic_64" +- [(parallel [(set (match_operand:DI 0 "register_operand" "") +- (call:DI (mem:QI (match_dup 2)) (const_int 0))) +- (unspec:DI [(match_operand:DI 1 "tls_symbolic_operand" "")] +- UNSPEC_TLS_GD)])] ++(define_expand "tls_global_dynamic_<x86_64_mode>" ++ [(parallel [(set (match_operand:P 0 "register_operand" "") ++ (call:P (mem:QI (match_dup 2)) (const_int 0))) ++ (unspec:P [(match_operand:P 1 "tls_symbolic_operand" "")] ++ UNSPEC_TLS_GD)])] + "" + { + if (TARGET_GNU2_TLS) +@@ -12662,20 +12620,20 @@ + operands[2] = ix86_tls_get_addr (); + }) + +-(define_insn "*tls_local_dynamic_base_64" +- [(set (match_operand:DI 0 "register_operand" "=a") +- (call:DI (mem:QI (match_operand:DI 1 "call_insn_operand" "")) +- (match_operand:DI 2 "" ""))) +- (unspec:DI [(const_int 0)] UNSPEC_TLS_LD_BASE)] ++(define_insn "*tls_local_dynamic_base_<x86_64_mode>" ++ [(set (match_operand:P 0 "register_operand" "=a") ++ (call:P (mem:QI (match_operand:P 1 "call_insn_operand" "")) ++ (match_operand:P 2 "" ""))) ++ (unspec:P [(const_int 0)] UNSPEC_TLS_LD_BASE)] + "TARGET_64BIT" + "lea{q}\t{%&@tlsld(%%rip), %%rdi|rdi, %&@tlsld[rip]}\;call\t%P1" + [(set_attr "type" "multi") + (set_attr "length" "12")]) + +-(define_expand "tls_local_dynamic_base_64" +- [(parallel [(set (match_operand:DI 0 "register_operand" "") +- (call:DI (mem:QI (match_dup 1)) (const_int 0))) +- (unspec:DI [(const_int 0)] UNSPEC_TLS_LD_BASE)])] ++(define_expand "tls_local_dynamic_base_<x86_64_mode>" ++ [(parallel [(set (match_operand:P 0 "register_operand" "") ++ (call:P (mem:QI (match_dup 1)) (const_int 0))) ++ (unspec:P [(const_int 0)] UNSPEC_TLS_LD_BASE)])] + "" + { + if (TARGET_GNU2_TLS) +@@ -12714,11 +12672,33 @@ + ;; Segment register for the thread base ptr load + (define_mode_attr tp_seg [(SI "gs") (DI "fs")]) + +-;; Load and add the thread base pointer from %gs:0. ++;; Load and add the thread base pointer from %<tp_seg>:0. ++(define_insn "*load_tp_x32" ++ [(set (match_operand:SI 0 "register_operand" "=r") ++ (unspec:SI [(const_int 0)] UNSPEC_TP))] ++ "TARGET_X32" ++ "mov{l}\t{%%fs:0, %0|%0, DWORD PTR fs:0}" ++ [(set_attr "type" "imov") ++ (set_attr "modrm" "0") ++ (set_attr "length" "7") ++ (set_attr "memory" "load") ++ (set_attr "imm_disp" "false")]) ++ ++(define_insn "*load_tp_x32_zext" ++ [(set (match_operand:DI 0 "register_operand" "=r") ++ (zero_extend:DI (unspec:SI [(const_int 0)] UNSPEC_TP)))] ++ "TARGET_X32" ++ "mov{l}\t{%%fs:0, %k0|%k0, DWORD PTR fs:0}" ++ [(set_attr "type" "imov") ++ (set_attr "modrm" "0") ++ (set_attr "length" "7") ++ (set_attr "memory" "load") ++ (set_attr "imm_disp" "false")]) ++ + (define_insn "*load_tp_<mode>" + [(set (match_operand:P 0 "register_operand" "=r") + (unspec:P [(const_int 0)] UNSPEC_TP))] +- "" ++ "!TARGET_X32" + "mov{<imodesuffix>}\t{%%<tp_seg>:0, %0|%0, <iptrsize> PTR <tp_seg>:0}" + [(set_attr "type" "imov") + (set_attr "modrm" "0") +@@ -12726,12 +12706,39 @@ + (set_attr "memory" "load") + (set_attr "imm_disp" "false")]) + ++(define_insn "*add_tp_x32" ++ [(set (match_operand:SI 0 "register_operand" "=r") ++ (plus:SI (unspec:SI [(const_int 0)] UNSPEC_TP) ++ (match_operand:SI 1 "register_operand" "0"))) ++ (clobber (reg:CC FLAGS_REG))] ++ "TARGET_X32" ++ "add{l}\t{%%fs:0, %0|%0, DWORD PTR fs:0}" ++ [(set_attr "type" "alu") ++ (set_attr "modrm" "0") ++ (set_attr "length" "7") ++ (set_attr "memory" "load") ++ (set_attr "imm_disp" "false")]) ++ ++(define_insn "*add_tp_x32_zext" ++ [(set (match_operand:DI 0 "register_operand" "=r") ++ (zero_extend:DI ++ (plus:SI (unspec:SI [(const_int 0)] UNSPEC_TP) ++ (match_operand:SI 1 "register_operand" "0")))) ++ (clobber (reg:CC FLAGS_REG))] ++ "TARGET_X32" ++ "add{l}\t{%%fs:0, %k0|%k0, DWORD PTR fs:0}" ++ [(set_attr "type" "alu") ++ (set_attr "modrm" "0") ++ (set_attr "length" "7") ++ (set_attr "memory" "load") ++ (set_attr "imm_disp" "false")]) ++ + (define_insn "*add_tp_<mode>" + [(set (match_operand:P 0 "register_operand" "=r") + (plus:P (unspec:P [(const_int 0)] UNSPEC_TP) + (match_operand:P 1 "register_operand" "0"))) + (clobber (reg:CC FLAGS_REG))] +- "" ++ "!TARGET_X32" + "add{<imodesuffix>}\t{%%<tp_seg>:0, %0|%0, <iptrsize> PTR <tp_seg>:0}" + [(set_attr "type" "alu") + (set_attr "modrm" "0") +@@ -15778,20 +15785,25 @@ + "ix86_current_function_needs_cld = 1;") + + (define_insn "*rep_movdi_rex64" +- [(set (match_operand:DI 2 "register_operand" "=c") (const_int 0)) +- (set (match_operand:DI 0 "register_operand" "=D") +- (plus:DI (ashift:DI (match_operand:DI 5 "register_operand" "2") +- (const_int 3)) +- (match_operand:DI 3 "register_operand" "0"))) +- (set (match_operand:DI 1 "register_operand" "=S") +- (plus:DI (ashift:DI (match_dup 5) (const_int 3)) +- (match_operand:DI 4 "register_operand" "1"))) ++ [(set (match_operand:P 2 "register_operand" "=c") (const_int 0)) ++ (set (match_operand:P 0 "register_operand" "=D") ++ (plus:P (ashift:P (match_operand:P 5 "register_operand" "2") ++ (const_int 3)) ++ (match_operand:P 3 "register_operand" "0"))) ++ (set (match_operand:P 1 "register_operand" "=S") ++ (plus:P (ashift:P (match_dup 5) (const_int 3)) ++ (match_operand:P 4 "register_operand" "1"))) + (set (mem:BLK (match_dup 3)) + (mem:BLK (match_dup 4))) + (use (match_dup 5))] + "TARGET_64BIT + && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])" +- "rep{%;} movsq" ++{ ++ if (Pmode == SImode) ++ return "addr32{%;} rep{%;} movsq"; ++ else ++ return "rep{%;} movsq"; ++} + [(set_attr "type" "str") + (set_attr "prefix_rep" "1") + (set_attr "memory" "both") +@@ -15810,7 +15822,12 @@ + (mem:BLK (match_dup 4))) + (use (match_dup 5))] + "!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])" +- "rep{%;} movs{l|d}" ++{ ++ if (word_mode == DImode && Pmode == SImode) ++ return "addr32{%;} rep{%;} movs{l|d}"; ++ else ++ return "rep{%;} movs{l|d}"; ++} + [(set_attr "type" "str") + (set_attr "prefix_rep" "1") + (set_attr "memory" "both") +@@ -15827,7 +15844,12 @@ + (mem:BLK (match_dup 4))) + (use (match_dup 5))] + "!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])" +- "rep{%;} movsb" ++{ ++ if (word_mode == DImode && Pmode == SImode) ++ return "addr32{%;} rep{%;} movsb"; ++ else ++ return "rep{%;} movsb"; ++} + [(set_attr "type" "str") + (set_attr "prefix_rep" "1") + (set_attr "memory" "both") +@@ -15952,18 +15974,23 @@ + "ix86_current_function_needs_cld = 1;") + + (define_insn "*rep_stosdi_rex64" +- [(set (match_operand:DI 1 "register_operand" "=c") (const_int 0)) +- (set (match_operand:DI 0 "register_operand" "=D") +- (plus:DI (ashift:DI (match_operand:DI 4 "register_operand" "1") +- (const_int 3)) +- (match_operand:DI 3 "register_operand" "0"))) ++ [(set (match_operand:P 1 "register_operand" "=c") (const_int 0)) ++ (set (match_operand:P 0 "register_operand" "=D") ++ (plus:P (ashift:P (match_operand:P 4 "register_operand" "1") ++ (const_int 3)) ++ (match_operand:P 3 "register_operand" "0"))) + (set (mem:BLK (match_dup 3)) + (const_int 0)) + (use (match_operand:DI 2 "register_operand" "a")) + (use (match_dup 4))] + "TARGET_64BIT + && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])" +- "rep{%;} stosq" ++{ ++ if (Pmode == SImode) ++ return "addr32{%;} rep{%;} stosq"; ++ else ++ return "rep{%;} stosq"; ++} + [(set_attr "type" "str") + (set_attr "prefix_rep" "1") + (set_attr "memory" "store") +@@ -15980,7 +16007,12 @@ + (use (match_operand:SI 2 "register_operand" "a")) + (use (match_dup 4))] + "!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])" +- "rep{%;} stos{l|d}" ++{ ++ if (word_mode == DImode && Pmode == SImode) ++ return "addr32{%;} rep{%;} stos{l|d}"; ++ else ++ return "rep{%;} stos{l|d}"; ++} + [(set_attr "type" "str") + (set_attr "prefix_rep" "1") + (set_attr "memory" "store") +@@ -15996,7 +16028,12 @@ + (use (match_operand:QI 2 "register_operand" "a")) + (use (match_dup 4))] + "!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])" +- "rep{%;} stosb" ++{ ++ if (word_mode == DImode && Pmode == SImode) ++ return "addr32{%;} rep{%;} stosb"; ++ else ++ return "rep{%;} stosb"; ++} + [(set_attr "type" "str") + (set_attr "prefix_rep" "1") + (set_attr "memory" "store") +@@ -16117,7 +16154,12 @@ + (clobber (match_operand:P 1 "register_operand" "=D")) + (clobber (match_operand:P 2 "register_operand" "=c"))] + "!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])" +- "repz{%;} cmpsb" ++{ ++ if (word_mode == DImode && Pmode == SImode) ++ return "addr32{%;} repz{%;} cmpsb"; ++ else ++ return "repz{%;} cmpsb"; ++} + [(set_attr "type" "str") + (set_attr "mode" "QI") + (set (attr "prefix_rex") +@@ -16157,7 +16199,12 @@ + (clobber (match_operand:P 1 "register_operand" "=D")) + (clobber (match_operand:P 2 "register_operand" "=c"))] + "!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])" +- "repz{%;} cmpsb" ++{ ++ if (word_mode == DImode && Pmode == SImode) ++ return "addr32{%;} repz{%;} cmpsb"; ++ else ++ return "repz{%;} cmpsb"; ++} + [(set_attr "type" "str") + (set_attr "mode" "QI") + (set (attr "prefix_rex") +@@ -16198,7 +16245,12 @@ + (clobber (match_operand:P 1 "register_operand" "=D")) + (clobber (reg:CC FLAGS_REG))] + "!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])" +- "repnz{%;} scasb" ++{ ++ if (word_mode == DImode && Pmode == SImode) ++ return "addr32{%;} repnz{%;} scasb"; ++ else ++ return "repnz{%;} scasb"; ++} + [(set_attr "type" "str") + (set_attr "mode" "QI") + (set (attr "prefix_rex") +@@ -16290,8 +16342,8 @@ + (define_expand "mov<mode>cc" + [(set (match_operand:SWIM 0 "register_operand" "") + (if_then_else:SWIM (match_operand 1 "ordered_comparison_operator" "") +- (match_operand:SWIM 2 "general_operand" "") +- (match_operand:SWIM 3 "general_operand" "")))] ++ (match_operand:SWIM 2 "<general_operand>" "") ++ (match_operand:SWIM 3 "<general_operand>" "")))] + "" + "if (ix86_expand_int_movcc (operands)) DONE; else FAIL;") + +@@ -17271,131 +17323,131 @@ + ;; alternative when no register is available later. + + (define_peephole2 +- [(match_scratch:P 1 "r") ++ [(match_scratch:W 1 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG)) + (clobber (mem:BLK (scratch)))])] + "(TARGET_SINGLE_PUSH || optimize_insn_for_size_p ()) +- && INTVAL (operands[0]) == -GET_MODE_SIZE (Pmode)" ++ && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)" + [(clobber (match_dup 1)) +- (parallel [(set (mem:P (pre_dec:P (reg:P SP_REG))) (match_dup 1)) ++ (parallel [(set (mem:W (pre_dec:P (reg:P SP_REG))) (match_dup 1)) + (clobber (mem:BLK (scratch)))])]) + + (define_peephole2 +- [(match_scratch:P 1 "r") ++ [(match_scratch:W 1 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG)) + (clobber (mem:BLK (scratch)))])] + "(TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ()) +- && INTVAL (operands[0]) == -2*GET_MODE_SIZE (Pmode)" ++ && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)" + [(clobber (match_dup 1)) +- (set (mem:P (pre_dec:P (reg:P SP_REG))) (match_dup 1)) +- (parallel [(set (mem:P (pre_dec:P (reg:P SP_REG))) (match_dup 1)) ++ (set (mem:W (pre_dec:P (reg:P SP_REG))) (match_dup 1)) ++ (parallel [(set (mem:W (pre_dec:P (reg:P SP_REG))) (match_dup 1)) + (clobber (mem:BLK (scratch)))])]) + + ;; Convert esp subtractions to push. + (define_peephole2 +- [(match_scratch:P 1 "r") ++ [(match_scratch:W 1 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG))])] + "(TARGET_SINGLE_PUSH || optimize_insn_for_size_p ()) +- && INTVAL (operands[0]) == -GET_MODE_SIZE (Pmode)" ++ && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)" + [(clobber (match_dup 1)) +- (set (mem:P (pre_dec:P (reg:P SP_REG))) (match_dup 1))]) ++ (set (mem:W (pre_dec:P (reg:P SP_REG))) (match_dup 1))]) + + (define_peephole2 +- [(match_scratch:P 1 "r") ++ [(match_scratch:W 1 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG))])] + "(TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ()) +- && INTVAL (operands[0]) == -2*GET_MODE_SIZE (Pmode)" ++ && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)" + [(clobber (match_dup 1)) +- (set (mem:P (pre_dec:P (reg:P SP_REG))) (match_dup 1)) +- (set (mem:P (pre_dec:P (reg:P SP_REG))) (match_dup 1))]) ++ (set (mem:W (pre_dec:P (reg:P SP_REG))) (match_dup 1)) ++ (set (mem:W (pre_dec:P (reg:P SP_REG))) (match_dup 1))]) + + ;; Convert epilogue deallocator to pop. + (define_peephole2 +- [(match_scratch:P 1 "r") ++ [(match_scratch:W 1 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG)) + (clobber (mem:BLK (scratch)))])] + "(TARGET_SINGLE_POP || optimize_insn_for_size_p ()) +- && INTVAL (operands[0]) == GET_MODE_SIZE (Pmode)" +- [(parallel [(set (match_dup 1) (mem:P (post_inc:P (reg:P SP_REG)))) ++ && INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)" ++ [(parallel [(set (match_dup 1) (mem:W (post_inc:P (reg:P SP_REG)))) + (clobber (mem:BLK (scratch)))])]) + + ;; Two pops case is tricky, since pop causes dependency + ;; on destination register. We use two registers if available. + (define_peephole2 +- [(match_scratch:P 1 "r") +- (match_scratch:P 2 "r") ++ [(match_scratch:W 1 "r") ++ (match_scratch:W 2 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG)) + (clobber (mem:BLK (scratch)))])] + "(TARGET_DOUBLE_POP || optimize_insn_for_size_p ()) +- && INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)" +- [(parallel [(set (match_dup 1) (mem:P (post_inc:P (reg:P SP_REG)))) ++ && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)" ++ [(parallel [(set (match_dup 1) (mem:W (post_inc:P (reg:P SP_REG)))) + (clobber (mem:BLK (scratch)))]) +- (set (match_dup 2) (mem:P (post_inc:P (reg:P SP_REG))))]) ++ (set (match_dup 2) (mem:W (post_inc:P (reg:P SP_REG))))]) + + (define_peephole2 +- [(match_scratch:P 1 "r") ++ [(match_scratch:W 1 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG)) + (clobber (mem:BLK (scratch)))])] + "optimize_insn_for_size_p () +- && INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)" +- [(parallel [(set (match_dup 1) (mem:P (post_inc:P (reg:P SP_REG)))) ++ && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)" ++ [(parallel [(set (match_dup 1) (mem:W (post_inc:P (reg:P SP_REG)))) + (clobber (mem:BLK (scratch)))]) +- (set (match_dup 1) (mem:P (post_inc:P (reg:P SP_REG))))]) ++ (set (match_dup 1) (mem:W (post_inc:P (reg:P SP_REG))))]) + + ;; Convert esp additions to pop. + (define_peephole2 +- [(match_scratch:P 1 "r") ++ [(match_scratch:W 1 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG))])] +- "INTVAL (operands[0]) == GET_MODE_SIZE (Pmode)" +- [(set (match_dup 1) (mem:P (post_inc:P (reg:P SP_REG))))]) ++ "INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)" ++ [(set (match_dup 1) (mem:W (post_inc:P (reg:P SP_REG))))]) + + ;; Two pops case is tricky, since pop causes dependency + ;; on destination register. We use two registers if available. + (define_peephole2 +- [(match_scratch:P 1 "r") +- (match_scratch:P 2 "r") ++ [(match_scratch:W 1 "r") ++ (match_scratch:W 2 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG))])] +- "INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)" +- [(set (match_dup 1) (mem:P (post_inc:P (reg:P SP_REG)))) +- (set (match_dup 2) (mem:P (post_inc:P (reg:P SP_REG))))]) ++ "INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)" ++ [(set (match_dup 1) (mem:W (post_inc:P (reg:P SP_REG)))) ++ (set (match_dup 2) (mem:W (post_inc:P (reg:P SP_REG))))]) + + (define_peephole2 +- [(match_scratch:P 1 "r") ++ [(match_scratch:W 1 "r") + (parallel [(set (reg:P SP_REG) + (plus:P (reg:P SP_REG) + (match_operand:P 0 "const_int_operand" ""))) + (clobber (reg:CC FLAGS_REG))])] + "optimize_insn_for_size_p () +- && INTVAL (operands[0]) == 2*GET_MODE_SIZE (Pmode)" +- [(set (match_dup 1) (mem:P (post_inc:P (reg:P SP_REG)))) +- (set (match_dup 1) (mem:P (post_inc:P (reg:P SP_REG))))]) ++ && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)" ++ [(set (match_dup 1) (mem:W (post_inc:P (reg:P SP_REG)))) ++ (set (match_dup 1) (mem:W (post_inc:P (reg:P SP_REG))))]) + + ;; Convert compares with 1 to shorter inc/dec operations when CF is not + ;; required and register dies. Similarly for 128 to -128. +@@ -17508,7 +17560,7 @@ + ;; leal (%edx,%eax,4), %eax + + (define_peephole2 +- [(match_scratch:P 5 "r") ++ [(match_scratch:W 5 "r") + (parallel [(set (match_operand 0 "register_operand" "") + (ashift (match_operand 1 "register_operand" "") + (match_operand 2 "const_int_operand" ""))) +@@ -17534,16 +17586,16 @@ + enum machine_mode op1mode = GET_MODE (operands[1]); + enum machine_mode mode = op1mode == DImode ? DImode : SImode; + int scale = 1 << INTVAL (operands[2]); +- rtx index = gen_lowpart (Pmode, operands[1]); +- rtx base = gen_lowpart (Pmode, operands[5]); ++ rtx index = gen_lowpart (word_mode, operands[1]); ++ rtx base = gen_lowpart (word_mode, operands[5]); + rtx dest = gen_lowpart (mode, operands[3]); + +- operands[1] = gen_rtx_PLUS (Pmode, base, +- gen_rtx_MULT (Pmode, index, GEN_INT (scale))); ++ operands[1] = gen_rtx_PLUS (word_mode, base, ++ gen_rtx_MULT (word_mode, index, GEN_INT (scale))); + operands[5] = base; +- if (mode != Pmode) ++ if (mode != word_mode) + operands[1] = gen_rtx_SUBREG (mode, operands[1], 0); +- if (op1mode != Pmode) ++ if (op1mode != word_mode) + operands[5] = gen_rtx_SUBREG (op1mode, operands[5], 0); + operands[0] = dest; + }) +@@ -17658,8 +17710,8 @@ + + (define_insn_and_split "*call_value_0_rex64_vzeroupper" + [(set (match_operand 0 "" "") +- (call (mem:QI (match_operand:DI 1 "constant_call_address_operand" "")) +- (match_operand:DI 2 "const_int_operand" ""))) ++ (call (mem:QI (match_operand:P 1 "constant_call_address_operand" "")) ++ (match_operand:P 2 "const_int_operand" ""))) + (unspec [(match_operand 3 "const_int_operand" "")] + UNSPEC_CALL_NEEDS_VZEROUPPER)] + "TARGET_VZEROUPPER && TARGET_64BIT" +@@ -17671,8 +17723,8 @@ + + (define_insn "*call_value_0_rex64" + [(set (match_operand 0 "" "") +- (call (mem:QI (match_operand:DI 1 "constant_call_address_operand" "")) +- (match_operand:DI 2 "const_int_operand" "")))] ++ (call (mem:QI (match_operand:P 1 "constant_call_address_operand" "")) ++ (match_operand:P 2 "const_int_operand" "")))] + "TARGET_64BIT" + { return ix86_output_call_insn (insn, operands[1], 1); } + [(set_attr "type" "callv")]) +@@ -17769,8 +17821,8 @@ + + (define_insn_and_split "*call_value_1_rex64_vzeroupper" + [(set (match_operand 0 "" "") +- (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm")) +- (match_operand:DI 2 "" ""))) ++ (call (mem:QI (match_operand:P 1 "call_insn_operand" "rzw")) ++ (match_operand:P 2 "" ""))) + (unspec [(match_operand 3 "const_int_operand" "")] + UNSPEC_CALL_NEEDS_VZEROUPPER)] + "TARGET_VZEROUPPER && TARGET_64BIT && !SIBLING_CALL_P (insn) +@@ -17783,8 +17835,8 @@ + + (define_insn "*call_value_1_rex64" + [(set (match_operand 0 "" "") +- (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm")) +- (match_operand:DI 2 "" "")))] ++ (call (mem:QI (match_operand:P 1 "call_insn_operand" "rzw")) ++ (match_operand:P 2 "" "")))] + "TARGET_64BIT && !SIBLING_CALL_P (insn) + && ix86_cmodel != CM_LARGE && ix86_cmodel != CM_LARGE_PIC" + { return ix86_output_call_insn (insn, operands[1], 1); } +@@ -17874,8 +17926,8 @@ + + (define_insn "*sibcall_value_1_rex64" + [(set (match_operand 0 "" "") +- (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "z,U")) +- (match_operand:DI 2 "" "")))] ++ (call (mem:QI (match_operand:P 1 "sibcall_insn_operand" "z,U")) ++ (match_operand:P 2 "" "")))] + "TARGET_64BIT && SIBLING_CALL_P (insn)" + { return ix86_output_call_insn (insn, operands[1], 1); } + [(set_attr "type" "callv")]) +@@ -17961,11 +18013,11 @@ + + #ifdef TARGET_THREAD_SSP_OFFSET + operands[1] = GEN_INT (TARGET_THREAD_SSP_OFFSET); +- insn = (TARGET_64BIT ++ insn = (TARGET_LP64 + ? gen_stack_tls_protect_set_di + : gen_stack_tls_protect_set_si); + #else +- insn = (TARGET_64BIT ++ insn = (TARGET_LP64 + ? gen_stack_protect_set_di + : gen_stack_protect_set_si); + #endif +@@ -18005,11 +18057,11 @@ + + #ifdef TARGET_THREAD_SSP_OFFSET + operands[1] = GEN_INT (TARGET_THREAD_SSP_OFFSET); +- insn = (TARGET_64BIT ++ insn = (TARGET_LP64 + ? gen_stack_tls_protect_test_di + : gen_stack_tls_protect_test_si); + #else +- insn = (TARGET_64BIT ++ insn = (TARGET_LP64 + ? gen_stack_protect_test_di + : gen_stack_protect_test_si); + #endif +@@ -18263,7 +18315,7 @@ + (unspec_volatile [(const_int 0)] UNSPECV_SLWP_INTRINSIC))] + "TARGET_LWP" + { +- if (TARGET_64BIT) ++ if (Pmode == DImode) + emit_insn (gen_lwp_slwpcbdi (operands[0])); + else + emit_insn (gen_lwp_slwpcbsi (operands[0])); +diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt +index fe5949f..c9d60e1 100644 +--- a/gcc/config/i386/i386.opt ++++ b/gcc/config/i386/i386.opt +@@ -277,9 +277,17 @@ Target RejectNegative Negative(m64) Report InverseMask(ISA_64BIT) Var(ix86_isa_f + Generate 32bit i386 code + + m64 +-Target RejectNegative Negative(m32) Report Mask(ISA_64BIT) Var(ix86_isa_flags) Save ++Target RejectNegative Negative(mx32) Report Mask(ISA_X86_64) Var(ix86_isa_flags) Save + Generate 64bit x86-64 code + ++mx32 ++Target RejectNegative Negative(m32) Report Mask(ISA_X32) Var(ix86_isa_flags) Save ++Generate 32bit x86-64 code ++ ++mx86-64 ++Target Undocumented Mask(ISA_64BIT) Var(ix86_isa_flags) Save ++Generate 32bit or 64bit x86-64 code ++ + mmmx + Target Report Mask(ISA_MMX) Var(ix86_isa_flags) Save + Support MMX built-in functions +diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h +index 103ab0c..f777d1b 100644 +--- a/gcc/config/i386/linux64.h ++++ b/gcc/config/i386/linux64.h +@@ -64,27 +64,40 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" + #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" + + #if TARGET_64BIT_DEFAULT + #define SPEC_32 "m32" +-#define SPEC_64 "!m32" ++#if TARGET_BI_ARCH == 2 ++#define SPEC_64 "m64" ++#define SPEC_X32 "m32|m64:;" ++#else ++#define SPEC_64 "m32|mx32:;" ++#define SPEC_X32 "mx32" ++#endif + #else +-#define SPEC_32 "!m64" ++#define SPEC_32 "m64|mx32:;" + #define SPEC_64 "m64" ++#define SPEC_X32 "mx32" + #endif + + #undef ASM_SPEC +-#define ASM_SPEC "%{" SPEC_32 ":--32} %{" SPEC_64 ":--64} \ ++#define ASM_SPEC "%{" SPEC_32 ":--32} \ ++ %{" SPEC_64 ":--64} \ ++ %{" SPEC_X32 ":--x32} \ + %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" + + #undef LINK_SPEC +-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \ ++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} \ ++ %{" SPEC_32 ":-m elf_i386} \ ++ %{" SPEC_X32 ":-m elf32_x86_64} \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ +- %{" SPEC_32 ":-dynamic-linker " LINUX_DYNAMIC_LINKER32 "} \ +- %{" SPEC_64 ":-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}} \ ++ %{" SPEC_32 ":-dynamic-linker " GLIBC_DYNAMIC_LINKER32 "} \ ++ %{" SPEC_64 ":-dynamic-linker " GLIBC_DYNAMIC_LINKER64 "} \ ++ %{" SPEC_X32 ":-dynamic-linker " GLIBC_DYNAMIC_LINKERX32 "}} \ + %{static:-static}}" + + /* Similar to standard Linux, but adding -ffast-math support. */ +@@ -97,7 +110,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" + + #if TARGET_64BIT_DEFAULT ++#if TARGET_BI_ARCH == 2 ++#define MULTILIB_DEFAULTS { "mx32" } ++#else + #define MULTILIB_DEFAULTS { "m64" } ++#endif + #else + #define MULTILIB_DEFAULTS { "m32" } + #endif +@@ -123,10 +140,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + + #ifdef TARGET_LIBC_PROVIDES_SSP + /* i386 glibc provides __stack_chk_guard in %gs:0x14, ++ x32 glibc provides it in %fs:0x18. + x86_64 glibc provides it in %fs:0x28. */ +-#define TARGET_THREAD_SSP_OFFSET (TARGET_64BIT ? 0x28 : 0x14) ++#define TARGET_THREAD_SSP_OFFSET \ ++ (TARGET_64BIT ? (TARGET_X32 ? 0x18 : 0x28) : 0x14) + + /* We steal the last transactional memory word. */ + #define TARGET_CAN_SPLIT_STACK +-#define TARGET_THREAD_SPLIT_STACK_OFFSET (TARGET_64BIT ? 0x70 : 0x30) ++#define TARGET_THREAD_SPLIT_STACK_OFFSET \ ++ (TARGET_64BIT ? (TARGET_X32 ? 0x40 : 0x70) : 0x30) + #endif +diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md +index ca37622..055b5eb 100644 +--- a/gcc/config/i386/mmx.md ++++ b/gcc/config/i386/mmx.md +@@ -1626,24 +1626,12 @@ + "TARGET_SSE || TARGET_3DNOW_A") + + (define_insn "*mmx_maskmovq" +- [(set (mem:V8QI (match_operand:SI 0 "register_operand" "D")) ++ [(set (mem:V8QI (match_operand:P 0 "register_operand" "D")) + (unspec:V8QI [(match_operand:V8QI 1 "register_operand" "y") + (match_operand:V8QI 2 "register_operand" "y") + (mem:V8QI (match_dup 0))] + UNSPEC_MASKMOV))] +- "(TARGET_SSE || TARGET_3DNOW_A) && !TARGET_64BIT" +- ;; @@@ check ordering of operands in intel/nonintel syntax +- "maskmovq\t{%2, %1|%1, %2}" +- [(set_attr "type" "mmxcvt") +- (set_attr "mode" "DI")]) +- +-(define_insn "*mmx_maskmovq_rex" +- [(set (mem:V8QI (match_operand:DI 0 "register_operand" "D")) +- (unspec:V8QI [(match_operand:V8QI 1 "register_operand" "y") +- (match_operand:V8QI 2 "register_operand" "y") +- (mem:V8QI (match_dup 0))] +- UNSPEC_MASKMOV))] +- "(TARGET_SSE || TARGET_3DNOW_A) && TARGET_64BIT" ++ "TARGET_SSE || TARGET_3DNOW_A" + ;; @@@ check ordering of operands in intel/nonintel syntax + "maskmovq\t{%2, %1|%1, %2}" + [(set_attr "type" "mmxcvt") +diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md +index 7cce9d4..d9105a7 100644 +--- a/gcc/config/i386/predicates.md ++++ b/gcc/config/i386/predicates.md +@@ -324,6 +324,53 @@ + return false; + }) + ++;; Return true if OP is either a symbol reference or a sum of a symbol ++;; reference and a constant in x86-64 small mode, which can be stored ++;; in the zero extended immediate field. ++(define_predicate "x86_64_symbolic_immediate_operand" ++ (match_code "symbol_ref,const") ++{ ++ /* Only small model is allowed. */ ++ if (ix86_cmodel != CM_SMALL) ++ return false; ++ ++ switch (GET_CODE (op)) ++ { ++ case SYMBOL_REF: ++ /* TLS symbols are not constant. */ ++ if (SYMBOL_REF_TLS_MODEL (op)) ++ return false; ++ return true; ++ ++ case CONST: ++ op = XEXP (op, 0); ++ if (GET_CODE (op) == PLUS) ++ { ++ rtx op1 = XEXP (op, 0); ++ rtx op2 = XEXP (op, 1); ++ ++ switch (GET_CODE (op1)) ++ { ++ case SYMBOL_REF: ++ /* TLS symbols are not constant. */ ++ if (SYMBOL_REF_TLS_MODEL (op1)) ++ return false; ++ if (CONST_INT_P (op2)) ++ return true; ++ break; ++ ++ default: ++ return false; ++ } ++ } ++ break; ++ ++ default: ++ gcc_unreachable (); ++ } ++ return false; ++}) ++ + ;; Return true if OP is general operand representable on x86_64. + (define_predicate "x86_64_general_operand" + (if_then_else (match_test "TARGET_64BIT") +@@ -553,11 +600,18 @@ + (ior (match_operand 0 "register_no_elim_operand") + (match_operand 0 "immediate_operand"))) + ++;; Test for a valid operand for indirect branch. ++(define_predicate "indirect_branch_operand" ++ (if_then_else (match_test "TARGET_X32") ++ (match_operand 0 "register_operand") ++ (match_operand 0 "nonimmediate_operand"))) ++ + ;; Test for a valid operand for a call instruction. + (define_predicate "call_insn_operand" + (ior (match_operand 0 "constant_call_address_operand") + (match_operand 0 "call_register_no_elim_operand") +- (match_operand 0 "memory_operand"))) ++ (and (match_test "!TARGET_X32") ++ (match_operand 0 "memory_operand")))) + + ;; Similarly, but for tail calls, in which we cannot allow memory references. + (define_predicate "sibcall_insn_operand" +@@ -850,6 +904,11 @@ + ok = ix86_decompose_address (op, &parts); + gcc_assert (ok); + ++ if (parts.base && GET_CODE (parts.base) == SUBREG) ++ parts.base = SUBREG_REG (parts.base); ++ if (parts.index && GET_CODE (parts.index) == SUBREG) ++ parts.index = SUBREG_REG (parts.index); ++ + /* Look for some component that isn't known to be aligned. */ + if (parts.index) + { +@@ -913,6 +972,12 @@ + + ok = ix86_decompose_address (XEXP (op, 0), &parts); + gcc_assert (ok); ++ ++ if (parts.base && GET_CODE (parts.base) == SUBREG) ++ parts.base = SUBREG_REG (parts.base); ++ if (parts.index && GET_CODE (parts.index) == SUBREG) ++ parts.index = SUBREG_REG (parts.index); ++ + if (parts.base == NULL_RTX + || parts.base == arg_pointer_rtx + || parts.base == frame_pointer_rtx +diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md +index b5b900a..03a7e0e 100644 +--- a/gcc/config/i386/sse.md ++++ b/gcc/config/i386/sse.md +@@ -8174,7 +8174,7 @@ + (set_attr "mode" "TI")]) + + (define_insn "*sse2_maskmovdqu_rex64" +- [(set (mem:V16QI (match_operand:DI 0 "register_operand" "D")) ++ [(set (mem:V16QI (match_operand:P 0 "register_operand" "D")) + (unspec:V16QI [(match_operand:V16QI 1 "register_operand" "x") + (match_operand:V16QI 2 "register_operand" "x") + (mem:V16QI (match_dup 0))] +@@ -8296,8 +8296,8 @@ + "monitor\t%0, %1, %2" + [(set_attr "length" "3")]) + +-(define_insn "sse3_monitor64" +- [(unspec_volatile [(match_operand:DI 0 "register_operand" "a") ++(define_insn "sse3_monitor_<x86_64_mode>" ++ [(unspec_volatile [(match_operand:P 0 "register_operand" "a") + (match_operand:SI 1 "register_operand" "c") + (match_operand:SI 2 "register_operand" "d")] + UNSPECV_MONITOR)] +diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 +index 5d5a476..ea8f5e9 100644 +--- a/gcc/config/i386/t-linux64 ++++ b/gcc/config/i386/t-linux64 +@@ -1,4 +1,5 @@ +-# Copyright (C) 2002, 2005, 2007, 2008 Free Software Foundation, Inc. ++# Copyright (C) 2002, 2005, 2007, 2008, 2011 ++# Free Software Foundation, Inc. + # + # This file is part of GCC. + # +@@ -23,9 +24,19 @@ + # it doesn't tell anything about the 32bit libraries on those systems. Set + # MULTILIB_OSDIRNAMES according to what is found on the target. + +-MULTILIB_OPTIONS = m64/m32 +-MULTILIB_DIRNAMES = 64 32 +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++# To support i386, x86-64 and x32 libraries, the directory structrue ++# should be: ++# ++# /lib has i386 libraries. ++# /lib64 has x86-64 libraries. ++# /libx32 has x32 libraries. ++# ++comma=, ++MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) ++MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) ++MULTILIB_OSDIRNAMES = m64=../lib64 ++MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_OSDIRNAMES+= mx32=../libx32 + + LIBGCC = stmp-multilib + INSTALL_LIBGCC = install-multilib +diff --git a/gcc/config/i386/x86-64.h b/gcc/config/i386/x86-64.h +index b85dab9..d20f326 100644 +--- a/gcc/config/i386/x86-64.h ++++ b/gcc/config/i386/x86-64.h +@@ -38,10 +38,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #define MCOUNT_NAME "mcount" + + #undef SIZE_TYPE +-#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int") ++#define SIZE_TYPE (TARGET_LP64 ? "long unsigned int" : "unsigned int") + + #undef PTRDIFF_TYPE +-#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int") ++#define PTRDIFF_TYPE (TARGET_LP64 ? "long int" : "int") + + #undef WCHAR_TYPE + #define WCHAR_TYPE "int" +diff --git a/gcc/config/linux.h b/gcc/config/linux.h +index 00b4f1c..ed22877 100644 +--- a/gcc/config/linux.h ++++ b/gcc/config/linux.h +@@ -77,9 +77,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" + #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" + #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" ++#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0" + #define BIONIC_DYNAMIC_LINKER "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" ++#define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32" + + #define LINUX_DYNAMIC_LINKER \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ +@@ -90,6 +92,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #define LINUX_DYNAMIC_LINKER64 \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ + BIONIC_DYNAMIC_LINKER64) ++#define LINUX_DYNAMIC_LINKERX32 \ ++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ ++ BIONIC_DYNAMIC_LINKERX32) + + /* Determine whether the entire c99 runtime + is present in the runtime library. */ +diff --git a/gcc/configure b/gcc/configure +index 1960d5a..5b848b6 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -1649,7 +1649,7 @@ Optional Packages: + --with-specs=SPECS add SPECS to driver command-line processing + --with-pkgversion=PKG Use PKG in the version string in place of "GCC" + --with-bugurl=URL Direct users to URL to report a bug +- --with-multilib-list Select multilibs (SH only) ++ --with-multilib-list Select multilibs (SH and x86-64 only) + --with-gnu-ld assume the C compiler uses GNU ld default=no + --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib + --without-libiconv-prefix don't search for libiconv in includedir and libdir +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 505a54d..485dbfa 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -786,7 +786,7 @@ esac], + [enable_languages=c]) + + AC_ARG_WITH(multilib-list, +-[ --with-multilib-list Select multilibs (SH only)], ++[ --with-multilib-list Select multilibs (SH and x86-64 only)], + :, + with_multilib_list=default) + +diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi +index fc04c96..a9d2d2e 100644 +--- a/gcc/doc/install.texi ++++ b/gcc/doc/install.texi +@@ -1035,8 +1035,10 @@ sysv, aix. + @item --with-multilib-list=@var{list} + @itemx --without-multilib-list + Specify what multilibs to build. +-Currently only implemented for sh*-*-*. ++Currently only implemented for sh*-*-* and x86-64-*-linux*. + ++@table @code ++@item sh*-*-* + @var{list} is a comma separated list of CPU names. These must be of the + form @code{sh*} or @code{m*} (in which case they match the compiler option + for that processor). The list should not contain any endian options - +@@ -1068,6 +1070,16 @@ only little endian SH4AL: + --with-multilib-list=sh4al,!mb/m4al + @end smallexample + ++@item x86-64-*-linux* ++@var{list} is a comma separated list of @code{m32}, @code{m64} and ++@code{mx32} to enable 32-bit, 64-bit and x32 run-time libraries, ++respectively. If @var{list} is empty, then there will be no multilibs ++and only the default run-time library will be enabled. ++ ++If @option{--with-multilib-list} is not given, then only 32-bit and ++64-bit run-time libraries will be enabled. ++@end table ++ + @item --with-endian=@var{endians} + Specify what endians to use. + Currently only implemented for sh*-*-*. +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index a918e60..903308e 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -610,7 +610,7 @@ Objective-C and Objective-C++ Dialects}. + -mpc32 -mpc64 -mpc80 -mstackrealign @gol + -momit-leaf-frame-pointer -mno-red-zone -mno-tls-direct-seg-refs @gol + -mcmodel=@var{code-model} -mabi=@var{name} @gol +--m32 -m64 -mlarge-data-threshold=@var{num} @gol ++-m32 -m64 -mx32 -mlarge-data-threshold=@var{num} @gol + -msse2avx -mfentry -m8bit-idiv @gol + -mavx256-split-unaligned-load -mavx256-split-unaligned-store} + +@@ -12900,15 +12900,19 @@ on AMD x86-64 processors in 64-bit environments. + @table @gcctabopt + @item -m32 + @itemx -m64 ++@itemx -mx32 + @opindex m32 + @opindex m64 ++@opindex mx32 + Generate code for a 32-bit or 64-bit environment. +-The 32-bit environment sets int, long and pointer to 32 bits and ++The @option{-m32} option sets int, long and pointer to 32 bits and + generates code that runs on any i386 system. +-The 64-bit environment sets int to 32 bits and long and pointer +-to 64 bits and generates code for AMD's x86-64 architecture. For +-darwin only the -m64 option turns off the @option{-fno-pic} and +-@option{-mdynamic-no-pic} options. ++The @option{-m64} option sets int to 32 bits and long and pointer ++to 64 bits and generates code for AMD's x86-64 architecture. ++The @option{-mx32} option sets int, long and pointer to 32 bits and ++generates code for AMD's x86-64 architecture. ++For darwin only the @option{-m64} option turns off the @option{-fno-pic} ++and @option{-mdynamic-no-pic} options. + + @item -mno-red-zone + @opindex mno-red-zone +diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi +index f7c0cce..9939449 100644 +--- a/gcc/doc/tm.texi ++++ b/gcc/doc/tm.texi +@@ -3723,6 +3723,24 @@ return @code{@var{regno}}. + + @end defmac + ++@defmac REG_VALUE_IN_UNWIND_CONTEXT ++ ++Define this macro if the target stores register values as ++@code{_Unwind_Word} type in unwind context. It should be defined if ++target register size is larger than the size of @code{void *}. The ++default is to store register values as @code{void *} type. ++ ++@end defmac ++ ++@defmac ASSUME_EXTENDED_UNWIND_CONTEXT ++ ++Define this macro to be 1 if the target always uses extended unwind ++context with version, args_size and by_value fields. If it is undefined, ++it will be defined to 1 when @code{REG_VALUE_IN_UNWIND_CONTEXT} is ++defined and 0 otherwise. ++ ++@end defmac ++ + @node Elimination + @subsection Eliminating Frame Pointer and Arg Pointer + +diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in +index 40acf65..26cbbeb 100644 +--- a/gcc/doc/tm.texi.in ++++ b/gcc/doc/tm.texi.in +@@ -3711,6 +3711,24 @@ return @code{@var{regno}}. + + @end defmac + ++@defmac REG_VALUE_IN_UNWIND_CONTEXT ++ ++Define this macro if the target stores register values as ++@code{_Unwind_Word} type in unwind context. It should be defined if ++target register size is larger than the size of @code{void *}. The ++default is to store register values as @code{void *} type. ++ ++@end defmac ++ ++@defmac ASSUME_EXTENDED_UNWIND_CONTEXT ++ ++Define this macro to be 1 if the target always uses extended unwind ++context with version, args_size and by_value fields. If it is undefined, ++it will be defined to 1 when @code{REG_VALUE_IN_UNWIND_CONTEXT} is ++defined and 0 otherwise. ++ ++@end defmac ++ + @node Elimination + @subsection Eliminating Frame Pointer and Arg Pointer + +diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c +index f0330ba..1f010f3 100644 +--- a/gcc/dwarf2out.c ++++ b/gcc/dwarf2out.c +@@ -2602,7 +2602,8 @@ dwarf2out_frame_debug_expr (rtx expr, const char *label) + regiser. */ + if (fde + && fde->stack_realign +- && src == hard_frame_pointer_rtx) ++ && REG_P (src) ++ && REGNO (src) == HARD_FRAME_POINTER_REGNUM) + { + gcc_assert (cfa.reg != HARD_FRAME_POINTER_REGNUM); + cfa_store.offset = 0; +diff --git a/gcc/fwprop.c b/gcc/fwprop.c +index b2fd955..c8009d0 100644 +--- a/gcc/fwprop.c ++++ b/gcc/fwprop.c +@@ -1101,6 +1101,7 @@ forward_propagate_subreg (df_ref use, rtx def_insn, rtx def_set) + src = SET_SRC (def_set); + if (GET_CODE (src) == SUBREG + && REG_P (SUBREG_REG (src)) ++ && REGNO (SUBREG_REG (src)) >= FIRST_PSEUDO_REGISTER + && GET_MODE (SUBREG_REG (src)) == use_mode + && subreg_lowpart_p (src) + && all_uses_available_at (def_insn, use_insn)) +@@ -1119,6 +1120,7 @@ forward_propagate_subreg (df_ref use, rtx def_insn, rtx def_set) + if ((GET_CODE (src) == ZERO_EXTEND + || GET_CODE (src) == SIGN_EXTEND) + && REG_P (XEXP (src, 0)) ++ && REGNO (XEXP (src, 0)) >= FIRST_PSEUDO_REGISTER + && GET_MODE (XEXP (src, 0)) == use_mode + && !free_load_extend (src, def_insn) + && all_uses_available_at (def_insn, use_insn)) +diff --git a/gcc/longlong.h b/gcc/longlong.h +index acb3185..db8c289 100644 +--- a/gcc/longlong.h ++++ b/gcc/longlong.h +@@ -1,6 +1,6 @@ + /* longlong.h -- definitions for mixed size 32/64 bit arithmetic. + Copyright (C) 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 ++ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + Free Software Foundation, Inc. + + This file is part of the GNU C Library. +@@ -431,8 +431,8 @@ UDItype __umulsidi3 (USItype, USItype); + : "0" ((UDItype) (n0)), \ + "1" ((UDItype) (n1)), \ + "rm" ((UDItype) (dv))) +-#define count_leading_zeros(count, x) ((count) = __builtin_clzl (x)) +-#define count_trailing_zeros(count, x) ((count) = __builtin_ctzl (x)) ++#define count_leading_zeros(count, x) ((count) = __builtin_clzll (x)) ++#define count_trailing_zeros(count, x) ((count) = __builtin_ctzll (x)) + #define UMUL_TIME 40 + #define UDIV_TIME 40 + #endif /* x86_64 */ +diff --git a/gcc/testsuite/ChangeLog.x32 b/gcc/testsuite/ChangeLog.x32 +new file mode 100644 +index 0000000..e496341 +--- /dev/null ++++ b/gcc/testsuite/ChangeLog.x32 +@@ -0,0 +1,424 @@ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * objc.dg/torture/forward-1.m: Check ia32 instead of ilp32. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * gcc.target/i386/pr49920.c: Check ia32 instead of ilp32. ++ * gcc.target/i386/pr50712.c: Likewise. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * gcc.dg/pr46212.c: Correct merge. ++ * gcc.target/i386/incoming-8.c: Likewise. ++ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c: Only run ++ on lp64 targets. ++ * gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c: Likewise. ++ * gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c: Likewise. ++ * gcc/testsuite/gcc.target/i386/pr43662.c: Likewise. ++ * gcc/testsuite/gcc.target/i386/pr43869.c: Likewise. ++ ++ * gcc.target/x86_64/abi/callabi/callabi.exp: Check ilp32 ++ instead of ia32. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * gcc.target/i386/builtin-copysign.c: Remove __LP64__ check. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Check ++ ia32. ++ * go.test/go-test.exp (go-set-goarch): Likewise. ++ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * c-c++-common/dfp/func-vararg-alternate-d128-2.c: Support x32. ++ * c-c++-common/dfp/func-vararg-mixed-2.c: Likewise. ++ * g++.dg/abi/bitfield3.C: Likewise. ++ * g++.dg/eh/pr38662.C: Likewise. ++ * g++.dg/ext/attrib36.C: Likewise. ++ * g++.dg/ext/attrib37.C: Likewise. ++ * g++.dg/ext/attrib8.C: Likewise. ++ * g++.dg/ext/tmplattr1.C: Likewise. ++ * g++.dg/inherit/override-attribs.C: Likewise. ++ * g++.dg/opt/inline9.C: Likewise. ++ * g++.dg/opt/life1.C: Likewise. ++ * g++.dg/opt/longbranch2.C: Likewise. ++ * g++.dg/opt/nrv12.C: Likewise. ++ * g++.dg/opt/reg-stack4.C: Likewise. ++ * g++.dg/other/pr35504.C: Likewise. ++ * g++.dg/other/pr39496.C: Likewise. ++ * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. ++ * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. ++ * g++.dg/torture/stackalign/stdcall-1.C: Likewise. ++ * g++.dg/torture/stackalign/unwind-0.C: Likewise. ++ * g++.dg/torture/stackalign/unwind-1.C: Likewise. ++ * g++.dg/torture/stackalign/unwind-2.C: Likewise. ++ * g++.dg/torture/stackalign/unwind-3.C: Likewise. ++ * g++.dg/torture/stackalign/unwind-4.C: Likewise. ++ * g++.dg/torture/stackalign/unwind-5.C: Likewise. ++ * g++.dg/torture/stackalign/unwind-6.C: Likewise. ++ * g++.dg/warn/pr15774-1.C: Likewise. ++ * g++.dg/warn/pr15774-2.C: Likewise. ++ * g++.old-deja/g++.ext/attrib1.C: Likewise. ++ * g++.old-deja/g++.ext/attrib2.C: Likewise. ++ * g++.old-deja/g++.ext/attrib3.C: Likewise. ++ * g++.old-deja/g++.pt/asm2.C: Likewise. ++ * gcc.c-torture/compile/20000804-1.c: Likewise. ++ * gcc.c-torture/compile/pr16566-2.c: Likewise. ++ * gcc.c-torture/execute/ieee/ieee.exp: Likewise. ++ * gcc.dg/20020108-1.c: Likewise. ++ * gcc.dg/20020122-2.c: Likewise. ++ * gcc.dg/20020122-3.c: Likewise. ++ * gcc.dg/20020206-1.c: Likewise. ++ * gcc.dg/20020219-1.c: Likewise. ++ * gcc.dg/20020310-1.c: Likewise. ++ * gcc.dg/20020411-1.c: Likewise. ++ * gcc.dg/20020418-2.c: Likewise. ++ * gcc.dg/20020426-2.c: Likewise. ++ * gcc.dg/20020517-1.c: Likewise. ++ * gcc.dg/20030204-1.c: Likewise. ++ * gcc.dg/20030826-2.c: Likewise. ++ * gcc.dg/20031102-1.c: Likewise. ++ * gcc.dg/20031202-1.c: Likewise. ++ * gcc.dg/20050111-1.c: Likewise. ++ * gcc.dg/20050503-1.c: Likewise. ++ * gcc.dg/array-init-1.c: Likewise. ++ * gcc.dg/builtin-apply4.c: Likewise. ++ * gcc.dg/dfp/pr31344.c: Likewise. ++ * gcc.dg/gomp/atomic-11.c: Likewise. ++ * gcc.dg/graphite/pr40281.c: Likewise. ++ * gcc.dg/ia64-sync-1.c: Likewise. ++ * gcc.dg/ia64-sync-2.c: Likewise. ++ * gcc.dg/ia64-sync-3.c: Likewise. ++ * gcc.dg/ia64-sync-4.c: Likewise. ++ * gcc.dg/ifcvt-fabs-1.c: Likewise. ++ * gcc.dg/invalid-call-1.c: Likewise. ++ * gcc.dg/loop-3.c: Likewise. ++ * gcc.dg/lower-subreg-1.c: Likewise. ++ * gcc.dg/lto/pr47259_0.c: Likewise. ++ * gcc.dg/nested-calls-1.c: Likewise. ++ * gcc.dg/pr20017.c: Likewise. ++ * gcc.dg/pr25023.c: Likewise. ++ * gcc.dg/pr27671-2.c: Likewise. ++ * gcc.dg/pr32176.c: Likewise. ++ * gcc.dg/pr33676.c: Likewise. ++ * gcc.dg/pr35045.c: Likewise. ++ * gcc.dg/pr36015.c: Likewise. ++ * gcc.dg/pr36584.c: Likewise. ++ * gcc.dg/pr36998.c: Likewise. ++ * gcc.dg/pr37438.c: Likewise. ++ * gcc.dg/pr37908.c: Likewise. ++ * gcc.dg/pr41241.c: Likewise. ++ * gcc.dg/pr41340.c: Likewise. ++ * gcc.dg/pr44136.c: Likewise. ++ * gcc.dg/pr46212.c: Likewise. ++ * gcc.dg/prefetch-loop-arrays-1.c: Likewise. ++ * gcc.dg/setjmp-2.c: Likewise. ++ * gcc.dg/short-compare-1.c: Likewise. ++ * gcc.dg/short-compare-2.c: Likewise. ++ * gcc.dg/smod-1.c: Likewise. ++ * gcc.dg/sync-2.c: Likewise. ++ * gcc.dg/sync-3.c: Likewise. ++ * gcc.dg/tls/opt-1.c: Likewise. ++ * gcc.dg/tls/opt-2.c: Likewise. ++ * gcc.dg/tls/opt-3.c: Likewise. ++ * gcc.dg/torture/badshift.c: Likewise. ++ * gcc.dg/torture/fp-int-convert-float80-timode.c: Likewise. ++ * gcc.dg/torture/pr20314-2.c: Likewise. ++ * gcc.dg/torture/pr36891.c: Likewise. ++ * gcc.dg/torture/pr38774.c: Likewise. ++ * gcc.dg/torture/stackalign/alloca-2.c: Likewise. ++ * gcc.dg/torture/stackalign/alloca-4.c: Likewise. ++ * gcc.dg/torture/stackalign/alloca-5.c: Likewise. ++ * gcc.dg/torture/stackalign/alloca-6.c: Likewise. ++ * gcc.dg/torture/stackalign/fastcall-1.c: Likewise. ++ * gcc.dg/torture/stackalign/push-1.c: Likewise. ++ * gcc.dg/torture/stackalign/regparm-1.c: Likewise. ++ * gcc.dg/torture/stackalign/thiscall-1.c: Likewise. ++ * gcc.dg/tree-ssa/loop-28.c: Likewise. ++ * gcc.dg/tree-ssa/prefetch-3.c: Likewise. ++ * gcc.dg/tree-ssa/prefetch-4.c: Likewise. ++ * gcc.dg/tree-ssa/prefetch-5.c: Likewise. ++ * gcc.dg/tree-ssa/prefetch-6.c: Likewise. ++ * gcc.dg/tree-ssa/prefetch-7.c: Likewise. ++ * gcc.dg/tree-ssa/prefetch-8.c: Likewise. ++ * gcc.dg/tree-ssa/prefetch-9.c: Likewise. ++ * gcc.dg/tree-ssa/stdarg-2.c: Likewise. ++ * gcc.dg/tree-ssa/stdarg-3.c: Likewise. ++ * gcc.dg/tree-ssa/stdarg-4.c: Likewise. ++ * gcc.dg/tree-ssa/stdarg-5.c: Likewise. ++ * gcc.dg/tree-ssa/update-unroll-1.c: Likewise. ++ * gcc.dg/unroll-1.c: Likewise. ++ * gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Likewise. ++ * gcc.misc-tests/i386-pf-3dnow-1.c: Likewise. ++ * gcc.misc-tests/i386-pf-athlon-1.c: Likewise. ++ * gcc.misc-tests/i386-pf-none-1.c: Likewise. ++ * gcc.misc-tests/i386-pf-sse-1.c: Likewise. ++ * gcc.target/i386/20000609-1.c: Likewise. ++ * gcc.target/i386/20000720-1.c: Likewise. ++ * gcc.target/i386/20000724-1.c: Likewise. ++ * gcc.target/i386/20011107-1.c: Likewise. ++ * gcc.target/i386/20011119-1.c: Likewise. ++ * gcc.target/i386/20020201-3.c: Likewise. ++ * gcc.target/i386/20020218-1.c: Likewise. ++ * gcc.target/i386/20020729-1.c: Likewise. ++ * gcc.target/i386/20030926-1.c: Likewise. ++ * gcc.target/i386/20060125-1.c: Likewise. ++ * gcc.target/i386/20060125-2.c: Likewise. ++ * gcc.target/i386/20060512-1.c: Likewise. ++ * gcc.target/i386/20060512-2.c: Likewise. ++ * gcc.target/i386/20060512-3.c: Likewise. ++ * gcc.target/i386/20060512-4.c: Likewise. ++ * gcc.target/i386/387-1.c: Likewise. ++ * gcc.target/i386/387-2.c: Likewise. ++ * gcc.target/i386/387-5.c: Likewise. ++ * gcc.target/i386/387-6.c: Likewise. ++ * gcc.target/i386/980312-1.c: Likewise. ++ * gcc.target/i386/980313-1.c: Likewise. ++ * gcc.target/i386/990117-1.c: Likewise. ++ * gcc.target/i386/990424-1.c: Likewise. ++ * gcc.target/i386/990524-1.c: Likewise. ++ * gcc.target/i386/991129-1.c: Likewise. ++ * gcc.target/i386/991214-1.c: Likewise. ++ * gcc.target/i386/991230-1.c: Likewise. ++ * gcc.target/i386/addr-sel-1.c: Likewise. ++ * gcc.target/i386/aggregate-ret1.c: Likewise. ++ * gcc.target/i386/aggregate-ret2.c: Likewise. ++ * gcc.target/i386/align-main-3.c: Likewise. ++ * gcc.target/i386/amd64-abi-1.c: Likewise. ++ * gcc.target/i386/amd64-abi-2.c: Likewise. ++ * gcc.target/i386/amd64-abi-4.c: Likewise. ++ * gcc.target/i386/amd64-abi-5.c: Likewise. ++ * gcc.target/i386/amd64-abi-6.c: Likewise. ++ * gcc.target/i386/asm-1.c: Likewise. ++ * gcc.target/i386/asm-3.c: Likewise. ++ * gcc.target/i386/asm-5.c: Likewise. ++ * gcc.target/i386/attributes-error.c: Likewise. ++ * gcc.target/i386/avx-vcvtsd2si-2.c: Likewise. ++ * gcc.target/i386/avx-vcvtsi2sd-2.c: Likewise. ++ * gcc.target/i386/avx-vcvtsi2ss-2.c: Likewise. ++ * gcc.target/i386/avx-vcvtss2si-2.c: Likewise. ++ * gcc.target/i386/avx-vcvttsd2si-2.c: Likewise. ++ * gcc.target/i386/avx-vcvttss2si-2.c: Likewise. ++ * gcc.target/i386/avx-vinsertps-3.c: Likewise. ++ * gcc.target/i386/avx-vmovd-2.c: Likewise. ++ * gcc.target/i386/avx-vmovq-2.c: Likewise. ++ * gcc.target/i386/avx-vmovq-3.c: Likewise. ++ * gcc.target/i386/avx-vpextrq-1.c: Likewise. ++ * gcc.target/i386/avx-vpinsrq-1.c: Likewise. ++ * gcc.target/i386/avx-vzeroupper-16.c: Likewise. ++ * gcc.target/i386/avx-vzeroupper-17.c: Likewise. ++ * gcc.target/i386/avx-vzeroupper-18.c: Likewise. ++ * gcc.target/i386/bitfield1.c: Likewise. ++ * gcc.target/i386/bitfield2.c: Likewise. ++ * gcc.target/i386/bmi-2.c: Likewise. ++ * gcc.target/i386/bmi-5.c: Likewise. ++ * gcc.target/i386/builtin-unreachable.c: Likewise. ++ * gcc.target/i386/cleanup-2.c: Likewise. ++ * gcc.target/i386/clobbers.c: Likewise. ++ * gcc.target/i386/cmov8.c: Likewise. ++ * gcc.target/i386/cmpxchg16b-1.c: Likewise. ++ * gcc.target/i386/compress-float-387-pic.c: Likewise. ++ * gcc.target/i386/compress-float-387.c: Likewise. ++ * gcc.target/i386/compress-float-sse-pic.c: Likewise. ++ * gcc.target/i386/compress-float-sse.c: Likewise. ++ * gcc.target/i386/crc32-2.c: Likewise. ++ * gcc.target/i386/crc32-3.c: Likewise. ++ * gcc.target/i386/divmod-7.c: Likewise. ++ * gcc.target/i386/divmod-8.c: Likewise. ++ * gcc.target/i386/fastcall-sseregparm.c: Likewise. ++ * gcc.target/i386/fma3-builtin.c: Likewise. ++ * gcc.target/i386/fma3-fma.c: Likewise. ++ * gcc.target/i386/fma4-256-vector.c: Likewise. ++ * gcc.target/i386/fma4-builtin.c: Likewise. ++ * gcc.target/i386/fma4-fma-2.c: Likewise. ++ * gcc.target/i386/fma4-fma.c: Likewise. ++ * gcc.target/i386/fma4-vector-2.c: Likewise. ++ * gcc.target/i386/fma4-vector.c: Likewise. ++ * gcc.target/i386/funcspec-1.c: Likewise. ++ * gcc.target/i386/funcspec-10.c: Likewise. ++ * gcc.target/i386/funcspec-11.c: Likewise. ++ * gcc.target/i386/funcspec-2.c: Likewise. ++ * gcc.target/i386/funcspec-5.c: Likewise. ++ * gcc.target/i386/funcspec-6.c: Likewise. ++ * gcc.target/i386/gcc-have-sync-compare-and-swap-1.c: Likewise. ++ * gcc.target/i386/gcc-have-sync-compare-and-swap-2.c: Likewise. ++ * gcc.target/i386/gcc-have-sync-compare-and-swap-3.c: Likewise. ++ * gcc.target/i386/gcc-have-sync-compare-and-swap-4.c: Likewise. ++ * gcc.target/i386/incoming-1.c: Likewise. ++ * gcc.target/i386/incoming-10.c: Likewise. ++ * gcc.target/i386/incoming-11.c: Likewise. ++ * gcc.target/i386/incoming-12.c: Likewise. ++ * gcc.target/i386/incoming-13.c: Likewise. ++ * gcc.target/i386/incoming-14.c: Likewise. ++ * gcc.target/i386/incoming-15.c: Likewise. ++ * gcc.target/i386/incoming-2.c: Likewise. ++ * gcc.target/i386/incoming-3.c: Likewise. ++ * gcc.target/i386/incoming-4.c: Likewise. ++ * gcc.target/i386/incoming-5.c: Likewise. ++ * gcc.target/i386/incoming-6.c: Likewise. ++ * gcc.target/i386/incoming-7.c: Likewise. ++ * gcc.target/i386/incoming-8.c: Likewise. ++ * gcc.target/i386/incoming-9.c: Likewise. ++ * gcc.target/i386/lea.c: Likewise. ++ * gcc.target/i386/local.c: Likewise. ++ * gcc.target/i386/loop-1.c: Likewise. ++ * gcc.target/i386/loop-2.c: Likewise. ++ * gcc.target/i386/loop-3.c: Likewise. ++ * gcc.target/i386/max-stack-align.c: Likewise. ++ * gcc.target/i386/memcpy-1.c: Likewise. ++ * gcc.target/i386/movbe-2.c: Likewise. ++ * gcc.target/i386/movq-2.c: Likewise. ++ * gcc.target/i386/movq.c: Likewise. ++ * gcc.target/i386/nrv1.c: Likewise. ++ * gcc.target/i386/pad-4.c: Likewise. ++ * gcc.target/i386/pad-5a.c: Likewise. ++ * gcc.target/i386/pad-5b.c: Likewise. ++ * gcc.target/i386/pad-6a.c: Likewise. ++ * gcc.target/i386/pad-6b.c: Likewise. ++ * gcc.target/i386/pad-7.c: Likewise. ++ * gcc.target/i386/pad-9.c: Likewise. ++ * gcc.target/i386/pentium4-not-mull.c: Likewise. ++ * gcc.target/i386/pic-1.c: Likewise. ++ * gcc.target/i386/pr12092-1.c: Likewise. ++ * gcc.target/i386/pr12329.c: Likewise. ++ * gcc.target/i386/pr21518.c: Likewise. ++ * gcc.target/i386/pr22362.c: Likewise. ++ * gcc.target/i386/pr22585.c: Likewise. ++ * gcc.target/i386/pr23098.c: Likewise. ++ * gcc.target/i386/pr25196.c: Likewise. ++ * gcc.target/i386/pr25293.c: Likewise. ++ * gcc.target/i386/pr25654.c: Likewise. ++ * gcc.target/i386/pr26449.c: Likewise. ++ * gcc.target/i386/pr26778.c: Likewise. ++ * gcc.target/i386/pr26826.c: Likewise. ++ * gcc.target/i386/pr27266.c: Likewise. ++ * gcc.target/i386/pr29978.c: Likewise. ++ * gcc.target/i386/pr30505.c: Likewise. ++ * gcc.target/i386/pr30961-1.c: Likewise. ++ * gcc.target/i386/pr31628.c: Likewise. ++ * gcc.target/i386/pr32000-2.c: Likewise. ++ * gcc.target/i386/pr32661-1.c: Likewise. ++ * gcc.target/i386/pr32708-2.c: Likewise. ++ * gcc.target/i386/pr32708-3.c: Likewise. ++ * gcc.target/i386/pr34256.c: Likewise. ++ * gcc.target/i386/pr34312.c: Likewise. ++ * gcc.target/i386/pr34522.c: Likewise. ++ * gcc.target/i386/pr35160.c: Likewise. ++ * gcc.target/i386/pr35281.c: Likewise. ++ * gcc.target/i386/pr36246.c: Likewise. ++ * gcc.target/i386/pr36786.c: Likewise. ++ * gcc.target/i386/pr37275.c: Likewise. ++ * gcc.target/i386/pr37843-3.c: Likewise. ++ * gcc.target/i386/pr37843-4.c: Likewise. ++ * gcc.target/i386/pr39082-1.c: Likewise. ++ * gcc.target/i386/pr39431.c: Likewise. ++ * gcc.target/i386/pr39496.c: Likewise. ++ * gcc.target/i386/pr39543-2.c: Likewise. ++ * gcc.target/i386/pr39911.c: Likewise. ++ * gcc.target/i386/pr40718.c: Likewise. ++ * gcc.target/i386/pr40906-1.c: Likewise. ++ * gcc.target/i386/pr40906-2.c: Likewise. ++ * gcc.target/i386/pr40906-3.c: Likewise. ++ * gcc.target/i386/pr40934.c: Likewise. ++ * gcc.target/i386/pr41900.c: Likewise. ++ * gcc.target/i386/pr42589.c: Likewise. ++ * gcc.target/i386/pr43662.c: Likewise. ++ * gcc.target/i386/pr43671.c: Likewise. ++ * gcc.target/i386/pr43766.c: Likewise. ++ * gcc.target/i386/pr43869.c: Likewise. ++ * gcc.target/i386/pr44942.c: Likewise. ++ * gcc.target/i386/pr44948-2a.c: Likewise. ++ * gcc.target/i386/pr45234.c: Likewise. ++ * gcc.target/i386/pr45336-2.c: Likewise. ++ * gcc.target/i386/pr45336-4.c: Likewise. ++ * gcc.target/i386/pr45852.c: Likewise. ++ * gcc.target/i386/pr46470.c: Likewise. ++ * gcc.target/i386/pr9771-1.c: Likewise. ++ * gcc.target/i386/rdfsbase-1.c: Likewise. ++ * gcc.target/i386/rdfsbase-2.c: Likewise. ++ * gcc.target/i386/rdgsbase-1.c: Likewise. ++ * gcc.target/i386/rdgsbase-2.c: Likewise. ++ * gcc.target/i386/rdrand-3.c: Likewise. ++ * gcc.target/i386/regparm-stdcall.c: Likewise. ++ * gcc.target/i386/regparm.c: Likewise. ++ * gcc.target/i386/reload-1.c: Likewise. ++ * gcc.target/i386/rotate-2.c: Likewise. ++ * gcc.target/i386/sibcall-5.c: Likewise. ++ * gcc.target/i386/signbit-1.c: Likewise. ++ * gcc.target/i386/signbit-2.c: Likewise. ++ * gcc.target/i386/signbit-3.c: Likewise. ++ * gcc.target/i386/sse-5.c: Likewise. ++ * gcc.target/i386/sse-8.c: Likewise. ++ * gcc.target/i386/sse-cvtsi2ss-2.c: Likewise. ++ * gcc.target/i386/sse-cvtss2si-2.c: Likewise. ++ * gcc.target/i386/sse-cvttss2si-2.c: Likewise. ++ * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise. ++ * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise. ++ * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise. ++ * gcc.target/i386/sse2-init-v2di-2.c: Likewise. ++ * gcc.target/i386/sse2-movq-2.c: Likewise. ++ * gcc.target/i386/sse2-movq-3.c: Likewise. ++ * gcc.target/i386/sse4_1-insertps-3.c: Likewise. ++ * gcc.target/i386/sse4_1-pextrq.c: Likewise. ++ * gcc.target/i386/sse4_1-pinsrq.c: Likewise. ++ * gcc.target/i386/sse4_2-crc32q.c: Likewise. ++ * gcc.target/i386/sse4_2-popcntq.c: Likewise. ++ * gcc.target/i386/ssefn-1.c: Likewise. ++ * gcc.target/i386/ssefn-2.c: Likewise. ++ * gcc.target/i386/sseregparm-1.c: Likewise. ++ * gcc.target/i386/sseregparm-2.c: Likewise. ++ * gcc.target/i386/sseregparm-3.c: Likewise. ++ * gcc.target/i386/sseregparm-4.c: Likewise. ++ * gcc.target/i386/sseregparm-5.c: Likewise. ++ * gcc.target/i386/sseregparm-6.c: Likewise. ++ * gcc.target/i386/sseregparm-7.c: Likewise. ++ * gcc.target/i386/sseregparm-8.c: Likewise. ++ * gcc.target/i386/stack-realign.c: Likewise. ++ * gcc.target/i386/stack-usage-realign.c: Likewise. ++ * gcc.target/i386/stackalign/asm-1.c: Likewise. ++ * gcc.target/i386/stackalign/longlong-1.c: Likewise. ++ * gcc.target/i386/stackalign/longlong-2.c: Likewise. ++ * gcc.target/i386/stackalign/return-1.c: Likewise. ++ * gcc.target/i386/stackalign/return-2.c: Likewise. ++ * gcc.target/i386/stackalign/return-3.c: Likewise. ++ * gcc.target/i386/tailcall-1.c: Likewise. ++ * gcc.target/i386/tbm-2.c: Likewise. ++ * gcc.target/i386/udivmod-7.c: Likewise. ++ * gcc.target/i386/udivmod-8.c: Likewise. ++ * gcc.target/i386/unroll-1.c: Likewise. ++ * gcc.target/i386/vararg-1.c: Likewise. ++ * gcc.target/i386/vararg-2.c: Likewise. ++ * gcc.target/i386/vect8-ret.c: Likewise. ++ * gcc.target/i386/vectorize5.c: Likewise. ++ * gcc.target/i386/wmul-1.c: Likewise. ++ * gcc.target/i386/wmul-2.c: Likewise. ++ * gcc.target/i386/wrfsbase-1.c: Likewise. ++ * gcc.target/i386/wrfsbase-2.c: Likewise. ++ * gcc.target/i386/wrgsbase-1.c: Likewise. ++ * gcc.target/i386/wrgsbase-2.c: Likewise. ++ * gcc.target/i386/xop-pcmov.c: Likewise. ++ * gcc.target/i386/xop-pcmov2.c: Likewise. ++ * gcc.target/i386/xop-rotate1-vector.c: Likewise. ++ * gcc.target/i386/xop-rotate2-vector.c: Likewise. ++ * gcc.target/i386/xop-rotate3-vector.c: Likewise. ++ * gcc.target/i386/xop-shift1-vector.c: Likewise. ++ * gcc.target/i386/xop-shift2-vector.c: Likewise. ++ * gcc.target/i386/xop-shift3-vector.c: Likewise. ++ * gcc.target/i386/zee.c: Likewise. ++ * gcc.target/x86_64/abi/callabi/callabi.exp: Likewise. ++ * gfortran.dg/compiler-directive_2.f: Likewise. ++ * gfortran.dg/g77/20010216-1.f: Likewise. ++ * gfortran.dg/gomp/pr39152.f90: Likewise. ++ * gfortran.dg/pr33794.f90: Likewise. ++ ++2011-07-07 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * lib/target-supports.exp (check_effective_target_ia32): New. ++ (check_effective_target_x32): Likewise. ++ (check_effective_target_vect_cmdline_needed): Also check x32. +diff --git a/gcc/testsuite/c-c++-common/dfp/func-vararg-alternate-d128-2.c b/gcc/testsuite/c-c++-common/dfp/func-vararg-alternate-d128-2.c +index 2960c35..f2e4dee 100644 +--- a/gcc/testsuite/c-c++-common/dfp/func-vararg-alternate-d128-2.c ++++ b/gcc/testsuite/c-c++-common/dfp/func-vararg-alternate-d128-2.c +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mpreferred-stack-boundary=2" } */ + + /* Simple test of vararg passing for problematic types with and without +diff --git a/gcc/testsuite/c-c++-common/dfp/func-vararg-mixed-2.c b/gcc/testsuite/c-c++-common/dfp/func-vararg-mixed-2.c +index 893cdae..02cafb0 100644 +--- a/gcc/testsuite/c-c++-common/dfp/func-vararg-mixed-2.c ++++ b/gcc/testsuite/c-c++-common/dfp/func-vararg-mixed-2.c +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mpreferred-stack-boundary=2" } */ + + /* C99 6.5.2.2 Function calls. +diff --git a/gcc/testsuite/g++.dg/abi/bitfield3.C b/gcc/testsuite/g++.dg/abi/bitfield3.C +index b96c9ed..632bc5c 100644 +--- a/gcc/testsuite/g++.dg/abi/bitfield3.C ++++ b/gcc/testsuite/g++.dg/abi/bitfield3.C +@@ -1,10 +1,9 @@ + // Test for oversized bitfield alignment in structs on IA-32 +-// { dg-do run { target i?86-*-* x86_64-*-* } } ++// { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } + // { dg-options "-O2" } + // Cygwin and mingw32 default to MASK_ALIGN_DOUBLE. Override to ensure + // 4-byte alignment. + // { dg-options "-mno-align-double" { target i?86-*-cygwin* i?86-*-mingw* } } +-// { dg-require-effective-target ilp32 } + + struct A + { +diff --git a/gcc/testsuite/g++.dg/eh/pr38662.C b/gcc/testsuite/g++.dg/eh/pr38662.C +index 5da0f97..294a129 100644 +--- a/gcc/testsuite/g++.dg/eh/pr38662.C ++++ b/gcc/testsuite/g++.dg/eh/pr38662.C +@@ -1,4 +1,4 @@ +-// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + class E { }; + + class T { +diff --git a/gcc/testsuite/g++.dg/ext/attrib36.C b/gcc/testsuite/g++.dg/ext/attrib36.C +index 5434cb9..625ffe6 100644 +--- a/gcc/testsuite/g++.dg/ext/attrib36.C ++++ b/gcc/testsuite/g++.dg/ext/attrib36.C +@@ -1,5 +1,5 @@ + // PR c++/43031 +-// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + class T; + class L { }; +diff --git a/gcc/testsuite/g++.dg/ext/attrib37.C b/gcc/testsuite/g++.dg/ext/attrib37.C +index d12c176..5aacac6 100644 +--- a/gcc/testsuite/g++.dg/ext/attrib37.C ++++ b/gcc/testsuite/g++.dg/ext/attrib37.C +@@ -1,5 +1,5 @@ + // PR c++/43093 +-// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + struct S { + int x; +diff --git a/gcc/testsuite/g++.dg/ext/attrib8.C b/gcc/testsuite/g++.dg/ext/attrib8.C +index 7d99132..130fe25 100644 +--- a/gcc/testsuite/g++.dg/ext/attrib8.C ++++ b/gcc/testsuite/g++.dg/ext/attrib8.C +@@ -1,6 +1,5 @@ + // PR 8656 +-// { dg-do compile { target i?86-*-* x86_64-*-* } } +-// { dg-require-effective-target ilp32 } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + extern int * (__attribute__((stdcall)) *fooPtr)( void); + int * __attribute__((stdcall)) myFn01( void) { return 0; } +diff --git a/gcc/testsuite/g++.dg/ext/tmplattr1.C b/gcc/testsuite/g++.dg/ext/tmplattr1.C +index 111e344..16a32ce 100644 +--- a/gcc/testsuite/g++.dg/ext/tmplattr1.C ++++ b/gcc/testsuite/g++.dg/ext/tmplattr1.C +@@ -1,6 +1,5 @@ + // PR c++/24260 +-// { dg-do compile { target i?86-*-* x86_64-*-* } } +-// { dg-require-effective-target ilp32 } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + #define stdcall __attribute__((stdcall)) + +diff --git a/gcc/testsuite/g++.dg/inherit/override-attribs.C b/gcc/testsuite/g++.dg/inherit/override-attribs.C +index e28b8d4..6f5c928 100644 +--- a/gcc/testsuite/g++.dg/inherit/override-attribs.C ++++ b/gcc/testsuite/g++.dg/inherit/override-attribs.C +@@ -1,6 +1,5 @@ + // PR c++/14688 +-// { dg-do compile { target i?86-*-* x86_64-*-* } } +-// { dg-require-effective-target ilp32 } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + class one + { +diff --git a/gcc/testsuite/g++.dg/opt/inline9.C b/gcc/testsuite/g++.dg/opt/inline9.C +index 10bc54c..4fc556f 100644 +--- a/gcc/testsuite/g++.dg/opt/inline9.C ++++ b/gcc/testsuite/g++.dg/opt/inline9.C +@@ -3,7 +3,7 @@ + // Testcase by Alan Modra <amodra@bigpond.net.au> + // { dg-do run } + // { dg-options "-O" } +-// { dg-options "-O -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-options "-O -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + struct thread_info + { +diff --git a/gcc/testsuite/g++.dg/opt/life1.C b/gcc/testsuite/g++.dg/opt/life1.C +index f029767..42fd744 100644 +--- a/gcc/testsuite/g++.dg/opt/life1.C ++++ b/gcc/testsuite/g++.dg/opt/life1.C +@@ -1,7 +1,6 @@ + // This testcase did not set up the pic register on IA-32 due + // to bug in calculate_global_regs_live EH edge handling. +-// { dg-do compile { target i?86-*-linux* x86_64-*-linux* } } +-// { dg-require-effective-target ilp32 } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + // { dg-require-effective-target fpic } + // { dg-options "-O2 -fPIC" } + +diff --git a/gcc/testsuite/g++.dg/opt/longbranch2.C b/gcc/testsuite/g++.dg/opt/longbranch2.C +index f2a3a78..de63f69 100644 +--- a/gcc/testsuite/g++.dg/opt/longbranch2.C ++++ b/gcc/testsuite/g++.dg/opt/longbranch2.C +@@ -2,7 +2,7 @@ + // Originator: thor@math.tu-berlin.de + + // { dg-do compile } +-// { dg-options "-O3 -funroll-loops -mtune=k6 -fomit-frame-pointer" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-options "-O3 -funroll-loops -mtune=k6 -fomit-frame-pointer" { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + + // This used to fail to assemble because of an out-of-range 'loop' instructions. +diff --git a/gcc/testsuite/g++.dg/opt/nrv12.C b/gcc/testsuite/g++.dg/opt/nrv12.C +index 944dddd..5593375 100644 +--- a/gcc/testsuite/g++.dg/opt/nrv12.C ++++ b/gcc/testsuite/g++.dg/opt/nrv12.C +@@ -1,7 +1,6 @@ +-/* Verify that gimple-level NRV is occurring even for RESULT_DECLs. *./ +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ ++/* Verify that gimple-level NRV is occurring even for RESULT_DECLs. */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-O -fdump-tree-optimized" } */ +-/* { dg-require-effective-target ilp32 } */ + + struct P + { +diff --git a/gcc/testsuite/g++.dg/opt/reg-stack4.C b/gcc/testsuite/g++.dg/opt/reg-stack4.C +index b1b7434..5707a38 100644 +--- a/gcc/testsuite/g++.dg/opt/reg-stack4.C ++++ b/gcc/testsuite/g++.dg/opt/reg-stack4.C +@@ -5,7 +5,7 @@ + // deleted a valid edge. + + // { dg-do compile } +-// { dg-options "-mtune=i586 -O2" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-options "-mtune=i586 -O2" { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + struct array { + double data; +diff --git a/gcc/testsuite/g++.dg/other/pr35504.C b/gcc/testsuite/g++.dg/other/pr35504.C +index 58422f2..a37b8b3 100644 +--- a/gcc/testsuite/g++.dg/other/pr35504.C ++++ b/gcc/testsuite/g++.dg/other/pr35504.C +@@ -1,4 +1,4 @@ +-// { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + #define ATTR0 __attribute__((__regparm__(0))) + #define ATTR1 __attribute__((__regparm__(1))) +diff --git a/gcc/testsuite/g++.dg/other/pr39496.C b/gcc/testsuite/g++.dg/other/pr39496.C +index 3791434..f7f2433 100644 +--- a/gcc/testsuite/g++.dg/other/pr39496.C ++++ b/gcc/testsuite/g++.dg/other/pr39496.C +@@ -1,5 +1,5 @@ + // PR target/39496 +-// { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } ++// { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ia32 } } } + // { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" } + // { dg-require-effective-target sse2 } + // Verify that {foo,bar}{,2}param are all passed on the stack, using +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-fastcall-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-fastcall-1.C +index 4b849a2..2c24ea3 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-fastcall-1.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-fastcall-1.C +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "check.h" + +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/eh-thiscall-1.C b/gcc/testsuite/g++.dg/torture/stackalign/eh-thiscall-1.C +index de9bed5..403497a 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/eh-thiscall-1.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/eh-thiscall-1.C +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "check.h" + +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/stdcall-1.C b/gcc/testsuite/g++.dg/torture/stackalign/stdcall-1.C +index 393b37e..18c02be 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/stdcall-1.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/stdcall-1.C +@@ -1,4 +1,4 @@ +-// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + + // This case is to detect an assertion failure in stack branch development. + +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-0.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-0.C +index f8166eb..b1e79d8 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-0.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-0.C +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "test-unwind.h" + +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-1.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-1.C +index 70dce74..d61b1ba 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-1.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-1.C +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "test-unwind.h" + +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-2.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-2.C +index 791eeb5..7ed0a8d 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-2.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-2.C +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "test-unwind.h" + +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-3.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-3.C +index 29dee2d..e3368bf 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-3.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-3.C +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "test-unwind.h" + +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-4.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-4.C +index a896176..fddf276 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-4.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-4.C +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "test-unwind.h" + +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-5.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-5.C +index 514e4e7..e3e1a85 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-5.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-5.C +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "test-unwind.h" + +diff --git a/gcc/testsuite/g++.dg/torture/stackalign/unwind-6.C b/gcc/testsuite/g++.dg/torture/stackalign/unwind-6.C +index a888ca1..f1188f8 100644 +--- a/gcc/testsuite/g++.dg/torture/stackalign/unwind-6.C ++++ b/gcc/testsuite/g++.dg/torture/stackalign/unwind-6.C +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "test-unwind.h" + +diff --git a/gcc/testsuite/g++.dg/warn/pr15774-1.C b/gcc/testsuite/g++.dg/warn/pr15774-1.C +index efd4dae..116ec83 100644 +--- a/gcc/testsuite/g++.dg/warn/pr15774-1.C ++++ b/gcc/testsuite/g++.dg/warn/pr15774-1.C +@@ -1,4 +1,4 @@ +-// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + // Test that an new declartion with different attributes then old one fail. + extern void foo (int); // { dg-error "ambiguates old declaration" } + +diff --git a/gcc/testsuite/g++.dg/warn/pr15774-2.C b/gcc/testsuite/g++.dg/warn/pr15774-2.C +index f890b7a..5002d54 100644 +--- a/gcc/testsuite/g++.dg/warn/pr15774-2.C ++++ b/gcc/testsuite/g++.dg/warn/pr15774-2.C +@@ -1,4 +1,4 @@ +-// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + // Test that old declaration is used, if new one has no attributes. + extern void __attribute__((stdcall)) foo (int); + +diff --git a/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C b/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C +index e879791..99f48e4 100644 +--- a/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C ++++ b/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C +@@ -1,5 +1,4 @@ +-// { dg-do assemble { target i?86-*-* x86_64-*-* } } +-// { dg-require-effective-target ilp32 } ++// { dg-do assemble { target { { i?86-*-* x86_64-*-* } && ia32 } } } + // Test for using prefix attributes in a parameter decl. + // Contributed by Jason Merrill <jason@cygnus.com> + +diff --git a/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C b/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C +index 09b2bf2..c79677b 100644 +--- a/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C ++++ b/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C +@@ -1,5 +1,4 @@ +-// { dg-do run { target i?86-*-* x86_64-*-* } } +-// { dg-require-effective-target ilp32 } ++// { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } + // Test that stdcall doesn't prevent us from using op delete. + // Contributed by Jason Merrill <jason@cygnus.com> + +diff --git a/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C b/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C +index 7d9c70e..db9e189 100644 +--- a/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C ++++ b/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C +@@ -1,5 +1,4 @@ +-// { dg-do run { target i?86-*-* x86_64-*-* } } +-// { dg-require-effective-target ilp32 } ++// { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } + // Test for proper handling of attributes in template instantiation. + // Contributed by Jason Merrill <jason@cygnus.com> + +diff --git a/gcc/testsuite/g++.old-deja/g++.pt/asm2.C b/gcc/testsuite/g++.old-deja/g++.pt/asm2.C +index 7a70637..b8572c8 100644 +--- a/gcc/testsuite/g++.old-deja/g++.pt/asm2.C ++++ b/gcc/testsuite/g++.old-deja/g++.pt/asm2.C +@@ -1,5 +1,4 @@ +-// { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } } +-// { dg-require-effective-target ilp32 } ++// { dg-do assemble { target { { i?86-*-* x86_64-*-* } && ia32 } } } + // We'd use ebx with 32-bit pic code, so require nonpic. + // { dg-require-effective-target nonpic } + // Origin: "Weidmann, Nicholas" <nicholas.weidmann@swx.ch> +diff --git a/gcc/testsuite/gcc.c-torture/compile/20000804-1.c b/gcc/testsuite/gcc.c-torture/compile/20000804-1.c +index 0a63a32..8d2e79f 100644 +--- a/gcc/testsuite/gcc.c-torture/compile/20000804-1.c ++++ b/gcc/testsuite/gcc.c-torture/compile/20000804-1.c +@@ -1,7 +1,7 @@ + /* This does not work on m68hc11 or h8300 due to the use of an asm + statement to force a 'long long' (64-bits) to go in a register. */ + /* { dg-do assemble } */ +-/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ilp32 && { ! nonpic } } } { "*" } { "" } } */ ++/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ia32 && { ! nonpic } } } { "*" } { "" } } */ + /* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */ + /* { dg-skip-if "Not enough 64-bit registers" { pdp11-*-* } { "-O0" } { "" } } */ + /* { dg-xfail-if "" { m6811-*-* m6812-*-* h8300-*-* } { "*" } { "" } } */ +diff --git a/gcc/testsuite/gcc.c-torture/compile/pr16566-2.c b/gcc/testsuite/gcc.c-torture/compile/pr16566-2.c +index 2f7a106..73cf05a 100644 +--- a/gcc/testsuite/gcc.c-torture/compile/pr16566-2.c ++++ b/gcc/testsuite/gcc.c-torture/compile/pr16566-2.c +@@ -1,6 +1,6 @@ + /* ICE with flexible arrays in non-lvalue structures. Bug 16566 + (comment #5). */ +-/* { dg-options "-Wno-psabi" { target { { i?86-*-* x86_64-*-* } && lp64 } } } */ ++/* { dg-options "-Wno-psabi" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } */ + + struct A + { +diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp b/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp +index 25009e4..d15e90a 100644 +--- a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp ++++ b/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp +@@ -44,7 +44,7 @@ set additional_flags "-fno-inline" + if [istarget "i\[34567\]86-*-*"] then { + lappend additional_flags "-ffloat-store" + } +-if { [istarget "x86_64-*-*"] && [check_effective_target_ilp32] } then { ++if { [istarget "x86_64-*-*"] && [check_effective_target_ia32] } then { + lappend additional_flags "-ffloat-store" + } + if [istarget "m68k-*-*"] then { +diff --git a/gcc/testsuite/gcc.dg/20020108-1.c b/gcc/testsuite/gcc.dg/20020108-1.c +index d61944c..579a228 100644 +--- a/gcc/testsuite/gcc.dg/20020108-1.c ++++ b/gcc/testsuite/gcc.dg/20020108-1.c +@@ -5,7 +5,7 @@ + is not valid general_operand in HImode. */ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + + void +diff --git a/gcc/testsuite/gcc.dg/20020122-2.c b/gcc/testsuite/gcc.dg/20020122-2.c +index 275dcee..2499221 100644 +--- a/gcc/testsuite/gcc.dg/20020122-2.c ++++ b/gcc/testsuite/gcc.dg/20020122-2.c +@@ -3,7 +3,7 @@ + + /* { dg-do compile } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */ +-/* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern int access( char* ); + extern int a(); +diff --git a/gcc/testsuite/gcc.dg/20020122-3.c b/gcc/testsuite/gcc.dg/20020122-3.c +index 28f6871..e39bd23 100644 +--- a/gcc/testsuite/gcc.dg/20020122-3.c ++++ b/gcc/testsuite/gcc.dg/20020122-3.c +@@ -4,7 +4,7 @@ + + /* { dg-do compile } */ + /* { dg-options "-Os -fprefetch-loop-arrays -w" } */ +-/* { dg-options "-Os -fprefetch-loop-arrays -mtune=pentium3 -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-Os -fprefetch-loop-arrays -mtune=pentium3 -w" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + int foo (int *p, int n) + { +diff --git a/gcc/testsuite/gcc.dg/20020206-1.c b/gcc/testsuite/gcc.dg/20020206-1.c +index 837718b..4b3d0fc 100644 +--- a/gcc/testsuite/gcc.dg/20020206-1.c ++++ b/gcc/testsuite/gcc.dg/20020206-1.c +@@ -4,7 +4,7 @@ + + /* { dg-do run } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */ +-/* { dg-options "-O2 -fprefetch-loop-arrays -mtune=pentium3 -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -fprefetch-loop-arrays -mtune=pentium3 -w" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + + struct reload +diff --git a/gcc/testsuite/gcc.dg/20020219-1.c b/gcc/testsuite/gcc.dg/20020219-1.c +index 3664949..ffdf19a 100644 +--- a/gcc/testsuite/gcc.dg/20020219-1.c ++++ b/gcc/testsuite/gcc.dg/20020219-1.c +@@ -8,11 +8,13 @@ + IA64 hpux in ILP32 mode because extending x - 1 before adding the + array offset gives a different answer then adding first and then + extending. The underlying problem is the same as with hppa, x - 1 is +- not a legal data address. */ ++ not a legal data address. It also fails on x32 targets for the ++ same reason. */ + /* { dg-do run } */ + /* { dg-options "-O2" } */ + /* { dg-options "-O2 -mdisable-indexing" { target hppa*-*-hpux* } } */ + /* { dg-skip-if "" { "ia64-*-hpux*" } "*" "-mlp64" } */ ++/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && x32 } { "*" } { "" } } */ + + /* Disable the test entirely for 16-bit targets. */ + #if __INT_MAX__ > 32767 +diff --git a/gcc/testsuite/gcc.dg/20020310-1.c b/gcc/testsuite/gcc.dg/20020310-1.c +index bdd2967..7f35e9b 100644 +--- a/gcc/testsuite/gcc.dg/20020310-1.c ++++ b/gcc/testsuite/gcc.dg/20020310-1.c +@@ -2,7 +2,7 @@ + This testcase was miscompiled because of an rtx sharing bug. */ + /* { dg-do run } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -mtune=i586" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -mtune=i586" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + struct A + { +diff --git a/gcc/testsuite/gcc.dg/20020411-1.c b/gcc/testsuite/gcc.dg/20020411-1.c +index 47a8fed..55ca299 100644 +--- a/gcc/testsuite/gcc.dg/20020411-1.c ++++ b/gcc/testsuite/gcc.dg/20020411-1.c +@@ -3,7 +3,7 @@ + for its mode. */ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -march=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #if __INT_MAX__ > 32767 + +diff --git a/gcc/testsuite/gcc.dg/20020418-2.c b/gcc/testsuite/gcc.dg/20020418-2.c +index 93688d2..56094e7 100644 +--- a/gcc/testsuite/gcc.dg/20020418-2.c ++++ b/gcc/testsuite/gcc.dg/20020418-2.c +@@ -1,7 +1,7 @@ + /* PR optimization/6010 */ + /* { dg-do compile } */ + /* { dg-options "-O2 -funroll-all-loops" } */ +-/* { dg-options "-O2 -funroll-all-loops -march=pentium3" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -funroll-all-loops -march=pentium3" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + void bar (float); + +diff --git a/gcc/testsuite/gcc.dg/20020426-2.c b/gcc/testsuite/gcc.dg/20020426-2.c +index 3a892ed..9ad7a54 100644 +--- a/gcc/testsuite/gcc.dg/20020426-2.c ++++ b/gcc/testsuite/gcc.dg/20020426-2.c +@@ -2,7 +2,7 @@ + Distilled from zlib sources. */ + /* { dg-do run } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target { { i?86-*-* x86_64-*-* } && { ilp32 && fpic } } } } */ ++/* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target { { i?86-*-* x86_64-*-* } && { ia32 && fpic } } } } */ + + extern void exit (int); + +diff --git a/gcc/testsuite/gcc.dg/20020517-1.c b/gcc/testsuite/gcc.dg/20020517-1.c +index 032ccd2..74c6b3e 100644 +--- a/gcc/testsuite/gcc.dg/20020517-1.c ++++ b/gcc/testsuite/gcc.dg/20020517-1.c +@@ -2,7 +2,7 @@ + was not sign-extended for QImode. */ + /* { dg-do run } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include <limits.h> + +diff --git a/gcc/testsuite/gcc.dg/20030204-1.c b/gcc/testsuite/gcc.dg/20030204-1.c +index 701ded2..6b8ea4d 100644 +--- a/gcc/testsuite/gcc.dg/20030204-1.c ++++ b/gcc/testsuite/gcc.dg/20030204-1.c +@@ -1,7 +1,7 @@ + /* PR optimization/8555 */ + /* { dg-do compile } */ + /* { dg-options "-O -ffast-math -funroll-loops" } */ +-/* { dg-options "-march=pentium3 -O -ffast-math -funroll-loops" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-march=pentium3 -O -ffast-math -funroll-loops" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + + float foo (float *a, int i) +diff --git a/gcc/testsuite/gcc.dg/20030826-2.c b/gcc/testsuite/gcc.dg/20030826-2.c +index 32db091..552c77e 100644 +--- a/gcc/testsuite/gcc.dg/20030826-2.c ++++ b/gcc/testsuite/gcc.dg/20030826-2.c +@@ -1,6 +1,6 @@ + /* { dg-do run } */ + /* { dg-options "-O2 -fomit-frame-pointer" } */ +-/* { dg-options "-O2 -fomit-frame-pointer -march=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -fomit-frame-pointer -march=i386" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern void abort (void); + extern void exit (int); +diff --git a/gcc/testsuite/gcc.dg/20031102-1.c b/gcc/testsuite/gcc.dg/20031102-1.c +index 5a02a70..2148381 100644 +--- a/gcc/testsuite/gcc.dg/20031102-1.c ++++ b/gcc/testsuite/gcc.dg/20031102-1.c +@@ -3,7 +3,7 @@ + + /* { dg-do run } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -march=i686" { target { { i686-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -march=i686" { target { { i686-*-* x86_64-*-* } && ia32 } } } */ + + /* Verify that reload_cse_move2add doesn't add unexpected CLOBBERs. */ + +diff --git a/gcc/testsuite/gcc.dg/20031202-1.c b/gcc/testsuite/gcc.dg/20031202-1.c +index c7fbfe5..a5e7845 100644 +--- a/gcc/testsuite/gcc.dg/20031202-1.c ++++ b/gcc/testsuite/gcc.dg/20031202-1.c +@@ -1,6 +1,6 @@ + /* { dg-do run } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern void abort (void); + extern void exit (int); +diff --git a/gcc/testsuite/gcc.dg/20050111-1.c b/gcc/testsuite/gcc.dg/20050111-1.c +index 7cf04e8..0ad256f 100644 +--- a/gcc/testsuite/gcc.dg/20050111-1.c ++++ b/gcc/testsuite/gcc.dg/20050111-1.c +@@ -1,7 +1,7 @@ + /* PR middle-end/19084, rtl-optimization/19348 */ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -march=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + unsigned int + foo (unsigned long long x) +diff --git a/gcc/testsuite/gcc.dg/20050503-1.c b/gcc/testsuite/gcc.dg/20050503-1.c +index d118b95..200494f 100644 +--- a/gcc/testsuite/gcc.dg/20050503-1.c ++++ b/gcc/testsuite/gcc.dg/20050503-1.c +@@ -2,7 +2,7 @@ + Test whether tail call information is propagated through builtin + expanders. */ + /* { dg-do compile } */ +-/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ilp32 && { ! nonpic } } } { "*" } { "" } } */ ++/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ia32 && { ! nonpic } } } { "*" } { "" } } */ + /* { dg-options "-O2" } */ + + typedef __SIZE_TYPE__ size_t; +diff --git a/gcc/testsuite/gcc.dg/array-init-1.c b/gcc/testsuite/gcc.dg/array-init-1.c +index 0ab8634..14ec955 100644 +--- a/gcc/testsuite/gcc.dg/array-init-1.c ++++ b/gcc/testsuite/gcc.dg/array-init-1.c +@@ -1,7 +1,7 @@ + /* Test that both arrays are initialized by store_by_pieces. */ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + struct A { char c[10]; }; + extern void baz (struct A *); +diff --git a/gcc/testsuite/gcc.dg/builtin-apply4.c b/gcc/testsuite/gcc.dg/builtin-apply4.c +index 7a14356..530da71 100644 +--- a/gcc/testsuite/gcc.dg/builtin-apply4.c ++++ b/gcc/testsuite/gcc.dg/builtin-apply4.c +@@ -1,6 +1,6 @@ + /* PR tree-optimization/20076 */ + /* { dg-options "-O2 -Wmissing-noreturn" } */ +-/* { dg-options "-O2 -mno-mmx" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -mno-mmx" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-do run } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.dg/dfp/pr31344.c b/gcc/testsuite/gcc.dg/dfp/pr31344.c +index 0f5e21e..506eef4 100644 +--- a/gcc/testsuite/gcc.dg/dfp/pr31344.c ++++ b/gcc/testsuite/gcc.dg/dfp/pr31344.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -mtune=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O -mtune=i386" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-O" } */ + + typedef struct +diff --git a/gcc/testsuite/gcc.dg/gomp/atomic-11.c b/gcc/testsuite/gcc.dg/gomp/atomic-11.c +index 397972b..b5647b0 100644 +--- a/gcc/testsuite/gcc.dg/gomp/atomic-11.c ++++ b/gcc/testsuite/gcc.dg/gomp/atomic-11.c +@@ -1,7 +1,7 @@ + /* PR middle-end/36877 */ + /* { dg-do compile } */ + /* { dg-options "-fopenmp" } */ +-/* { dg-options "-fopenmp -march=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-fopenmp -march=i386" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + int i; + float f; +diff --git a/gcc/testsuite/gcc.dg/graphite/pr40281.c b/gcc/testsuite/gcc.dg/graphite/pr40281.c +index 255546b..d242754 100644 +--- a/gcc/testsuite/gcc.dg/graphite/pr40281.c ++++ b/gcc/testsuite/gcc.dg/graphite/pr40281.c +@@ -1,6 +1,6 @@ + /* { dg-options "-O -fprefetch-loop-arrays -w" } */ +-/* { dg-options "-O -fprefetch-loop-arrays -march=i686 -msse -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ +-/* { dg-require-effective-target sse { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O -fprefetch-loop-arrays -march=i686 -msse -w" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ ++/* { dg-require-effective-target sse { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + void foo(int); + void bar(int n) +diff --git a/gcc/testsuite/gcc.dg/ia64-sync-1.c b/gcc/testsuite/gcc.dg/ia64-sync-1.c +index 83c995a..2cfc144 100644 +--- a/gcc/testsuite/gcc.dg/ia64-sync-1.c ++++ b/gcc/testsuite/gcc.dg/ia64-sync-1.c +@@ -1,7 +1,7 @@ + /* { dg-do run } */ + /* { dg-require-effective-target sync_int_long } */ + /* { dg-options } */ +-/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mcpu=v9" { target sparc*-*-* } } */ + + /* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */ +diff --git a/gcc/testsuite/gcc.dg/ia64-sync-2.c b/gcc/testsuite/gcc.dg/ia64-sync-2.c +index 69fb9b7..d8d4082 100644 +--- a/gcc/testsuite/gcc.dg/ia64-sync-2.c ++++ b/gcc/testsuite/gcc.dg/ia64-sync-2.c +@@ -1,7 +1,7 @@ + /* { dg-do run } */ + /* { dg-require-effective-target sync_int_long } */ + /* { dg-options } */ +-/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mcpu=v9" { target sparc*-*-* } } */ + + /* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */ +diff --git a/gcc/testsuite/gcc.dg/ia64-sync-3.c b/gcc/testsuite/gcc.dg/ia64-sync-3.c +index 965d435..621e902 100644 +--- a/gcc/testsuite/gcc.dg/ia64-sync-3.c ++++ b/gcc/testsuite/gcc.dg/ia64-sync-3.c +@@ -1,7 +1,7 @@ + /* { dg-do run } */ + /* { dg-require-effective-target sync_int_long } */ + /* { dg-options } */ +-/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mcpu=v9" { target sparc*-*-* } } */ + + /* Test basic functionality of the intrinsics. */ +diff --git a/gcc/testsuite/gcc.dg/ia64-sync-4.c b/gcc/testsuite/gcc.dg/ia64-sync-4.c +index e78fb4c..eec472f 100644 +--- a/gcc/testsuite/gcc.dg/ia64-sync-4.c ++++ b/gcc/testsuite/gcc.dg/ia64-sync-4.c +@@ -1,7 +1,7 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target sync_int_long } */ + /* { dg-options "-O2 -finline-functions" } */ +-/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mcpu=v9" { target sparc*-*-* } } */ + + /* Test inlining __sync_bool_compare_and_swap. */ +diff --git a/gcc/testsuite/gcc.dg/ifcvt-fabs-1.c b/gcc/testsuite/gcc.dg/ifcvt-fabs-1.c +index bdf6b39..40c57d8 100644 +--- a/gcc/testsuite/gcc.dg/ifcvt-fabs-1.c ++++ b/gcc/testsuite/gcc.dg/ifcvt-fabs-1.c +@@ -1,6 +1,6 @@ + /* { dg-do run } */ + /* { dg-options "-O" } */ +-/* { dg-options "-O -march=i686" { target { { i686-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O -march=i686" { target { { i686-*-* x86_64-*-* } && ia32 } } } */ + + extern void abort(void); + +diff --git a/gcc/testsuite/gcc.dg/invalid-call-1.c b/gcc/testsuite/gcc.dg/invalid-call-1.c +index 1d19c56..31f66b9 100644 +--- a/gcc/testsuite/gcc.dg/invalid-call-1.c ++++ b/gcc/testsuite/gcc.dg/invalid-call-1.c +@@ -3,7 +3,7 @@ + + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -march=i586" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -march=i586" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + typedef void (*fp)(void); + extern char* bar(void* a1, int a2); +diff --git a/gcc/testsuite/gcc.dg/loop-3.c b/gcc/testsuite/gcc.dg/loop-3.c +index 06428d9..6bdb5ef 100644 +--- a/gcc/testsuite/gcc.dg/loop-3.c ++++ b/gcc/testsuite/gcc.dg/loop-3.c +@@ -3,7 +3,7 @@ + + /* { dg-do compile } */ + /* { dg-options "-O3" } */ +-/* { dg-options "-O3 -mtune=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O3 -mtune=i386" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #if defined(STACK_SIZE) && (STACK_SIZE < 65536) + # define BYTEMEM_SIZE 10000L +diff --git a/gcc/testsuite/gcc.dg/lower-subreg-1.c b/gcc/testsuite/gcc.dg/lower-subreg-1.c +index 4de90bd..33be4c4 100644 +--- a/gcc/testsuite/gcc.dg/lower-subreg-1.c ++++ b/gcc/testsuite/gcc.dg/lower-subreg-1.c +@@ -1,5 +1,6 @@ + /* { dg-do compile { target { { { ! mips64 } && { ! ia64-*-* } } && { ! spu-*-* } } } } */ + /* { dg-options "-O -fdump-rtl-subreg1" } */ ++/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && x32 } { "*" } { "" } } */ + /* { dg-require-effective-target ilp32 } */ + + long long test (long long a, long long b) { return a | b; } +diff --git a/gcc/testsuite/gcc.dg/lto/pr47259_0.c b/gcc/testsuite/gcc.dg/lto/pr47259_0.c +index b959478..7900e5a 100644 +--- a/gcc/testsuite/gcc.dg/lto/pr47259_0.c ++++ b/gcc/testsuite/gcc.dg/lto/pr47259_0.c +@@ -1,7 +1,6 @@ + /* { dg-lto-do link } */ + /* { dg-skip-if "" { ! { x86_64-*-* } } { "*" } { "" } } */ + /* { dg-lto-options { { -O2 -flto -w } } } */ +-/* { dg-require-effective-target lp64 } */ + + register int r asm("esi"); + +diff --git a/gcc/testsuite/gcc.dg/nested-calls-1.c b/gcc/testsuite/gcc.dg/nested-calls-1.c +index 89fdc88..500fed2 100644 +--- a/gcc/testsuite/gcc.dg/nested-calls-1.c ++++ b/gcc/testsuite/gcc.dg/nested-calls-1.c +@@ -3,7 +3,7 @@ + + /* { dg-do run } */ + /* { dg-options "-std=c99 -O -fno-inline" } */ +-/* { dg-options "-std=c99 -O -fno-inline -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-std=c99 -O -fno-inline -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include <limits.h> + +diff --git a/gcc/testsuite/gcc.dg/pr20017.c b/gcc/testsuite/gcc.dg/pr20017.c +index 1fd6d58..47c048f 100644 +--- a/gcc/testsuite/gcc.dg/pr20017.c ++++ b/gcc/testsuite/gcc.dg/pr20017.c +@@ -6,7 +6,7 @@ + + /* { dg-do compile } */ + /* { dg-options "-O1" } */ +-/* { dg-options "-O1 -march=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O1 -march=i386" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + int + foo (int *buf, int *p) +diff --git a/gcc/testsuite/gcc.dg/pr25023.c b/gcc/testsuite/gcc.dg/pr25023.c +index b8cb7cf..58d962c 100644 +--- a/gcc/testsuite/gcc.dg/pr25023.c ++++ b/gcc/testsuite/gcc.dg/pr25023.c +@@ -1,7 +1,7 @@ + /* PR debug/25023 */ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* || x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern unsigned char v; + +diff --git a/gcc/testsuite/gcc.dg/pr27671-2.c b/gcc/testsuite/gcc.dg/pr27671-2.c +index 7882042..11dae10 100644 +--- a/gcc/testsuite/gcc.dg/pr27671-2.c ++++ b/gcc/testsuite/gcc.dg/pr27671-2.c +@@ -3,7 +3,7 @@ + simplify_relational_operation_1 in simplify-rtx.c. */ + /* { dg-do run } */ + /* { dg-options "-O1" } */ +-/* { dg-options "-O1 -march=pentium4" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O1 -march=pentium4" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern void abort (void) __attribute__ ((noreturn)); + extern void exit (int) __attribute__ ((noreturn)); +diff --git a/gcc/testsuite/gcc.dg/pr32176.c b/gcc/testsuite/gcc.dg/pr32176.c +index 6646db0..3017c34 100644 +--- a/gcc/testsuite/gcc.dg/pr32176.c ++++ b/gcc/testsuite/gcc.dg/pr32176.c +@@ -2,7 +2,7 @@ + + /* { dg-do compile } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */ +-/* { dg-options "-O2 -fprefetch-loop-arrays -march=i686 -msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -fprefetch-loop-arrays -march=i686 -msse" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + void foo (void) + { +diff --git a/gcc/testsuite/gcc.dg/pr33676.c b/gcc/testsuite/gcc.dg/pr33676.c +index af65478..79c830e 100644 +--- a/gcc/testsuite/gcc.dg/pr33676.c ++++ b/gcc/testsuite/gcc.dg/pr33676.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-options "-O0 -mtune=i386 -fomit-frame-pointer" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O0 -mtune=i386 -fomit-frame-pointer" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + __attribute__((noreturn,noinline)) void abrt (const char *fi, const char *fu) + { +diff --git a/gcc/testsuite/gcc.dg/pr35045.c b/gcc/testsuite/gcc.dg/pr35045.c +index 0b2b209..bcd01d7 100644 +--- a/gcc/testsuite/gcc.dg/pr35045.c ++++ b/gcc/testsuite/gcc.dg/pr35045.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ilp32 && { ! nonpic } } } { "*" } { "" } } */ ++/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ia32 && { ! nonpic } } } { "*" } { "" } } */ + /* { dg-options "-O2 -fgcse-after-reload" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.dg/pr36015.c b/gcc/testsuite/gcc.dg/pr36015.c +index 456ec6a..fc31535 100644 +--- a/gcc/testsuite/gcc.dg/pr36015.c ++++ b/gcc/testsuite/gcc.dg/pr36015.c +@@ -1,7 +1,7 @@ + /* PR target/36015 */ + /* { dg-do run } */ + /* { dg-options "-O0" } */ +-/* { dg-options "-O0 -mregparm=3" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O0 -mregparm=3" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + static int test (); + +diff --git a/gcc/testsuite/gcc.dg/pr36584.c b/gcc/testsuite/gcc.dg/pr36584.c +index c0b005d..1b6e38c 100644 +--- a/gcc/testsuite/gcc.dg/pr36584.c ++++ b/gcc/testsuite/gcc.dg/pr36584.c +@@ -1,7 +1,7 @@ + /* { dg-do run } */ + /* { dg-options "-O2 -lm" } */ +-/* { dg-options "-O2 -msse2 -mfpmath=sse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ +-/* { dg-require-effective-target sse2_runtime { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -msse2 -mfpmath=sse" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ ++/* { dg-require-effective-target sse2_runtime { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern double fabs (double); + extern void abort (void); +diff --git a/gcc/testsuite/gcc.dg/pr36998.c b/gcc/testsuite/gcc.dg/pr36998.c +index 9315fd5..bf08ed1 100644 +--- a/gcc/testsuite/gcc.dg/pr36998.c ++++ b/gcc/testsuite/gcc.dg/pr36998.c +@@ -1,7 +1,7 @@ + /* PR rtl-optimization/36998 */ + /* { dg-do compile } */ + /* { dg-options "-Os -fasynchronous-unwind-tables" } */ +-/* { dg-options "-Os -mpreferred-stack-boundary=2 -fasynchronous-unwind-tables" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-Os -mpreferred-stack-boundary=2 -fasynchronous-unwind-tables" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-fno-omit-frame-pointer" { target { avr-*-* } } } */ + + void foo (const char *, ...) __attribute__ ((noreturn)); +diff --git a/gcc/testsuite/gcc.dg/pr37438.c b/gcc/testsuite/gcc.dg/pr37438.c +index a6e366d..7365dc9 100644 +--- a/gcc/testsuite/gcc.dg/pr37438.c ++++ b/gcc/testsuite/gcc.dg/pr37438.c +@@ -1,7 +1,7 @@ + /* PR target/37438 */ + /* { dg-do compile } */ + /* { dg-options "-Os" } */ +-/* { dg-options "-Os -march=i486" { target { { i686-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-Os -march=i486" { target { { i686-*-* x86_64-*-* } && ia32 } } } */ + + extern int bar (unsigned long long int); + extern int baz (const char *, unsigned int, unsigned short); +diff --git a/gcc/testsuite/gcc.dg/pr37908.c b/gcc/testsuite/gcc.dg/pr37908.c +index d927807..32946d1 100644 +--- a/gcc/testsuite/gcc.dg/pr37908.c ++++ b/gcc/testsuite/gcc.dg/pr37908.c +@@ -1,7 +1,7 @@ + /* { dg-do run } */ + /* { dg-require-effective-target sync_char_short } */ + /* { dg-options "-Wsync-nand" } */ +-/* { dg-options "-Wsync-nand -march=i486" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-Wsync-nand -march=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-Wsync-nand -mcpu=v9" { target sparc*-*-* } } */ + + +diff --git a/gcc/testsuite/gcc.dg/pr41241.c b/gcc/testsuite/gcc.dg/pr41241.c +index b69aa96..42fb2f7 100644 +--- a/gcc/testsuite/gcc.dg/pr41241.c ++++ b/gcc/testsuite/gcc.dg/pr41241.c +@@ -1,7 +1,7 @@ + /* PR bootstrap/41241 */ + /* { dg-do compile } */ + /* { dg-options "-O2 -fcompare-debug -g" } */ +-/* { dg-options "-O2 -fcompare-debug -g -march=i586 -mtune=i586 -fomit-frame-pointer" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -fcompare-debug -g -march=i586 -mtune=i586 -fomit-frame-pointer" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + typedef struct { int t1; int t2; int t3; } *T; + typedef struct { int s; } S; +diff --git a/gcc/testsuite/gcc.dg/pr41340.c b/gcc/testsuite/gcc.dg/pr41340.c +index b86f40b..439046a 100644 +--- a/gcc/testsuite/gcc.dg/pr41340.c ++++ b/gcc/testsuite/gcc.dg/pr41340.c +@@ -1,7 +1,7 @@ + /* PR debug/41340 */ + /* { dg-do compile } */ + /* { dg-options "-O3 -g -fcompare-debug" } */ +-/* { dg-options "-O3 -g -fcompare-debug -march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O3 -g -fcompare-debug -march=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-skip-if "no long pointers" { { ! ilp32 } && { ! lp64 } } } */ + + typedef struct { int t; } *T; +diff --git a/gcc/testsuite/gcc.dg/pr44136.c b/gcc/testsuite/gcc.dg/pr44136.c +index e053cf8..31f1924 100644 +--- a/gcc/testsuite/gcc.dg/pr44136.c ++++ b/gcc/testsuite/gcc.dg/pr44136.c +@@ -1,7 +1,7 @@ + /* PR debug/44136 */ + /* { dg-do compile } */ + /* { dg-options "-w -O2 -g" } */ +-/* { dg-options "-w -Wno-psabi -O2 -g -mno-sse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-w -Wno-psabi -O2 -g -mno-sse" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #define vector __attribute((vector_size(16))) + vector float a; +diff --git a/gcc/testsuite/gcc.dg/pr46212.c b/gcc/testsuite/gcc.dg/pr46212.c +index 9dbb601..3533e25 100644 +--- a/gcc/testsuite/gcc.dg/pr46212.c ++++ b/gcc/testsuite/gcc.dg/pr46212.c +@@ -1,7 +1,7 @@ + /* PR rtl-optimization/46212 */ + /* { dg-do compile } */ + /* { dg-options "-O3 -funroll-loops" } */ +-/* { dg-options "-O3 -funroll-loops -march=i386" { target { { i686-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O3 -funroll-loops -march=i386" { target { { i686-*-* x86_64-*-* } && ia32 } } } */ + + static inline unsigned + foo (void *x) +diff --git a/gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c b/gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c +index 59cebc5..024cc1a 100644 +--- a/gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c ++++ b/gcc/testsuite/gcc.dg/prefetch-loop-arrays-1.c +@@ -1,7 +1,7 @@ + /* PR tree-optimization/28887 */ + /* { dg-do compile } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */ +-/* { dg-options "-O2 -fprefetch-loop-arrays -march=i686 -msse -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -fprefetch-loop-arrays -march=i686 -msse -w" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + __extension__ typedef __SIZE_TYPE__ size_t; + +diff --git a/gcc/testsuite/gcc.dg/setjmp-2.c b/gcc/testsuite/gcc.dg/setjmp-2.c +index 8ad874d..f31f6b2 100644 +--- a/gcc/testsuite/gcc.dg/setjmp-2.c ++++ b/gcc/testsuite/gcc.dg/setjmp-2.c +@@ -2,7 +2,7 @@ + /* Origin: Tom Hughes <tom@compton.nu> */ + /* { dg-do run { target i?86-*-linux* x86_64-*-linux* } } */ + /* { dg-options "-O -fomit-frame-pointer" } */ +-/* { dg-options "-O -fomit-frame-pointer -march=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O -fomit-frame-pointer -march=i386" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include <setjmp.h> + #include <signal.h> +diff --git a/gcc/testsuite/gcc.dg/short-compare-1.c b/gcc/testsuite/gcc.dg/short-compare-1.c +index 4c47052..b5e01c1 100644 +--- a/gcc/testsuite/gcc.dg/short-compare-1.c ++++ b/gcc/testsuite/gcc.dg/short-compare-1.c +@@ -3,7 +3,7 @@ + + /* { dg-do run } */ + /* { dg-options "-O" } */ +-/* { dg-options "-O -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern void abort(void); + +diff --git a/gcc/testsuite/gcc.dg/short-compare-2.c b/gcc/testsuite/gcc.dg/short-compare-2.c +index 0026a88..bf4e6b4 100644 +--- a/gcc/testsuite/gcc.dg/short-compare-2.c ++++ b/gcc/testsuite/gcc.dg/short-compare-2.c +@@ -4,7 +4,7 @@ + + /* { dg-do run } */ + /* { dg-options "-O" } */ +-/* { dg-options "-O -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern void abort(); + +diff --git a/gcc/testsuite/gcc.dg/smod-1.c b/gcc/testsuite/gcc.dg/smod-1.c +index 8ff60de..9a847a1 100644 +--- a/gcc/testsuite/gcc.dg/smod-1.c ++++ b/gcc/testsuite/gcc.dg/smod-1.c +@@ -3,7 +3,7 @@ + + /* { dg-do run } */ + /* { dg-options "-std=c99" } */ +-/* { dg-options "-std=c99 -mtune=i486" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-std=c99 -mtune=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include <limits.h> + +diff --git a/gcc/testsuite/gcc.dg/sync-2.c b/gcc/testsuite/gcc.dg/sync-2.c +index 7794ffd..e94248c 100644 +--- a/gcc/testsuite/gcc.dg/sync-2.c ++++ b/gcc/testsuite/gcc.dg/sync-2.c +@@ -1,7 +1,7 @@ + /* { dg-do run } */ + /* { dg-require-effective-target sync_char_short } */ + /* { dg-options "-ansi" } */ +-/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mcpu=v9" { target sparc*-*-* } } */ + + /* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "" { target *-*-* } 0 } */ +diff --git a/gcc/testsuite/gcc.dg/sync-3.c b/gcc/testsuite/gcc.dg/sync-3.c +index f912405..255faaa 100644 +--- a/gcc/testsuite/gcc.dg/sync-3.c ++++ b/gcc/testsuite/gcc.dg/sync-3.c +@@ -1,7 +1,7 @@ + /* { dg-do run } */ + /* { dg-require-effective-target sync_char_short } */ + /* { dg-options "-ansi" } */ +-/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-march=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mcpu=v9" { target sparc*-*-* } } */ + + /* Test functionality of the intrinsics for 'short' and 'char'. */ +diff --git a/gcc/testsuite/gcc.dg/tls/opt-1.c b/gcc/testsuite/gcc.dg/tls/opt-1.c +index f9399e0..658fc67 100644 +--- a/gcc/testsuite/gcc.dg/tls/opt-1.c ++++ b/gcc/testsuite/gcc.dg/tls/opt-1.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2 -fPIC" } */ +-/* { dg-options "-O2 -fPIC -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -fPIC -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-require-effective-target tls } */ + /* { dg-require-effective-target fpic } */ + +diff --git a/gcc/testsuite/gcc.dg/tls/opt-2.c b/gcc/testsuite/gcc.dg/tls/opt-2.c +index 3ede352..868b97c 100644 +--- a/gcc/testsuite/gcc.dg/tls/opt-2.c ++++ b/gcc/testsuite/gcc.dg/tls/opt-2.c +@@ -4,7 +4,7 @@ + on IA-32. */ + /* { dg-do link } */ + /* { dg-options "-O2 -ftls-model=initial-exec" } */ +-/* { dg-options "-O2 -ftls-model=initial-exec -march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -ftls-model=initial-exec -march=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-require-effective-target tls } */ + /* { dg-require-effective-target tls_runtime } */ + +diff --git a/gcc/testsuite/gcc.dg/tls/opt-3.c b/gcc/testsuite/gcc.dg/tls/opt-3.c +index dd37dbc..0f1bbfc 100644 +--- a/gcc/testsuite/gcc.dg/tls/opt-3.c ++++ b/gcc/testsuite/gcc.dg/tls/opt-3.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2 -fpic" } */ +-/* { dg-options "-O2 -fpic -mregparm=3" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -fpic -mregparm=3" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-require-effective-target tls } */ + /* { dg-require-effective-target fpic } */ + +diff --git a/gcc/testsuite/gcc.dg/torture/badshift.c b/gcc/testsuite/gcc.dg/torture/badshift.c +index 7288a37..39d123b 100644 +--- a/gcc/testsuite/gcc.dg/torture/badshift.c ++++ b/gcc/testsuite/gcc.dg/torture/badshift.c +@@ -2,7 +2,7 @@ + + /* { dg-do run } */ + /* { dg-options "" } */ +-/* { dg-options "-march=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-march=i386" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + /* We used to optimize the DImode shift-by-32 to zero because in combine + we turned: +diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float80-timode.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float80-timode.c +index 5b9bb70..7600994 100644 +--- a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float80-timode.c ++++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float80-timode.c +@@ -2,7 +2,7 @@ + /* Origin: Joseph Myers <joseph@codesourcery.com> */ + /* { dg-do run { target i?86-*-* x86_64-*-* ia64-*-* } } */ + /* { dg-options "" } */ +-/* { dg-options "-mmmx" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-mmmx" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "fp-int-convert.h" + +diff --git a/gcc/testsuite/gcc.dg/torture/pr20314-2.c b/gcc/testsuite/gcc.dg/torture/pr20314-2.c +index 8185218..aac02dd 100644 +--- a/gcc/testsuite/gcc.dg/torture/pr20314-2.c ++++ b/gcc/testsuite/gcc.dg/torture/pr20314-2.c +@@ -1,5 +1,5 @@ + /* PR inline-asm/20314 */ +-/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && lp64 } } } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } */ + /* { dg-do compile { target ia64-*-* powerpc*-*-* } } */ + + int a, b, c, d, e, f, g, h, i, j, k, l; +diff --git a/gcc/testsuite/gcc.dg/torture/pr36891.c b/gcc/testsuite/gcc.dg/torture/pr36891.c +index 53e6163..5a8e5c3 100644 +--- a/gcc/testsuite/gcc.dg/torture/pr36891.c ++++ b/gcc/testsuite/gcc.dg/torture/pr36891.c +@@ -1,7 +1,7 @@ + /* { dg-do compile } */ + /* { dg-options "-ffast-math" } */ +-/* { dg-options "-ffast-math -msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ +-/* { dg-require-effective-target sse { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-ffast-math -msse" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ ++/* { dg-require-effective-target sse { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #define __vector __attribute__((vector_size(16) )) + __vector float f(void); +diff --git a/gcc/testsuite/gcc.dg/torture/pr38774.c b/gcc/testsuite/gcc.dg/torture/pr38774.c +index d6d7fcb..b626194 100644 +--- a/gcc/testsuite/gcc.dg/torture/pr38774.c ++++ b/gcc/testsuite/gcc.dg/torture/pr38774.c +@@ -1,7 +1,7 @@ + /* PR rtl-optimization/38774 */ + /* { dg-do compile } */ + /* { dg-options "" } */ +-/* { dg-options "-march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-march=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern int bar (void); + volatile int g; +diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c +index 139b74e..744d72a 100644 +--- a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c ++++ b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c +@@ -1,5 +1,5 @@ + /* PR middle-end/37009 */ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-msse2" } */ + /* { dg-require-effective-target sse2_runtime } */ + +diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-4.c b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-4.c +index c3e554a..b23fdf6 100644 +--- a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-4.c ++++ b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-4.c +@@ -1,5 +1,5 @@ + /* PR middle-end/37009 */ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */ + + #include "check.h" +diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-5.c b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-5.c +index 2ef4443..7b7ed68 100644 +--- a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-5.c ++++ b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-5.c +@@ -1,5 +1,5 @@ + /* PR middle-end/45234 */ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */ + + #include "check.h" +diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-6.c b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-6.c +index f0e4513..24c8e5a 100644 +--- a/gcc/testsuite/gcc.dg/torture/stackalign/alloca-6.c ++++ b/gcc/testsuite/gcc.dg/torture/stackalign/alloca-6.c +@@ -1,5 +1,5 @@ + /* PR middle-end/45234 */ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */ + + #include "check.h" +diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/fastcall-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/fastcall-1.c +index d1cda10..24dab4d 100644 +--- a/gcc/testsuite/gcc.dg/torture/stackalign/fastcall-1.c ++++ b/gcc/testsuite/gcc.dg/torture/stackalign/fastcall-1.c +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "check.h" + +diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c +index dd5dffc..787f99f 100644 +--- a/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c ++++ b/gcc/testsuite/gcc.dg/torture/stackalign/push-1.c +@@ -1,5 +1,5 @@ + /* PR middle-end/37010 */ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-msse2 -mpreferred-stack-boundary=2" } */ + /* { dg-require-effective-target sse2_runtime } */ + +diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/regparm-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/regparm-1.c +index 9dac024..b9acacf 100644 +--- a/gcc/testsuite/gcc.dg/torture/stackalign/regparm-1.c ++++ b/gcc/testsuite/gcc.dg/torture/stackalign/regparm-1.c +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "check.h" + +diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/thiscall-1.c b/gcc/testsuite/gcc.dg/torture/stackalign/thiscall-1.c +index 6f22e07..27b71b6 100644 +--- a/gcc/testsuite/gcc.dg/torture/stackalign/thiscall-1.c ++++ b/gcc/testsuite/gcc.dg/torture/stackalign/thiscall-1.c +@@ -1,4 +1,4 @@ +-/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #include "check.h" + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-28.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-28.c +index 77d0c47..479355e 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-28.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-28.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -fdump-tree-optimized -fdump-tree-aprefetch --param max-unrolled-insns=1000" } */ + + char x[100000]; +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c +index 2c1282d..dc19150 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c +@@ -1,7 +1,6 @@ + /* Prefetching used to prefer nonsensical unroll factor of 5 in this testcase. */ + +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse -fdump-tree-aprefetch-details" } */ + + #define N 1000000 +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-4.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-4.c +index bff4b9f..11fd41f 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-4.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-4.c +@@ -1,7 +1,6 @@ + /* The loop rolls too little, hence the prefetching would not be useful. */ + +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -fdump-tree-optimized" } */ + + int xxx[20]; +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-5.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-5.c +index 19914ca..1ccf506 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-5.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-5.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-O2 --param min-insn-to-prefetch-ratio=5 -fprefetch-loop-arrays -march=athlon -fdump-tree-aprefetch-details" } */ + + /* These are common idioms for writing variable-length arrays at the end +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c +index 7a1de5a..1768305 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 --param min-insn-to-prefetch-ratio=6 -fdump-tree-aprefetch-details" } */ + +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c +index 9e453a7..5c469ba 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=athlon" } } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c +index a05d552..705d35f 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=athlon" } } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c +index eb22a66..f78bea3 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=athlon" } } */ + /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/stdarg-2.c b/gcc/testsuite/gcc.dg/tree-ssa/stdarg-2.c +index 6b4783c..3cac558 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/stdarg-2.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/stdarg-2.c +@@ -21,11 +21,11 @@ f1 (int i, ...) + va_start (ap, i); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -41,11 +41,11 @@ f2 (int i, ...) + } + /* Assume the counters can be number of registers or bytes on 32-bit + architecture or bytes on 64-bit architecture. */ +-/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save \[148\] GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save \[148\] GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save \[148\] GPR units and 0 FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save 8 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save 1 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -57,11 +57,11 @@ f3 (int i, ...) + d = va_arg (ap, double); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 0 GPR units and 1 FPR units" "stdarg" { target s390*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 8 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[1-9\]\[0-9\]* GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[1-9\]\[0-9\]* GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[1-9\]\[0-9\]* GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[1-9\]\[0-9\]* GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -74,11 +74,11 @@ f4 (int i, ...) + foo (i, ap); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -92,11 +92,11 @@ f5 (int i, ...) + va_end (ap); + va_end (gap); + } +-/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -112,11 +112,11 @@ f6 (int i, ...) + bar (x); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save (3|12|24) GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save (3|12|24) GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save (3|12|24) GPR units and 0 FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save 24 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save 3 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save (3|12|24) GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save (3|12|24) GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save (3|12|24) GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save (3|12|24) GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -129,11 +129,11 @@ f7 (int i, ...) + bar (6); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -148,11 +148,11 @@ f8 (int i, ...) + bar (x); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -165,11 +165,11 @@ f9 (int i, ...) + bar (6); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f9: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -184,11 +184,11 @@ f10 (int i, ...) + bar (x); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -204,11 +204,11 @@ f11 (int i, ...) + bar (x); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save (3|12|24) GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save (3|12|24) GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save (3|12|24) GPR units and 0 FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save 24 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save 3 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save (3|12|24) GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save (3|12|24) GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save (3|12|24) GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 0, needs to save (3|12|24) GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -224,11 +224,11 @@ f12 (int i, ...) + bar (x); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save 24 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save 0 GPR units and 3 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -244,11 +244,11 @@ f13 (int i, ...) + bar (x); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */ + /* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save 24 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save 0 GPR units and 3 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f13: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -264,11 +264,11 @@ f14 (int i, ...) + bar (x); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save \[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save \[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save \[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */ + /* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save 24 GPR units and 3" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save 1 GPR units and 2 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f14: va_list escapes 0, needs to save \[1-9]\[0-9\]* GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -288,11 +288,11 @@ f15 (int i, ...) + f15_1 (ap); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f15: va_list escapes 0, needs to save \[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f15: va_list escapes 0, needs to save \[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f15: va_list escapes 0, needs to save \[148\] GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */ + /* { dg-final { scan-tree-dump "f15: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f15: va_list escapes 0, needs to save 1 GPR units and 2 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump-not "f15: va_list escapes 0, needs to save 0 GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump-not "f15: va_list escapes 0, needs to save 0 GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump-not "f15: va_list escapes 0, needs to save 0 GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump-not "f15: va_list escapes 0, needs to save 0 GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + /* { dg-final { cleanup-tree-dump "stdarg" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/stdarg-3.c b/gcc/testsuite/gcc.dg/tree-ssa/stdarg-3.c +index 9ffbe3f..d9c55a8 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/stdarg-3.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/stdarg-3.c +@@ -20,11 +20,11 @@ f1 (int i, ...) + x = va_arg (gap, long); + va_end (gap); + } +-/* { dg-final { scan-tree-dump "f1: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f1: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f1: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f1: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -35,11 +35,11 @@ f2 (int i, ...) + bar (i); + va_end (gap); + } +-/* { dg-final { scan-tree-dump "f2: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f2: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f2: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f2: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -53,11 +53,11 @@ f3 (int i, ...) + x = va_arg (aps[4], long); + va_end (aps[4]); + } +-/* { dg-final { scan-tree-dump "f3: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f3: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f3: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f3: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -69,11 +69,11 @@ f4 (int i, ...) + bar (i); + va_end (aps[4]); + } +-/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -85,11 +85,11 @@ f5 (int i, ...) + foo (i, aps[4]); + va_end (aps[4]); + } +-/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -103,11 +103,11 @@ f6 (int i, ...) + x = va_arg (a.g, long); + va_end (a.g); + } +-/* { dg-final { scan-tree-dump "f6: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f6: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f6: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f6: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -119,11 +119,11 @@ f7 (int i, ...) + bar (i); + va_end (a.g); + } +-/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -135,11 +135,11 @@ f8 (int i, ...) + foo (i, a.g); + va_end (a.g); + } +-/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f8: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -151,11 +151,11 @@ f10 (int i, ...) + x = va_arg (a.h[1], long); + va_end (a.h[1]); + } +-/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f10: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -167,11 +167,11 @@ f11 (int i, ...) + bar (i); + va_end (a.h[1]); + } +-/* { dg-final { scan-tree-dump "f11: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f11: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f11: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f11: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f11: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -183,11 +183,11 @@ f12 (int i, ...) + foo (i, a.h[1]); + va_end (a.h[1]); + } +-/* { dg-final { scan-tree-dump "f12: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f12: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 1, needs to save all GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f12: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f12: va_list escapes 1, needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 1, needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f12: va_list escapes 1, needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + /* { dg-final { cleanup-tree-dump "stdarg" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/stdarg-4.c b/gcc/testsuite/gcc.dg/tree-ssa/stdarg-4.c +index d0e47e1..2d2d6d0 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/stdarg-4.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/stdarg-4.c +@@ -23,11 +23,11 @@ f1 (int i, ...) + x = va_arg (ap, long); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save all GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save all GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { x32 || { ! { ia32 } } } } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save all GPR units and 0 FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save all GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save all GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f1: va_list escapes \[01\], needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f1: va_list escapes \[01\], needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes \[01\], needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes \[01\], needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -40,11 +40,11 @@ f2 (int i, ...) + d = va_arg (ap, double); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save 0 GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save 0 GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { x32 || { ! { ia32 } } } } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save 0 GPR units and all FPR units" "stdarg" { target { powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save all GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save 0 GPR units and all FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f2: va_list escapes \[01\], needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f2: va_list escapes \[01\], needs to save all GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes \[01\], needs to save all GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes \[01\], needs to save all GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -63,11 +63,11 @@ f3 (int i, ...) + bar (x); + } + } +-/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[148\] GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[148\] GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[148\] GPR units and 0 FPR units" "stdarg" { target { powerpc*-*-linux* && ilp32 } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 8 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 1 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + +@@ -84,11 +84,11 @@ f4 (int i, ...) + bar (d + 2.5); + } + } +-/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save 0 GPR units and \[1-9\]\[0-9\]* FPR units" "stdarg" { target { powerpc*-*-linux* && { powerpc_fprs && ilp32 } } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save 8 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save 0 GPR units and 1 FPR units" "stdarg" { target s390*-*-linux* } } } */ +-/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } } */ ++/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && ia32 } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target ia64-*-* } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save \[148\] GPR units" "stdarg" { target { powerpc*-*-* && lp64 } } } } */ + /* { dg-final { cleanup-tree-dump "stdarg" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/stdarg-5.c b/gcc/testsuite/gcc.dg/tree-ssa/stdarg-5.c +index 08f2787..2de9e82 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/stdarg-5.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/stdarg-5.c +@@ -22,7 +22,7 @@ f1 (int i, ...) + s1 = va_arg (ap, struct S1); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save all GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f1: va_list escapes 0, needs to save all GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ + +@@ -35,7 +35,7 @@ f2 (int i, ...) + s2 = va_arg (ap, struct S2); + va_end (ap); + } +-/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save all GPR units and all FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save all GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f2: va_list escapes 0, needs to save all GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ + +@@ -53,7 +53,7 @@ f3 (int i, ...) + bar (s1.i); + } + } +-/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 32 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f3: va_list escapes 0, needs to save 1 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ + +@@ -71,7 +71,7 @@ f4 (int i, ...) + bar (s2.i); + } + } +-/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save 16 GPR units and 16 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save 16 GPR units and 16 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save 24 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f4: va_list escapes 0, needs to save 2 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ + +@@ -85,7 +85,7 @@ f5 (int i, ...) + va_end (ap); + bar (__real__ ci + __imag__ ci); + } +-/* { dg-final { scan-tree-dump "f5: va_list escapes 0, needs to save 16 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f5: va_list escapes 0, needs to save 16 GPR units and 0 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 0, needs to save 32 GPR units and 1" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f5: va_list escapes 0, needs to save (4|2) GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ + +@@ -99,7 +99,7 @@ f6 (int i, ...) + va_end (ap); + bar (__real__ ci + __imag__ cd); + } +-/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save 8 GPR units and 32 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save 8 GPR units and 32 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save 32 GPR units and 3" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f6: va_list escapes 0, needs to save (3|2) GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ + +@@ -113,7 +113,7 @@ f7 (int i, ...) + va_end (ap); + bar (__real__ cd + __imag__ cd); + } +-/* { dg-final { scan-tree-dump "f7: va_list escapes 0, needs to save 0 GPR units and 64 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */ ++/* { dg-final { scan-tree-dump "f7: va_list escapes 0, needs to save 0 GPR units and 64 FPR units" "stdarg" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 0, needs to save 32 GPR units and 2" "stdarg" { target alpha*-*-linux* } } } */ + /* { dg-final { scan-tree-dump "f7: va_list escapes 0, needs to save 2 GPR units and 0 FPR units" "stdarg" { target s390*-*-linux* } } } */ + /* { dg-final { cleanup-tree-dump "stdarg" } } */ +diff --git a/gcc/testsuite/gcc.dg/tree-ssa/update-unroll-1.c b/gcc/testsuite/gcc.dg/tree-ssa/update-unroll-1.c +index d911dd8..a933102 100644 +--- a/gcc/testsuite/gcc.dg/tree-ssa/update-unroll-1.c ++++ b/gcc/testsuite/gcc.dg/tree-ssa/update-unroll-1.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + /* { dg-options "-O1 -fprefetch-loop-arrays -march=athlon -fdump-tree-aprefetch-blocks" } */ + + int a[10000]; +diff --git a/gcc/testsuite/gcc.dg/unroll-1.c b/gcc/testsuite/gcc.dg/unroll-1.c +index 5ff07e2..e703289 100644 +--- a/gcc/testsuite/gcc.dg/unroll-1.c ++++ b/gcc/testsuite/gcc.dg/unroll-1.c +@@ -1,7 +1,7 @@ + /* PR optimization/8599 */ + /* { dg-do run } */ + /* { dg-options "-O2 -funroll-loops" } */ +-/* { dg-options "-mtune=k6 -O2 -funroll-loops" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-mtune=k6 -O2 -funroll-loops" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp +index ff3650c..1a22e7d 100644 +--- a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp ++++ b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp +@@ -22,7 +22,7 @@ load_lib gcc-dg.exp + + # Exit immediately if this isn't a x86 target. + if { (![istarget x86_64-*-*] && ![istarget i?86-*-*]) +- || ![is-effective-target lp64] } then { ++ || [is-effective-target ia32] } then { + return + } + +diff --git a/gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c b/gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c +index ffb2e79..638749a 100644 +--- a/gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c ++++ b/gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c +@@ -1,8 +1,7 @@ + /* Test that the correct data prefetch instructions are generated for i386 + variants that use 3DNow! prefetch instructions. */ + +-/* { dg-do compile { target i?86-*-* x86_64-*-*} } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern void exit (int); + +diff --git a/gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c b/gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c +index 8d5ad1e..d793437 100644 +--- a/gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c ++++ b/gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c +@@ -2,8 +2,7 @@ + variants that use 3DNow! prefetchw or SSE prefetch instructions with + locality hints. */ + +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern void exit (int); + +diff --git a/gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c b/gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c +index d87a210..04e814d 100644 +--- a/gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c ++++ b/gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c +@@ -1,8 +1,7 @@ + /* Test that data prefetch instructions are not generated for i386 variants + that do not support those instructions. */ + +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern void exit (int); + +diff --git a/gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c b/gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c +index fb47c9d..3707c70 100644 +--- a/gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c ++++ b/gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c +@@ -1,8 +1,7 @@ + /* Test that the correct data prefetch instructions are generated for i386 + variants that use SSE prefetch instructions. */ + +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + extern void exit (int); + +diff --git a/gcc/testsuite/gcc.target/i386/20000609-1.c b/gcc/testsuite/gcc.target/i386/20000609-1.c +index e094bba..a083a5d 100644 +--- a/gcc/testsuite/gcc.target/i386/20000609-1.c ++++ b/gcc/testsuite/gcc.target/i386/20000609-1.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O1 -ffast-math -march=i686" } */ + + +diff --git a/gcc/testsuite/gcc.target/i386/20000720-1.c b/gcc/testsuite/gcc.target/i386/20000720-1.c +index 076a22b..84e136c 100644 +--- a/gcc/testsuite/gcc.target/i386/20000720-1.c ++++ b/gcc/testsuite/gcc.target/i386/20000720-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mpreferred-stack-boundary=2 -march=i586 -O2 -fomit-frame-pointer" } */ + + extern void *foo(void *a, const void *b, unsigned c); +diff --git a/gcc/testsuite/gcc.target/i386/20000724-1.c b/gcc/testsuite/gcc.target/i386/20000724-1.c +index b3be437..cbcd4f1 100644 +--- a/gcc/testsuite/gcc.target/i386/20000724-1.c ++++ b/gcc/testsuite/gcc.target/i386/20000724-1.c +@@ -1,5 +1,5 @@ + /* { dg-do run { target *-*-linux* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -fomit-frame-pointer" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/20011107-1.c b/gcc/testsuite/gcc.target/i386/20011107-1.c +index 3bf84e5..c1cfe88 100644 +--- a/gcc/testsuite/gcc.target/i386/20011107-1.c ++++ b/gcc/testsuite/gcc.target/i386/20011107-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -mtune=k6" } */ + + void +diff --git a/gcc/testsuite/gcc.target/i386/20011119-1.c b/gcc/testsuite/gcc.target/i386/20011119-1.c +index 4dd657e..9e85f6f 100644 +--- a/gcc/testsuite/gcc.target/i386/20011119-1.c ++++ b/gcc/testsuite/gcc.target/i386/20011119-1.c +@@ -1,6 +1,6 @@ + /* Test for reload failing to eliminate from argp to sp. */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target nonpic } */ + /* { dg-options "-O2 -fomit-frame-pointer" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/20020201-3.c b/gcc/testsuite/gcc.target/i386/20020201-3.c +index da700c1..9d72654 100644 +--- a/gcc/testsuite/gcc.target/i386/20020201-3.c ++++ b/gcc/testsuite/gcc.target/i386/20020201-3.c +@@ -1,7 +1,7 @@ + /* This testcase ICEd because a SFmode variable was given a MMX register + for which there is no movsf exists. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=i686 -mmmx -fno-strict-aliasing" } */ + + struct A { unsigned int a, b; }; +diff --git a/gcc/testsuite/gcc.target/i386/20020218-1.c b/gcc/testsuite/gcc.target/i386/20020218-1.c +index 13a835e..4d3d256 100644 +--- a/gcc/testsuite/gcc.target/i386/20020218-1.c ++++ b/gcc/testsuite/gcc.target/i386/20020218-1.c +@@ -1,6 +1,6 @@ + /* Verify that X86-64 only SSE registers aren't restored on IA-32. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -msse" } */ + /* { dg-final { scan-assembler-not "xmm8" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/20020729-1.c b/gcc/testsuite/gcc.target/i386/20020729-1.c +index d4ef9bf..7e1abaf 100644 +--- a/gcc/testsuite/gcc.target/i386/20020729-1.c ++++ b/gcc/testsuite/gcc.target/i386/20020729-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=k6" } */ + + static inline void * +diff --git a/gcc/testsuite/gcc.target/i386/20030926-1.c b/gcc/testsuite/gcc.target/i386/20030926-1.c +index 0425f24..ebde340 100644 +--- a/gcc/testsuite/gcc.target/i386/20030926-1.c ++++ b/gcc/testsuite/gcc.target/i386/20030926-1.c +@@ -1,7 +1,7 @@ + /* PR optimization/11741 */ + /* { dg-do compile } */ + /* { dg-options "-O2 -minline-all-stringops" } */ +-/* { dg-options "-O2 -minline-all-stringops -march=pentium4" { target ilp32 } } */ ++/* { dg-options "-O2 -minline-all-stringops -march=pentium4" { target ia32 } } */ + + extern void *memcpy (void *, const void *, __SIZE_TYPE__); + extern __SIZE_TYPE__ strlen (const char *); +diff --git a/gcc/testsuite/gcc.target/i386/20060125-1.c b/gcc/testsuite/gcc.target/i386/20060125-1.c +index f445b7e..ed9dcce 100644 +--- a/gcc/testsuite/gcc.target/i386/20060125-1.c ++++ b/gcc/testsuite/gcc.target/i386/20060125-1.c +@@ -1,6 +1,6 @@ + /* PR rtl-optimization/25703 */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -mtune=i486" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/20060125-2.c b/gcc/testsuite/gcc.target/i386/20060125-2.c +index 55ef839..1747a63 100644 +--- a/gcc/testsuite/gcc.target/i386/20060125-2.c ++++ b/gcc/testsuite/gcc.target/i386/20060125-2.c +@@ -1,6 +1,6 @@ + /* PR rtl-optimization/25703 */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -mtune=pentiumpro" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/20060512-1.c b/gcc/testsuite/gcc.target/i386/20060512-1.c +index ae432e7..374d18a 100644 +--- a/gcc/testsuite/gcc.target/i386/20060512-1.c ++++ b/gcc/testsuite/gcc.target/i386/20060512-1.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-std=gnu99 -msse2 -mpreferred-stack-boundary=4" } */ + /* { dg-require-effective-target sse2 } */ + +diff --git a/gcc/testsuite/gcc.target/i386/20060512-2.c b/gcc/testsuite/gcc.target/i386/20060512-2.c +index fe1af56..d3a779c 100644 +--- a/gcc/testsuite/gcc.target/i386/20060512-2.c ++++ b/gcc/testsuite/gcc.target/i386/20060512-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-std=gnu99 -mpreferred-stack-boundary=4" } */ + int + outer_function (int x, int y) +diff --git a/gcc/testsuite/gcc.target/i386/20060512-3.c b/gcc/testsuite/gcc.target/i386/20060512-3.c +index 4b62b16..3370b9e 100644 +--- a/gcc/testsuite/gcc.target/i386/20060512-3.c ++++ b/gcc/testsuite/gcc.target/i386/20060512-3.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-options "-std=gnu99 -msse2 -mstackrealign -mpreferred-stack-boundary=4" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/20060512-4.c b/gcc/testsuite/gcc.target/i386/20060512-4.c +index ee7b8a4..bf76937 100644 +--- a/gcc/testsuite/gcc.target/i386/20060512-4.c ++++ b/gcc/testsuite/gcc.target/i386/20060512-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mstackrealign -mpreferred-stack-boundary=4" } */ + int + outer_function (int x, int y) +diff --git a/gcc/testsuite/gcc.target/i386/387-1.c b/gcc/testsuite/gcc.target/i386/387-1.c +index 83af71f..c4ea1e7 100644 +--- a/gcc/testsuite/gcc.target/i386/387-1.c ++++ b/gcc/testsuite/gcc.target/i386/387-1.c +@@ -1,6 +1,6 @@ + /* Verify that -mno-fancy-math-387 works. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ + /* { dg-options "-O -ffast-math -mfpmath=387 -mno-fancy-math-387 -march=i386" } */ + /* { dg-final { scan-assembler "call\t(.*)sin" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/387-2.c b/gcc/testsuite/gcc.target/i386/387-2.c +index bd6dbcd..8d5dba1 100644 +--- a/gcc/testsuite/gcc.target/i386/387-2.c ++++ b/gcc/testsuite/gcc.target/i386/387-2.c +@@ -1,6 +1,6 @@ + /* Verify that -march overrides -mno-fancy-math-387. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i686" } } */ + /* { dg-options "-O -ffast-math -mfpmath=387 -march=i686 -mno-fancy-math-387" } */ + /* { dg-final { scan-assembler "fsin" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/387-5.c b/gcc/testsuite/gcc.target/i386/387-5.c +index 027799a..a39f77a 100644 +--- a/gcc/testsuite/gcc.target/i386/387-5.c ++++ b/gcc/testsuite/gcc.target/i386/387-5.c +@@ -1,6 +1,6 @@ + /* Verify that -mno-fancy-math-387 works. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ + /* { dg-options "-O -ffast-math -mfpmath=387 -mno-fancy-math-387 -march=i386" } */ + /* { dg-final { scan-assembler "call\t(.*)atan" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/387-6.c b/gcc/testsuite/gcc.target/i386/387-6.c +index 7b254d1..f9506ba 100644 +--- a/gcc/testsuite/gcc.target/i386/387-6.c ++++ b/gcc/testsuite/gcc.target/i386/387-6.c +@@ -1,6 +1,6 @@ + /* Verify that -march overrides -mno-fancy-math-387. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i686" } } */ + /* { dg-options "-O -ffast-math -mfpmath=387 -march=i686 -mno-fancy-math-387" } */ + /* { dg-final { scan-assembler "fpatan" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/980312-1.c b/gcc/testsuite/gcc.target/i386/980312-1.c +index 72cdd5e..3a125f2 100644 +--- a/gcc/testsuite/gcc.target/i386/980312-1.c ++++ b/gcc/testsuite/gcc.target/i386/980312-1.c +@@ -1,5 +1,5 @@ + /* { dg-do link } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=pentiumpro" } */ + + extern __inline double +diff --git a/gcc/testsuite/gcc.target/i386/980313-1.c b/gcc/testsuite/gcc.target/i386/980313-1.c +index 3b5263c..8698aa6 100644 +--- a/gcc/testsuite/gcc.target/i386/980313-1.c ++++ b/gcc/testsuite/gcc.target/i386/980313-1.c +@@ -1,5 +1,5 @@ + /* { dg-do link } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=pentiumpro" } */ + + extern __inline double +diff --git a/gcc/testsuite/gcc.target/i386/990117-1.c b/gcc/testsuite/gcc.target/i386/990117-1.c +index 3a40e7f..a89dad1 100644 +--- a/gcc/testsuite/gcc.target/i386/990117-1.c ++++ b/gcc/testsuite/gcc.target/i386/990117-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=pentiumpro" } */ + + extern __inline double +diff --git a/gcc/testsuite/gcc.target/i386/990424-1.c b/gcc/testsuite/gcc.target/i386/990424-1.c +index 95628e1..dd29139 100644 +--- a/gcc/testsuite/gcc.target/i386/990424-1.c ++++ b/gcc/testsuite/gcc.target/i386/990424-1.c +@@ -2,7 +2,7 @@ + with stdcall functions. */ + + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options -mpreferred-stack-boundary=4 } */ + + void __attribute__((stdcall)) foo(int a, int b, int c); +diff --git a/gcc/testsuite/gcc.target/i386/990524-1.c b/gcc/testsuite/gcc.target/i386/990524-1.c +index 7d8205c..295ffac 100644 +--- a/gcc/testsuite/gcc.target/i386/990524-1.c ++++ b/gcc/testsuite/gcc.target/i386/990524-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=pentiumpro" } */ + + typedef struct t_anim_info { +diff --git a/gcc/testsuite/gcc.target/i386/991129-1.c b/gcc/testsuite/gcc.target/i386/991129-1.c +index d0d58e8..038979a 100644 +--- a/gcc/testsuite/gcc.target/i386/991129-1.c ++++ b/gcc/testsuite/gcc.target/i386/991129-1.c +@@ -1,7 +1,7 @@ + /* Test against a problem in push_reload. */ + + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2" } */ + + unsigned long foo (unsigned long long x, unsigned long y) +diff --git a/gcc/testsuite/gcc.target/i386/991214-1.c b/gcc/testsuite/gcc.target/i386/991214-1.c +index 3d9a72e..74b603d 100644 +--- a/gcc/testsuite/gcc.target/i386/991214-1.c ++++ b/gcc/testsuite/gcc.target/i386/991214-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2" } */ + + /* Test against a problem with the combiner substituting explicit hard reg +diff --git a/gcc/testsuite/gcc.target/i386/991230-1.c b/gcc/testsuite/gcc.target/i386/991230-1.c +index a57cc98..2c9f011 100644 +--- a/gcc/testsuite/gcc.target/i386/991230-1.c ++++ b/gcc/testsuite/gcc.target/i386/991230-1.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O -ffast-math -mtune=i486" } */ + + /* Test that floating point greater-than tests are compiled correctly with +diff --git a/gcc/testsuite/gcc.target/i386/addr-sel-1.c b/gcc/testsuite/gcc.target/i386/addr-sel-1.c +index 9cc820f..27623ff 100644 +--- a/gcc/testsuite/gcc.target/i386/addr-sel-1.c ++++ b/gcc/testsuite/gcc.target/i386/addr-sel-1.c +@@ -2,7 +2,7 @@ + /* Origin: Lev Makhlis <lmakhlis@bmc.com> */ + + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target nonpic } */ + /* { dg-options "-O2 -mtune=i686" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/aggregate-ret1.c b/gcc/testsuite/gcc.target/i386/aggregate-ret1.c +index 1cd314b..6d46dc5 100644 +--- a/gcc/testsuite/gcc.target/i386/aggregate-ret1.c ++++ b/gcc/testsuite/gcc.target/i386/aggregate-ret1.c +@@ -3,7 +3,7 @@ + not pop the stack for the implicit pointer arg when returning a large + structure in memory. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + struct foo { + int a; +diff --git a/gcc/testsuite/gcc.target/i386/aggregate-ret2.c b/gcc/testsuite/gcc.target/i386/aggregate-ret2.c +index 50aa0bb..16e0109 100644 +--- a/gcc/testsuite/gcc.target/i386/aggregate-ret2.c ++++ b/gcc/testsuite/gcc.target/i386/aggregate-ret2.c +@@ -3,7 +3,7 @@ + pops the stack for the implicit pointer arg when returning a large + structure in memory. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + struct foo { + int a; +diff --git a/gcc/testsuite/gcc.target/i386/align-main-3.c b/gcc/testsuite/gcc.target/i386/align-main-3.c +index d2f88d8..6f8c758 100644 +--- a/gcc/testsuite/gcc.target/i386/align-main-3.c ++++ b/gcc/testsuite/gcc.target/i386/align-main-3.c +@@ -1,5 +1,5 @@ + /* Test for stack alignment with sibcall optimization. */ +-/* { dg-do compile { target { *-*-linux* && ilp32 } } } */ ++/* { dg-do compile { target { *-*-linux* && ia32 } } } */ + /* { dg-options "-O2 -mpreferred-stack-boundary=4 -mincoming-stack-boundary=2" } */ + /* { dg-final { scan-assembler "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */ + /* { dg-final { scan-assembler "call\[\\t \]*foo" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c +index d3df77a..6aa7063 100644 +--- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c ++++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-mno-sse" } */ + + double foo(void) { return 0; } /* { dg-error "SSE disabled" } */ +diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-2.c b/gcc/testsuite/gcc.target/i386/amd64-abi-2.c +index fefc88a..acc2a9e 100644 +--- a/gcc/testsuite/gcc.target/i386/amd64-abi-2.c ++++ b/gcc/testsuite/gcc.target/i386/amd64-abi-2.c +@@ -1,6 +1,5 @@ + /* PR target/26223 */ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-mno-80387" } */ + long double foo(long double x) { return x; } /* { dg-error "x87 disabled" } */ + long double bar(long double x) { return x; } +diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-4.c b/gcc/testsuite/gcc.target/i386/amd64-abi-4.c +index 8f32029..e88fde6 100644 +--- a/gcc/testsuite/gcc.target/i386/amd64-abi-4.c ++++ b/gcc/testsuite/gcc.target/i386/amd64-abi-4.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mno-sse" } */ + + #include <stdarg.h> +diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-5.c b/gcc/testsuite/gcc.target/i386/amd64-abi-5.c +index e4ba1fd..da2a14e 100644 +--- a/gcc/testsuite/gcc.target/i386/amd64-abi-5.c ++++ b/gcc/testsuite/gcc.target/i386/amd64-abi-5.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-options "-O2" } */ + + #include <stdarg.h> +diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-6.c b/gcc/testsuite/gcc.target/i386/amd64-abi-6.c +index 255b547..6d076ad 100644 +--- a/gcc/testsuite/gcc.target/i386/amd64-abi-6.c ++++ b/gcc/testsuite/gcc.target/i386/amd64-abi-6.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-options "-O2" } */ + + #include <stdarg.h> +diff --git a/gcc/testsuite/gcc.target/i386/asm-1.c b/gcc/testsuite/gcc.target/i386/asm-1.c +index 348dc32..999c576 100644 +--- a/gcc/testsuite/gcc.target/i386/asm-1.c ++++ b/gcc/testsuite/gcc.target/i386/asm-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-m32" } */ + + register unsigned int EAX asm ("r14"); /* { dg-error "register name" } */ +diff --git a/gcc/testsuite/gcc.target/i386/asm-3.c b/gcc/testsuite/gcc.target/i386/asm-3.c +index 6c23237..ec37898 100644 +--- a/gcc/testsuite/gcc.target/i386/asm-3.c ++++ b/gcc/testsuite/gcc.target/i386/asm-3.c +@@ -1,6 +1,6 @@ + /* PR inline-asm/6806 */ + /* { dg-do run } */ +-/* { dg-skip-if "" { ilp32 && { ! nonpic } } { "*" } { "" } } */ ++/* { dg-skip-if "" { ia32 && { ! nonpic } } { "*" } { "" } } */ + /* { dg-options "-O2" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/asm-5.c b/gcc/testsuite/gcc.target/i386/asm-5.c +index 966a824..d412980 100644 +--- a/gcc/testsuite/gcc.target/i386/asm-5.c ++++ b/gcc/testsuite/gcc.target/i386/asm-5.c +@@ -1,6 +1,6 @@ + /* PR inline-asm/11676 */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/attributes-error.c b/gcc/testsuite/gcc.target/i386/attributes-error.c +index 1a5b0ea..405eda5 100644 +--- a/gcc/testsuite/gcc.target/i386/attributes-error.c ++++ b/gcc/testsuite/gcc.target/i386/attributes-error.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + void foo1(int i, int j) __attribute__((fastcall, cdecl)); /* { dg-error "not compatible" } */ + void foo2(int i, int j) __attribute__((fastcall, stdcall)); /* { dg-error "not compatible" } */ +diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvtsd2si-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvtsd2si-2.c +index a5b04fa..f462c63 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vcvtsd2si-2.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vcvtsd2si-2.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvtsi2sd-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvtsi2sd-2.c +index 49096cf..36f411e 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vcvtsi2sd-2.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vcvtsi2sd-2.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvtsi2ss-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvtsi2ss-2.c +index 765c455..8dc0b35 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vcvtsi2ss-2.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vcvtsi2ss-2.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvtss2si-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvtss2si-2.c +index 5160b8d..b9afab7 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vcvtss2si-2.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vcvtss2si-2.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvttsd2si-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvttsd2si-2.c +index dcf487a..84bdb9f 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vcvttsd2si-2.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vcvttsd2si-2.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vcvttss2si-2.c b/gcc/testsuite/gcc.target/i386/avx-vcvttss2si-2.c +index 14b0721..b3c68ea 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vcvttss2si-2.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vcvttss2si-2.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vinsertps-3.c b/gcc/testsuite/gcc.target/i386/avx-vinsertps-3.c +index 9397729..515ee41 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vinsertps-3.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vinsertps-3.c +@@ -1,4 +1,4 @@ +-/* { dg-do run { target ilp32 } } */ ++/* { dg-do run { target ia32 } } */ + /* { dg-require-effective-target avx } */ + /* { dg-options "-O2 -mfpmath=sse -mavx -mtune=geode" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/avx-vmovd-2.c b/gcc/testsuite/gcc.target/i386/avx-vmovd-2.c +index 3c3732b..02b0d22 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vmovd-2.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vmovd-2.c +@@ -1,6 +1,5 @@ + /* { dg-do run } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vmovq-2.c b/gcc/testsuite/gcc.target/i386/avx-vmovq-2.c +index cf0f4eb..8306d39 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vmovq-2.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vmovq-2.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vmovq-3.c b/gcc/testsuite/gcc.target/i386/avx-vmovq-3.c +index 26944d1..a6d6247 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vmovq-3.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vmovq-3.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vpextrq-1.c b/gcc/testsuite/gcc.target/i386/avx-vpextrq-1.c +index 1ffe007..59e70b2 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vpextrq-1.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vpextrq-1.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vpinsrq-1.c b/gcc/testsuite/gcc.target/i386/avx-vpinsrq-1.c +index 3b9d26a..595fc1b 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vpinsrq-1.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vpinsrq-1.c +@@ -1,6 +1,5 @@ +-/* { dg-do run } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target avx } */ +-/* { dg-require-effective-target lp64 } */ + /* { dg-options "-O2 -mavx" } */ + + #define CHECK_H "avx-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c b/gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c +index ad46d35..c728e25 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target lp64 } } */ + /* { dg-options "-O2 -mavx -mabi=ms -mtune=generic -dp" } */ + + typedef float __m256 __attribute__ ((__vector_size__ (32), __may_alias__)); +diff --git a/gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c b/gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c +index 5b5c64b..8dfe3d0 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target lp64 } } */ + /* { dg-options "-O2 -mavx -mabi=ms -mtune=generic -dp" } */ + + typedef float __m256 __attribute__ ((__vector_size__ (32), __may_alias__)); +diff --git a/gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c b/gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c +index 541f77d..ea7e91a 100644 +--- a/gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c ++++ b/gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target lp64 } } */ + /* { dg-options "-O0 -mavx -mabi=ms -mtune=generic -dp" } */ + + typedef float __m256 __attribute__ ((__vector_size__ (32), __may_alias__)); +diff --git a/gcc/testsuite/gcc.target/i386/bitfield1.c b/gcc/testsuite/gcc.target/i386/bitfield1.c +index 1590396..00b7bfd 100644 +--- a/gcc/testsuite/gcc.target/i386/bitfield1.c ++++ b/gcc/testsuite/gcc.target/i386/bitfield1.c +@@ -1,6 +1,6 @@ + // Test for bitfield alignment in structs on IA-32 + // { dg-do run } +-// { dg-require-effective-target ilp32 } ++// { dg-require-effective-target ia32 } + // { dg-options "-O2" } + // { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw*} } + +diff --git a/gcc/testsuite/gcc.target/i386/bitfield2.c b/gcc/testsuite/gcc.target/i386/bitfield2.c +index d665fcb..e400598 100644 +--- a/gcc/testsuite/gcc.target/i386/bitfield2.c ++++ b/gcc/testsuite/gcc.target/i386/bitfield2.c +@@ -1,6 +1,6 @@ + // Test for bitfield alignment in structs on IA-32 + // { dg-do run } +-// { dg-require-effective-target ilp32 } ++// { dg-require-effective-target ia32 } + // { dg-options "-O2" } + // { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw* } } + +diff --git a/gcc/testsuite/gcc.target/i386/bmi-2.c b/gcc/testsuite/gcc.target/i386/bmi-2.c +index 4f8c14f..56f7387 100644 +--- a/gcc/testsuite/gcc.target/i386/bmi-2.c ++++ b/gcc/testsuite/gcc.target/i386/bmi-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mbmi " } */ + /* { dg-final { scan-assembler "andn\[^\\n]*(%|)rax" } } */ + /* { dg-final { scan-assembler "bextr\[^\\n]*(%|)rax" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/bmi-5.c b/gcc/testsuite/gcc.target/i386/bmi-5.c +index 906bf21..546a593 100644 +--- a/gcc/testsuite/gcc.target/i386/bmi-5.c ++++ b/gcc/testsuite/gcc.target/i386/bmi-5.c +@@ -1,5 +1,4 @@ +-/* { dg-do link } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do link { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mbmi" } */ + + #include <x86intrin.h> +diff --git a/gcc/testsuite/gcc.target/i386/builtin-copysign.c b/gcc/testsuite/gcc.target/i386/builtin-copysign.c +index c20a0b6..175b931 100644 +--- a/gcc/testsuite/gcc.target/i386/builtin-copysign.c ++++ b/gcc/testsuite/gcc.target/i386/builtin-copysign.c +@@ -11,6 +11,4 @@ MODE test5##CEXT(MODE a, MODE b) { return __builtin_copysign##CEXT(a, b); } + TEST_SET (float, f) + TEST_SET (double, ) + TEST_SET (long double, l) +-#if defined (__LP64__) + TEST_SET (__float128, q) +-#endif +diff --git a/gcc/testsuite/gcc.target/i386/builtin-unreachable.c b/gcc/testsuite/gcc.target/i386/builtin-unreachable.c +index 802cf16..91923a2 100644 +--- a/gcc/testsuite/gcc.target/i386/builtin-unreachable.c ++++ b/gcc/testsuite/gcc.target/i386/builtin-unreachable.c +@@ -1,7 +1,7 @@ + /* This should return 1 without setting up a stack frame or + jumping. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -fomit-frame-pointer" } */ + int h (char *p) + { +diff --git a/gcc/testsuite/gcc.target/i386/cleanup-2.c b/gcc/testsuite/gcc.target/i386/cleanup-2.c +index 2bd1802..36dd80d 100644 +--- a/gcc/testsuite/gcc.target/i386/cleanup-2.c ++++ b/gcc/testsuite/gcc.target/i386/cleanup-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do run { target *-*-linux* } } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { *-*-linux* && { ! { ia32 } } } } } */ + /* { dg-options "-fexceptions -fnon-call-exceptions -fasynchronous-unwind-tables -O2" } */ + /* Test complex CFA value expressions. */ + +diff --git a/gcc/testsuite/gcc.target/i386/clobbers.c b/gcc/testsuite/gcc.target/i386/clobbers.c +index 17987db..1a70688 100644 +--- a/gcc/testsuite/gcc.target/i386/clobbers.c ++++ b/gcc/testsuite/gcc.target/i386/clobbers.c +@@ -16,7 +16,7 @@ int main () + Ditto for any x86 system that is ilp32 && pic. + */ + #if !(defined (__MACH__)) +-#if ! defined (__PIC__) || defined (__LP64__) ++#if ! defined (__PIC__) || defined (__x86_64__) + __asm__ ("movl $1,%0\n\txorl %%ebx,%%ebx" : "=r" (i) : : "ebx"); + if (i != 1) + abort (); +diff --git a/gcc/testsuite/gcc.target/i386/cmov8.c b/gcc/testsuite/gcc.target/i386/cmov8.c +index 639fb62..2d95c25 100644 +--- a/gcc/testsuite/gcc.target/i386/cmov8.c ++++ b/gcc/testsuite/gcc.target/i386/cmov8.c +@@ -1,6 +1,6 @@ + /* PR target/36936 */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=i686" } */ + /* { dg-final { scan-assembler "cmov\[^8\]" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/cmpxchg16b-1.c b/gcc/testsuite/gcc.target/i386/cmpxchg16b-1.c +index fd266f5..a78017a 100644 +--- a/gcc/testsuite/gcc.target/i386/cmpxchg16b-1.c ++++ b/gcc/testsuite/gcc.target/i386/cmpxchg16b-1.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mcx16" } */ + + typedef int TItype __attribute__ ((mode (TI))); +diff --git a/gcc/testsuite/gcc.target/i386/compress-float-387-pic.c b/gcc/testsuite/gcc.target/i386/compress-float-387-pic.c +index fa69eed..e4d71c2 100644 +--- a/gcc/testsuite/gcc.target/i386/compress-float-387-pic.c ++++ b/gcc/testsuite/gcc.target/i386/compress-float-387-pic.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target fpic } */ + /* { dg-options "-O2 -march=pentium4 -mtune=prescott -mfpmath=387 -fpic" } */ + double foo (double x) { +diff --git a/gcc/testsuite/gcc.target/i386/compress-float-387.c b/gcc/testsuite/gcc.target/i386/compress-float-387.c +index bed2986..03a834d 100644 +--- a/gcc/testsuite/gcc.target/i386/compress-float-387.c ++++ b/gcc/testsuite/gcc.target/i386/compress-float-387.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=pentium4 -mtune=prescott -mfpmath=387" } */ + double foo (double x) { + return x + 1.75; +diff --git a/gcc/testsuite/gcc.target/i386/compress-float-sse-pic.c b/gcc/testsuite/gcc.target/i386/compress-float-sse-pic.c +index 2c9be7c..ef024dd 100644 +--- a/gcc/testsuite/gcc.target/i386/compress-float-sse-pic.c ++++ b/gcc/testsuite/gcc.target/i386/compress-float-sse-pic.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target fpic } */ + /* { dg-options "-O2 -march=pentium4 -mtune=prescott -mfpmath=sse -fpic" } */ + double foo (double x) { +diff --git a/gcc/testsuite/gcc.target/i386/compress-float-sse.c b/gcc/testsuite/gcc.target/i386/compress-float-sse.c +index 48db611..c56be13 100644 +--- a/gcc/testsuite/gcc.target/i386/compress-float-sse.c ++++ b/gcc/testsuite/gcc.target/i386/compress-float-sse.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=pentium4 -mtune=prescott -mfpmath=sse" } */ + double foo (double x) { + return x + 1.75; +diff --git a/gcc/testsuite/gcc.target/i386/crc32-2.c b/gcc/testsuite/gcc.target/i386/crc32-2.c +index e7af9ab..678cfd5 100644 +--- a/gcc/testsuite/gcc.target/i386/crc32-2.c ++++ b/gcc/testsuite/gcc.target/i386/crc32-2.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2 -mcrc32" } */ +-/* { dg-final { scan-assembler "crc32q\[^\\n\]*rax" { target lp64 } } } */ ++/* { dg-final { scan-assembler "crc32q\[^\\n\]*rax" { target { ! { ia32 } } } } } */ + + unsigned long long + crc32d (unsigned long long x, unsigned long long y) +diff --git a/gcc/testsuite/gcc.target/i386/crc32-3.c b/gcc/testsuite/gcc.target/i386/crc32-3.c +index e77d7d9..7518a45 100644 +--- a/gcc/testsuite/gcc.target/i386/crc32-3.c ++++ b/gcc/testsuite/gcc.target/i386/crc32-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -mcrc32" } */ + /* { dg-final { scan-assembler "__builtin_ia32_crc32di" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/divmod-7.c b/gcc/testsuite/gcc.target/i386/divmod-7.c +index 20a4cd3..de4a1fb 100644 +--- a/gcc/testsuite/gcc.target/i386/divmod-7.c ++++ b/gcc/testsuite/gcc.target/i386/divmod-7.c +@@ -1,6 +1,5 @@ +-/* { dg-do compile } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -m8bit-idiv" } */ +-/* { dg-require-effective-target lp64 } */ + + extern void abort (void); + +diff --git a/gcc/testsuite/gcc.target/i386/divmod-8.c b/gcc/testsuite/gcc.target/i386/divmod-8.c +index 5192b98..eb09a6d 100644 +--- a/gcc/testsuite/gcc.target/i386/divmod-8.c ++++ b/gcc/testsuite/gcc.target/i386/divmod-8.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -m8bit-idiv" } */ + + extern void foo (long long, long long, long long, long long, +diff --git a/gcc/testsuite/gcc.target/i386/fastcall-sseregparm.c b/gcc/testsuite/gcc.target/i386/fastcall-sseregparm.c +index 1a55a3d..3f33f6b 100644 +--- a/gcc/testsuite/gcc.target/i386/fastcall-sseregparm.c ++++ b/gcc/testsuite/gcc.target/i386/fastcall-sseregparm.c +@@ -1,6 +1,6 @@ + /* { dg-do run } */ + /* { dg-options "-mpreferred-stack-boundary=4 -msse" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target sse } */ + + #include "sse-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/fma3-builtin.c b/gcc/testsuite/gcc.target/i386/fma3-builtin.c +index ba8af55..2d9c5c7 100644 +--- a/gcc/testsuite/gcc.target/i386/fma3-builtin.c ++++ b/gcc/testsuite/gcc.target/i386/fma3-builtin.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly generates floating point multiply + and add instructions FMA3 systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfma -mno-fma4" } */ + + #ifndef __FP_FAST_FMAF +diff --git a/gcc/testsuite/gcc.target/i386/fma3-fma.c b/gcc/testsuite/gcc.target/i386/fma3-fma.c +index 1cedba8..f18f97b 100644 +--- a/gcc/testsuite/gcc.target/i386/fma3-fma.c ++++ b/gcc/testsuite/gcc.target/i386/fma3-fma.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes floating point multiply + and add instructions FMA3 systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfma -mno-fma4" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/fma4-256-vector.c b/gcc/testsuite/gcc.target/i386/fma4-256-vector.c +index 1bd2ce4..edaa21a 100644 +--- a/gcc/testsuite/gcc.target/i386/fma4-256-vector.c ++++ b/gcc/testsuite/gcc.target/i386/fma4-256-vector.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes floating point multiply and add + instructions vector into vfmaddps on FMA4 systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/fma4-builtin.c b/gcc/testsuite/gcc.target/i386/fma4-builtin.c +index 5659cf4..7135cc9 100644 +--- a/gcc/testsuite/gcc.target/i386/fma4-builtin.c ++++ b/gcc/testsuite/gcc.target/i386/fma4-builtin.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly generates floating point multiply + and add instructions FMA4 systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfma4" } */ + + #ifndef __FP_FAST_FMAF +diff --git a/gcc/testsuite/gcc.target/i386/fma4-fma-2.c b/gcc/testsuite/gcc.target/i386/fma4-fma-2.c +index 23f6ec1..c15be1e 100644 +--- a/gcc/testsuite/gcc.target/i386/fma4-fma-2.c ++++ b/gcc/testsuite/gcc.target/i386/fma4-fma-2.c +@@ -2,8 +2,7 @@ + and add instructions into vfmaddss, vfmsubss, vfnmaddss, + vfnmsubss on FMA4 systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -funsafe-math-optimizations -mfma4" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/fma4-fma.c b/gcc/testsuite/gcc.target/i386/fma4-fma.c +index cb90691..63b35dc 100644 +--- a/gcc/testsuite/gcc.target/i386/fma4-fma.c ++++ b/gcc/testsuite/gcc.target/i386/fma4-fma.c +@@ -2,8 +2,7 @@ + and add instructions into vfmaddss, vfmsubss, vfnmaddss, + vfnmsubss on FMA4 systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfma4" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/fma4-vector-2.c b/gcc/testsuite/gcc.target/i386/fma4-vector-2.c +index 2f3ec96..d8b0d08 100644 +--- a/gcc/testsuite/gcc.target/i386/fma4-vector-2.c ++++ b/gcc/testsuite/gcc.target/i386/fma4-vector-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic" } */ + + float r[256], s[256]; +diff --git a/gcc/testsuite/gcc.target/i386/fma4-vector.c b/gcc/testsuite/gcc.target/i386/fma4-vector.c +index da12780..db5ffdd 100644 +--- a/gcc/testsuite/gcc.target/i386/fma4-vector.c ++++ b/gcc/testsuite/gcc.target/i386/fma4-vector.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes floating point multiply and add + instructions vector into vfmaddps on FMA4 systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/funcspec-1.c b/gcc/testsuite/gcc.target/i386/funcspec-1.c +index bd8e67d..6eceac2 100644 +--- a/gcc/testsuite/gcc.target/i386/funcspec-1.c ++++ b/gcc/testsuite/gcc.target/i386/funcspec-1.c +@@ -2,7 +2,7 @@ + 32-bit, which does not generate SSE2 by default, but still generate 387 code + for a function that doesn't use attribute((option)). */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ + /* { dg-options "-O3 -ftree-vectorize -march=i386" } */ + /* { dg-final { scan-assembler "addps\[ \t\]" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/funcspec-10.c b/gcc/testsuite/gcc.target/i386/funcspec-10.c +index 9526e7d..de39ff0 100644 +--- a/gcc/testsuite/gcc.target/i386/funcspec-10.c ++++ b/gcc/testsuite/gcc.target/i386/funcspec-10.c +@@ -1,6 +1,6 @@ + /* PR target/36936 */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=i686" } */ + /* { dg-final { scan-assembler-not "cmov" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/funcspec-11.c b/gcc/testsuite/gcc.target/i386/funcspec-11.c +index 065ca3c..7c39f4c 100644 +--- a/gcc/testsuite/gcc.target/i386/funcspec-11.c ++++ b/gcc/testsuite/gcc.target/i386/funcspec-11.c +@@ -1,6 +1,6 @@ + /* PR target/36936 */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=i386" } */ + /* { dg-final { scan-assembler "cmov" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/funcspec-2.c b/gcc/testsuite/gcc.target/i386/funcspec-2.c +index c132fc9..88c14b2 100644 +--- a/gcc/testsuite/gcc.target/i386/funcspec-2.c ++++ b/gcc/testsuite/gcc.target/i386/funcspec-2.c +@@ -1,6 +1,5 @@ + /* Test whether using target specific options, we can generate FMA4 code. */ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -march=k8" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/funcspec-5.c b/gcc/testsuite/gcc.target/i386/funcspec-5.c +index 1e18dcf..8dd17e5 100644 +--- a/gcc/testsuite/gcc.target/i386/funcspec-5.c ++++ b/gcc/testsuite/gcc.target/i386/funcspec-5.c +@@ -1,7 +1,7 @@ + /* Test whether all of the 32-bit function specific options are accepted + without error. */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + extern void test_abm (void) __attribute__((__target__("abm"))); + extern void test_aes (void) __attribute__((__target__("aes"))); +diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c +index 92a3cb5..62818d9 100644 +--- a/gcc/testsuite/gcc.target/i386/funcspec-6.c ++++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c +@@ -1,7 +1,6 @@ + /* Test whether all of the 64-bit function specific options are accepted + without error. */ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + + extern void test_abm (void) __attribute__((__target__("abm"))); + extern void test_aes (void) __attribute__((__target__("aes"))); +diff --git a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-1.c b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-1.c +index d20a717..6d6ce99 100644 +--- a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-1.c ++++ b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-1.c +@@ -1,5 +1,5 @@ + /* { dg-do preprocess } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ + /* { dg-options "-march=i386" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-2.c b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-2.c +index 01a49b6..08c4e0b 100644 +--- a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-2.c ++++ b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-2.c +@@ -1,5 +1,5 @@ + /* { dg-do preprocess } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i486" } } */ + /* { dg-options "-march=i486" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-3.c b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-3.c +index bc5a5598..40dd9357 100644 +--- a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-3.c ++++ b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-3.c +@@ -1,5 +1,5 @@ + /* { dg-do preprocess } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-march=i586" } */ + + #ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 +diff --git a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c +index 2792869..ab250dd 100644 +--- a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c ++++ b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c +@@ -1,5 +1,4 @@ +-/* { dg-do preprocess } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do preprocess { target { ! { ia32 } } } } */ + /* { dg-options "-mcx16" } */ + + #ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 +diff --git a/gcc/testsuite/gcc.target/i386/incoming-1.c b/gcc/testsuite/gcc.target/i386/incoming-1.c +index 86e98a7..c59b208 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-1.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-1.c +@@ -1,5 +1,5 @@ + /* PR middle-end/37009 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ + + #include <emmintrin.h> +diff --git a/gcc/testsuite/gcc.target/i386/incoming-10.c b/gcc/testsuite/gcc.target/i386/incoming-10.c +index 31d9e61..1fb9ef4 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-10.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-10.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -fomit-frame-pointer -O3 -march=barcelona -mpreferred-stack-boundary=4" } */ + + struct s { +diff --git a/gcc/testsuite/gcc.target/i386/incoming-11.c b/gcc/testsuite/gcc.target/i386/incoming-11.c +index e5787af..a7b7db5 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-11.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-11.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -fomit-frame-pointer -O3 -march=barcelona -mpreferred-stack-boundary=4" } */ + + void g(); +diff --git a/gcc/testsuite/gcc.target/i386/incoming-12.c b/gcc/testsuite/gcc.target/i386/incoming-12.c +index d7ef103..21f3f01 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-12.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-12.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */ + + typedef int v4si __attribute__ ((vector_size (16))); +diff --git a/gcc/testsuite/gcc.target/i386/incoming-13.c b/gcc/testsuite/gcc.target/i386/incoming-13.c +index bbc8993..cad47a9 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-13.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-13.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -O2 -mpreferred-stack-boundary=4" } */ + + extern double y(double *s3); +diff --git a/gcc/testsuite/gcc.target/i386/incoming-14.c b/gcc/testsuite/gcc.target/i386/incoming-14.c +index d27179d..03ef50b 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-14.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-14.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -O2 -mpreferred-stack-boundary=4" } */ + + extern int y(int *s3); +diff --git a/gcc/testsuite/gcc.target/i386/incoming-15.c b/gcc/testsuite/gcc.target/i386/incoming-15.c +index e6a1749..897f3bc 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-15.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-15.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -O2 -mpreferred-stack-boundary=4" } */ + + extern long long y(long long *s3); +diff --git a/gcc/testsuite/gcc.target/i386/incoming-2.c b/gcc/testsuite/gcc.target/i386/incoming-2.c +index 2947d33..4fc5629 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-2.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-2.c +@@ -1,5 +1,5 @@ + /* PR middle-end/37009 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ + + #include <emmintrin.h> +diff --git a/gcc/testsuite/gcc.target/i386/incoming-3.c b/gcc/testsuite/gcc.target/i386/incoming-3.c +index 1edbfda..1d39b03 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-3.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-3.c +@@ -1,5 +1,5 @@ + /* PR middle-end/37009 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ + + #include <emmintrin.h> +diff --git a/gcc/testsuite/gcc.target/i386/incoming-4.c b/gcc/testsuite/gcc.target/i386/incoming-4.c +index 80c169c..c3be961 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-4.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-4.c +@@ -1,5 +1,5 @@ + /* PR middle-end/37009 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */ + + #include <stdarg.h> +diff --git a/gcc/testsuite/gcc.target/i386/incoming-5.c b/gcc/testsuite/gcc.target/i386/incoming-5.c +index f083d40..9bbecdb 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-5.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-5.c +@@ -1,5 +1,5 @@ + /* PR middle-end/37009 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-m32 -mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */ + + extern void bar (double *); +diff --git a/gcc/testsuite/gcc.target/i386/incoming-6.c b/gcc/testsuite/gcc.target/i386/incoming-6.c +index 5cc4ab3..a2448ec 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-6.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-6.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */ + + typedef int v4si __attribute__ ((vector_size (16))); +diff --git a/gcc/testsuite/gcc.target/i386/incoming-7.c b/gcc/testsuite/gcc.target/i386/incoming-7.c +index cdd6037..0b8bbd5 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-7.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-7.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -O2 -msse2 -mpreferred-stack-boundary=4" } */ + + typedef int v4si __attribute__ ((vector_size (16))); +diff --git a/gcc/testsuite/gcc.target/i386/incoming-8.c b/gcc/testsuite/gcc.target/i386/incoming-8.c +index 2dd8800..298ce02 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-8.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-8.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -O3 -msse2 -mpreferred-stack-boundary=4" } */ + + float +diff --git a/gcc/testsuite/gcc.target/i386/incoming-9.c b/gcc/testsuite/gcc.target/i386/incoming-9.c +index e43cbd6..1786937 100644 +--- a/gcc/testsuite/gcc.target/i386/incoming-9.c ++++ b/gcc/testsuite/gcc.target/i386/incoming-9.c +@@ -1,5 +1,5 @@ + /* PR target/40838 */ +-/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */ ++/* { dg-do compile { target { { ! *-*-darwin* } && ia32 } } } */ + /* { dg-options "-w -mstackrealign -O3 -mno-sse -mpreferred-stack-boundary=4" } */ + + float +diff --git a/gcc/testsuite/gcc.target/i386/lea.c b/gcc/testsuite/gcc.target/i386/lea.c +index f8f967e..bba345e 100644 +--- a/gcc/testsuite/gcc.target/i386/lea.c ++++ b/gcc/testsuite/gcc.target/i386/lea.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=pentiumpro" } } */ + /* { dg-options "-O2 -march=pentiumpro" } */ + /* { dg-final { scan-assembler "leal" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/local.c b/gcc/testsuite/gcc.target/i386/local.c +index 4cb5c81..872fd4d 100644 +--- a/gcc/testsuite/gcc.target/i386/local.c ++++ b/gcc/testsuite/gcc.target/i386/local.c +@@ -1,7 +1,7 @@ + /* { dg-do compile } */ + /* { dg-options "-O2 -funit-at-a-time" } */ +-/* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target ilp32 } } } */ +-/* { dg-final { scan-assembler "magic\[^\\n\]*edi" { target lp64 } } } */ ++/* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target ia32 } } } */ ++/* { dg-final { scan-assembler "magic\[^\\n\]*edi" { target { ! { ia32 } } } } } */ + + /* Verify that local calling convention is used. */ + static t(int) __attribute__ ((noinline)); +diff --git a/gcc/testsuite/gcc.target/i386/loop-1.c b/gcc/testsuite/gcc.target/i386/loop-1.c +index 30cfd68..1af62f2 100644 +--- a/gcc/testsuite/gcc.target/i386/loop-1.c ++++ b/gcc/testsuite/gcc.target/i386/loop-1.c +@@ -1,6 +1,6 @@ + /* PR optimization/9888 */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mtune=k6 -O3" } */ + + /* Verify that GCC doesn't emit out of range 'loop' instructions. */ +diff --git a/gcc/testsuite/gcc.target/i386/loop-2.c b/gcc/testsuite/gcc.target/i386/loop-2.c +index cf44d30..eec7163 100644 +--- a/gcc/testsuite/gcc.target/i386/loop-2.c ++++ b/gcc/testsuite/gcc.target/i386/loop-2.c +@@ -1,7 +1,7 @@ + /* PR optimization/9888 */ + /* Originator: Jim Bray <jb@as220.org> */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mtune=k6 -Os" } */ + + enum reload_type +diff --git a/gcc/testsuite/gcc.target/i386/loop-3.c b/gcc/testsuite/gcc.target/i386/loop-3.c +index 782512f..4fcd390 100644 +--- a/gcc/testsuite/gcc.target/i386/loop-3.c ++++ b/gcc/testsuite/gcc.target/i386/loop-3.c +@@ -2,7 +2,7 @@ + /* Originator: Tim McGrath <misty-@charter.net> */ + /* Testcase contributed by Eric Botcazou <ebotcazou@libertysurf.fr> */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mtune=k6 -O3 -ffast-math -funroll-loops" } */ + + extern void *memset (void *, int, __SIZE_TYPE__); +diff --git a/gcc/testsuite/gcc.target/i386/max-stack-align.c b/gcc/testsuite/gcc.target/i386/max-stack-align.c +index fa80508..9f37a63 100644 +--- a/gcc/testsuite/gcc.target/i386/max-stack-align.c ++++ b/gcc/testsuite/gcc.target/i386/max-stack-align.c +@@ -1,6 +1,5 @@ +-/* { dg-do compile } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-fomit-frame-pointer" } */ +-/* { dg-require-effective-target lp64 } */ + + void foo() + { +diff --git a/gcc/testsuite/gcc.target/i386/memcpy-1.c b/gcc/testsuite/gcc.target/i386/memcpy-1.c +index 51797e18..bc6f95a 100644 +--- a/gcc/testsuite/gcc.target/i386/memcpy-1.c ++++ b/gcc/testsuite/gcc.target/i386/memcpy-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=pentiumpro -minline-all-stringops" } */ + /* { dg-final { scan-assembler "rep" } } */ + /* { dg-final { scan-assembler "movs" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/movbe-2.c b/gcc/testsuite/gcc.target/i386/movbe-2.c +index d898f20..b322f77 100644 +--- a/gcc/testsuite/gcc.target/i386/movbe-2.c ++++ b/gcc/testsuite/gcc.target/i386/movbe-2.c +@@ -15,5 +15,5 @@ bar () + return __builtin_bswap64 (x); + } + +-/* { dg-final { scan-assembler-times "movbe\[ \t\]" 4 { target ilp32 } } } */ +-/* { dg-final { scan-assembler-times "movbe\[ \t\]" 2 { target lp64 } } } */ ++/* { dg-final { scan-assembler-times "movbe\[ \t\]" 4 { target ia32 } } } */ ++/* { dg-final { scan-assembler-times "movbe\[ \t\]" 2 { target { ! { ia32 } } } } } */ +diff --git a/gcc/testsuite/gcc.target/i386/movq-2.c b/gcc/testsuite/gcc.target/i386/movq-2.c +index 4a1accb..37194b8 100644 +--- a/gcc/testsuite/gcc.target/i386/movq-2.c ++++ b/gcc/testsuite/gcc.target/i386/movq-2.c +@@ -1,7 +1,7 @@ + /* PR target/25199 */ + /* { dg-do compile } */ + /* { dg-options "-Os -mtune=pentium4" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + struct S + { +diff --git a/gcc/testsuite/gcc.target/i386/movq.c b/gcc/testsuite/gcc.target/i386/movq.c +index ac0dfa2..53cb421 100644 +--- a/gcc/testsuite/gcc.target/i386/movq.c ++++ b/gcc/testsuite/gcc.target/i386/movq.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } + /* { dg-options "-Os -march=pentium4 -mtune=prescott" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + register char foo asm("edi"); + char x; +diff --git a/gcc/testsuite/gcc.target/i386/nrv1.c b/gcc/testsuite/gcc.target/i386/nrv1.c +index 5cd8b06..a028236 100644 +--- a/gcc/testsuite/gcc.target/i386/nrv1.c ++++ b/gcc/testsuite/gcc.target/i386/nrv1.c +@@ -1,7 +1,7 @@ + /* Verify that gimple-level NRV is occurring even for SSA_NAMEs. *./ + /* { dg-do compile } */ + /* { dg-options "-O -fdump-tree-optimized" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + _Complex double foo (_Complex double x) + { +diff --git a/gcc/testsuite/gcc.target/i386/pad-4.c b/gcc/testsuite/gcc.target/i386/pad-4.c +index ad6b029..91bf0db 100644 +--- a/gcc/testsuite/gcc.target/i386/pad-4.c ++++ b/gcc/testsuite/gcc.target/i386/pad-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target fpic } */ + /* { dg-options "-O2 -fomit-frame-pointer -march=atom -fPIC" } */ + /* { dg-final { scan-assembler-times "nop" 8 } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pad-5a.c b/gcc/testsuite/gcc.target/i386/pad-5a.c +index d29e628..7aa04db 100644 +--- a/gcc/testsuite/gcc.target/i386/pad-5a.c ++++ b/gcc/testsuite/gcc.target/i386/pad-5a.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -fomit-frame-pointer -march=atom" } */ + /* { dg-final { scan-assembler-times "nop" 2 } } */ + /* { dg-final { scan-assembler-not "rep" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pad-5b.c b/gcc/testsuite/gcc.target/i386/pad-5b.c +index 1d95bf3..e4bb861 100644 +--- a/gcc/testsuite/gcc.target/i386/pad-5b.c ++++ b/gcc/testsuite/gcc.target/i386/pad-5b.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -fomit-frame-pointer -march=atom" } */ + /* { dg-final { scan-assembler-times "nop" 4 } } */ + /* { dg-final { scan-assembler-not "rep" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pad-6a.c b/gcc/testsuite/gcc.target/i386/pad-6a.c +index e2db5ad..532e38f 100644 +--- a/gcc/testsuite/gcc.target/i386/pad-6a.c ++++ b/gcc/testsuite/gcc.target/i386/pad-6a.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -fomit-frame-pointer -march=atom" } */ + /* { dg-final { scan-assembler-times "nop" 4 } } */ + /* { dg-final { scan-assembler-not "rep" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pad-6b.c b/gcc/testsuite/gcc.target/i386/pad-6b.c +index d8f9bec..5cb64ff 100644 +--- a/gcc/testsuite/gcc.target/i386/pad-6b.c ++++ b/gcc/testsuite/gcc.target/i386/pad-6b.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -fomit-frame-pointer -march=atom" } */ + /* { dg-final { scan-assembler-times "nop" 6 } } */ + /* { dg-final { scan-assembler-not "rep" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pad-7.c b/gcc/testsuite/gcc.target/i386/pad-7.c +index 8904eca..65c18ff 100644 +--- a/gcc/testsuite/gcc.target/i386/pad-7.c ++++ b/gcc/testsuite/gcc.target/i386/pad-7.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -fomit-frame-pointer -march=atom" } */ + /* { dg-final { scan-assembler-not "nop" } } */ + /* { dg-final { scan-assembler-not "rep" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pad-9.c b/gcc/testsuite/gcc.target/i386/pad-9.c +index 69e3344..dd6d3b3 100644 +--- a/gcc/testsuite/gcc.target/i386/pad-9.c ++++ b/gcc/testsuite/gcc.target/i386/pad-9.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -fomit-frame-pointer -march=atom" } */ + /* { dg-final { scan-assembler-times "nop" 4 } } */ + /* { dg-final { scan-assembler-not "rep" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pentium4-not-mull.c b/gcc/testsuite/gcc.target/i386/pentium4-not-mull.c +index a846aae..c840c47 100644 +--- a/gcc/testsuite/gcc.target/i386/pentium4-not-mull.c ++++ b/gcc/testsuite/gcc.target/i386/pentium4-not-mull.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=pentium4" } } */ + /* { dg-options "-O2 -march=pentium4" } */ + /* { dg-final { scan-assembler-not "imull" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pic-1.c b/gcc/testsuite/gcc.target/i386/pic-1.c +index bdf6267..af2424b 100644 +--- a/gcc/testsuite/gcc.target/i386/pic-1.c ++++ b/gcc/testsuite/gcc.target/i386/pic-1.c +@@ -1,6 +1,6 @@ + /* PR target/8340 */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target fpic } */ + /* { dg-skip-if "No Windows PIC" { *-*-mingw* *-*-cygwin } { "*" } { "" } } */ + /* { dg-options "-fPIC" } */ +diff --git a/gcc/testsuite/gcc.target/i386/pr12092-1.c b/gcc/testsuite/gcc.target/i386/pr12092-1.c +index d85807e..c230c84 100644 +--- a/gcc/testsuite/gcc.target/i386/pr12092-1.c ++++ b/gcc/testsuite/gcc.target/i386/pr12092-1.c +@@ -1,7 +1,7 @@ + /* PR rtl-optimization/12092 */ + /* Test case reduced by Andrew Pinski <pinskia@physics.uc.edu> */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -mtune=i486 -march=pentium4 -fprefetch-loop-arrays" } */ + + void DecodeAC(int index,int *matrix) +diff --git a/gcc/testsuite/gcc.target/i386/pr12329.c b/gcc/testsuite/gcc.target/i386/pr12329.c +index 601480c..e7b43a7 100644 +--- a/gcc/testsuite/gcc.target/i386/pr12329.c ++++ b/gcc/testsuite/gcc.target/i386/pr12329.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/pr21518.c b/gcc/testsuite/gcc.target/i386/pr21518.c +index b42d9c9..52cbed6 100644 +--- a/gcc/testsuite/gcc.target/i386/pr21518.c ++++ b/gcc/testsuite/gcc.target/i386/pr21518.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2 -fPIC -fno-tree-pre" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target fpic } */ + + extern void __attribute__ ((regparm (3))) +diff --git a/gcc/testsuite/gcc.target/i386/pr22362.c b/gcc/testsuite/gcc.target/i386/pr22362.c +index a7c78b1..04d6b27 100644 +--- a/gcc/testsuite/gcc.target/i386/pr22362.c ++++ b/gcc/testsuite/gcc.target/i386/pr22362.c +@@ -1,7 +1,7 @@ + /* PR target/22362 */ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + register unsigned int reg0 __asm__ ("esi"); + register unsigned int reg1 __asm__ ("edi"); +diff --git a/gcc/testsuite/gcc.target/i386/pr22585.c b/gcc/testsuite/gcc.target/i386/pr22585.c +index 9ba2da5..e5f027c 100644 +--- a/gcc/testsuite/gcc.target/i386/pr22585.c ++++ b/gcc/testsuite/gcc.target/i386/pr22585.c +@@ -2,7 +2,7 @@ + /* Testcase reduced by Volker Reichelt */ + /* { dg-do compile } */ + /* { dg-options "-march=i386 -O -ffast-math" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + int + foo (long double d, int i) +diff --git a/gcc/testsuite/gcc.target/i386/pr23098.c b/gcc/testsuite/gcc.target/i386/pr23098.c +index d91bf2a..66ab0e1 100644 +--- a/gcc/testsuite/gcc.target/i386/pr23098.c ++++ b/gcc/testsuite/gcc.target/i386/pr23098.c +@@ -2,7 +2,7 @@ + /* { dg-do compile } */ + /* { dg-options "-O2 -fPIC" } */ + /* { dg-final { scan-assembler-not "\.LC\[0-9\]" { xfail *-*-vxworks* } } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target fpic } */ + + double foo (float); +diff --git a/gcc/testsuite/gcc.target/i386/pr25196.c b/gcc/testsuite/gcc.target/i386/pr25196.c +index c3b69b8..6ebdee1 100644 +--- a/gcc/testsuite/gcc.target/i386/pr25196.c ++++ b/gcc/testsuite/gcc.target/i386/pr25196.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-march=i386 -O3 -fomit-frame-pointer" } */ + + /* For this test case, we used to do an invalid load motion after +diff --git a/gcc/testsuite/gcc.target/i386/pr25293.c b/gcc/testsuite/gcc.target/i386/pr25293.c +index 6217da2..94923ab 100644 +--- a/gcc/testsuite/gcc.target/i386/pr25293.c ++++ b/gcc/testsuite/gcc.target/i386/pr25293.c +@@ -1,7 +1,7 @@ + /* PR target/25293 */ + /* { dg-do compile } */ + /* { dg-options "-mpreferred-stack-boundary=2 -mtune=i586 -O2 -fomit-frame-pointer -g" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + struct T { unsigned short t1, t2, t3, t4, t5, t6, t7; }; + struct S { struct T s1; unsigned short s2, s3; }; +diff --git a/gcc/testsuite/gcc.target/i386/pr25654.c b/gcc/testsuite/gcc.target/i386/pr25654.c +index 2d7ef22..d53a297 100644 +--- a/gcc/testsuite/gcc.target/i386/pr25654.c ++++ b/gcc/testsuite/gcc.target/i386/pr25654.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -mpreferred-stack-boundary=2 -march=i686 -frename-registers" } */ + + extern void abort (void) __attribute__((noreturn)); +diff --git a/gcc/testsuite/gcc.target/i386/pr26449.c b/gcc/testsuite/gcc.target/i386/pr26449.c +index 7a61296..4a976ff 100644 +--- a/gcc/testsuite/gcc.target/i386/pr26449.c ++++ b/gcc/testsuite/gcc.target/i386/pr26449.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O1 -ftree-vectorize -march=pentium4 -std=c99" } */ + + void matmul_i4 (int bbase_yn, int xcount) +diff --git a/gcc/testsuite/gcc.target/i386/pr26778.c b/gcc/testsuite/gcc.target/i386/pr26778.c +index 6f6f277..f871b5d 100644 +--- a/gcc/testsuite/gcc.target/i386/pr26778.c ++++ b/gcc/testsuite/gcc.target/i386/pr26778.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=pentium3" } */ + + typedef union { +diff --git a/gcc/testsuite/gcc.target/i386/pr26826.c b/gcc/testsuite/gcc.target/i386/pr26826.c +index 8adab3a..062e173 100644 +--- a/gcc/testsuite/gcc.target/i386/pr26826.c ++++ b/gcc/testsuite/gcc.target/i386/pr26826.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O -fomit-frame-pointer -march=i586" } */ + + void foo(char* p, char c, int i) +diff --git a/gcc/testsuite/gcc.target/i386/pr27266.c b/gcc/testsuite/gcc.target/i386/pr27266.c +index 73e7c59..8735780 100644 +--- a/gcc/testsuite/gcc.target/i386/pr27266.c ++++ b/gcc/testsuite/gcc.target/i386/pr27266.c +@@ -2,7 +2,7 @@ + The testcase below used to trigger an ICE. */ + + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-march=pentium" } */ + + signed long long sll; +diff --git a/gcc/testsuite/gcc.target/i386/pr29978.c b/gcc/testsuite/gcc.target/i386/pr29978.c +index 8c0bf9f..e27bbdc 100644 +--- a/gcc/testsuite/gcc.target/i386/pr29978.c ++++ b/gcc/testsuite/gcc.target/i386/pr29978.c +@@ -13,4 +13,4 @@ f (long long v) + } + + /* Verify there are no redundant jumps jl .L2; jle .L2 */ +-/* { dg-final { scan-assembler-not "jl\[^e\]*\\.L" { target ilp32 } } } */ ++/* { dg-final { scan-assembler-not "jl\[^e\]*\\.L" { target ia32 } } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pr30505.c b/gcc/testsuite/gcc.target/i386/pr30505.c +index 9f8fc42..3cebbe6 100644 +--- a/gcc/testsuite/gcc.target/i386/pr30505.c ++++ b/gcc/testsuite/gcc.target/i386/pr30505.c +@@ -1,6 +1,6 @@ + /* PR inline-asm/30505 */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2" } */ + + unsigned long long a, c; +diff --git a/gcc/testsuite/gcc.target/i386/pr30961-1.c b/gcc/testsuite/gcc.target/i386/pr30961-1.c +index c225943..c7c5e53 100644 +--- a/gcc/testsuite/gcc.target/i386/pr30961-1.c ++++ b/gcc/testsuite/gcc.target/i386/pr30961-1.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2" } */ + + double +diff --git a/gcc/testsuite/gcc.target/i386/pr31628.c b/gcc/testsuite/gcc.target/i386/pr31628.c +index 121d9c6..eece2a0 100644 +--- a/gcc/testsuite/gcc.target/i386/pr31628.c ++++ b/gcc/testsuite/gcc.target/i386/pr31628.c +@@ -1,6 +1,6 @@ + /* { dg-do run } */ + /* { dg-options "-O2 -fPIC" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target fpic } */ + + typedef int tt, *lptt; +diff --git a/gcc/testsuite/gcc.target/i386/pr32000-2.c b/gcc/testsuite/gcc.target/i386/pr32000-2.c +index 6f10560..374b23f 100644 +--- a/gcc/testsuite/gcc.target/i386/pr32000-2.c ++++ b/gcc/testsuite/gcc.target/i386/pr32000-2.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-skip-if "" { ! { ilp32 && dfp } } { "*" } { "" } } */ ++/* { dg-skip-if "" { ! { ia32 && dfp } } { "*" } { "" } } */ + /* { dg-options "-O -msse2 -std=gnu99 -mpreferred-stack-boundary=2" } */ + /* { dg-require-effective-target sse2 } */ + +diff --git a/gcc/testsuite/gcc.target/i386/pr32661-1.c b/gcc/testsuite/gcc.target/i386/pr32661-1.c +index 9411c28..39cd8f9 100644 +--- a/gcc/testsuite/gcc.target/i386/pr32661-1.c ++++ b/gcc/testsuite/gcc.target/i386/pr32661-1.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -fomit-frame-pointer" } */ + + typedef long long __m128i __attribute__ ((__vector_size__ (16))); +diff --git a/gcc/testsuite/gcc.target/i386/pr32708-2.c b/gcc/testsuite/gcc.target/i386/pr32708-2.c +index dc31c42..f28caf9 100644 +--- a/gcc/testsuite/gcc.target/i386/pr32708-2.c ++++ b/gcc/testsuite/gcc.target/i386/pr32708-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mtune=k8" } */ + + typedef long long __v2di __attribute__ ((__vector_size__ (16))); +diff --git a/gcc/testsuite/gcc.target/i386/pr32708-3.c b/gcc/testsuite/gcc.target/i386/pr32708-3.c +index dae9a52..77e50b2 100644 +--- a/gcc/testsuite/gcc.target/i386/pr32708-3.c ++++ b/gcc/testsuite/gcc.target/i386/pr32708-3.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mtune=core2" } */ + + typedef long long __v2di __attribute__ ((__vector_size__ (16))); +diff --git a/gcc/testsuite/gcc.target/i386/pr34256.c b/gcc/testsuite/gcc.target/i386/pr34256.c +index e207ece..4ce7e30 100644 +--- a/gcc/testsuite/gcc.target/i386/pr34256.c ++++ b/gcc/testsuite/gcc.target/i386/pr34256.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -fomit-frame-pointer -march=core2" } */ + + #include <mmintrin.h> +diff --git a/gcc/testsuite/gcc.target/i386/pr34312.c b/gcc/testsuite/gcc.target/i386/pr34312.c +index 846c285..876ac40 100644 +--- a/gcc/testsuite/gcc.target/i386/pr34312.c ++++ b/gcc/testsuite/gcc.target/i386/pr34312.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target fpic } */ + /* { dg-options "-O2 -march=pentium-m -fpic" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/pr34522.c b/gcc/testsuite/gcc.target/i386/pr34522.c +index c79745b..eb1e03a 100644 +--- a/gcc/testsuite/gcc.target/i386/pr34522.c ++++ b/gcc/testsuite/gcc.target/i386/pr34522.c +@@ -1,6 +1,6 @@ + /* { dg-options "-O2" } */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + int test(long long a, long long b) + { +diff --git a/gcc/testsuite/gcc.target/i386/pr35160.c b/gcc/testsuite/gcc.target/i386/pr35160.c +index 12394ec..259c2a3 100644 +--- a/gcc/testsuite/gcc.target/i386/pr35160.c ++++ b/gcc/testsuite/gcc.target/i386/pr35160.c +@@ -1,6 +1,6 @@ + /* PR inline-asm/35160 */ + /* { dg-do run } */ +-/* { dg-skip-if "" { ilp32 && { ! nonpic } } { "*" } { "" } } */ ++/* { dg-skip-if "" { ia32 && { ! nonpic } } { "*" } { "" } } */ + /* { dg-options "-O2" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/pr35281.c b/gcc/testsuite/gcc.target/i386/pr35281.c +index 70e93cb..efd5c3d 100644 +--- a/gcc/testsuite/gcc.target/i386/pr35281.c ++++ b/gcc/testsuite/gcc.target/i386/pr35281.c +@@ -1,6 +1,6 @@ + /* { dg-options "-O2" } */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + unsigned long long a; + unsigned int b; +diff --git a/gcc/testsuite/gcc.target/i386/pr36246.c b/gcc/testsuite/gcc.target/i386/pr36246.c +index 4f3e155..51b8c34 100644 +--- a/gcc/testsuite/gcc.target/i386/pr36246.c ++++ b/gcc/testsuite/gcc.target/i386/pr36246.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -fomit-frame-pointer -mtune=generic" } */ + + typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__)); +diff --git a/gcc/testsuite/gcc.target/i386/pr36786.c b/gcc/testsuite/gcc.target/i386/pr36786.c +index 692518e..6b62e80 100644 +--- a/gcc/testsuite/gcc.target/i386/pr36786.c ++++ b/gcc/testsuite/gcc.target/i386/pr36786.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + + typedef int DItype __attribute__ ((mode (DI))); + typedef unsigned int UDItype __attribute__ ((mode (DI))); +diff --git a/gcc/testsuite/gcc.target/i386/pr37275.c b/gcc/testsuite/gcc.target/i386/pr37275.c +index 070dab5..cf74887 100644 +--- a/gcc/testsuite/gcc.target/i386/pr37275.c ++++ b/gcc/testsuite/gcc.target/i386/pr37275.c +@@ -1,5 +1,5 @@ + /* PR middle-end/37275 */ +-/* { dg-do compile { target ilp32 } } */ ++/* { dg-do compile { target ia32 } } */ + /* { dg-options "-g -dA -O2 -march=i686 -fstack-protector" } */ + /* { dg-require-visibility "" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/pr37843-3.c b/gcc/testsuite/gcc.target/i386/pr37843-3.c +index ed6478e..56f1170 100644 +--- a/gcc/testsuite/gcc.target/i386/pr37843-3.c ++++ b/gcc/testsuite/gcc.target/i386/pr37843-3.c +@@ -1,5 +1,5 @@ + /* Test for stack alignment with sibcall optimization. */ +-/* { dg-do compile { target { ilp32 && nonpic } } } */ ++/* { dg-do compile { target { ia32 && nonpic } } } */ + /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pr37843-4.c b/gcc/testsuite/gcc.target/i386/pr37843-4.c +index f5e024c..f70692f 100644 +--- a/gcc/testsuite/gcc.target/i386/pr37843-4.c ++++ b/gcc/testsuite/gcc.target/i386/pr37843-4.c +@@ -1,5 +1,5 @@ + /* Test for stack alignment with sibcall optimization. */ +-/* { dg-do compile { target { ilp32 && nonpic } } } */ ++/* { dg-do compile { target { ia32 && nonpic } } } */ + /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pr39082-1.c b/gcc/testsuite/gcc.target/i386/pr39082-1.c +index 0a788d1..f2a1fdf 100644 +--- a/gcc/testsuite/gcc.target/i386/pr39082-1.c ++++ b/gcc/testsuite/gcc.target/i386/pr39082-1.c +@@ -1,6 +1,5 @@ + /* PR target/39082 */ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2" } */ + + union un +diff --git a/gcc/testsuite/gcc.target/i386/pr39431.c b/gcc/testsuite/gcc.target/i386/pr39431.c +index 756bdb9..0db7d56 100644 +--- a/gcc/testsuite/gcc.target/i386/pr39431.c ++++ b/gcc/testsuite/gcc.target/i386/pr39431.c +@@ -1,7 +1,7 @@ + /* PR target/39431 */ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -march=i686 -fpic" { target { ilp32 && fpic } } } */ ++/* { dg-options "-O2 -march=i686 -fpic" { target { ia32 && fpic } } } */ + + extern void bar (char *, int); + +diff --git a/gcc/testsuite/gcc.target/i386/pr39496.c b/gcc/testsuite/gcc.target/i386/pr39496.c +index e4132a1..e14c875 100644 +--- a/gcc/testsuite/gcc.target/i386/pr39496.c ++++ b/gcc/testsuite/gcc.target/i386/pr39496.c +@@ -1,5 +1,5 @@ + /* PR target/39496 */ +-/* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } */ ++/* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ia32 } } } */ + /* { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" } */ + /* Verify that {foo,bar}{,2}param are all passed on the stack, using + normal calling conventions, when not optimizing. */ +diff --git a/gcc/testsuite/gcc.target/i386/pr39543-2.c b/gcc/testsuite/gcc.target/i386/pr39543-2.c +index 04e980e..7f4e5a4 100644 +--- a/gcc/testsuite/gcc.target/i386/pr39543-2.c ++++ b/gcc/testsuite/gcc.target/i386/pr39543-2.c +@@ -1,7 +1,7 @@ + /* PR inline-asm/39543 */ + /* { dg-do compile } */ + /* { dg-options "-O3" } */ +-/* { dg-skip-if "" { ilp32 && { ! nonpic } } { "*" } { "" } } */ ++/* { dg-skip-if "" { ia32 && { ! nonpic } } { "*" } { "" } } */ + + float __attribute__ ((aligned (16))) s0[128]; + const float s1 = 0.707; +diff --git a/gcc/testsuite/gcc.target/i386/pr39911.c b/gcc/testsuite/gcc.target/i386/pr39911.c +index fe63ff0..8a78c0a 100644 +--- a/gcc/testsuite/gcc.target/i386/pr39911.c ++++ b/gcc/testsuite/gcc.target/i386/pr39911.c +@@ -33,11 +33,13 @@ bar3 () + asm volatile ("mov%z0 %1, %0": "=r" (foo): "ir" (-23)); + asm volatile ("add%z0 %1, %0": "+r" (foo): "ir" (23)); + ++#ifndef __x86_64__ + if (sizeof (void *) == sizeof (int)) + { + asm volatile ("pop%z0 %0": "=m" (foo)); + asm volatile ("pop%z0 %0": "=r" (foo)); + } ++#endif + } + + void +diff --git a/gcc/testsuite/gcc.target/i386/pr40718.c b/gcc/testsuite/gcc.target/i386/pr40718.c +index f6029ed..1df3548 100644 +--- a/gcc/testsuite/gcc.target/i386/pr40718.c ++++ b/gcc/testsuite/gcc.target/i386/pr40718.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O1 -foptimize-sibling-calls" } */ + + void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/pr40906-1.c b/gcc/testsuite/gcc.target/i386/pr40906-1.c +index 77e7c9b..e1c3771 100644 +--- a/gcc/testsuite/gcc.target/i386/pr40906-1.c ++++ b/gcc/testsuite/gcc.target/i386/pr40906-1.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -fomit-frame-pointer -fno-asynchronous-unwind-tables -mpush-args -mno-accumulate-outgoing-args" } */ + + void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/pr40906-2.c b/gcc/testsuite/gcc.target/i386/pr40906-2.c +index f0eda00..5a7bd6c 100644 +--- a/gcc/testsuite/gcc.target/i386/pr40906-2.c ++++ b/gcc/testsuite/gcc.target/i386/pr40906-2.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -Wno-psabi -fomit-frame-pointer -fno-asynchronous-unwind-tables -mpush-args -mno-accumulate-outgoing-args -m128bit-long-double" } */ + + void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/pr40906-3.c b/gcc/testsuite/gcc.target/i386/pr40906-3.c +index d83833f..ac7d183 100644 +--- a/gcc/testsuite/gcc.target/i386/pr40906-3.c ++++ b/gcc/testsuite/gcc.target/i386/pr40906-3.c +@@ -1,5 +1,5 @@ + /* { dg-do run { target *-*-linux* } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-options "-O2 -fomit-frame-pointer -fno-asynchronous-unwind-tables -msse2 -mpush-args -mno-accumulate-outgoing-args" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/pr40934.c b/gcc/testsuite/gcc.target/i386/pr40934.c +index 41f46f8..6511722 100644 +--- a/gcc/testsuite/gcc.target/i386/pr40934.c ++++ b/gcc/testsuite/gcc.target/i386/pr40934.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -march=i586 -ffast-math" } */ + + extern double host_frametime; +diff --git a/gcc/testsuite/gcc.target/i386/pr41900.c b/gcc/testsuite/gcc.target/i386/pr41900.c +index 55f712d..a23214c 100644 +--- a/gcc/testsuite/gcc.target/i386/pr41900.c ++++ b/gcc/testsuite/gcc.target/i386/pr41900.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -fomit-frame-pointer -mpreferred-stack-boundary=2" } */ + + int main () +diff --git a/gcc/testsuite/gcc.target/i386/pr42589.c b/gcc/testsuite/gcc.target/i386/pr42589.c +index 1366ef5..863372b 100644 +--- a/gcc/testsuite/gcc.target/i386/pr42589.c ++++ b/gcc/testsuite/gcc.target/i386/pr42589.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i486" } } */ + /* { dg-options "-O2 -march=i486" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/pr43662.c b/gcc/testsuite/gcc.target/i386/pr43662.c +index 246c8aa..2896a1a 100644 +--- a/gcc/testsuite/gcc.target/i386/pr43662.c ++++ b/gcc/testsuite/gcc.target/i386/pr43662.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target lp64 } } */ + /* { dg-options "-O2" } */ + + void __attribute__ ((ms_abi)) foo (void) +diff --git a/gcc/testsuite/gcc.target/i386/pr43671.c b/gcc/testsuite/gcc.target/i386/pr43671.c +index 958eaff..388cd65 100644 +--- a/gcc/testsuite/gcc.target/i386/pr43671.c ++++ b/gcc/testsuite/gcc.target/i386/pr43671.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mtune=i686 -O1 -fpeel-loops -fschedule-insns2 -ftree-vectorize -fsched2-use-superblocks" } */ + + extern void abort (); +diff --git a/gcc/testsuite/gcc.target/i386/pr43766.c b/gcc/testsuite/gcc.target/i386/pr43766.c +index 731b780..8ac1613 100644 +--- a/gcc/testsuite/gcc.target/i386/pr43766.c ++++ b/gcc/testsuite/gcc.target/i386/pr43766.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-options "-O2 -msse -mregparm=3" { target ilp32 } } */ ++/* { dg-options "-O2 -msse -mregparm=3" { target ia32 } } */ + + void p (int *a, int i) + { +diff --git a/gcc/testsuite/gcc.target/i386/pr43869.c b/gcc/testsuite/gcc.target/i386/pr43869.c +index fdc6461..4157db1 100644 +--- a/gcc/testsuite/gcc.target/i386/pr43869.c ++++ b/gcc/testsuite/gcc.target/i386/pr43869.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target lp64 } } */ + + int __attribute__((__noinline__)) + bugged(float f1, float f2, float f3, float f4, +diff --git a/gcc/testsuite/gcc.target/i386/pr44942.c b/gcc/testsuite/gcc.target/i386/pr44942.c +index 4664f7e..d816484 100644 +--- a/gcc/testsuite/gcc.target/i386/pr44942.c ++++ b/gcc/testsuite/gcc.target/i386/pr44942.c +@@ -1,5 +1,5 @@ + /* PR target/44942 */ +-/* { dg-do run { target lp64 } } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + + #include <stdarg.h> + #include <emmintrin.h> +diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2a.c b/gcc/testsuite/gcc.target/i386/pr44948-2a.c +index 120346e..d84d1a6 100644 +--- a/gcc/testsuite/gcc.target/i386/pr44948-2a.c ++++ b/gcc/testsuite/gcc.target/i386/pr44948-2a.c +@@ -1,7 +1,7 @@ + /* PR target/44948 */ + /* { dg-do run } */ + /* { dg-options "-O -Wno-psabi -mno-sse -mtune=generic" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target sse2_runtime } */ + /* { dg-additional-sources pr44948-2b.c } */ + +diff --git a/gcc/testsuite/gcc.target/i386/pr45234.c b/gcc/testsuite/gcc.target/i386/pr45234.c +index b11096b..3996fa2 100644 +--- a/gcc/testsuite/gcc.target/i386/pr45234.c ++++ b/gcc/testsuite/gcc.target/i386/pr45234.c +@@ -1,6 +1,6 @@ + /* PR middle-end/45234 */ + /* { dg-do compile } */ +-/* { dg-options "-march=i586" { target ilp32 } } */ ++/* { dg-options "-march=i586" { target ia32 } } */ + + struct S { union { double b[4]; } a[18]; } s, a[5]; + void foo (struct S); +diff --git a/gcc/testsuite/gcc.target/i386/pr45336-2.c b/gcc/testsuite/gcc.target/i386/pr45336-2.c +index 8347002..45d93b7 100644 +--- a/gcc/testsuite/gcc.target/i386/pr45336-2.c ++++ b/gcc/testsuite/gcc.target/i386/pr45336-2.c +@@ -1,6 +1,5 @@ + /* PR target/45336 */ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -msse4 -mtune=generic" } */ + /* { dg-final { scan-assembler-not "movsbl" } } */ + /* { dg-final { scan-assembler-not "movswl" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pr45336-4.c b/gcc/testsuite/gcc.target/i386/pr45336-4.c +index 00c9319..c9850e5 100644 +--- a/gcc/testsuite/gcc.target/i386/pr45336-4.c ++++ b/gcc/testsuite/gcc.target/i386/pr45336-4.c +@@ -1,6 +1,5 @@ + /* PR target/45336 */ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -msse4 -mtune=generic" } */ + /* { dg-final { scan-assembler "movsbq" } } */ + /* { dg-final { scan-assembler "movswq" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/pr45852.c b/gcc/testsuite/gcc.target/i386/pr45852.c +index b0ba093..8b7bbfb 100644 +--- a/gcc/testsuite/gcc.target/i386/pr45852.c ++++ b/gcc/testsuite/gcc.target/i386/pr45852.c +@@ -1,6 +1,6 @@ + /* PR middle-end/45852 */ + /* { dg-options "-O2 -mcmodel=small" } */ +-/* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && lp64 } } } */ ++/* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && { ! { ia32 } } } } } */ + /* { dg-require-visibility "" } */ + + struct S { int s; }; +diff --git a/gcc/testsuite/gcc.target/i386/pr46470.c b/gcc/testsuite/gcc.target/i386/pr46470.c +index 256b57f..4035d1a 100644 +--- a/gcc/testsuite/gcc.target/i386/pr46470.c ++++ b/gcc/testsuite/gcc.target/i386/pr46470.c +@@ -1,11 +1,11 @@ + /* { dg-do compile } */ + /* The pic register save adds unavoidable stack pointer references. */ +-/* { dg-skip-if "" { ilp32 && { ! nonpic } } { "*" } { "" } } */ ++/* { dg-skip-if "" { ia32 && { ! nonpic } } { "*" } { "" } } */ + /* These options are selected to ensure 1 word needs to be allocated + on the stack to maintain alignment for the call. This should be + transformed to push+pop. We also want to force unwind info updates. */ + /* { dg-options "-Os -fomit-frame-pointer -fasynchronous-unwind-tables" } */ +-/* { dg-options "-Os -fomit-frame-pointer -mpreferred-stack-boundary=3 -fasynchronous-unwind-tables" { target ilp32 } } */ ++/* { dg-options "-Os -fomit-frame-pointer -mpreferred-stack-boundary=3 -fasynchronous-unwind-tables" { target ia32 } } */ + + void f(); + void g() { f(); f(); } +diff --git a/gcc/testsuite/gcc.target/i386/pr49920.c b/gcc/testsuite/gcc.target/i386/pr49920.c +index 416e7a4..ef2a185 100644 +--- a/gcc/testsuite/gcc.target/i386/pr49920.c ++++ b/gcc/testsuite/gcc.target/i386/pr49920.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + typedef __SIZE_TYPE__ size_t; + extern void *malloc (size_t); +diff --git a/gcc/testsuite/gcc.target/i386/pr50712.c b/gcc/testsuite/gcc.target/i386/pr50712.c +index f08a944..90cc75d 100644 +--- a/gcc/testsuite/gcc.target/i386/pr50712.c ++++ b/gcc/testsuite/gcc.target/i386/pr50712.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2" } */ + + typedef __builtin_va_list __va_list; +diff --git a/gcc/testsuite/gcc.target/i386/pr9771-1.c b/gcc/testsuite/gcc.target/i386/pr9771-1.c +index 37ec490..38586fe 100644 +--- a/gcc/testsuite/gcc.target/i386/pr9771-1.c ++++ b/gcc/testsuite/gcc.target/i386/pr9771-1.c +@@ -1,6 +1,6 @@ + /* PR rtl-optimization/9771 */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -fomit-frame-pointer -ffixed-ebp" } */ + + extern void abort(void); +diff --git a/gcc/testsuite/gcc.target/i386/rdfsbase-1.c b/gcc/testsuite/gcc.target/i386/rdfsbase-1.c +index c4808e9..2ed33cd 100644 +--- a/gcc/testsuite/gcc.target/i386/rdfsbase-1.c ++++ b/gcc/testsuite/gcc.target/i386/rdfsbase-1.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfsgsbase" } */ + /* { dg-final { scan-assembler "rdfsbase\[ \t]+(%|)eax" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/rdfsbase-2.c b/gcc/testsuite/gcc.target/i386/rdfsbase-2.c +index 40b8f4a..f319cea 100644 +--- a/gcc/testsuite/gcc.target/i386/rdfsbase-2.c ++++ b/gcc/testsuite/gcc.target/i386/rdfsbase-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfsgsbase" } */ + /* { dg-final { scan-assembler "rdfsbase\[ \t]+(%|)rax" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/rdgsbase-1.c b/gcc/testsuite/gcc.target/i386/rdgsbase-1.c +index 1e5a302..cb2a3d5 100644 +--- a/gcc/testsuite/gcc.target/i386/rdgsbase-1.c ++++ b/gcc/testsuite/gcc.target/i386/rdgsbase-1.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfsgsbase" } */ + /* { dg-final { scan-assembler "rdgsbase\[ \t]+(%|)eax" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/rdgsbase-2.c b/gcc/testsuite/gcc.target/i386/rdgsbase-2.c +index 1321582..d514cd9 100644 +--- a/gcc/testsuite/gcc.target/i386/rdgsbase-2.c ++++ b/gcc/testsuite/gcc.target/i386/rdgsbase-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfsgsbase" } */ + /* { dg-final { scan-assembler "rdgsbase\[ \t]+(%|)rax" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/rdrand-3.c b/gcc/testsuite/gcc.target/i386/rdrand-3.c +index c494d3b..de0e730 100644 +--- a/gcc/testsuite/gcc.target/i386/rdrand-3.c ++++ b/gcc/testsuite/gcc.target/i386/rdrand-3.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mrdrnd -dp" } */ + /* { dg-final { scan-assembler-times "rdranddi_1" 1 } } */ + /* { dg-final { scan-assembler-times "\\*movsicc_noc" 1 } } */ +diff --git a/gcc/testsuite/gcc.target/i386/regparm-stdcall.c b/gcc/testsuite/gcc.target/i386/regparm-stdcall.c +index 144f5f9..fbb3be5 100644 +--- a/gcc/testsuite/gcc.target/i386/regparm-stdcall.c ++++ b/gcc/testsuite/gcc.target/i386/regparm-stdcall.c +@@ -1,6 +1,6 @@ + /* { dg-do run } */ + /* { dg-options -mpreferred-stack-boundary=4 } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + extern void abort(void); + +diff --git a/gcc/testsuite/gcc.target/i386/regparm.c b/gcc/testsuite/gcc.target/i386/regparm.c +index 9db191c..4cfd110 100644 +--- a/gcc/testsuite/gcc.target/i386/regparm.c ++++ b/gcc/testsuite/gcc.target/i386/regparm.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-W -Wall" } */ + + /* Verify that GCC correctly detects non-matching regparm attributes. */ +diff --git a/gcc/testsuite/gcc.target/i386/reload-1.c b/gcc/testsuite/gcc.target/i386/reload-1.c +index f8075ac..9c6cd32 100644 +--- a/gcc/testsuite/gcc.target/i386/reload-1.c ++++ b/gcc/testsuite/gcc.target/i386/reload-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O3 -msse2 -fdump-rtl-csa" } */ + /* { dg-skip-if "no stdint" { vxworks_kernel } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/rotate-2.c b/gcc/testsuite/gcc.target/i386/rotate-2.c +index 69a0625..71fd7ed 100644 +--- a/gcc/testsuite/gcc.target/i386/rotate-2.c ++++ b/gcc/testsuite/gcc.target/i386/rotate-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2" } */ + + typedef unsigned int UTItype __attribute__ ((mode (TI))); +diff --git a/gcc/testsuite/gcc.target/i386/sibcall-5.c b/gcc/testsuite/gcc.target/i386/sibcall-5.c +index f4127b9..7cf67db 100644 +--- a/gcc/testsuite/gcc.target/i386/sibcall-5.c ++++ b/gcc/testsuite/gcc.target/i386/sibcall-5.c +@@ -1,6 +1,6 @@ + /* Check that indirect sibcalls understand regparm. */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/signbit-1.c b/gcc/testsuite/gcc.target/i386/signbit-1.c +index 745796d..3f31f5e 100644 +--- a/gcc/testsuite/gcc.target/i386/signbit-1.c ++++ b/gcc/testsuite/gcc.target/i386/signbit-1.c +@@ -1,6 +1,6 @@ + /* PR optimization/8746 */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O1 -mtune=i586" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/signbit-2.c b/gcc/testsuite/gcc.target/i386/signbit-2.c +index c09bba3..bc8e4f8 100644 +--- a/gcc/testsuite/gcc.target/i386/signbit-2.c ++++ b/gcc/testsuite/gcc.target/i386/signbit-2.c +@@ -1,6 +1,6 @@ + /* PR optimization/8746 */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O1 -mtune=i586" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/signbit-3.c b/gcc/testsuite/gcc.target/i386/signbit-3.c +index dcd56b6..8f1de51 100644 +--- a/gcc/testsuite/gcc.target/i386/signbit-3.c ++++ b/gcc/testsuite/gcc.target/i386/signbit-3.c +@@ -1,6 +1,6 @@ + /* PR optimization/8746 */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O1 -mtune=i586" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/sse-5.c b/gcc/testsuite/gcc.target/i386/sse-5.c +index 934fad5..6d84f17 100644 +--- a/gcc/testsuite/gcc.target/i386/sse-5.c ++++ b/gcc/testsuite/gcc.target/i386/sse-5.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ + /* { dg-options "-Winline -Wno-psabi -O2 -march=i386" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse-8.c b/gcc/testsuite/gcc.target/i386/sse-8.c +index b6cb5c8..31e8c32 100644 +--- a/gcc/testsuite/gcc.target/i386/sse-8.c ++++ b/gcc/testsuite/gcc.target/i386/sse-8.c +@@ -2,7 +2,7 @@ + /* Origin: <Pawe Sikora <pluto@ds14.agh.edu.pl> */ + + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-march=pentium3" } */ + + int main() +diff --git a/gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c b/gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c +index 6abc4d5..76ce912 100644 +--- a/gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c ++++ b/gcc/testsuite/gcc.target/i386/sse-cvtsi2ss-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse } */ + /* { dg-options "-O2 -msse" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c b/gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c +index 44a5faf..909c388 100644 +--- a/gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c ++++ b/gcc/testsuite/gcc.target/i386/sse-cvtss2si-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse } */ + /* { dg-options "-O2 -msse" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c b/gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c +index eb85223..cbfdddd 100644 +--- a/gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c ++++ b/gcc/testsuite/gcc.target/i386/sse-cvttss2si-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse } */ + /* { dg-options "-O2 -msse" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c +index 908e82f..a79a258 100644 +--- a/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c ++++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-options "-O2 -msse2" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c +index 7035c4e..ee047ba 100644 +--- a/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c ++++ b/gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-options "-O2 -msse2" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c +index 0284a73..cd913a1 100644 +--- a/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c ++++ b/gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-options "-O2 -msse2" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c b/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c +index db1fbd0..65127a0 100644 +--- a/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c ++++ b/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -msse4 -march=core2 -dp" } */ + + #include <emmintrin.h> +diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-2.c b/gcc/testsuite/gcc.target/i386/sse2-movq-2.c +index edf16f4..e1e9b14 100644 +--- a/gcc/testsuite/gcc.target/i386/sse2-movq-2.c ++++ b/gcc/testsuite/gcc.target/i386/sse2-movq-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-options "-O2 -msse2" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse2-movq-3.c b/gcc/testsuite/gcc.target/i386/sse2-movq-3.c +index 571fd6d..0a17e3e 100644 +--- a/gcc/testsuite/gcc.target/i386/sse2-movq-3.c ++++ b/gcc/testsuite/gcc.target/i386/sse2-movq-3.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse2 } */ + /* { dg-options "-O2 -msse2" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-insertps-3.c b/gcc/testsuite/gcc.target/i386/sse4_1-insertps-3.c +index 75a8073..7c71664 100644 +--- a/gcc/testsuite/gcc.target/i386/sse4_1-insertps-3.c ++++ b/gcc/testsuite/gcc.target/i386/sse4_1-insertps-3.c +@@ -1,4 +1,4 @@ +-/* { dg-do run { target ilp32 } } */ ++/* { dg-do run { target ia32 } } */ + /* { dg-require-effective-target sse4 } */ + /* { dg-options "-O2 -msse4.1 -mtune=geode" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-pextrq.c b/gcc/testsuite/gcc.target/i386/sse4_1-pextrq.c +index b90f4e2..112dd37 100644 +--- a/gcc/testsuite/gcc.target/i386/sse4_1-pextrq.c ++++ b/gcc/testsuite/gcc.target/i386/sse4_1-pextrq.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse4 } */ + /* { dg-options "-O2 -msse4.1" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-pinsrq.c b/gcc/testsuite/gcc.target/i386/sse4_1-pinsrq.c +index 1640439..1ed0987 100644 +--- a/gcc/testsuite/gcc.target/i386/sse4_1-pinsrq.c ++++ b/gcc/testsuite/gcc.target/i386/sse4_1-pinsrq.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse4 } */ + /* { dg-options "-O2 -msse4.1" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse4_2-crc32q.c b/gcc/testsuite/gcc.target/i386/sse4_2-crc32q.c +index 8209e99..f1f75d9 100644 +--- a/gcc/testsuite/gcc.target/i386/sse4_2-crc32q.c ++++ b/gcc/testsuite/gcc.target/i386/sse4_2-crc32q.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse4 } */ + /* { dg-options "-O2 -msse4.2" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/sse4_2-popcntq.c b/gcc/testsuite/gcc.target/i386/sse4_2-popcntq.c +index aa4d8a9..47cdf35 100644 +--- a/gcc/testsuite/gcc.target/i386/sse4_2-popcntq.c ++++ b/gcc/testsuite/gcc.target/i386/sse4_2-popcntq.c +@@ -1,5 +1,4 @@ +-/* { dg-do run } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do run { target { ! { ia32 } } } } */ + /* { dg-require-effective-target sse4 } */ + /* { dg-options "-O2 -msse4.2" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/ssefn-1.c b/gcc/testsuite/gcc.target/i386/ssefn-1.c +index bea6cb2..f7b3709 100644 +--- a/gcc/testsuite/gcc.target/i386/ssefn-1.c ++++ b/gcc/testsuite/gcc.target/i386/ssefn-1.c +@@ -2,7 +2,7 @@ + Written by Paolo Bonzini, 25 January 2005 */ + + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-final { scan-assembler "movss" } } */ + /* { dg-final { scan-assembler "mulss" } } */ + /* { dg-final { scan-assembler-not "movsd" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/ssefn-2.c b/gcc/testsuite/gcc.target/i386/ssefn-2.c +index 09b920e..2549855 100644 +--- a/gcc/testsuite/gcc.target/i386/ssefn-2.c ++++ b/gcc/testsuite/gcc.target/i386/ssefn-2.c +@@ -2,7 +2,7 @@ + Written by Paolo Bonzini, 25 January 2005 */ + + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-final { scan-assembler "movss" } } */ + /* { dg-final { scan-assembler "mulss" } } */ + /* { dg-final { scan-assembler "movsd" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-1.c b/gcc/testsuite/gcc.target/i386/sseregparm-1.c +index 9d426b8..63bad7e 100644 +--- a/gcc/testsuite/gcc.target/i386/sseregparm-1.c ++++ b/gcc/testsuite/gcc.target/i386/sseregparm-1.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2 -msse" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + float essef(float) __attribute__((sseregparm)); + double essed(double) __attribute__((sseregparm)); +diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-2.c b/gcc/testsuite/gcc.target/i386/sseregparm-2.c +index cca98ca..b5e521a 100644 +--- a/gcc/testsuite/gcc.target/i386/sseregparm-2.c ++++ b/gcc/testsuite/gcc.target/i386/sseregparm-2.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-mno-sse" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + float essef(float) __attribute__((sseregparm)); + double essed(double) __attribute__((sseregparm)); +diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-3.c b/gcc/testsuite/gcc.target/i386/sseregparm-3.c +index 9ee82af..5c16f43 100644 +--- a/gcc/testsuite/gcc.target/i386/sseregparm-3.c ++++ b/gcc/testsuite/gcc.target/i386/sseregparm-3.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-msse2 -O2" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + /* Make sure we know that mysinfp returns in %xmm0. */ + +diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-4.c b/gcc/testsuite/gcc.target/i386/sseregparm-4.c +index a29cf06..47d66e3 100644 +--- a/gcc/testsuite/gcc.target/i386/sseregparm-4.c ++++ b/gcc/testsuite/gcc.target/i386/sseregparm-4.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-msse2 -O2" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + /* Make sure we know that mysinfp returns in %xmm0. */ + +diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-5.c b/gcc/testsuite/gcc.target/i386/sseregparm-5.c +index 7423722..d0f4757 100644 +--- a/gcc/testsuite/gcc.target/i386/sseregparm-5.c ++++ b/gcc/testsuite/gcc.target/i386/sseregparm-5.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-msse2 -O2" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + /* Make sure we know that mysinfp returns in %xmm0. */ + +diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-6.c b/gcc/testsuite/gcc.target/i386/sseregparm-6.c +index 6203b6b..a4a8363 100644 +--- a/gcc/testsuite/gcc.target/i386/sseregparm-6.c ++++ b/gcc/testsuite/gcc.target/i386/sseregparm-6.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-msse2 -O2" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + /* Make sure we know that mysinfp returns in %xmm0. */ + +diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-7.c b/gcc/testsuite/gcc.target/i386/sseregparm-7.c +index 61267df..54b2573 100644 +--- a/gcc/testsuite/gcc.target/i386/sseregparm-7.c ++++ b/gcc/testsuite/gcc.target/i386/sseregparm-7.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-msse2 -O2" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + /* Make sure we know that mysinfp returns in %xmm0. */ + +diff --git a/gcc/testsuite/gcc.target/i386/sseregparm-8.c b/gcc/testsuite/gcc.target/i386/sseregparm-8.c +index 3a9d345..a7068df 100644 +--- a/gcc/testsuite/gcc.target/i386/sseregparm-8.c ++++ b/gcc/testsuite/gcc.target/i386/sseregparm-8.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-mno-sse" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + float essef(float) __attribute__((sseregparm)); + double essed(double) __attribute__((sseregparm)); +diff --git a/gcc/testsuite/gcc.target/i386/stack-realign.c b/gcc/testsuite/gcc.target/i386/stack-realign.c +index ab9360f..a454418 100644 +--- a/gcc/testsuite/gcc.target/i386/stack-realign.c ++++ b/gcc/testsuite/gcc.target/i386/stack-realign.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mstackrealign -O2" } */ + + extern void abort (void); +diff --git a/gcc/testsuite/gcc.target/i386/stack-usage-realign.c b/gcc/testsuite/gcc.target/i386/stack-usage-realign.c +index 03d9d41..c899606 100644 +--- a/gcc/testsuite/gcc.target/i386/stack-usage-realign.c ++++ b/gcc/testsuite/gcc.target/i386/stack-usage-realign.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-skip-if "no stack realignment" { *-*-darwin* } { "*" } { "" } } */ + /* { dg-options "-fstack-usage -msse2 -mforce-drap" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/stackalign/asm-1.c b/gcc/testsuite/gcc.target/i386/stackalign/asm-1.c +index e4d4f20..dfe3968 100644 +--- a/gcc/testsuite/gcc.target/i386/stackalign/asm-1.c ++++ b/gcc/testsuite/gcc.target/i386/stackalign/asm-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mpreferred-stack-boundary=2" } */ + + /* This case is to detect a compile time regression introduced in stack +diff --git a/gcc/testsuite/gcc.target/i386/stackalign/longlong-1.c b/gcc/testsuite/gcc.target/i386/stackalign/longlong-1.c +index 225d0c5..161d229 100644 +--- a/gcc/testsuite/gcc.target/i386/stackalign/longlong-1.c ++++ b/gcc/testsuite/gcc.target/i386/stackalign/longlong-1.c +@@ -1,6 +1,6 @@ + /* PR target/39137 */ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -mpreferred-stack-boundary=2" } */ + /* Make sure dynamic stack realignment isn't performed just because there + are long long variables. */ +diff --git a/gcc/testsuite/gcc.target/i386/stackalign/longlong-2.c b/gcc/testsuite/gcc.target/i386/stackalign/longlong-2.c +index ae7f3ee..6ea83f9 100644 +--- a/gcc/testsuite/gcc.target/i386/stackalign/longlong-2.c ++++ b/gcc/testsuite/gcc.target/i386/stackalign/longlong-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target { ! *-*-darwin* } } } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-O2 -mpreferred-stack-boundary=2" } */ + /* { dg-final { scan-assembler-times "and\[lq\]?\[^\\n\]*-8,\[^\\n\]*sp" 2 } } */ + /* { dg-final { scan-assembler-times "and\[lq\]?\[^\\n\]*-16,\[^\\n\]*sp" 2 } } */ +diff --git a/gcc/testsuite/gcc.target/i386/stackalign/return-1.c b/gcc/testsuite/gcc.target/i386/stackalign/return-1.c +index c5b32e5..c9fcc12 100644 +--- a/gcc/testsuite/gcc.target/i386/stackalign/return-1.c ++++ b/gcc/testsuite/gcc.target/i386/stackalign/return-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mpreferred-stack-boundary=2" } */ + + /* This compile only test is to detect an assertion failure in stack branch +diff --git a/gcc/testsuite/gcc.target/i386/stackalign/return-2.c b/gcc/testsuite/gcc.target/i386/stackalign/return-2.c +index 113e71b..d393913 100644 +--- a/gcc/testsuite/gcc.target/i386/stackalign/return-2.c ++++ b/gcc/testsuite/gcc.target/i386/stackalign/return-2.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mpreferred-stack-boundary=2" } */ + + /* This compile only test is to detect an assertion failure in stack branch +diff --git a/gcc/testsuite/gcc.target/i386/stackalign/return-3.c b/gcc/testsuite/gcc.target/i386/stackalign/return-3.c +index dd2c2e8..e32547e 100644 +--- a/gcc/testsuite/gcc.target/i386/stackalign/return-3.c ++++ b/gcc/testsuite/gcc.target/i386/stackalign/return-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-skip-if "" { ! { ilp32 && dfp } } { "*" } { "" } } */ ++/* { dg-skip-if "" { ! { ia32 && dfp } } { "*" } { "" } } */ + /* { dg-options "-msse -std=gnu99 -mpreferred-stack-boundary=2" } */ + /* { dg-require-effective-target sse } */ + +diff --git a/gcc/testsuite/gcc.target/i386/tailcall-1.c b/gcc/testsuite/gcc.target/i386/tailcall-1.c +index e6ae990..9aae9d4 100644 +--- a/gcc/testsuite/gcc.target/i386/tailcall-1.c ++++ b/gcc/testsuite/gcc.target/i386/tailcall-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-require-effective-target nonpic } */ + /* { dg-options "-O2" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/tbm-2.c b/gcc/testsuite/gcc.target/i386/tbm-2.c +index 447e0ab..fa3870a 100644 +--- a/gcc/testsuite/gcc.target/i386/tbm-2.c ++++ b/gcc/testsuite/gcc.target/i386/tbm-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mtbm" } */ + /* { dg-final { scan-assembler "bextr\[^\\n]*(%|)rax" } } */ + /* { dg-final { scan-assembler "blcfill\[^\\n]*(%|)rax" } } */ +diff --git a/gcc/testsuite/gcc.target/i386/udivmod-7.c b/gcc/testsuite/gcc.target/i386/udivmod-7.c +index 14a065f..4a68a75 100644 +--- a/gcc/testsuite/gcc.target/i386/udivmod-7.c ++++ b/gcc/testsuite/gcc.target/i386/udivmod-7.c +@@ -1,6 +1,5 @@ +-/* { dg-do compile } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -m8bit-idiv" } */ +-/* { dg-require-effective-target lp64 } */ + + extern void abort (void); + +diff --git a/gcc/testsuite/gcc.target/i386/udivmod-8.c b/gcc/testsuite/gcc.target/i386/udivmod-8.c +index 16459fc..bef4964 100644 +--- a/gcc/testsuite/gcc.target/i386/udivmod-8.c ++++ b/gcc/testsuite/gcc.target/i386/udivmod-8.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -m8bit-idiv" } */ + + extern void foo (unsigned long long, unsigned long long, +diff --git a/gcc/testsuite/gcc.target/i386/unroll-1.c b/gcc/testsuite/gcc.target/i386/unroll-1.c +index 8cf19c4..cc8132e 100644 +--- a/gcc/testsuite/gcc.target/i386/unroll-1.c ++++ b/gcc/testsuite/gcc.target/i386/unroll-1.c +@@ -1,6 +1,6 @@ + /* PR optimization/8599 */ + /* { dg-do run } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + /* { dg-options "-mtune=k6 -O2 -funroll-loops" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/vararg-1.c b/gcc/testsuite/gcc.target/i386/vararg-1.c +index 9ed9ab0..a2db4b9 100644 +--- a/gcc/testsuite/gcc.target/i386/vararg-1.c ++++ b/gcc/testsuite/gcc.target/i386/vararg-1.c +@@ -1,8 +1,8 @@ + /* PR middle-end/36858 */ + /* { dg-do run } */ +-/* { dg-options "-w" { target { lp64 } } } */ ++/* { dg-options "-w" { target { ! { ia32 } } } } */ + /* { dg-options "-w" { target { llp64 } } } */ +-/* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */ ++/* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ia32 } } } */ + /* { dg-require-effective-target sse2 } */ + + #include "sse2-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/vararg-2.c b/gcc/testsuite/gcc.target/i386/vararg-2.c +index 8048012..bd5ad54 100644 +--- a/gcc/testsuite/gcc.target/i386/vararg-2.c ++++ b/gcc/testsuite/gcc.target/i386/vararg-2.c +@@ -1,8 +1,8 @@ + /* PR middle-end/36859 */ + /* { dg-do run } */ +-/* { dg-options "-w" { target { lp64 } } } */ ++/* { dg-options "-w" { target { ! { ia32 } } } } */ + /* { dg-options "-w" { target { llp64 } } } */ +-/* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */ ++/* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ia32 } } } */ + /* { dg-require-effective-target sse2 } */ + + #include "sse2-check.h" +diff --git a/gcc/testsuite/gcc.target/i386/vect8-ret.c b/gcc/testsuite/gcc.target/i386/vect8-ret.c +index f2eb81b..c2e2106 100644 +--- a/gcc/testsuite/gcc.target/i386/vect8-ret.c ++++ b/gcc/testsuite/gcc.target/i386/vect8-ret.c +@@ -1,4 +1,4 @@ +-/* { dg-do compile { target ilp32 } } */ ++/* { dg-do compile { target ia32 } } */ + /* { dg-options "-mmmx" { target i?86-*-solaris2.[89] *-*-vxworks* } } */ + /* { dg-options "-mmmx -mvect8-ret-in-mem" } */ + +diff --git a/gcc/testsuite/gcc.target/i386/vectorize5.c b/gcc/testsuite/gcc.target/i386/vectorize5.c +index 04f044f..2065e5d 100644 +--- a/gcc/testsuite/gcc.target/i386/vectorize5.c ++++ b/gcc/testsuite/gcc.target/i386/vectorize5.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -ftree-vectorize -mveclibabi=acml -ffast-math -mtune=generic" } */ + + double x[256]; +diff --git a/gcc/testsuite/gcc.target/i386/wmul-1.c b/gcc/testsuite/gcc.target/i386/wmul-1.c +index 3497f71..4ef8385 100644 +--- a/gcc/testsuite/gcc.target/i386/wmul-1.c ++++ b/gcc/testsuite/gcc.target/i386/wmul-1.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + long long mac(const int *a, const int *b, long long sqr, long long *sum) + { +diff --git a/gcc/testsuite/gcc.target/i386/wmul-2.c b/gcc/testsuite/gcc.target/i386/wmul-2.c +index 51de269..0a82654 100644 +--- a/gcc/testsuite/gcc.target/i386/wmul-2.c ++++ b/gcc/testsuite/gcc.target/i386/wmul-2.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-require-effective-target ilp32 } */ ++/* { dg-require-effective-target ia32 } */ + + void vec_mpy(int y[], const int x[], int scaler) + { +diff --git a/gcc/testsuite/gcc.target/i386/wrfsbase-1.c b/gcc/testsuite/gcc.target/i386/wrfsbase-1.c +index 4b84926..8b55ce6 100644 +--- a/gcc/testsuite/gcc.target/i386/wrfsbase-1.c ++++ b/gcc/testsuite/gcc.target/i386/wrfsbase-1.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfsgsbase" } */ + /* { dg-final { scan-assembler "wrfsbase\[ \t]+(%|)edi" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/wrfsbase-2.c b/gcc/testsuite/gcc.target/i386/wrfsbase-2.c +index 5e1762d..5accd79 100644 +--- a/gcc/testsuite/gcc.target/i386/wrfsbase-2.c ++++ b/gcc/testsuite/gcc.target/i386/wrfsbase-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfsgsbase" } */ + /* { dg-final { scan-assembler "wrfsbase\[ \t]+(%|)rdi" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/wrgsbase-1.c b/gcc/testsuite/gcc.target/i386/wrgsbase-1.c +index 15d2d7f..20cd945 100644 +--- a/gcc/testsuite/gcc.target/i386/wrgsbase-1.c ++++ b/gcc/testsuite/gcc.target/i386/wrgsbase-1.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfsgsbase" } */ + /* { dg-final { scan-assembler "wrgsbase\[ \t]+(%|)edi" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/wrgsbase-2.c b/gcc/testsuite/gcc.target/i386/wrgsbase-2.c +index 0a33d77..52a3c34 100644 +--- a/gcc/testsuite/gcc.target/i386/wrgsbase-2.c ++++ b/gcc/testsuite/gcc.target/i386/wrgsbase-2.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mfsgsbase" } */ + /* { dg-final { scan-assembler "wrgsbase\[ \t]+(%|)rdi" } } */ + +diff --git a/gcc/testsuite/gcc.target/i386/xop-pcmov.c b/gcc/testsuite/gcc.target/i386/xop-pcmov.c +index d6375b1..75ed433 100644 +--- a/gcc/testsuite/gcc.target/i386/xop-pcmov.c ++++ b/gcc/testsuite/gcc.target/i386/xop-pcmov.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes conditional floating point moves + into the pcmov instruction on XOP systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mxop" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/xop-pcmov2.c b/gcc/testsuite/gcc.target/i386/xop-pcmov2.c +index 617da39..6b6bd21 100644 +--- a/gcc/testsuite/gcc.target/i386/xop-pcmov2.c ++++ b/gcc/testsuite/gcc.target/i386/xop-pcmov2.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes conditional floating point moves + into the pcmov instruction on XOP systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mxop" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/xop-rotate1-vector.c b/gcc/testsuite/gcc.target/i386/xop-rotate1-vector.c +index e3ae644..f2b9eb8 100644 +--- a/gcc/testsuite/gcc.target/i386/xop-rotate1-vector.c ++++ b/gcc/testsuite/gcc.target/i386/xop-rotate1-vector.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes vector rotate instructions vector + into prot on XOP systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mxop -ftree-vectorize" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/xop-rotate2-vector.c b/gcc/testsuite/gcc.target/i386/xop-rotate2-vector.c +index 9996279..11d4002 100644 +--- a/gcc/testsuite/gcc.target/i386/xop-rotate2-vector.c ++++ b/gcc/testsuite/gcc.target/i386/xop-rotate2-vector.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes vector rotate instructions vector + into prot on XOP systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mxop -ftree-vectorize" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/xop-rotate3-vector.c b/gcc/testsuite/gcc.target/i386/xop-rotate3-vector.c +index 73d52f5..eb3c614 100644 +--- a/gcc/testsuite/gcc.target/i386/xop-rotate3-vector.c ++++ b/gcc/testsuite/gcc.target/i386/xop-rotate3-vector.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes vector rotate instructions vector + into prot on XOP systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mxop -ftree-vectorize" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/xop-shift1-vector.c b/gcc/testsuite/gcc.target/i386/xop-shift1-vector.c +index eb84439..16b3a6b 100644 +--- a/gcc/testsuite/gcc.target/i386/xop-shift1-vector.c ++++ b/gcc/testsuite/gcc.target/i386/xop-shift1-vector.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes vector shift instructions into + psha/pshl on XOP systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mxop -ftree-vectorize" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/xop-shift2-vector.c b/gcc/testsuite/gcc.target/i386/xop-shift2-vector.c +index e59c30d..1f1ed63 100644 +--- a/gcc/testsuite/gcc.target/i386/xop-shift2-vector.c ++++ b/gcc/testsuite/gcc.target/i386/xop-shift2-vector.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes vector shift instructions into + psha/pshl on XOP systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mxop -ftree-vectorize" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/xop-shift3-vector.c b/gcc/testsuite/gcc.target/i386/xop-shift3-vector.c +index 2b9302d..de64178 100644 +--- a/gcc/testsuite/gcc.target/i386/xop-shift3-vector.c ++++ b/gcc/testsuite/gcc.target/i386/xop-shift3-vector.c +@@ -1,8 +1,7 @@ + /* Test that the compiler properly optimizes vector shift instructions into + psha/pshl on XOP systems. */ + +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -mxop -ftree-vectorize" } */ + + extern void exit (int); +diff --git a/gcc/testsuite/gcc.target/i386/zee.c b/gcc/testsuite/gcc.target/i386/zee.c +index b46e890..1975b02 100644 +--- a/gcc/testsuite/gcc.target/i386/zee.c ++++ b/gcc/testsuite/gcc.target/i386/zee.c +@@ -1,5 +1,4 @@ +-/* { dg-do compile } */ +-/* { dg-require-effective-target lp64 } */ ++/* { dg-do compile { target { ! { ia32 } } } } */ + /* { dg-options "-O2 -fzee" } */ + /* { dg-final { scan-assembler-not "mov\[\\t \]+\(%\[\^,\]+\),\[\\t \]*\\1" } } */ + int mask[100]; +diff --git a/gcc/testsuite/gfortran.dg/compiler-directive_2.f b/gcc/testsuite/gfortran.dg/compiler-directive_2.f +index fcb1657..79169a8 100644 +--- a/gcc/testsuite/gfortran.dg/compiler-directive_2.f ++++ b/gcc/testsuite/gfortran.dg/compiler-directive_2.f +@@ -1,5 +1,4 @@ +-! { dg-do compile { target i?86-*-* x86_64-*-* } } +-! { dg-require-effective-target ilp32 } ++! { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + ! + ! PR fortran/34112 + ! +diff --git a/gcc/testsuite/gfortran.dg/g77/20010216-1.f b/gcc/testsuite/gfortran.dg/g77/20010216-1.f +index 004d1d3..af2c03a 100644 +--- a/gcc/testsuite/gfortran.dg/g77/20010216-1.f ++++ b/gcc/testsuite/gfortran.dg/g77/20010216-1.f +@@ -1,7 +1,7 @@ + C Test for bug in reg-stack handling conditional moves. + C Reported by Tim Prince <tprince@computer.org> + C +-C { dg-do run { target { { i[6789]86-*-* x86_64-*-* } && ilp32 } } } ++C { dg-do run { target { { i[6789]86-*-* x86_64-*-* } && ia32 } } } + C { dg-options "-ffast-math -march=pentiumpro" } + + double precision function foo(x, y) +diff --git a/gcc/testsuite/gfortran.dg/gomp/pr39152.f90 b/gcc/testsuite/gfortran.dg/gomp/pr39152.f90 +index ff088b5..385ebc7 100644 +--- a/gcc/testsuite/gfortran.dg/gomp/pr39152.f90 ++++ b/gcc/testsuite/gfortran.dg/gomp/pr39152.f90 +@@ -1,4 +1,4 @@ +-! { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } ++! { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } + ! { dg-options "-march=i486 -fopenmp -mavx -O3 -funroll-all-loops" } + + call test_workshare +diff --git a/gcc/testsuite/gfortran.dg/pr33794.f90 b/gcc/testsuite/gfortran.dg/pr33794.f90 +index a2425ce..740f1ea 100644 +--- a/gcc/testsuite/gfortran.dg/pr33794.f90 ++++ b/gcc/testsuite/gfortran.dg/pr33794.f90 +@@ -1,5 +1,5 @@ + ! { dg-do run } +-! { dg-options "-O2 -ffast-math -mfpmath=387" { target { { i?86-*-* x86_64-*-* } && lp64 } } } ++! { dg-options "-O2 -ffast-math -mfpmath=387" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } + ! { dg-options "-O2 -ffast-math" } + + module scc_m +diff --git a/gcc/testsuite/go.test/go-test.exp b/gcc/testsuite/go.test/go-test.exp +index 19cc0df..ec33369 100644 +--- a/gcc/testsuite/go.test/go-test.exp ++++ b/gcc/testsuite/go.test/go-test.exp +@@ -119,7 +119,7 @@ proc go-set-goarch { } { + } + "i?86-*-*" - + "x86_64-*-*" { +- if [check_effective_target_ilp32] { ++ if [check_effective_target_ia32] { + set goarch "386" + } else { + set goarch "amd64" +diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp +index 1b64cb6..7e55fec 100644 +--- a/gcc/testsuite/lib/target-supports.exp ++++ b/gcc/testsuite/lib/target-supports.exp +@@ -1487,6 +1487,28 @@ proc check_effective_target_ilp32 { } { + }] + } + ++# Return 1 if we're generating ia32 code using default options, 0 ++# otherwise. ++ ++proc check_effective_target_ia32 { } { ++ return [check_no_compiler_messages ia32 object { ++ int dummy[sizeof (int) == 4 ++ && sizeof (void *) == 4 ++ && sizeof (long) == 4 ? 1 : -1] = { __i386__ }; ++ }] ++} ++ ++# Return 1 if we're generating x32 code using default options, 0 ++# otherwise. ++ ++proc check_effective_target_x32 { } { ++ return [check_no_compiler_messages x32 object { ++ int dummy[sizeof (int) == 4 ++ && sizeof (void *) == 4 ++ && sizeof (long) == 4 ? 1 : -1] = { __x86_64__ }; ++ }] ++} ++ + # Return 1 if we're generating 32-bit or larger integers using default + # options, 0 otherwise. + +@@ -1688,7 +1710,8 @@ proc check_effective_target_vect_cmdline_needed { } { + if { [istarget alpha*-*-*] + || [istarget ia64-*-*] + || (([istarget x86_64-*-*] || [istarget i?86-*-*]) +- && [check_effective_target_lp64]) ++ && ([check_effective_target_x32] ++ || [check_effective_target_lp64])) + || ([istarget powerpc*-*-*] + && ([check_effective_target_powerpc_spe] + || [check_effective_target_powerpc_altivec])) +diff --git a/gcc/testsuite/objc.dg/torture/forward-1.m b/gcc/testsuite/objc.dg/torture/forward-1.m +index bccf4a1..b77ff28 100644 +--- a/gcc/testsuite/objc.dg/torture/forward-1.m ++++ b/gcc/testsuite/objc.dg/torture/forward-1.m +@@ -1,6 +1,6 @@ + /* { dg-do run } */ + /* See if -forward::/-performv:: is able to work. */ +-/* { dg-xfail-run-if "PR36610" { ! { { i?86-*-* x86_64-*-* } && ilp32 } } { "-fgnu-runtime" } { "" } } */ ++/* { dg-xfail-run-if "PR36610" { ! { { i?86-*-* x86_64-*-* } && ia32 } } { "-fgnu-runtime" } { "" } } */ + /* { dg-skip-if "Needs OBJC2 Implementation" { *-*-darwin* && { lp64 } } { "-fnext-runtime" } { "" } } */ + /* There is no implementation of forward: in the NeXT m64 libobjc/Object + neither have we implemented this in our extensions - so we have to skip it +diff --git a/gcc/unwind-dw2.c b/gcc/unwind-dw2.c +index 2ea9adb..3358073 100644 +--- a/gcc/unwind-dw2.c ++++ b/gcc/unwind-dw2.c +@@ -55,12 +55,50 @@ + #define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO) + #endif + ++#ifdef REG_VALUE_IN_UNWIND_CONTEXT ++typedef _Unwind_Word _Unwind_Context_Reg_Val; ++ ++#ifndef ASSUME_EXTENDED_UNWIND_CONTEXT ++#define ASSUME_EXTENDED_UNWIND_CONTEXT 1 ++#endif ++ ++static inline _Unwind_Word ++_Unwind_Get_Unwind_Word (_Unwind_Context_Reg_Val val) ++{ ++ return val; ++} ++ ++static inline _Unwind_Context_Reg_Val ++_Unwind_Get_Unwind_Context_Reg_Val (_Unwind_Word val) ++{ ++ return val; ++} ++#else ++typedef void *_Unwind_Context_Reg_Val; ++ ++static inline _Unwind_Word ++_Unwind_Get_Unwind_Word (_Unwind_Context_Reg_Val val) ++{ ++ return (_Unwind_Word) (_Unwind_Internal_Ptr) val; ++} ++ ++static inline _Unwind_Context_Reg_Val ++_Unwind_Get_Unwind_Context_Reg_Val (_Unwind_Word val) ++{ ++ return (_Unwind_Context_Reg_Val) (_Unwind_Internal_Ptr) val; ++} ++#endif ++ ++#ifndef ASSUME_EXTENDED_UNWIND_CONTEXT ++#define ASSUME_EXTENDED_UNWIND_CONTEXT 0 ++#endif ++ + /* This is the register and unwind state for a particular frame. This + provides the information necessary to unwind up past a frame and return + to its caller. */ + struct _Unwind_Context + { +- void *reg[DWARF_FRAME_REGISTERS+1]; ++ _Unwind_Context_Reg_Val reg[DWARF_FRAME_REGISTERS+1]; + void *cfa; + void *ra; + void *lsda; +@@ -143,7 +181,8 @@ _Unwind_SetSignalFrame (struct _Unwind_Context *context, int val) + static inline _Unwind_Word + _Unwind_IsExtendedContext (struct _Unwind_Context *context) + { +- return context->flags & EXTENDED_CONTEXT_BIT; ++ return (ASSUME_EXTENDED_UNWIND_CONTEXT ++ || (context->flags & EXTENDED_CONTEXT_BIT)); + } + + /* Get the value of register INDEX as saved in CONTEXT. */ +@@ -152,7 +191,7 @@ inline _Unwind_Word + _Unwind_GetGR (struct _Unwind_Context *context, int index) + { + int size; +- void *ptr; ++ _Unwind_Context_Reg_Val val; + + #ifdef DWARF_ZERO_REG + if (index == DWARF_ZERO_REG) +@@ -162,18 +201,18 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index) + index = DWARF_REG_TO_UNWIND_COLUMN (index); + gcc_assert (index < (int) sizeof(dwarf_reg_size_table)); + size = dwarf_reg_size_table[index]; +- ptr = context->reg[index]; ++ val = context->reg[index]; + + if (_Unwind_IsExtendedContext (context) && context->by_value[index]) +- return (_Unwind_Word) (_Unwind_Internal_Ptr) ptr; ++ return _Unwind_Get_Unwind_Word (val); + + /* This will segfault if the register hasn't been saved. */ + if (size == sizeof(_Unwind_Ptr)) +- return * (_Unwind_Ptr *) ptr; ++ return * (_Unwind_Ptr *) (_Unwind_Internal_Ptr) val; + else + { + gcc_assert (size == sizeof(_Unwind_Word)); +- return * (_Unwind_Word *) ptr; ++ return * (_Unwind_Word *) (_Unwind_Internal_Ptr) val; + } + } + +@@ -205,11 +244,11 @@ _Unwind_SetGR (struct _Unwind_Context *context, int index, _Unwind_Word val) + + if (_Unwind_IsExtendedContext (context) && context->by_value[index]) + { +- context->reg[index] = (void *) (_Unwind_Internal_Ptr) val; ++ context->reg[index] = _Unwind_Get_Unwind_Context_Reg_Val (val); + return; + } + +- ptr = context->reg[index]; ++ ptr = (void *) (_Unwind_Internal_Ptr) context->reg[index]; + + if (size == sizeof(_Unwind_Ptr)) + * (_Unwind_Ptr *) ptr = val; +@@ -228,7 +267,7 @@ _Unwind_GetGRPtr (struct _Unwind_Context *context, int index) + index = DWARF_REG_TO_UNWIND_COLUMN (index); + if (_Unwind_IsExtendedContext (context) && context->by_value[index]) + return &context->reg[index]; +- return context->reg[index]; ++ return (void *) (_Unwind_Internal_Ptr) context->reg[index]; + } + + /* Set the pointer to a register INDEX as saved in CONTEXT. */ +@@ -239,7 +278,7 @@ _Unwind_SetGRPtr (struct _Unwind_Context *context, int index, void *p) + index = DWARF_REG_TO_UNWIND_COLUMN (index); + if (_Unwind_IsExtendedContext (context)) + context->by_value[index] = 0; +- context->reg[index] = p; ++ context->reg[index] = (_Unwind_Context_Reg_Val) (_Unwind_Internal_Ptr) p; + } + + /* Overwrite the saved value for register INDEX in CONTEXT with VAL. */ +@@ -250,10 +289,11 @@ _Unwind_SetGRValue (struct _Unwind_Context *context, int index, + { + index = DWARF_REG_TO_UNWIND_COLUMN (index); + gcc_assert (index < (int) sizeof(dwarf_reg_size_table)); +- gcc_assert (dwarf_reg_size_table[index] == sizeof (_Unwind_Ptr)); ++ /* Return column size may be smaller than _Unwind_Context_Reg_Va. */ ++ gcc_assert (dwarf_reg_size_table[index] <= sizeof (_Unwind_Context_Reg_Val)); + + context->by_value[index] = 1; +- context->reg[index] = (void *) (_Unwind_Internal_Ptr) val; ++ context->reg[index] = _Unwind_Get_Unwind_Context_Reg_Val (val); + } + + /* Return nonzero if register INDEX is stored by value rather than +@@ -1213,7 +1253,8 @@ __frame_state_for (void *pc_target, struct frame_state *state_in) + int reg; + + memset (&context, 0, sizeof (struct _Unwind_Context)); +- context.flags = EXTENDED_CONTEXT_BIT; ++ if (!ASSUME_EXTENDED_UNWIND_CONTEXT) ++ context.flags = EXTENDED_CONTEXT_BIT; + context.ra = pc_target + 1; + + if (uw_frame_state_for (&context, &fs) != _URC_NO_REASON) +@@ -1451,7 +1492,8 @@ uw_init_context_1 (struct _Unwind_Context *context, + + memset (context, 0, sizeof (struct _Unwind_Context)); + context->ra = ra; +- context->flags = EXTENDED_CONTEXT_BIT; ++ if (!ASSUME_EXTENDED_UNWIND_CONTEXT) ++ context->flags = EXTENDED_CONTEXT_BIT; + + code = uw_frame_state_for (context, &fs); + gcc_assert (code == _URC_NO_REASON); +@@ -1524,8 +1566,8 @@ uw_install_context_1 (struct _Unwind_Context *current, + + for (i = 0; i < DWARF_FRAME_REGISTERS; ++i) + { +- void *c = current->reg[i]; +- void *t = target->reg[i]; ++ void *c = (void *) (_Unwind_Internal_Ptr) current->reg[i]; ++ void *t = (void *) (_Unwind_Internal_Ptr)target->reg[i]; + + gcc_assert (current->by_value[i] == 0); + if (target->by_value[i] && c) +diff --git a/libgcc/ChangeLog.x32 b/libgcc/ChangeLog.x32 +new file mode 100644 +index 0000000..bceff21 +--- /dev/null ++++ b/libgcc/ChangeLog.x32 +@@ -0,0 +1,17 @@ ++2011-11-10 H.J. Lu <hongjiu.lu@intel.com> ++ ++ PR other/48007 ++ * config/i386/value-unwind.h: New. ++ ++2011-11-08 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/morestack.S (X86_64_SAVE_NEW_STACK_BOUNDARY): New. ++ Use X86_64_SAVE_NEW_STACK_BOUNDARY to save the new stack boundary ++ for x86-64. Properly check __x86_64__ and __LP64__. ++ ++2011-10-08 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/i386/64/sfp-machine.h (_FP_W_TYPE): Always use _WIN64 ++ version. ++ (_FP_WS_TYPE): Likewise. ++ (_FP_I_TYPE): Likewise. +diff --git a/libgcc/config/i386/64/sfp-machine.h b/libgcc/config/i386/64/sfp-machine.h +index 5186c24..7a2a4be 100644 +--- a/libgcc/config/i386/64/sfp-machine.h ++++ b/libgcc/config/i386/64/sfp-machine.h +@@ -1,14 +1,8 @@ + #define _FP_W_TYPE_SIZE 64 + +-#ifdef _WIN64 +- #define _FP_W_TYPE unsigned long long +- #define _FP_WS_TYPE signed long long +- #define _FP_I_TYPE long long +-#else +- #define _FP_W_TYPE unsigned long +- #define _FP_WS_TYPE signed long +- #define _FP_I_TYPE long +-#endif ++#define _FP_W_TYPE unsigned long long ++#define _FP_WS_TYPE signed long long ++#define _FP_I_TYPE long long + + typedef int TItype __attribute__ ((mode (TI))); + typedef unsigned int UTItype __attribute__ ((mode (TI))); +diff --git a/libgcc/config/i386/morestack.S b/libgcc/config/i386/morestack.S +index 10fa1fd..c4e3ce4 100644 +--- a/libgcc/config/i386/morestack.S ++++ b/libgcc/config/i386/morestack.S +@@ -354,7 +354,13 @@ __morestack: + # FIXME: The offset must match + # TARGET_THREAD_SPLIT_STACK_OFFSET in + # gcc/config/i386/linux64.h. +- movq %rax,%fs:0x70 # Save the new stack boundary. ++ # Macro to save the new stack boundary. ++#ifdef __LP64__ ++#define X86_64_SAVE_NEW_STACK_BOUNDARY(reg) movq %r##reg,%fs:0x70 ++#else ++#define X86_64_SAVE_NEW_STACK_BOUNDARY(reg) movl %e##reg,%fs:0x40 ++#endif ++ X86_64_SAVE_NEW_STACK_BOUNDARY (ax) + + call __morestack_unblock_signals + +@@ -392,7 +398,7 @@ __morestack: + subq 0(%rsp),%rax # Subtract available space. + addq $BACKOFF,%rax # Back off 1024 bytes. + .LEHE0: +- movq %rax,%fs:0x70 # Save the new stack boundary. ++ X86_64_SAVE_NEW_STACK_BOUNDARY (ax) + + addq $16,%rsp # Remove values from stack. + +@@ -434,7 +440,7 @@ __morestack: + movq %rbp,%rcx # Get the stack pointer. + subq %rax,%rcx # Subtract available space. + addq $BACKOFF,%rcx # Back off 1024 bytes. +- movq %rcx,%fs:0x70 # Save new stack boundary. ++ X86_64_SAVE_NEW_STACK_BOUNDARY (cx) + movq (%rsp),%rdi # Restore exception data for call. + #ifdef __PIC__ + call _Unwind_Resume@PLT # Resume unwinding. +@@ -477,7 +483,7 @@ __morestack: + .section .data.DW.ref.__gcc_personality_v0,"awG",@progbits,DW.ref.__gcc_personality_v0,comdat + .type DW.ref.__gcc_personality_v0, @object + DW.ref.__gcc_personality_v0: +-#ifndef __x86_64 ++#ifndef __LP64__ + .align 4 + .size DW.ref.__gcc_personality_v0, 4 + .long __gcc_personality_v0 +@@ -488,7 +494,7 @@ DW.ref.__gcc_personality_v0: + #endif + #endif + +-#ifdef __x86_64__ ++#if defined __x86_64__ && defined __LP64__ + + # This entry point is used for the large model. With this entry point + # the upper 32 bits of %r10 hold the argument size and the lower 32 +@@ -521,7 +527,7 @@ __morestack_large_model: + .size __morestack_large_model, . - __morestack_large_model + #endif + +-#endif /* __x86_64__ */ ++#endif /* __x86_64__ && __LP64__ */ + + # Initialize the stack test value when the program starts or when a + # new thread starts. We don't know how large the main stack is, so we +@@ -554,7 +560,7 @@ __stack_split_initialize: + #else /* defined(__x86_64__) */ + + leaq -16000(%rsp),%rax # We should have at least 16K. +- movq %rax,%fs:0x70 ++ X86_64_SAVE_NEW_STACK_BOUNDARY (ax) + movq %rsp,%rdi + movq $16000,%rsi + #ifdef __PIC__ +@@ -576,7 +582,7 @@ __stack_split_initialize: + + .section .ctors.65535,"aw",@progbits + +-#ifndef __x86_64__ ++#ifndef __LP64__ + .align 4 + .long __stack_split_initialize + .long __morestack_load_mmap +diff --git a/libgcc/config/i386/value-unwind.h b/libgcc/config/i386/value-unwind.h +new file mode 100644 +index 0000000..0dceb5c +--- /dev/null ++++ b/libgcc/config/i386/value-unwind.h +@@ -0,0 +1,26 @@ ++/* Store register values as _Unwind_Word type in DWARF2 EH unwind context. ++ Copyright (C) 2011 ++ Free Software Foundation, Inc. ++ ++ This file is part of GCC. ++ ++ GCC 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, or (at your ++ option) any later version. ++ ++ GCC 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 and ++ a copy of the GCC Runtime Library Exception along with this program; ++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++ <http://www.gnu.org/licenses/>. */ ++ ++/* Define this macro if the target stores register values as _Unwind_Word ++ type in unwind context. Only enable it for x32. */ ++#if defined __x86_64 && !defined __LP64__ ++# define REG_VALUE_IN_UNWIND_CONTEXT ++#endif +diff --git a/libgomp/ChangeLog.x32 b/libgomp/ChangeLog.x32 +new file mode 100644 +index 0000000..476a1be +--- /dev/null ++++ b/libgomp/ChangeLog.x32 +@@ -0,0 +1,12 @@ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486 ++ for ia32 instead of ilp32. ++ ++ * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32. ++ * testsuite/libgomp.c/atomic-6.c: Likewise. ++ ++2011-11-08 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/linux/x86/futex.h: Check __x86_64__ instead of ++ __LP64__. +diff --git a/libgomp/config/linux/x86/futex.h b/libgomp/config/linux/x86/futex.h +index cb7461d..419f4d9 100644 +--- a/libgomp/config/linux/x86/futex.h ++++ b/libgomp/config/linux/x86/futex.h +@@ -24,7 +24,7 @@ + + /* Provide target-specific access to the futex system call. */ + +-#ifdef __LP64__ ++#ifdef __x86_64__ + # ifndef SYS_futex + # define SYS_futex 202 + # endif +@@ -138,7 +138,7 @@ futex_wake (int *addr, int count) + } + } + +-#endif /* __LP64__ */ ++#endif /* __x86_64__ */ + + static inline void + cpu_relax (void) +diff --git a/libgomp/testsuite/lib/libgomp.exp b/libgomp/testsuite/lib/libgomp.exp +index 976543d..a75e22f 100644 +--- a/libgomp/testsuite/lib/libgomp.exp ++++ b/libgomp/testsuite/lib/libgomp.exp +@@ -140,7 +140,7 @@ proc libgomp_init { args } { + + # We use atomic operations in the testcases to validate results. + if { ([istarget i?86-*-*] || [istarget x86_64-*-*]) +- && [check_effective_target_ilp32] } { ++ && [check_effective_target_ia32] } { + lappend ALWAYS_CFLAGS "additional_flags=-march=i486" + } + +diff --git a/libgomp/testsuite/libgomp.c/atomic-1.c b/libgomp/testsuite/libgomp.c/atomic-1.c +index b2be8f0..4725b7d 100644 +--- a/libgomp/testsuite/libgomp.c/atomic-1.c ++++ b/libgomp/testsuite/libgomp.c/atomic-1.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-options "-O2 -march=pentium" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -march=pentium" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #ifdef __i386__ + #include "cpuid.h" +diff --git a/libgomp/testsuite/libgomp.c/atomic-6.c b/libgomp/testsuite/libgomp.c/atomic-6.c +index 59baf7d..f8ab75e 100644 +--- a/libgomp/testsuite/libgomp.c/atomic-6.c ++++ b/libgomp/testsuite/libgomp.c/atomic-6.c +@@ -1,7 +1,7 @@ + /* PR middle-end/36106 */ + /* { dg-options "-O2" } */ + /* { dg-options "-O2 -mieee" { target alpha*-*-* } } */ +-/* { dg-options "-O2 -march=i586" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ ++/* { dg-options "-O2 -march=i586" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ + + #ifdef __i386__ + # include "cpuid.h" +diff --git a/libjava/ChangeLog.x32 b/libjava/ChangeLog.x32 +new file mode 100644 +index 0000000..681371a +--- /dev/null ++++ b/libjava/ChangeLog.x32 +@@ -0,0 +1,10 @@ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ PR libgcj/49193 ++ * configure.host (sysdeps_dir): Set to i386 for x86_64. ++ ++ * sysdep/i386/locks.h (compare_and_swap): Call ++ __sync_bool_compare_and_swap. ++ (release_set): Call write_barrier (). ++ ++ * sysdep/x86-64/locks.h: Removed. +diff --git a/libjava/configure.host b/libjava/configure.host +index 5b88478..9d4f2b6 100644 +--- a/libjava/configure.host ++++ b/libjava/configure.host +@@ -132,7 +132,7 @@ case "${host}" in + slow_pthread_self=yes + ;; + x86_64-*) +- sysdeps_dir=x86-64 ++ sysdeps_dir=i386 + # For 64-bit we always use SSE registers for arithmetic, + # which doesn't have the extra precision problems of the fpu. + # But be careful about 32-bit multilibs. +@@ -279,7 +279,7 @@ EOF + slow_pthread_self= + ;; + i[34567]86-*-solaris2.1[0-9]* ) +- sysdeps_dir=x86-64 ++ sysdeps_dir=i386 + DIVIDESPEC=-f%{m32:no-}%{!m32:%{!m64:no-}}%{m64:}use-divide-subroutine + ;; + mips-sgi-irix6* ) +diff --git a/libjava/sysdep/i386/locks.h b/libjava/sysdep/i386/locks.h +index 9d130b0..7b99f0b 100644 +--- a/libjava/sysdep/i386/locks.h ++++ b/libjava/sysdep/i386/locks.h +@@ -1,6 +1,6 @@ + /* locks.h - Thread synchronization primitives. X86/x86-64 implementation. + +- Copyright (C) 2002 Free Software Foundation ++ Copyright (C) 2002, 2011 Free Software Foundation + + This file is part of libgcj. + +@@ -23,19 +23,25 @@ compare_and_swap(volatile obj_addr_t *addr, + obj_addr_t old, + obj_addr_t new_val) + { +- char result; +-#ifdef __x86_64__ +- __asm__ __volatile__("lock; cmpxchgq %2, %0; setz %1" +- : "=m"(*(addr)), "=q"(result) +- : "r" (new_val), "a"(old), "m"(*addr) +- : "memory"); +-#else +- __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1" +- : "=m"(*addr), "=q"(result) +- : "r" (new_val), "a"(old), "m"(*addr) +- : "memory"); +-#endif +- return (bool) result; ++ return __sync_bool_compare_and_swap (addr, old, new_val); ++} ++ ++// Ensure that subsequent instructions do not execute on stale ++// data that was loaded from memory before the barrier. ++// On X86/x86-64, the hardware ensures that reads are properly ordered. ++inline static void ++read_barrier() ++{ ++} ++ ++// Ensure that prior stores to memory are completed with respect to other ++// processors. ++inline static void ++write_barrier() ++{ ++ /* x86-64/X86 does not reorder writes. We just need to ensure that ++ gcc also doesn't. */ ++ __asm__ __volatile__(" " : : : "memory"); + } + + // Set *addr to new_val with release semantics, i.e. making sure +@@ -46,7 +52,7 @@ compare_and_swap(volatile obj_addr_t *addr, + inline static void + release_set(volatile obj_addr_t *addr, obj_addr_t new_val) + { +- __asm__ __volatile__(" " : : : "memory"); ++ write_barrier (); + *(addr) = new_val; + } + +@@ -60,22 +66,4 @@ compare_and_swap_release(volatile obj_addr_t *addr, + { + return compare_and_swap(addr, old, new_val); + } +- +-// Ensure that subsequent instructions do not execute on stale +-// data that was loaded from memory before the barrier. +-// On X86/x86-64, the hardware ensures that reads are properly ordered. +-inline static void +-read_barrier() +-{ +-} +- +-// Ensure that prior stores to memory are completed with respect to other +-// processors. +-inline static void +-write_barrier() +-{ +- /* x86-64/X86 does not reorder writes. We just need to ensure that +- gcc also doesn't. */ +- __asm__ __volatile__(" " : : : "memory"); +-} + #endif +diff --git a/libjava/sysdep/x86-64/locks.h b/libjava/sysdep/x86-64/locks.h +deleted file mode 100644 +index fdc0a3e..0000000 +--- a/libjava/sysdep/x86-64/locks.h ++++ /dev/null +@@ -1,83 +0,0 @@ +-/* locks.h - Thread synchronization primitives. X86/x86-64 implementation. +- +- Copyright (C) 2002 Free Software Foundation +- +- Contributed by Bo Thorsen <bo@suse.de>. +- +- This file is part of libgcj. +- +-This software is copyrighted work licensed under the terms of the +-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +-details. */ +- +-#ifndef __SYSDEP_LOCKS_H__ +-#define __SYSDEP_LOCKS_H__ +- +-typedef size_t obj_addr_t; /* Integer type big enough for object */ +- /* address. */ +- +-// Atomically replace *addr by new_val if it was initially equal to old. +-// Return true if the comparison succeeded. +-// Assumed to have acquire semantics, i.e. later memory operations +-// cannot execute before the compare_and_swap finishes. +-inline static bool +-compare_and_swap(volatile obj_addr_t *addr, +- obj_addr_t old, +- obj_addr_t new_val) +-{ +- char result; +-#ifdef __x86_64__ +- __asm__ __volatile__("lock; cmpxchgq %2, %0; setz %1" +- : "=m"(*(addr)), "=q"(result) +- : "r" (new_val), "a"(old), "m"(*addr) +- : "memory"); +-#else +- __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1" +- : "=m"(*addr), "=q"(result) +- : "r" (new_val), "a"(old), "m"(*addr) +- : "memory"); +-#endif +- return (bool) result; +-} +- +-// Set *addr to new_val with release semantics, i.e. making sure +-// that prior loads and stores complete before this +-// assignment. +-// On X86/x86-64, the hardware shouldn't reorder reads and writes, +-// so we just have to convince gcc not to do it either. +-inline static void +-release_set(volatile obj_addr_t *addr, obj_addr_t new_val) +-{ +- __asm__ __volatile__(" " : : : "memory"); +- *(addr) = new_val; +-} +- +-// Compare_and_swap with release semantics instead of acquire semantics. +-// On many architecture, the operation makes both guarantees, so the +-// implementation can be the same. +-inline static bool +-compare_and_swap_release(volatile obj_addr_t *addr, +- obj_addr_t old, +- obj_addr_t new_val) +-{ +- return compare_and_swap(addr, old, new_val); +-} +- +-// Ensure that subsequent instructions do not execute on stale +-// data that was loaded from memory before the barrier. +-// On X86/x86-64, the hardware ensures that reads are properly ordered. +-inline static void +-read_barrier() +-{ +-} +- +-// Ensure that prior stores to memory are completed with respect to other +-// processors. +-inline static void +-write_barrier() +-{ +- /* x86-64/X86 does not reorder writes. We just need to ensure that +- gcc also doesn't. */ +- __asm__ __volatile__(" " : : : "memory"); +-} +-#endif +diff --git a/libstdc++-v3/ChangeLog.x32 b/libstdc++-v3/ChangeLog.x32 +new file mode 100644 +index 0000000..3a5cffb +--- /dev/null ++++ b/libstdc++-v3/ChangeLog.x32 +@@ -0,0 +1,3 @@ ++2011-11-09 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Generated. +diff --git a/libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt +new file mode 100644 +index 0000000..68ed545 +--- /dev/null ++++ b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt +@@ -0,0 +1,3615 @@ ++FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3 ++FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3 ++FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4 ++FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4 ++FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4 ++FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4 ++FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4 ++FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9 ++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9 ++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9 ++FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4 ++FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4 ++FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9 ++FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4 ++FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4 ++FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4 ++FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4 ++FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10 ++FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4 ++FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2 ++FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2 ++FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2 ++FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10 ++FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3 ++FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6 ++FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4 ++FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4 ++FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3 ++FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3 ++FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4 ++FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4 ++FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4 ++FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4 ++FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4 ++FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10 ++FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4 ++FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4 ++FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.15 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4cendEv@@GLIBCXX_3.4.14 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5crendEv@@GLIBCXX_3.4.14 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.15 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6cbeginEv@@GLIBCXX_3.4.14 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7crbeginEv@@GLIBCXX_3.4.14 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4 ++FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4 ++FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4 ++FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4 ++FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5 ++FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4 ++FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4 ++FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4 ++FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5 ++FUNC:_ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4 ++FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4 ++FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4 ++FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs2atEj@@GLIBCXX_3.4 ++FUNC:_ZNKSs3endEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs4backEv@@GLIBCXX_3.4.15 ++FUNC:_ZNKSs4cendEv@@GLIBCXX_3.4.14 ++FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4 ++FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs5crendEv@@GLIBCXX_3.4.14 ++FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs5frontEv@@GLIBCXX_3.4.15 ++FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4 ++FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs6cbeginEv@@GLIBCXX_3.4.14 ++FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4 ++FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4 ++FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4 ++FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs7crbeginEv@@GLIBCXX_3.4.14 ++FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4 ++FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4 ++FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4 ++FUNC:_ZNKSsixEj@@GLIBCXX_3.4 ++FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9 ++FUNC:_ZNKSt10error_code23default_error_conditionEv@@GLIBCXX_3.4.11 ++FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10lock_error4whatEv@@GLIBCXX_3.4.11 ++FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt12bad_weak_ptr4whatEv@@GLIBCXX_3.4.15 ++FUNC:_ZNKSt12future_error4whatEv@@GLIBCXX_3.4.14 ++FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9 ++FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5 ++FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 ++FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5 ++FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 ++FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5 ++FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 ++FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5 ++FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 ++FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5 ++FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 ++FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5 ++FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 ++FUNC:_ZNKSt14error_category10equivalentERKSt10error_codei@@GLIBCXX_3.4.11 ++FUNC:_ZNKSt14error_category10equivalentEiRKSt15error_condition@@GLIBCXX_3.4.11 ++FUNC:_ZNKSt14error_category23default_error_conditionEi@@GLIBCXX_3.4.11 ++FUNC:_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv@@CXXABI_1.3.3 ++FUNC:_ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv@@CXXABI_1.3.3 ++FUNC:_ZNKSt15__exception_ptr13exception_ptrntEv@@CXXABI_1.3.3 ++FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt4hashISt10error_codeEclES0_@@GLIBCXX_3.4.11 ++FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10 ++FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIcE13_M_widen_initEv@@GLIBCXX_3.4.11 ++FUNC:_ZNKSt5ctypeIcE14_M_narrow_initEv@@GLIBCXX_3.4.11 ++FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4 ++FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4 ++FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4 ++FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4 ++FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9 ++FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4 ++FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4 ++FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4 ++FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4 ++FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4 ++FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4 ++FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4 ++FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4 ++FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4 ++FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4 ++FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4 ++FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEjj@@GLIBCXX_3.4.16 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPwS2_EEEES6_T_S8_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPKwEEPwT_S7_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag@@GLIBCXX_3.4.14 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.14 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EjwRKS1_@@GLIBCXX_3.4.14 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4backEv@@GLIBCXX_3.4.15 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5frontEv@@GLIBCXX_3.4.15 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@@GLIBCXX_3.4.11 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEOS2_@@GLIBCXX_3.4.14 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@@GLIBCXX_3.4.11 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EESt16initializer_listIwE@@GLIBCXX_3.4.11 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_St16initializer_listIwE@@GLIBCXX_3.4.11 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@@GLIBCXX_3.4.14 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@@GLIBCXX_3.4.15 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_@@GLIBCXX_3.4.11 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEOS2_@@GLIBCXX_3.4.14 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@@GLIBCXX_3.4.11 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@@GLIBCXX_3.4.11 ++FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4 ++FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++FUNC:_ZNSdC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++FUNC:_ZNSdC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSdD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSdD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSdD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSi3getEPci@@GLIBCXX_3.4 ++FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4 ++FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4 ++FUNC:_ZNSi3getERc@@GLIBCXX_3.4 ++FUNC:_ZNSi3getEv@@GLIBCXX_3.4 ++FUNC:_ZNSi4peekEv@@GLIBCXX_3.4 ++FUNC:_ZNSi4readEPci@@GLIBCXX_3.4 ++FUNC:_ZNSi4syncEv@@GLIBCXX_3.4 ++FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4 ++FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4 ++FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4 ++FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4 ++FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5 ++FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4 ++FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4 ++FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5 ++FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4 ++FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4 ++FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4 ++FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4 ++FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4 ++FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4 ++FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4 ++FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++FUNC:_ZNSiC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++FUNC:_ZNSiC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSiD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSiD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSiD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4 ++FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4 ++FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4 ++FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++FUNC:_ZNSirsERPv@@GLIBCXX_3.4 ++FUNC:_ZNSirsERb@@GLIBCXX_3.4 ++FUNC:_ZNSirsERd@@GLIBCXX_3.4 ++FUNC:_ZNSirsERe@@GLIBCXX_3.4 ++FUNC:_ZNSirsERf@@GLIBCXX_3.4 ++FUNC:_ZNSirsERi@@GLIBCXX_3.4 ++FUNC:_ZNSirsERj@@GLIBCXX_3.4 ++FUNC:_ZNSirsERl@@GLIBCXX_3.4 ++FUNC:_ZNSirsERm@@GLIBCXX_3.4 ++FUNC:_ZNSirsERs@@GLIBCXX_3.4 ++FUNC:_ZNSirsERt@@GLIBCXX_3.4 ++FUNC:_ZNSirsERx@@GLIBCXX_3.4 ++FUNC:_ZNSirsERy@@GLIBCXX_3.4 ++FUNC:_ZNSo3putEc@@GLIBCXX_3.4 ++FUNC:_ZNSo5flushEv@@GLIBCXX_3.4 ++FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4 ++FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4 ++FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4 ++FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4 ++FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4 ++FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4 ++FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4 ++FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++FUNC:_ZNSoC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++FUNC:_ZNSoC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSoD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSoD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSoD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4 ++FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4 ++FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4 ++FUNC:_ZNSolsEPKv@@GLIBCXX_3.4 ++FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++FUNC:_ZNSolsEb@@GLIBCXX_3.4 ++FUNC:_ZNSolsEd@@GLIBCXX_3.4 ++FUNC:_ZNSolsEe@@GLIBCXX_3.4 ++FUNC:_ZNSolsEf@@GLIBCXX_3.4 ++FUNC:_ZNSolsEi@@GLIBCXX_3.4 ++FUNC:_ZNSolsEj@@GLIBCXX_3.4 ++FUNC:_ZNSolsEl@@GLIBCXX_3.4 ++FUNC:_ZNSolsEm@@GLIBCXX_3.4 ++FUNC:_ZNSolsEs@@GLIBCXX_3.4 ++FUNC:_ZNSolsEt@@GLIBCXX_3.4 ++FUNC:_ZNSolsEx@@GLIBCXX_3.4 ++FUNC:_ZNSolsEy@@GLIBCXX_3.4 ++FUNC:_ZNSs10_S_compareEjj@@GLIBCXX_3.4.16 ++FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4 ++FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14 ++FUNC:_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14 ++FUNC:_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag@@GLIBCXX_3.4.14 ++FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4 ++FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4 ++FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4 ++FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4 ++FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4 ++FUNC:_ZNSs13shrink_to_fitEv@@GLIBCXX_3.4.14 ++FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4 ++FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSs18_S_construct_aux_2EjcRKSaIcE@@GLIBCXX_3.4.14 ++FUNC:_ZNSs2atEj@@GLIBCXX_3.4 ++FUNC:_ZNSs3endEv@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5 ++FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4 ++FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSs4backEv@@GLIBCXX_3.4.15 ++FUNC:_ZNSs4rendEv@@GLIBCXX_3.4 ++FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4 ++FUNC:_ZNSs5beginEv@@GLIBCXX_3.4 ++FUNC:_ZNSs5clearEv@@GLIBCXX_3.4 ++FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4 ++FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4 ++FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4 ++FUNC:_ZNSs5frontEv@@GLIBCXX_3.4.15 ++FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4 ++FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4 ++FUNC:_ZNSs6appendESt16initializer_listIcE@@GLIBCXX_3.4.11 ++FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4 ++FUNC:_ZNSs6assignEOSs@@GLIBCXX_3.4.14 ++FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4 ++FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4 ++FUNC:_ZNSs6assignESt16initializer_listIcE@@GLIBCXX_3.4.11 ++FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4 ++FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE@@GLIBCXX_3.4.11 ++FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4 ++FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4 ++FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4 ++FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4 ++FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4 ++FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4 ++FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4 ++FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4 ++FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4 ++FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5 ++FUNC:_ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4 ++FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4 ++FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4 ++FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5 ++FUNC:_ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE@@GLIBCXX_3.4.11 ++FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4 ++FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4 ++FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4 ++FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5 ++FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4 ++FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4 ++FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4 ++FUNC:_ZNSsC1EOSs@@GLIBCXX_3.4.14 ++FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4 ++FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC1ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11 ++FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC2EOSs@@GLIBCXX_3.4.15 ++FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4 ++FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC2ESt16initializer_listIcERKSaIcE@@GLIBCXX_3.4.11 ++FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4 ++FUNC:_ZNSsD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSsD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSsaSEOSs@@GLIBCXX_3.4.14 ++FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4 ++FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSsaSESt16initializer_listIcE@@GLIBCXX_3.4.11 ++FUNC:_ZNSsaSEc@@GLIBCXX_3.4 ++FUNC:_ZNSsixEj@@GLIBCXX_3.4 ++FUNC:_ZNSspLEPKc@@GLIBCXX_3.4 ++FUNC:_ZNSspLERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSspLESt16initializer_listIcE@@GLIBCXX_3.4.11 ++FUNC:_ZNSspLEc@@GLIBCXX_3.4 ++FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4 ++FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4 ++FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4 ++FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5 ++FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4 ++FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5 ++FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4 ++FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt11range_errorD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt11regex_errorD0Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt11regex_errorD1Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt11regex_errorD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1 ++FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12domain_errorD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt12future_errorD0Ev@@GLIBCXX_3.4.14 ++FUNC:_ZNSt12future_errorD1Ev@@GLIBCXX_3.4.14 ++FUNC:_ZNSt12future_errorD2Ev@@GLIBCXX_3.4.14 ++FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12length_errorD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12out_of_rangeD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt12system_errorD0Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt12system_errorD1Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt12system_errorD2Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt13__future_base11_State_baseD0Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13__future_base11_State_baseD1Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13__future_base11_State_baseD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13__future_base12_Result_baseC1Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13__future_base12_Result_baseC2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13__future_base12_Result_baseD0Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13__future_base12_Result_baseD1Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13__future_base12_Result_baseD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE14_M_get_ext_posER11__mbstate_t@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE14_M_get_ext_posER11__mbstate_t@@GLIBCXX_3.4.15 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4 ++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4 ++FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4.13 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14error_categoryC1Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt14error_categoryC2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt14error_categoryD0Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt14error_categoryD1Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt14overflow_errorD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14 ++FUNC:_ZNSt15_List_node_base11_M_transferEPS_S0_@@GLIBCXX_3.4.14 ++FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4 ++FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4 ++FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15_List_node_base7_M_hookEPS_@@GLIBCXX_3.4.14 ++FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4 ++FUNC:_ZNSt15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14 ++FUNC:_ZNSt15__exception_ptr13exception_ptr4swapERS0_@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptr13exception_ptrC1ERKS0_@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptr13exception_ptrC1Ev@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptr13exception_ptrC2ERKS0_@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptr13exception_ptrC2Ev@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptr13exception_ptrD1Ev@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptr13exception_ptrD2Ev@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptr13exception_ptraSERKS0_@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptreqERKNS_13exception_ptrES2_@@CXXABI_1.3.3 ++FUNC:_ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@@CXXABI_1.3.3 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt15underflow_errorD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt16invalid_argumentD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt16nested_exceptionD0Ev@@CXXABI_1.3.5 ++FUNC:_ZNSt16nested_exceptionD1Ev@@CXXABI_1.3.5 ++FUNC:_ZNSt16nested_exceptionD2Ev@@CXXABI_1.3.5 ++FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17bad_function_callD0Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt17bad_function_callD1Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt17bad_function_callD2Ev@@GLIBCXX_3.4.15 ++FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11 ++FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11 ++FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.11 ++FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt18condition_variableD2Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5 ++FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4 ++FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5 ++FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4 ++FUNC:_ZNSt22condition_variable_anyC1Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt22condition_variable_anyC2Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt22condition_variable_anyD1Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt22condition_variable_anyD2Ev@@GLIBCXX_3.4.11 ++FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6__norm15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14 ++FUNC:_ZNSt6__norm15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.14 ++FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9 ++FUNC:_ZNSt6__norm15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14 ++FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9 ++FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9 ++FUNC:_ZNSt6__norm15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14 ++FUNC:_ZNSt6chrono12system_clock3nowEv@@GLIBCXX_3.4.11 ++FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4 ++FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@@GLIBCXX_3.4.7 ++FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6 ++FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4 ++FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4 ++FUNC:_ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@@GLIBCXX_3.4.11 ++FUNC:_ZNSt6thread4joinEv@@GLIBCXX_3.4.11 ++FUNC:_ZNSt6thread6detachEv@@GLIBCXX_3.4.11 ++FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8__detail15_List_node_base10_M_reverseEv@@GLIBCXX_3.4.15 ++FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15 ++FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15 ++FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15 ++FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15 ++FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6 ++FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6 ++FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4 ++FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4 ++FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4 ++FUNC:_ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.14 ++FUNC:_ZNSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.14 ++FUNC:_ZNSt9__cxx199815_List_node_base10_M_reverseEv@@GLIBCXX_3.4.14 ++FUNC:_ZNSt9__cxx199815_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.14 ++FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10 ++FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10 ++FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10 ++FUNC:_ZNSt9__cxx199815_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14 ++FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10 ++FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10 ++FUNC:_ZNSt9__cxx199815_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14 ++FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4 ++FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4 ++FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4 ++FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4 ++FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4 ++FUNC:_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.11 ++FUNC:_ZNVSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.11 ++FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4 ++FUNC:_ZSt11_Hash_bytesPKvjj@@CXXABI_1.3.5 ++FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4 ++FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4 ++FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4 ++FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4 ++FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4 ++FUNC:_ZSt15_Fnv_hash_bytesPKvjj@@CXXABI_1.3.5 ++FUNC:_ZSt15future_categoryv@@GLIBCXX_3.4.15 ++FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4 ++FUNC:_ZSt15system_categoryv@@GLIBCXX_3.4.11 ++FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9 ++FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9 ++FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4 ++FUNC:_ZSt16generic_categoryv@@GLIBCXX_3.4.11 ++FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6 ++FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6 ++FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4 ++FUNC:_ZSt17__verify_groupingPKcjRKSs@@GLIBCXX_3.4.10 ++FUNC:_ZSt17current_exceptionv@@CXXABI_1.3.3 ++FUNC:_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE@@CXXABI_1.3.3 ++FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4 ++FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4 ++FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4 ++FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4 ++FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4 ++FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4 ++FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4 ++FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4 ++FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4 ++FUNC:_ZSt19__throw_regex_errorNSt15regex_constants10error_typeE@@GLIBCXX_3.4.15 ++FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4 ++FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4 ++FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4 ++FUNC:_ZSt20__throw_future_errori@@GLIBCXX_3.4.14 ++FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4 ++FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4 ++FUNC:_ZSt20__throw_system_errori@@GLIBCXX_3.4.11 ++FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4 ++FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9 ++FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9 ++FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4 ++FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4 ++FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4 ++FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4 ++FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4 ++FUNC:_ZSt25__throw_bad_function_callv@@GLIBCXX_3.4.14 ++FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4 ++FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4 ++FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4 ++FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4 ++FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4 ++FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4 ++FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4 ++FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4 ++FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4 ++FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4 ++FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4 ++FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4 ++FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4 ++FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9terminatev@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4 ++FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4 ++FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4 ++FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4 ++FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4 ++FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4 ++FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4 ++FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4 ++FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4 ++FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4 ++FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4 ++FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4 ++FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4 ++FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4 ++FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4 ++FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4 ++FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4 ++FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4 ++FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4 ++FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4 ++FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4 ++FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4 ++FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4 ++FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4 ++FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4 ++FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4 ++FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4 ++FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4 ++FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4 ++FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4 ++FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4 ++FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4 ++FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4 ++FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4 ++FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4 ++FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4 ++FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4 ++FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4 ++FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4 ++FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4 ++FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4 ++FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4 ++FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4 ++FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4 ++FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4 ++FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4 ++FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4 ++FUNC:_ZdaPv@@GLIBCXX_3.4 ++FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4 ++FUNC:_ZdlPv@@GLIBCXX_3.4 ++FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4 ++FUNC:_Znaj@@GLIBCXX_3.4 ++FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4 ++FUNC:_Znwj@@GLIBCXX_3.4 ++FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4 ++FUNC:__atomic_flag_for_address@@GLIBCXX_3.4.11 ++FUNC:__atomic_flag_wait_explicit@@GLIBCXX_3.4.11 ++FUNC:__cxa_allocate_exception@@CXXABI_1.3 ++FUNC:__cxa_bad_cast@@CXXABI_1.3 ++FUNC:__cxa_bad_typeid@@CXXABI_1.3 ++FUNC:__cxa_begin_catch@@CXXABI_1.3 ++FUNC:__cxa_call_unexpected@@CXXABI_1.3 ++FUNC:__cxa_current_exception_type@@CXXABI_1.3 ++FUNC:__cxa_demangle@@CXXABI_1.3 ++FUNC:__cxa_end_catch@@CXXABI_1.3 ++FUNC:__cxa_free_exception@@CXXABI_1.3 ++FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1 ++FUNC:__cxa_get_globals@@CXXABI_1.3 ++FUNC:__cxa_get_globals_fast@@CXXABI_1.3 ++FUNC:__cxa_guard_abort@@CXXABI_1.3 ++FUNC:__cxa_guard_acquire@@CXXABI_1.3 ++FUNC:__cxa_guard_release@@CXXABI_1.3 ++FUNC:__cxa_pure_virtual@@CXXABI_1.3 ++FUNC:__cxa_rethrow@@CXXABI_1.3 ++FUNC:__cxa_throw@@CXXABI_1.3 ++FUNC:__cxa_vec_cctor@@CXXABI_1.3 ++FUNC:__cxa_vec_cleanup@@CXXABI_1.3 ++FUNC:__cxa_vec_ctor@@CXXABI_1.3 ++FUNC:__cxa_vec_delete2@@CXXABI_1.3 ++FUNC:__cxa_vec_delete3@@CXXABI_1.3 ++FUNC:__cxa_vec_delete@@CXXABI_1.3 ++FUNC:__cxa_vec_dtor@@CXXABI_1.3 ++FUNC:__cxa_vec_new2@@CXXABI_1.3 ++FUNC:__cxa_vec_new3@@CXXABI_1.3 ++FUNC:__cxa_vec_new@@CXXABI_1.3 ++FUNC:__dynamic_cast@@CXXABI_1.3 ++FUNC:__gxx_personality_v0@@CXXABI_1.3 ++FUNC:__once_proxy@@GLIBCXX_3.4.11 ++FUNC:atomic_flag_clear_explicit@@GLIBCXX_3.4.11 ++FUNC:atomic_flag_test_and_set_explicit@@GLIBCXX_3.4.11 ++OBJECT:0:CXXABI_1.3 ++OBJECT:0:CXXABI_1.3.1 ++OBJECT:0:CXXABI_1.3.2 ++OBJECT:0:CXXABI_1.3.3 ++OBJECT:0:CXXABI_1.3.4 ++OBJECT:0:CXXABI_1.3.5 ++OBJECT:0:GLIBCXX_3.4 ++OBJECT:0:GLIBCXX_3.4.1 ++OBJECT:0:GLIBCXX_3.4.10 ++OBJECT:0:GLIBCXX_3.4.11 ++OBJECT:0:GLIBCXX_3.4.12 ++OBJECT:0:GLIBCXX_3.4.13 ++OBJECT:0:GLIBCXX_3.4.14 ++OBJECT:0:GLIBCXX_3.4.15 ++OBJECT:0:GLIBCXX_3.4.16 ++OBJECT:0:GLIBCXX_3.4.2 ++OBJECT:0:GLIBCXX_3.4.3 ++OBJECT:0:GLIBCXX_3.4.4 ++OBJECT:0:GLIBCXX_3.4.5 ++OBJECT:0:GLIBCXX_3.4.6 ++OBJECT:0:GLIBCXX_3.4.7 ++OBJECT:0:GLIBCXX_3.4.8 ++OBJECT:0:GLIBCXX_3.4.9 ++OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10 ++OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10 ++OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3 ++OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt10lock_error@@GLIBCXX_3.4.11 ++OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt11regex_error@@GLIBCXX_3.4.15 ++OBJECT:12:_ZTISt12bad_weak_ptr@@GLIBCXX_3.4.15 ++OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt12future_error@@GLIBCXX_3.4.14 ++OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt12system_error@@GLIBCXX_3.4.11 ++OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt17bad_function_call@@GLIBCXX_3.4.15 ++OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4 ++OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4 ++OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4 ++OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4 ++OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4 ++OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4 ++OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4 ++OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4 ++OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4 ++OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4 ++OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4 ++OBJECT:140:_ZSt4clog@@GLIBCXX_3.4 ++OBJECT:140:_ZSt4cout@@GLIBCXX_3.4 ++OBJECT:144:_ZSt3cin@@GLIBCXX_3.4 ++OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4 ++OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4 ++OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4 ++OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4 ++OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4 ++OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4 ++OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4 ++OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4 ++OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4 ++OBJECT:15:_ZTSSt10lock_error@@GLIBCXX_3.4.11 ++OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4 ++OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4 ++OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4 ++OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4 ++OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4 ++OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4 ++OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 ++OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 ++OBJECT:16:_ZTIPDd@@CXXABI_1.3.4 ++OBJECT:16:_ZTIPDe@@CXXABI_1.3.4 ++OBJECT:16:_ZTIPDf@@CXXABI_1.3.4 ++OBJECT:16:_ZTIPDi@@CXXABI_1.3.3 ++OBJECT:16:_ZTIPDn@@CXXABI_1.3.5 ++OBJECT:16:_ZTIPDs@@CXXABI_1.3.3 ++OBJECT:16:_ZTIPKDd@@CXXABI_1.3.4 ++OBJECT:16:_ZTIPKDe@@CXXABI_1.3.4 ++OBJECT:16:_ZTIPKDf@@CXXABI_1.3.4 ++OBJECT:16:_ZTIPKDi@@CXXABI_1.3.3 ++OBJECT:16:_ZTIPKDn@@CXXABI_1.3.5 ++OBJECT:16:_ZTIPKDs@@CXXABI_1.3.3 ++OBJECT:16:_ZTIPKa@@CXXABI_1.3 ++OBJECT:16:_ZTIPKb@@CXXABI_1.3 ++OBJECT:16:_ZTIPKc@@CXXABI_1.3 ++OBJECT:16:_ZTIPKd@@CXXABI_1.3 ++OBJECT:16:_ZTIPKe@@CXXABI_1.3 ++OBJECT:16:_ZTIPKf@@CXXABI_1.3 ++OBJECT:16:_ZTIPKh@@CXXABI_1.3 ++OBJECT:16:_ZTIPKi@@CXXABI_1.3 ++OBJECT:16:_ZTIPKj@@CXXABI_1.3 ++OBJECT:16:_ZTIPKl@@CXXABI_1.3 ++OBJECT:16:_ZTIPKm@@CXXABI_1.3 ++OBJECT:16:_ZTIPKn@@CXXABI_1.3.5 ++OBJECT:16:_ZTIPKo@@CXXABI_1.3.5 ++OBJECT:16:_ZTIPKs@@CXXABI_1.3 ++OBJECT:16:_ZTIPKt@@CXXABI_1.3 ++OBJECT:16:_ZTIPKv@@CXXABI_1.3 ++OBJECT:16:_ZTIPKw@@CXXABI_1.3 ++OBJECT:16:_ZTIPKx@@CXXABI_1.3 ++OBJECT:16:_ZTIPKy@@CXXABI_1.3 ++OBJECT:16:_ZTIPa@@CXXABI_1.3 ++OBJECT:16:_ZTIPb@@CXXABI_1.3 ++OBJECT:16:_ZTIPc@@CXXABI_1.3 ++OBJECT:16:_ZTIPd@@CXXABI_1.3 ++OBJECT:16:_ZTIPe@@CXXABI_1.3 ++OBJECT:16:_ZTIPf@@CXXABI_1.3 ++OBJECT:16:_ZTIPh@@CXXABI_1.3 ++OBJECT:16:_ZTIPi@@CXXABI_1.3 ++OBJECT:16:_ZTIPj@@CXXABI_1.3 ++OBJECT:16:_ZTIPl@@CXXABI_1.3 ++OBJECT:16:_ZTIPm@@CXXABI_1.3 ++OBJECT:16:_ZTIPn@@CXXABI_1.3.5 ++OBJECT:16:_ZTIPo@@CXXABI_1.3.5 ++OBJECT:16:_ZTIPs@@CXXABI_1.3 ++OBJECT:16:_ZTIPt@@CXXABI_1.3 ++OBJECT:16:_ZTIPv@@CXXABI_1.3 ++OBJECT:16:_ZTIPw@@CXXABI_1.3 ++OBJECT:16:_ZTIPx@@CXXABI_1.3 ++OBJECT:16:_ZTIPy@@CXXABI_1.3 ++OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4 ++OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4 ++OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4 ++OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4 ++OBJECT:16:_ZTVSt16nested_exception@@CXXABI_1.3.5 ++OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4 ++OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4 ++OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4 ++OBJECT:17:_ZTSSt12future_error@@GLIBCXX_3.4.14 ++OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4 ++OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4 ++OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4 ++OBJECT:17:_ZTSSt12system_error@@GLIBCXX_3.4.11 ++OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4 ++OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4 ++OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4 ++OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4 ++OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4 ++OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4 ++OBJECT:19:_ZTSSt14error_category@@GLIBCXX_3.4.11 ++OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4 ++OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt12placeholders2_1E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders2_2E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders2_3E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders2_4E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders2_5E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders2_6E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders2_7E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders2_8E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders2_9E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_10E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_11E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_12E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_13E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_14E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_15E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_16E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_17E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_18E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_19E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_20E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_21E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_22E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_23E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_24E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_25E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_26E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_27E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_28E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt12placeholders3_29E@@GLIBCXX_3.4.15 ++OBJECT:1:_ZNSt14numeric_limitsIDiE10is_boundedE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE10is_integerE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE12has_infinityE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE13has_quiet_NaNE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE14is_specializedE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE15has_denorm_lossE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE15tinyness_beforeE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE17has_signaling_NaNE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE5trapsE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE8is_exactE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE9is_iec559E@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE9is_moduloE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDiE9is_signedE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE10is_boundedE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE10is_integerE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE12has_infinityE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE13has_quiet_NaNE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE14is_specializedE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE15has_denorm_lossE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE15tinyness_beforeE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE17has_signaling_NaNE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE5trapsE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE8is_exactE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE9is_iec559E@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE9is_moduloE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIDsE9is_signedE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4 ++OBJECT:1:_ZNSt6chrono12system_clock12is_monotonicE@@GLIBCXX_3.4.11 ++OBJECT:1:_ZSt10adopt_lock@@GLIBCXX_3.4.11 ++OBJECT:1:_ZSt10defer_lock@@GLIBCXX_3.4.11 ++OBJECT:1:_ZSt11try_to_lock@@GLIBCXX_3.4.11 ++OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4 ++OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4 ++OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4 ++OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4 ++OBJECT:20:_ZTVNSt13__future_base11_State_baseE@@GLIBCXX_3.4.15 ++OBJECT:20:_ZTVNSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15 ++OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt10lock_error@@GLIBCXX_3.4.11 ++OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt11regex_error@@GLIBCXX_3.4.15 ++OBJECT:20:_ZTVSt12bad_weak_ptr@@GLIBCXX_3.4.15 ++OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt12future_error@@GLIBCXX_3.4.14 ++OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt12system_error@@GLIBCXX_3.4.11 ++OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt17bad_function_call@@GLIBCXX_3.4.15 ++OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4 ++OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4 ++OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4 ++OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4 ++OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4 ++OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4 ++OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4 ++OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4 ++OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4 ++OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4 ++OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4 ++OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4 ++OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4 ++OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4 ++OBJECT:24:_ZTISi@@GLIBCXX_3.4 ++OBJECT:24:_ZTISo@@GLIBCXX_3.4 ++OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:28:_ZTTSd@@GLIBCXX_3.4 ++OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4 ++OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4 ++OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4 ++OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4 ++OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4 ++OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4 ++OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4 ++OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4 ++OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4 ++OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4 ++OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4 ++OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4 ++OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4 ++OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4 ++OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4 ++OBJECT:2:_ZTSa@@CXXABI_1.3 ++OBJECT:2:_ZTSb@@CXXABI_1.3 ++OBJECT:2:_ZTSc@@CXXABI_1.3 ++OBJECT:2:_ZTSd@@CXXABI_1.3 ++OBJECT:2:_ZTSe@@CXXABI_1.3 ++OBJECT:2:_ZTSf@@CXXABI_1.3 ++OBJECT:2:_ZTSh@@CXXABI_1.3 ++OBJECT:2:_ZTSi@@CXXABI_1.3 ++OBJECT:2:_ZTSj@@CXXABI_1.3 ++OBJECT:2:_ZTSl@@CXXABI_1.3 ++OBJECT:2:_ZTSm@@CXXABI_1.3 ++OBJECT:2:_ZTSs@@CXXABI_1.3 ++OBJECT:2:_ZTSt@@CXXABI_1.3 ++OBJECT:2:_ZTSv@@CXXABI_1.3 ++OBJECT:2:_ZTSw@@CXXABI_1.3 ++OBJECT:2:_ZTSx@@CXXABI_1.3 ++OBJECT:2:_ZTSy@@CXXABI_1.3 ++OBJECT:32:_ZTISd@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3 ++OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3 ++OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3 ++OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3 ++OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4 ++OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3 ++OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3 ++OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3 ++OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3 ++OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3 ++OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3 ++OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3 ++OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3 ++OBJECT:36:_ZTVSt14error_category@@GLIBCXX_3.4.11 ++OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4 ++OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4 ++OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4 ++OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4 ++OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3 ++OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3 ++OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3 ++OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:3:_ZTSPa@@CXXABI_1.3 ++OBJECT:3:_ZTSPb@@CXXABI_1.3 ++OBJECT:3:_ZTSPc@@CXXABI_1.3 ++OBJECT:3:_ZTSPd@@CXXABI_1.3 ++OBJECT:3:_ZTSPe@@CXXABI_1.3 ++OBJECT:3:_ZTSPf@@CXXABI_1.3 ++OBJECT:3:_ZTSPh@@CXXABI_1.3 ++OBJECT:3:_ZTSPi@@CXXABI_1.3 ++OBJECT:3:_ZTSPj@@CXXABI_1.3 ++OBJECT:3:_ZTSPl@@CXXABI_1.3 ++OBJECT:3:_ZTSPm@@CXXABI_1.3 ++OBJECT:3:_ZTSPs@@CXXABI_1.3 ++OBJECT:3:_ZTSPt@@CXXABI_1.3 ++OBJECT:3:_ZTSPv@@CXXABI_1.3 ++OBJECT:3:_ZTSPw@@CXXABI_1.3 ++OBJECT:3:_ZTSPx@@CXXABI_1.3 ++OBJECT:3:_ZTSPy@@CXXABI_1.3 ++OBJECT:3:_ZTSSd@@GLIBCXX_3.4 ++OBJECT:3:_ZTSSi@@GLIBCXX_3.4 ++OBJECT:3:_ZTSSo@@GLIBCXX_3.4 ++OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3 ++OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSi@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSo@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3 ++OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3 ++OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3 ++OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4 ++OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3 ++OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4 ++OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4 ++OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIDiE10has_denormE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDiE11round_styleE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDiE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIDiE12max_exponentE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDiE12min_exponentE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDiE14max_exponent10E@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDiE14min_exponent10E@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDiE5radixE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDiE6digitsE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDiE8digits10E@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDsE10has_denormE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDsE11round_styleE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDsE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIDsE12max_exponentE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDsE12min_exponentE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDsE14max_exponent10E@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDsE14min_exponent10E@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDsE5radixE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDsE6digitsE@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIDsE8digits10E@@GLIBCXX_3.4.11 ++OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIaE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIbE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIcE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIdE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIeE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIfE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIhE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIiE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIjE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIlE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsImE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIsE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsItE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIwE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIxE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIyE12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt21__numeric_limits_base12max_digits10E@@GLIBCXX_3.4.14 ++OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:4:_ZSt15future_category@@GLIBCXX_3.4.14 ++OBJECT:4:_ZTSPKa@@CXXABI_1.3 ++OBJECT:4:_ZTSPKb@@CXXABI_1.3 ++OBJECT:4:_ZTSPKc@@CXXABI_1.3 ++OBJECT:4:_ZTSPKd@@CXXABI_1.3 ++OBJECT:4:_ZTSPKe@@CXXABI_1.3 ++OBJECT:4:_ZTSPKf@@CXXABI_1.3 ++OBJECT:4:_ZTSPKh@@CXXABI_1.3 ++OBJECT:4:_ZTSPKi@@CXXABI_1.3 ++OBJECT:4:_ZTSPKj@@CXXABI_1.3 ++OBJECT:4:_ZTSPKl@@CXXABI_1.3 ++OBJECT:4:_ZTSPKm@@CXXABI_1.3 ++OBJECT:4:_ZTSPKs@@CXXABI_1.3 ++OBJECT:4:_ZTSPKt@@CXXABI_1.3 ++OBJECT:4:_ZTSPKv@@CXXABI_1.3 ++OBJECT:4:_ZTSPKw@@CXXABI_1.3 ++OBJECT:4:_ZTSPKx@@CXXABI_1.3 ++OBJECT:4:_ZTSPKy@@CXXABI_1.3 ++OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4 ++OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4 ++OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4 ++OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4 ++OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4 ++OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4 ++OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4 ++OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4 ++OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4 ++OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4 ++OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTVSd@@GLIBCXX_3.4 ++OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4 ++OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4 ++OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4 ++OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4 ++OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 ++OBJECT:8:_ZTIDd@@CXXABI_1.3.4 ++OBJECT:8:_ZTIDe@@CXXABI_1.3.4 ++OBJECT:8:_ZTIDf@@CXXABI_1.3.4 ++OBJECT:8:_ZTIDi@@CXXABI_1.3.3 ++OBJECT:8:_ZTIDn@@CXXABI_1.3.5 ++OBJECT:8:_ZTIDs@@CXXABI_1.3.3 ++OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2 ++OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2 ++OBJECT:8:_ZTINSt13__future_base11_State_baseE@@GLIBCXX_3.4.15 ++OBJECT:8:_ZTINSt13__future_base12_Result_baseE@@GLIBCXX_3.4.15 ++OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt14error_category@@GLIBCXX_3.4.11 ++OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt16nested_exception@@CXXABI_1.3.5 ++OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4 ++OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4 ++OBJECT:8:_ZTIa@@CXXABI_1.3 ++OBJECT:8:_ZTIb@@CXXABI_1.3 ++OBJECT:8:_ZTIc@@CXXABI_1.3 ++OBJECT:8:_ZTId@@CXXABI_1.3 ++OBJECT:8:_ZTIe@@CXXABI_1.3 ++OBJECT:8:_ZTIf@@CXXABI_1.3 ++OBJECT:8:_ZTIh@@CXXABI_1.3 ++OBJECT:8:_ZTIi@@CXXABI_1.3 ++OBJECT:8:_ZTIj@@CXXABI_1.3 ++OBJECT:8:_ZTIl@@CXXABI_1.3 ++OBJECT:8:_ZTIm@@CXXABI_1.3 ++OBJECT:8:_ZTIn@@CXXABI_1.3.5 ++OBJECT:8:_ZTIo@@CXXABI_1.3.5 ++OBJECT:8:_ZTIs@@CXXABI_1.3 ++OBJECT:8:_ZTIt@@CXXABI_1.3 ++OBJECT:8:_ZTIv@@CXXABI_1.3 ++OBJECT:8:_ZTIw@@CXXABI_1.3 ++OBJECT:8:_ZTIx@@CXXABI_1.3 ++OBJECT:8:_ZTIy@@CXXABI_1.3 ++OBJECT:8:_ZTTSi@@GLIBCXX_3.4 ++OBJECT:8:_ZTTSo@@GLIBCXX_3.4 ++OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 ++TLS:4:_ZSt11__once_call@@GLIBCXX_3.4.11 ++TLS:4:_ZSt15__once_callable@@GLIBCXX_3.4.11 diff --git a/4.7.0/gentoo/92_all_freebsd-pie.patch b/4.7.0/gentoo/92_all_freebsd-pie.patch new file mode 100644 index 0000000..4905db7 --- /dev/null +++ b/4.7.0/gentoo/92_all_freebsd-pie.patch @@ -0,0 +1,71 @@ +https://bugs.gentoo.org/415185 +http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00555.html + +From: Alexis Ballier <aballier@gentoo.org> +To: gcc-patches@gcc.gnu.org +Cc: Alexis Ballier <aballier@gentoo.org> +Date: Tue, 8 May 2012 09:53:43 -0400 +Subject: [PATCH] gcc/config/freebsd-spec.h: Fix building PIE executables. Link them with crt{begin,end}S.o and Scrt1.o which are PIC instead of crt{begin,end}.o and crt1.o which are not. Spec synced from gnu-user.h. + +gcc/config/i386/freebsd.h: Likewise. +--- + gcc/config/freebsd-spec.h | 9 +++------ + gcc/config/i386/freebsd.h | 9 +++------ + 2 files changed, 6 insertions(+), 12 deletions(-) + +diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h +index 770a3d1..2808582 100644 +--- a/gcc/config/freebsd-spec.h ++++ b/gcc/config/freebsd-spec.h +@@ -64,11 +64,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + before entering `main'. */ + + #define FBSD_STARTFILE_SPEC \ +- "%{!shared: \ +- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ +- %{!p:%{profile:gcrt1.o%s} \ +- %{!profile:crt1.o%s}}}} \ +- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" ++ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ ++ crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}" + + /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on + the magical crtend.o file (see crtstuff.c) which provides part of +@@ -77,7 +74,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + `crtn.o'. */ + + #define FBSD_ENDFILE_SPEC \ +- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" ++ "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" + + /* Provide a LIB_SPEC appropriate for FreeBSD as configured and as + required by the user-land thread model. Before __FreeBSD_version +diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h +index 649274d..dd69e43 100644 +--- a/gcc/config/i386/freebsd.h ++++ b/gcc/config/i386/freebsd.h +@@ -67,11 +67,8 @@ along with GCC; see the file COPYING3. If not see + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC \ +- "%{!shared: \ +- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ +- %{!p:%{profile:gcrt1.o%s} \ +- %{!profile:crt1.o%s}}}} \ +- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" ++ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ ++ crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}" + + /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on + the magical crtend.o file (see crtstuff.c) which provides part of +@@ -81,7 +78,7 @@ along with GCC; see the file COPYING3. If not see + + #undef ENDFILE_SPEC + #define ENDFILE_SPEC \ +- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" ++ "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" + + /* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support + for the special GCC options -static and -shared, which allow us to +-- +1.7.8.6 diff --git a/4.7.0/gentoo/README.history b/4.7.0/gentoo/README.history new file mode 100644 index 0000000..a104f4a --- /dev/null +++ b/4.7.0/gentoo/README.history @@ -0,0 +1,22 @@ +1.0 [pending] + + 03_all_java-nomulti.patch + X 08_all_cross-compile.patch + + 10_all_default-fortify-source.patch + + 11_all_default-warn-format-security.patch + U 12_all_default-warn-trampolines.patch + + 15_all_libgomp-Werror.patch + U 25_all_alpha-mieee-default.patch + + 26_all_alpha-asm-mcpu.patch + + 29_all_arm_armv4t-default.patch + + 33_all_armhf.patch + U 34_all_ia64_note.GNU-stack.patch + + 38_all_sh_pr24836_all-archs.patch + + 42_all_superh_default-multilib.patch + + 50_all_libiberty-asprintf.patch + + 51_all_libiberty-pic.patch + + 52_all_netbsd-Bsymbolic.patch + + 64_all_gcc-hppa-64bit-pr52408.patch + + 74_all_gcc46_cloog-dl.patch + + 76_all_4.7.0_c-family-headers.patch + + 80_all_gcc-4.6-x32.patch + + 92_all_freebsd-pie.patch diff --git a/4.7.0/uclibc/90_all_100-uclibc-conf.patch b/4.7.0/uclibc/90_all_100-uclibc-conf.patch new file mode 100644 index 0000000..cca8c82 --- /dev/null +++ b/4.7.0/uclibc/90_all_100-uclibc-conf.patch @@ -0,0 +1,33 @@ +--- gcc/gcc/config/--- gcc/contrib/regression/objs-gcc.sh ++++ gcc/contrib/regression/objs-gcc.sh +@@ -105,6 +105,10 @@ + then + make all-gdb all-dejagnu all-ld || exit 1 + make install-gdb install-dejagnu install-ld || exit 1 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] ++ then ++ make all-gdb all-dejagnu all-ld || exit 1 ++ make install-gdb install-dejagnu install-ld || exit 1 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then + make bootstrap || exit 1 + make install || exit 1 +--- gcc/libjava/classpath/ltconfig ++++ gcc/libjava/classpath/ltconfig +@@ -603,7 +603,7 @@ + + # Transform linux* to *-*-linux-gnu*, to support old configure scripts. + case $host_os in +-linux-gnu*) ;; ++linux-gnu*|linux-uclibc*) ;; + linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` + esac + +@@ -1251,7 +1251,7 @@ + ;; + + # This must be Linux ELF. +-linux-gnu*) ++linux*) + version_type=linux + need_lib_prefix=no + need_version=no diff --git a/4.7.0/uclibc/90_all_301-missing-execinfo_h.patch b/4.7.0/uclibc/90_all_301-missing-execinfo_h.patch new file mode 100644 index 0000000..0e2092f --- /dev/null +++ b/4.7.0/uclibc/90_all_301-missing-execinfo_h.patch @@ -0,0 +1,11 @@ +--- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500 ++++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500 +@@ -500,7 +500,7 @@ + #ifdef __linux__ + # include <features.h> + # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ +- && !defined(__ia64__) ++ && !defined(__ia64__) && !defined(__UCLIBC__) + # ifndef GC_HAVE_BUILTIN_BACKTRACE + # define GC_HAVE_BUILTIN_BACKTRACE + # endif diff --git a/4.7.0/uclibc/90_all_302-c99-snprintf.patch b/4.7.0/uclibc/90_all_302-c99-snprintf.patch new file mode 100644 index 0000000..ba51a0e --- /dev/null +++ b/4.7.0/uclibc/90_all_302-c99-snprintf.patch @@ -0,0 +1,13 @@ +Index: gcc-4.3.0/libstdc++-v3/include/c_global/cstdio +=================================================================== +--- gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (revision 129202) ++++ gcc-4.3.0/libstdc++-v3/include/c_global/cstdio (working copy) +@@ -144,7 +144,7 @@ + + _GLIBCXX_END_NAMESPACE + +-#if _GLIBCXX_USE_C99 ++#if _GLIBCXX_USE_C99 || defined __UCLIBC__ + + #undef snprintf + #undef vfscanf diff --git a/4.7.0/uclibc/90_all_305-libmudflap-susv3-legacy.patch b/4.7.0/uclibc/90_all_305-libmudflap-susv3-legacy.patch new file mode 100644 index 0000000..374b1f8 --- /dev/null +++ b/4.7.0/uclibc/90_all_305-libmudflap-susv3-legacy.patch @@ -0,0 +1,49 @@ +Index: gcc-4.2/libmudflap/mf-hooks2.c +=================================================================== +--- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834) ++++ gcc-4.2/libmudflap/mf-hooks2.c (working copy) +@@ -427,7 +427,7 @@ + { + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); +- bzero (s, n); ++ memset (s, 0, n); + } + + +@@ -437,7 +437,7 @@ + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); + MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); +- bcopy (src, dest, n); ++ memmove (dest, src, n); + } + + +@@ -447,7 +447,7 @@ + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); + MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); +- return bcmp (s1, s2, n); ++ return n == 0 ? 0 : memcmp (s1, s2, n); + } + + +@@ -456,7 +456,7 @@ + size_t n = strlen (s); + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); +- return index (s, c); ++ return strchr (s, c); + } + + +@@ -465,7 +465,7 @@ + size_t n = strlen (s); + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); +- return rindex (s, c); ++ return strrchr (s, c); + } + + /* XXX: stpcpy, memccpy */ |