This reverts commit 08fda42141.
These hacks are not necessary any longer since the respective fixes have been applied to LIBC, see
7f3d308fd6 and
ac12fd8873.
On platforms that are not officially supported by GNU Autotools (like OS/2)
it is necessary to generate configure and other related stuff using platform-specific
Autoconf and Automake to make the build succeed. A script autoconf.sh added
by this commit does that.
Note that it's necessary to remove pre-generated upstream versions of these files
from Git completely in order to avoid seeing multiple differences resulting from
different versions of Autotools (and also to save some space - configure files
are huge).
This commit also adds a few minor bits to configure.ac/Makefile.am of a few
projects to help autoconf.sh do its job properly.
Needed for #2.
C++11 supports some C99 features. However OS/2 kLIBC headers do not
support them well.
To workaround, define some feature test macros as built-in. They are
__STDC_CONSTANT_MACROS
__STDC_LIMIT_MACROS
__LONG_LONG_SUPPORTED
Especially, __LONG_LONG_SUPPORTED enables _GLIBCXX_USE_C99 feature in
libstdc++-v3, which use -std=c++98 to test C99 features in C++.
modified: gcc/config/i386/emx.h
modified: libstdc++-v3/config/os/os2/os_defines.h
(cherry picked from commit fef1630c35955e6352f9734b43d20758ce7508be)
new file: config/os/os2/ctype_base.h
new file: config/os/os2/ctype_configure_char.cc
new file: config/os/os2/ctype_inline.h
new file: config/os/os2/os_defines.h
modified: configure.host
(cherry picked from commit abbd4b1a7087fd066353eff2646d1d5a0c30c5a4)
Note: This is a cumulative patch containing the work of several people
which is impossible to separate now.
This patch contains a number of '#ifdef 0'-like hacks that need to be
reviewed and fixed properly as they are unlikely to be accepted upstream
in the current form. Also, some patches may be not relevant any more.
(cherry picked from commit 25ebd257ce836444e0914e35a7baf3fdff67e3b9)
Conflicts:
Makefile.in
gcc/Makefile.in
gcc/config.build
gcc/config.gcc
gcc/config.host
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/cp/class.c
gcc/cp/decl.c
gcc/cp/error.c
gcc/cp/g++spec.c
gcc/cp/mangle.c
gcc/cppdefault.c
gcc/fix-header.c
gcc/gcc.c
gcc/gengtype.c
gcc/gthr.h
gcc/langhooks.c
gcc/libgcc2.c
gcc/target-def.h
include/filenames.h
libgcc/config.host
libiberty/configure
libiberty/configure.ac
libstdc++-v3/include/bits/stringfwd.h
libstdc++-v3/libsupc++/typeinfo
(cherry picked from commit 02bd882d6c317ed56da4a4d4d8af54e2687d3001)
Conflicts:
fixincludes/fixlib.h
gcc/Makefile.in
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/cp/dump.c
gcc/cp/error.c
gcc/cp/g++spec.c
gcc/ggc-zone.c
libstdc++-v3/include/bits/stringfwd.h
libstdc++-v3/include/parallel/compatibility.h
libstdc++-v3/libsupc++/typeinfo
(cherry picked from commit b183829f9258cb3bb22117c32d610a18b1ba5359
and f0f959360a8b8fe0cb4276c695e60fdfff41f81f)
Conflicts:
gcc/config.gcc
gcc/config.host
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/cp/dump.c
gcc/cp/except.c
gcc/dbxout.c
gcc/gcc.c
gcc/langhooks.c
gcc/toplev.c