diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 5e9e5f4a0e4..6159047a1b6 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -84,3 +84,68 @@ jobs: else \ exit 0; \ fi + + build-and-check-gcc-48: + + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + + - name: Install Deps + run: | + sudo apt-get update; + sudo apt-get install -y \ + automake \ + autoconf \ + libtool \ + autogen \ + bison \ + flex \ + libgmp3-dev \ + libmpfr-dev \ + libmpc-dev \ + build-essential \ + gcc-4.8 \ + g++-4.8 \ + gcc-4.8-multilib \ + g++-4.8-multilib \ + dejagnu + + - name: Configure + run: | + mkdir -p gccrs-build; + cd gccrs-build; + ../configure \ + CC='gcc-4.8' \ + CXX='g++-4.8' \ + --enable-languages=rust \ + --disable-bootstrap \ + --enable-multilib + + - name: Build + shell: bash + run: | + make -C gccrs-build -j $(nproc) + + - name: Run Tests + run: | + cd gccrs-build; \ + make check-rust + + - name: Archive check-rust results + uses: actions/upload-artifact@v2 + with: + name: check-rust-logs-4.8 + path: | + gccrs-build/gcc/testsuite/rust/ + + - name: Check regressions + run: | + cd gccrs-build; \ + if grep -e "unexpected" -e "unresolved" gcc/testsuite/rust/rust.sum;\ + then \ + echo "some tests are not correct"; \ + exit 1; \ + else \ + exit 0; \ + fi diff --git a/gcc/rust/typecheck/rust-hir-path-probe.h b/gcc/rust/typecheck/rust-hir-path-probe.h index 50d660c7c9e..3c1858cf554 100644 --- a/gcc/rust/typecheck/rust-hir-path-probe.h +++ b/gcc/rust/typecheck/rust-hir-path-probe.h @@ -364,10 +364,9 @@ protected: PathProbeCandidate::TraitItemCandidate trait_item_candidate{trait_ref, trait_item_ref, impl}; - PathProbeCandidate candidate{candidate_type, - trait_item_tyty, - trait_ref->get_locus (), - {trait_item_candidate}}; + + PathProbeCandidate candidate{candidate_type, trait_item_tyty, + trait_ref->get_locus (), trait_item_candidate}; candidates.push_back (std::move (candidate)); } @@ -409,10 +408,9 @@ protected: PathProbeCandidate::TraitItemCandidate trait_item_candidate{trait_ref, trait_item_ref, nullptr}; - PathProbeCandidate candidate{candidate_type, - trait_item_tyty, + PathProbeCandidate candidate{candidate_type, trait_item_tyty, trait_item_ref->get_locus (), - {trait_item_candidate}}; + trait_item_candidate}; candidates.push_back (std::move (candidate)); }