-
Notifications
You must be signed in to change notification settings - Fork 13.6k
tests: Test line number in debuginfo for diverging function calls #144034
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
tests: Test line number in debuginfo for diverging function calls #144034
Conversation
rustbot has assigned @Mark-Simulacrum. Use |
…buginfo, r=wesleywiser tests: Test line number in debuginfo for diverging function calls Closes rust-lang#59558 which just [E-needs-test](rust-lang#59558 (comment)). The bug seems to have been fixed in **nightly-2021-05-10**: ```sh for toolchain in nightly-2021-05-09 \ nightly-2021-05-10 \ 1.88; do echo -e "\nWith $toolchain:" rustc +$toolchain tests/codegen/diverging-function-call-debuginfo.rs --emit llvm-ir -o /tmp/out.ll -g -Clto -Copt-level=0 build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck --input-file /tmp/out.ll tests/codegen/diverging-function-call-debuginfo.rs --check-prefix=CHECK --dump-input-context 10 2>/dev/null && echo OK || echo FAIL done ``` ``` With nightly-2021-05-09: FAIL With nightly-2021-05-10: OK With 1.88: OK ``` which gives the following list of candidate commits. Not clear which one it is exactly but it doesn't matter much since we can confirm that the test works. I have confirmed locally that with **nightly-2021-05-09** we get `line: 0` for the last call. <details> <summary>click to expand</summary> ``` $ git log ^881c1ac408d93bb7adaa3a51dabab9266e82eee8 ca82264 --no-merges --oneline ``` f25aa57 Remove unused `opt_span_warn` function ebbc949 Note why `Handler::fatal` is different from `Sesssion::fatal` 96509b4 Make `Diagnostic::span_fatal` unconditionally raise an error e49f447 Remove some unnecessary uses of `struct_span_fatal` 955fdae Rename `Parser::span_fatal_err` -> `Parser::span_err` 4b7c8b0 Add `#[track_caller]` to `FakeDefId::expect_real()` ba13225 Remove `FakeDefId::expect_local()` 020d83d Enable `-W semicolon_in_expressions_from_macros` in bootstrap 1b928ff Update LLVM submodule c2b15a6 Support -C passes in NewPM 5519cbf Don't force -O1 with ThinLTO 7c4989a Drop -opt-bisect-limit=0 flag from test db140de Explicitly register GCOV profiling pass as well 5ecbe7f Explicitly register instrprof pass 0318883 Make -Z new-llvm-pass-manager an Option<bool> 0367e24 Avoid predecessors having Drop impls </details>
…buginfo, r=wesleywiser tests: Test line number in debuginfo for diverging function calls Closes rust-lang#59558 which just [E-needs-test](rust-lang#59558 (comment)). The bug seems to have been fixed in **nightly-2021-05-10**: ```sh for toolchain in nightly-2021-05-09 \ nightly-2021-05-10 \ 1.88; do echo -e "\nWith $toolchain:" rustc +$toolchain tests/codegen/diverging-function-call-debuginfo.rs --emit llvm-ir -o /tmp/out.ll -g -Clto -Copt-level=0 build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck --input-file /tmp/out.ll tests/codegen/diverging-function-call-debuginfo.rs --check-prefix=CHECK --dump-input-context 10 2>/dev/null && echo OK || echo FAIL done ``` ``` With nightly-2021-05-09: FAIL With nightly-2021-05-10: OK With 1.88: OK ``` which gives the following list of candidate commits. Not clear which one it is exactly but it doesn't matter much since we can confirm that the test works. I have confirmed locally that with **nightly-2021-05-09** we get `line: 0` for the last call. <details> <summary>click to expand</summary> ``` $ git log ^881c1ac408d93bb7adaa3a51dabab9266e82eee8 ca82264 --no-merges --oneline ``` f25aa57 Remove unused `opt_span_warn` function ebbc949 Note why `Handler::fatal` is different from `Sesssion::fatal` 96509b4 Make `Diagnostic::span_fatal` unconditionally raise an error e49f447 Remove some unnecessary uses of `struct_span_fatal` 955fdae Rename `Parser::span_fatal_err` -> `Parser::span_err` 4b7c8b0 Add `#[track_caller]` to `FakeDefId::expect_real()` ba13225 Remove `FakeDefId::expect_local()` 020d83d Enable `-W semicolon_in_expressions_from_macros` in bootstrap 1b928ff Update LLVM submodule c2b15a6 Support -C passes in NewPM 5519cbf Don't force -O1 with ThinLTO 7c4989a Drop -opt-bisect-limit=0 flag from test db140de Explicitly register GCOV profiling pass as well 5ecbe7f Explicitly register instrprof pass 0318883 Make -Z new-llvm-pass-manager an Option<bool> 0367e24 Avoid predecessors having Drop impls </details>
Rollup of 15 pull requests Successful merges: - #142300 (Disable `tests/run-make/mte-ffi` because no CI runners have MTE extensions enabled) - #143271 (Store the type of each GVN value) - #143293 (fix `-Zsanitizer=kcfi` on `#[naked]` functions) - #143719 (Emit warning when there is no space between `-o` and arg) - #143833 (Ban projecting into SIMD types [MCP838]) - #143846 (pass --gc-sections if -Zexport-executable-symbols is enabled and improve tests) - #143879 (parse `const trait Trait`) - #143891 (Port `#[coverage]` to the new attribute system) - #143967 (constify `Option` methods) - #143985 (rustc_public: de-StableMIR-ize) - #144008 (Fix false positive double negations with macro invocation) - #144010 (Boostrap: add warning on `optimize = false`) - #144034 (tests: Test line number in debuginfo for diverging function calls) - #144049 (rustc-dev-guide subtree update) - #144056 (Copy GCC sources into the build directory even outside CI) r? `@ghost` `@rustbot` modify labels: rollup
…buginfo, r=wesleywiser tests: Test line number in debuginfo for diverging function calls Closes rust-lang#59558 which just [E-needs-test](rust-lang#59558 (comment)). The bug seems to have been fixed in **nightly-2021-05-10**: ```sh for toolchain in nightly-2021-05-09 \ nightly-2021-05-10 \ 1.88; do echo -e "\nWith $toolchain:" rustc +$toolchain tests/codegen/diverging-function-call-debuginfo.rs --emit llvm-ir -o /tmp/out.ll -g -Clto -Copt-level=0 build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck --input-file /tmp/out.ll tests/codegen/diverging-function-call-debuginfo.rs --check-prefix=CHECK --dump-input-context 10 2>/dev/null && echo OK || echo FAIL done ``` ``` With nightly-2021-05-09: FAIL With nightly-2021-05-10: OK With 1.88: OK ``` which gives the following list of candidate commits. Not clear which one it is exactly but it doesn't matter much since we can confirm that the test works. I have confirmed locally that with **nightly-2021-05-09** we get `line: 0` for the last call. <details> <summary>click to expand</summary> ``` $ git log ^881c1ac408d93bb7adaa3a51dabab9266e82eee8 ca82264 --no-merges --oneline ``` f25aa57 Remove unused `opt_span_warn` function ebbc949 Note why `Handler::fatal` is different from `Sesssion::fatal` 96509b4 Make `Diagnostic::span_fatal` unconditionally raise an error e49f447 Remove some unnecessary uses of `struct_span_fatal` 955fdae Rename `Parser::span_fatal_err` -> `Parser::span_err` 4b7c8b0 Add `#[track_caller]` to `FakeDefId::expect_real()` ba13225 Remove `FakeDefId::expect_local()` 020d83d Enable `-W semicolon_in_expressions_from_macros` in bootstrap 1b928ff Update LLVM submodule c2b15a6 Support -C passes in NewPM 5519cbf Don't force -O1 with ThinLTO 7c4989a Drop -opt-bisect-limit=0 flag from test db140de Explicitly register GCOV profiling pass as well 5ecbe7f Explicitly register instrprof pass 0318883 Make -Z new-llvm-pass-manager an Option<bool> 0367e24 Avoid predecessors having Drop impls </details>
Rollup of 12 pull requests Successful merges: - #142300 (Disable `tests/run-make/mte-ffi` because no CI runners have MTE extensions enabled) - #143271 (Store the type of each GVN value) - #143293 (fix `-Zsanitizer=kcfi` on `#[naked]` functions) - #143719 (Emit warning when there is no space between `-o` and arg) - #143846 (pass --gc-sections if -Zexport-executable-symbols is enabled and improve tests) - #143891 (Port `#[coverage]` to the new attribute system) - #143967 (constify `Option` methods) - #144008 (Fix false positive double negations with macro invocation) - #144010 (Boostrap: add warning on `optimize = false`) - #144034 (tests: Test line number in debuginfo for diverging function calls) - #144049 (rustc-dev-guide subtree update) - #144056 (Copy GCC sources into the build directory even outside CI) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 12 pull requests Successful merges: - #142300 (Disable `tests/run-make/mte-ffi` because no CI runners have MTE extensions enabled) - #143271 (Store the type of each GVN value) - #143293 (fix `-Zsanitizer=kcfi` on `#[naked]` functions) - #143719 (Emit warning when there is no space between `-o` and arg) - #143846 (pass --gc-sections if -Zexport-executable-symbols is enabled and improve tests) - #143891 (Port `#[coverage]` to the new attribute system) - #143967 (constify `Option` methods) - #144008 (Fix false positive double negations with macro invocation) - #144010 (Boostrap: add warning on `optimize = false`) - #144034 (tests: Test line number in debuginfo for diverging function calls) - #144049 (rustc-dev-guide subtree update) - #144056 (Copy GCC sources into the build directory even outside CI) r? `@ghost` `@rustbot` modify labels: rollup
…buginfo, r=wesleywiser tests: Test line number in debuginfo for diverging function calls Closes rust-lang#59558 which just [E-needs-test](rust-lang#59558 (comment)). The bug seems to have been fixed in **nightly-2021-05-10**: ```sh for toolchain in nightly-2021-05-09 \ nightly-2021-05-10 \ 1.88; do echo -e "\nWith $toolchain:" rustc +$toolchain tests/codegen/diverging-function-call-debuginfo.rs --emit llvm-ir -o /tmp/out.ll -g -Clto -Copt-level=0 build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck --input-file /tmp/out.ll tests/codegen/diverging-function-call-debuginfo.rs --check-prefix=CHECK --dump-input-context 10 2>/dev/null && echo OK || echo FAIL done ``` ``` With nightly-2021-05-09: FAIL With nightly-2021-05-10: OK With 1.88: OK ``` which gives the following list of candidate commits. Not clear which one it is exactly but it doesn't matter much since we can confirm that the test works. I have confirmed locally that with **nightly-2021-05-09** we get `line: 0` for the last call. <details> <summary>click to expand</summary> ``` $ git log ^881c1ac408d93bb7adaa3a51dabab9266e82eee8 ca82264 --no-merges --oneline ``` f25aa57 Remove unused `opt_span_warn` function ebbc949 Note why `Handler::fatal` is different from `Sesssion::fatal` 96509b4 Make `Diagnostic::span_fatal` unconditionally raise an error e49f447 Remove some unnecessary uses of `struct_span_fatal` 955fdae Rename `Parser::span_fatal_err` -> `Parser::span_err` 4b7c8b0 Add `#[track_caller]` to `FakeDefId::expect_real()` ba13225 Remove `FakeDefId::expect_local()` 020d83d Enable `-W semicolon_in_expressions_from_macros` in bootstrap 1b928ff Update LLVM submodule c2b15a6 Support -C passes in NewPM 5519cbf Don't force -O1 with ThinLTO 7c4989a Drop -opt-bisect-limit=0 flag from test db140de Explicitly register GCOV profiling pass as well 5ecbe7f Explicitly register instrprof pass 0318883 Make -Z new-llvm-pass-manager an Option<bool> 0367e24 Avoid predecessors having Drop impls </details>
Some changes occurred in src/tools/compiletest cc @jieyouxu |
@Enselic output and failure on a
diverging-function-call-debuginfo.zip Maybe you need to first match |
That's very helpful, thanks! The problem seems to be that x86_64-pc-windows-msvc does not have |
Closes #59558 which just E-needs-test.
The bug seems to have been fixed in nightly-2021-05-10:
which gives the following list of candidate commits. Not clear which one it is exactly but it doesn't matter much since we can confirm that the test works. I have confirmed locally that with nightly-2021-05-09 we get
line: 0
for the last call.click to expand
f25aa57 Remove unused
opt_span_warn
functionebbc949 Note why
Handler::fatal
is different fromSesssion::fatal
96509b4 Make
Diagnostic::span_fatal
unconditionally raise an errore49f447 Remove some unnecessary uses of
struct_span_fatal
955fdae Rename
Parser::span_fatal_err
->Parser::span_err
4b7c8b0 Add
#[track_caller]
toFakeDefId::expect_real()
ba13225 Remove
FakeDefId::expect_local()
020d83d Enable
-W semicolon_in_expressions_from_macros
in bootstrap1b928ff Update LLVM submodule
c2b15a6 Support -C passes in NewPM
5519cbf Don't force -O1 with ThinLTO
7c4989a Drop -opt-bisect-limit=0 flag from test
db140de Explicitly register GCOV profiling pass as well
5ecbe7f Explicitly register instrprof pass
0318883 Make -Z new-llvm-pass-manager an Option
0367e24 Avoid predecessors having Drop impls