This revision fixes numerous formatting issues and removes one instance
of use of a C++17 feature. It also integrates the expand patch, instead
of linking to it.
Some basic info on the current state of the patchset that I didn't add
initially: The port passes all but ~80 tests that don't involve debug
info generation. The port uses an external assembler, linker, and C
library implementation.
feedable (4):
expand: End argument processing after processing the last argument in
assign_params
df: Add support for pseudos in function arguments
wasm: New backend
wasm: Adjust tests
gcc/config.gcc | 7 +
gcc/config/i386/i386.cc | 3 +-
gcc/config/wasm/attrs.md | 84 ++
gcc/config/wasm/t-wasm | 13 +
gcc/config/wasm/wasm-asm.cc | 943 ++++++++++++++++++
gcc/config/wasm/wasm-cg.cc | 622 ++++++++++++
gcc/config/wasm/wasm-modes.def | 0
gcc/config/wasm/wasm-passes.cc | 161 +++
gcc/config/wasm/wasm-passes.def | 27 +
gcc/config/wasm/wasm-protos.h | 12 +
gcc/config/wasm/wasm.cc | 125 +++
gcc/config/wasm/wasm.h | 295 ++++++
gcc/config/wasm/wasm.md | 477 +++++++++
gcc/df-problems.cc | 6 +-
gcc/df-scan.cc | 4 +
gcc/doc/tm.texi | 5 +
gcc/doc/tm.texi.in | 2 +
gcc/expr.cc | 3 +-
gcc/function.cc | 3 +
gcc/target.def | 7 +
gcc/testsuite/c-c++-common/analyzer/errno-1.c | 2 +
.../c-c++-common/analyzer/isatty-1.c | 1 +
.../gcc.c-torture/compile/20000804-1.c | 1 +
gcc/testsuite/gcc.c-torture/compile/pr55921.c | 1 +
.../gcc.c-torture/compile/pr60655-1.c | 2 +-
.../gcc.c-torture/execute/20030222-1.c | 2 +-
.../execute/builtins/20010124-1.x | 2 +-
.../ieee/bfloat16-builtin-issignaling-1.c | 1 +
.../execute/ieee/builtin-issignaling-1.c | 1 +
.../ieee/float128-builtin-issignaling-1.c | 1 +
.../ieee/float128x-builtin-issignaling-1.c | 1 +
.../ieee/float16-builtin-issignaling-1.c | 1 +
.../ieee/float32-builtin-issignaling-1.c | 1 +
.../ieee/float32x-builtin-issignaling-1.c | 1 +
.../ieee/float64-builtin-issignaling-1.c | 1 +
.../ieee/float64x-builtin-issignaling-1.c | 1 +
.../gcc.c-torture/execute/pr67037-1.c | 56 ++
gcc/testsuite/gcc.c-torture/execute/pr67037.c | 4 +-
gcc/testsuite/gcc.dg/20060410.c | 2 +-
.../analyzer/fd-access-mode-target-headers.c | 1 +
.../gcc.dg/analyzer/fd-mktemp-family.c | 1 +
gcc/testsuite/gcc.dg/analyzer/mkdtemp-1.c | 1 +
gcc/testsuite/gcc.dg/analyzer/mkostemp-1.c | 1 +
gcc/testsuite/gcc.dg/analyzer/mkostemps-1.c | 1 +
gcc/testsuite/gcc.dg/analyzer/mkstemp-1.c | 1 +
gcc/testsuite/gcc.dg/analyzer/mkstemps-1.c | 1 +
gcc/testsuite/gcc.dg/analyzer/mktemp-1.c | 1 +
gcc/testsuite/gcc.dg/array-quals-1.c | 1 +
gcc/testsuite/gcc.dg/attr-weakref-1.c | 3 +
gcc/testsuite/gcc.dg/builtin-alloc-size.c | 1 +
gcc/testsuite/gcc.dg/builtin-apply5.c | 1 +
gcc/testsuite/gcc.dg/builtin-prefetch-1.c | 3 +-
gcc/testsuite/gcc.dg/builtins-config.h | 2 +
gcc/testsuite/gcc.dg/builtins-nonnull.c | 1 +
gcc/testsuite/gcc.dg/c23-stdint-1.c | 1 +
gcc/testsuite/gcc.dg/c99-stdint-1.c | 1 +
gcc/testsuite/gcc.dg/c99-stdint-2.c | 1 +
gcc/testsuite/gcc.dg/c99-stdint-7.c | 3 +
gcc/testsuite/gcc.dg/c99-stdint-8.c | 1 +
gcc/testsuite/gcc.dg/charset/function.c | 2 +-
gcc/testsuite/gcc.dg/cpp/escape-3.i | 1 +
gcc/testsuite/gcc.dg/format/pr78304.c | 1 +
gcc/testsuite/gcc.dg/ipa/symver1.c | 2 +-
gcc/testsuite/gcc.dg/lower-subreg-1.c | 2 +-
gcc/testsuite/gcc.dg/pch/valid-1.c | 1 +
gcc/testsuite/gcc.dg/pr115066.c | 2 +-
gcc/testsuite/gcc.dg/pr28755.c | 2 +-
gcc/testsuite/gcc.dg/pr49551.c | 2 +-
gcc/testsuite/gcc.dg/profile-info-section.c | 1 +
gcc/testsuite/gcc.dg/stdint-width-1.c | 1 +
gcc/testsuite/gcc.dg/stdint-width-2.c | 1 +
gcc/testsuite/gcc.dg/tls/thr-cse-1.c | 2 +-
gcc/testsuite/gcc.misc-tests/gcov-23.c | 1 +
gcc/testsuite/gcc.misc-tests/gcov.exp | 4 +
gcc/testsuite/gcc.misc-tests/options.exp | 9 +-
gcc/testsuite/lib/file-format.exp | 8 +-
gcc/testsuite/lib/scanasm.exp | 12 +-
gcc/testsuite/lib/target-supports.exp | 39 +-
libgcc/config.host | 5 +
libgcc/config/wasm/t-wasm | 4 +
80 files changed, 2975 insertions(+), 35 deletions(-)
create mode 100644 gcc/config/wasm/attrs.md
create mode 100644 gcc/config/wasm/t-wasm
create mode 100644 gcc/config/wasm/wasm-asm.cc
create mode 100644 gcc/config/wasm/wasm-cg.cc
create mode 100644 gcc/config/wasm/wasm-modes.def
create mode 100644 gcc/config/wasm/wasm-passes.cc
create mode 100644 gcc/config/wasm/wasm-passes.def
create mode 100644 gcc/config/wasm/wasm-protos.h
create mode 100644 gcc/config/wasm/wasm.cc
create mode 100644 gcc/config/wasm/wasm.h
create mode 100644 gcc/config/wasm/wasm.md
create mode 100644 gcc/testsuite/gcc.c-torture/execute/pr67037-1.c
create mode 100644 libgcc/config/wasm/t-wasm
--
2.54.0