Skip to content
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

test/c-variadic: Fix patterns on powerpc64 #64256

Merged
merged 1 commit into from
Sep 10, 2019

Conversation

smaeul
Copy link
Contributor

@smaeul smaeul commented Sep 7, 2019

On architectures such as powerpc64 that use extend_integer_width_to in
their C ABI processing, integer parameters shorter than the native
register width will be annotated with the ArgAttribute::SExt or
ArgAttribute::ZExt attribute, and that attribute will be included in the
generated LLVM IR.

In this test, all relevant parameters are i32, which will get the
signext annotation on the relevant 64-bit architectures. Match both
the annotated and non-annotated case, but enforce that the annotation is
applied consistently.

@rust-highfive
Copy link
Collaborator

r? @alexcrichton

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 7, 2019
@smaeul
Copy link
Contributor Author

smaeul commented Sep 7, 2019

In regard to the failing tidy checks: I'm not sure how to make the lines shorter than 100 characters, when the string being matched is longer than that.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-09-07T15:34:56.1888533Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-09-07T15:34:56.2116461Z ##[command]git config gc.auto 0
2019-09-07T15:34:56.2196042Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-09-07T15:34:56.2266250Z ##[command]git config --get-all http.proxy
2019-09-07T15:34:56.2426236Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/64256/merge:refs/remotes/pull/64256/merge
---
2019-09-07T15:42:10.5398561Z    Compiling serde_json v1.0.40
2019-09-07T15:42:12.5975715Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-09-07T15:42:24.6718538Z     Finished release [optimized] target(s) in 1m 39s
2019-09-07T15:42:24.6805222Z tidy check
2019-09-07T15:42:25.2558916Z tidy error: /checkout/src/test/codegen/c-variadic.rs:21: line longer than 100 chars
2019-09-07T15:42:25.2559996Z tidy error: /checkout/src/test/codegen/c-variadic.rs:23: line longer than 100 chars
2019-09-07T15:42:25.2560415Z tidy error: /checkout/src/test/codegen/c-variadic.rs:42: line longer than 100 chars
2019-09-07T15:42:25.2560733Z tidy error: /checkout/src/test/codegen/c-variadic.rs:48: line longer than 100 chars
2019-09-07T15:42:25.2560974Z tidy error: /checkout/src/test/codegen/c-variadic.rs:73: line longer than 100 chars
2019-09-07T15:42:26.8158687Z some tidy checks failed
2019-09-07T15:42:26.8164742Z 
2019-09-07T15:42:26.8164742Z 
2019-09-07T15:42:26.8166090Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor"
2019-09-07T15:42:26.8166260Z 
2019-09-07T15:42:26.8166288Z 
2019-09-07T15:42:26.8176653Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-09-07T15:42:26.8177139Z Build completed unsuccessfully in 0:01:42
2019-09-07T15:42:26.8177139Z Build completed unsuccessfully in 0:01:42
2019-09-07T15:42:26.8255846Z == clock drift check ==
2019-09-07T15:42:26.8275420Z   local time: Sat Sep  7 15:42:26 UTC 2019
2019-09-07T15:42:26.9769425Z   network time: Sat, 07 Sep 2019 15:42:26 GMT
2019-09-07T15:42:26.9769553Z == end clock drift check ==
2019-09-07T15:42:28.3739339Z ##[error]Bash exited with code '1'.
2019-09-07T15:42:28.3777151Z ##[section]Starting: Checkout
2019-09-07T15:42:28.3778885Z ==============================================================================
2019-09-07T15:42:28.3778939Z Task         : Get sources
2019-09-07T15:42:28.3778983Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@alexcrichton
Copy link
Member

Seems reasonable to me to land, and the error should be fixable with // ignore-tidy-linelength on the file

On architectures such as powerpc64 that use extend_integer_width_to in
their C ABI processing, integer parameters shorter than the native
register width will be annotated with the ArgAttribute::SExt or
ArgAttribute::ZExt attribute, and that attribute will be included in the
generated LLVM IR.

In this test, all relevant parameters are `i32`, which will get the
`signext` annotation on the relevant 64-bit architectures. Match both
the annotated and non-annotated case, but enforce that the annotation is
applied consistently.
@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented Sep 10, 2019

📌 Commit 2f6e73c has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 10, 2019
Centril added a commit to Centril/rust that referenced this pull request Sep 10, 2019
…xcrichton

test/c-variadic: Fix patterns on powerpc64

On architectures such as powerpc64 that use extend_integer_width_to in
their C ABI processing, integer parameters shorter than the native
register width will be annotated with the ArgAttribute::SExt or
ArgAttribute::ZExt attribute, and that attribute will be included in the
generated LLVM IR.

In this test, all relevant parameters are `i32`, which will get the
`signext` annotation on the relevant 64-bit architectures. Match both
the annotated and non-annotated case, but enforce that the annotation is
applied consistently.
bors added a commit that referenced this pull request Sep 10, 2019
Rollup of 8 pull requests

Successful merges:

 - #63786 (Make `abs`, `wrapping_abs`, `overflowing_abs` const functions)
 - #63989 (Add Yaah to clippy toolstain notification list)
 - #64256 (test/c-variadic: Fix patterns on powerpc64)
 - #64292 (lowering: extend temporary lifetimes around await)
 - #64311 (lldb: avoid mixing "Hit breakpoint" message with other output.)
 - #64330 (Clarify E0507 to note Fn/FnMut relationship to borrowing)
 - #64331 (Changed instant is earlier to instant is later)
 - #64344 (rustc_mir: buffer -Zdump-mir output instead of pestering the kernel constantly.)

Failed merges:

r? @ghost
@bors bors merged commit 2f6e73c into rust-lang:master Sep 10, 2019
@smaeul smaeul deleted the patch/powerpc64-tests branch September 11, 2019 00:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants