diff --git a/.github/workflows/ccpp32alpine.yml b/.github/workflows/ccpp32alpine.yml index 5eb0c230df23..37e672f7d4ba 100644 --- a/.github/workflows/ccpp32alpine.yml +++ b/.github/workflows/ccpp32alpine.yml @@ -44,6 +44,8 @@ jobs: libc-dev libc++-dev cargo + gdb + bash # - name: Install gcc dependency # run: | @@ -66,6 +68,8 @@ jobs: --host=i586-alpine-linux-musl --build=i586-alpine-linux-musl --target=i586-alpine-linux-musl \ --enable-languages=rust \ --disable-bootstrap \ + CFLAGS="-ggdb -O2" \ + CXXFLAGS="-ggdb -O2" \ --disable-multilib # Try to disable multilib on alpine https://github.com/conan-io/conan/issues/14307#issuecomment-1652433132 shell: alpine.sh {0} @@ -107,6 +111,12 @@ jobs: make check-rust RUNTESTFLAGS="--target_board=unix\{-m32}" shell: alpine.sh {0} + - name: Test Hack + run: | + cd gccrs-build; \ + gdb --batch -ex run -ex bt --args gcc/crab1 -frust-debug -frust-incomplete-and-experimental-compiler-do-not-use -O2 -m32 -fdiagnostics-plain-output ../gcc/testsuite/rust/execute/torture/issue-1232.rs 1>gcc/testsuite/rust/hack_log_1 2>gcc/testsuite/rust/hack_log_2 || true + shell: alpine.sh {0} + - name: Archive check-rust results uses: actions/upload-artifact@v4 with: diff --git a/gcc/rust/expand/rust-macro-expand.cc b/gcc/rust/expand/rust-macro-expand.cc index fd5516bd9caa..82f75870e7ca 100644 --- a/gcc/rust/expand/rust-macro-expand.cc +++ b/gcc/rust/expand/rust-macro-expand.cc @@ -27,12 +27,10 @@ #include "rust-macro.h" #include "rust-parse.h" #include "rust-cfg-strip.h" +#include "rust-early-name-resolver.h" #include "rust-proc-macro.h" #include "rust-token-tree-desugar.h" -// flag_assume_builtin_offset_of -#include "options.h" - namespace Rust { AST::Fragment diff --git a/gcc/rust/expand/rust-macro-expand.h b/gcc/rust/expand/rust-macro-expand.h index 1436dc54ea28..59a351484895 100644 --- a/gcc/rust/expand/rust-macro-expand.h +++ b/gcc/rust/expand/rust-macro-expand.h @@ -27,6 +27,8 @@ #include "rust-ast.h" #include "rust-macro.h" #include "rust-hir-map.h" +#include "rust-early-name-resolver.h" +#include "rust-name-resolver.h" #include "rust-macro-invoc-lexer.h" #include "rust-proc-macro-invoc-lexer.h" #include "rust-token-converter.h"