10 Commits

Author SHA1 Message Date
Dmitriy Kuminov
cf3ddd69a7 libstdc++v3: Fix OS/2 build breaks with enabled wchar_t specialisations.
Regression of 2eafb76.

Closes #16.
2020-03-17 23:24:21 +03:00
Dmitriy Kuminov
4202248449 libstdc++: Force OS/2 DLL name base to be stdcpp instead of stdc++.
This is both for backward compatibility with previous builds and
to avoid "dangerous" symbols (+) in the DLL name.

Needed for #7.
2019-12-28 15:00:48 +03:00
Dmitriy Kuminov
79d1856968 Revert "OS/2: Enable C99 stuffs in C++11"
This reverts commit 08fda42141.

These hacks are not necessary any longer since the respective fixes have been applied to LIBC, see
7f3d308fd6 and
ac12fd8873.
2019-12-26 02:44:10 +03:00
Dmitriy Kuminov
e76e0e5f37 Remove all configure scripts and other generated Autotools files.
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.
2019-12-14 18:12:52 +03:00
Dmitriy Kuminov
87466ca6d6 OS/2: Add ctype_base::blank required by newer libstdc++.
Borrowed #ifdef from other platform's headers.
2019-12-14 18:11:45 +03:00
KO Myung-Hun
08fda42141 OS/2: Enable C99 stuffs in C++11
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)
2019-11-28 00:12:36 +03:00
KO Myung-Hun
2eafb765c8 OS/2: Implement OS/2-specific locale(ctype) support
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)
2019-11-28 00:11:32 +03:00
Paul Smedley
5fcaeb2edd Fix misapplied diff
(cherry picked from commit 0d318da7947dc690bf09689783344215c1fc3931)
2019-11-27 23:56:15 +03:00
Dmitriy Kuminov
a561531e94 Apply OS/2-EMX specific files and patches.
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
2019-11-26 23:45:45 +03:00
Dmitriy Kuminov
fbf7869a1b vendor: Import gcc-9_2_0-release.
Source URL:    git://gcc.gnu.org/git/gcc.git
Source Commit: 3e7b85061947bdc7c7465743ba90734566860821
2019-11-18 21:50:01 +03:00