Accepting request 891155 from home:firstyear:branches:devel:languages:rust

- Update to version 1.52:
  + Language
    - [Added the `unsafe_op_in_unsafe_fn` lint, which checks whether the unsafe code
      in an `unsafe fn` is wrapped in a `unsafe` block.][79208] This lint
      is allowed by default, and may become a warning or hard error in a
      future edition.
    - [You can now cast mutable references to arrays to a pointer of the same type as
      the element.][81479]
  + Compiler
    - [Upgraded the default LLVM to LLVM 12.][81451]
    - Added tier 3\* support for the following targets.
        - [`s390x-unknown-linux-musl`][82166]
        - [`riscv32gc-unknown-linux-musl` & `riscv64gc-unknown-linux-musl`][82202]
        - [`powerpc-unknown-openbsd`][82733]
  + Libraries
  - [`OsString` now implements `Extend` and `FromIterator`.][82121]
  - [`cmp::Reverse` now has `#[repr(transparent)]` representation.][81879]
  - [`Arc<impl Error>` now implements `error::Error`.][80553]
  - [All integer division and remainder operations are now `const`.][80962]
  + Stabilised APIs
    - [`Arguments::as_str`]
    - [`char::MAX`]
    - [`char::REPLACEMENT_CHARACTER`]
    - [`char::UNICODE_VERSION`]
    - [`char::decode_utf16`]
    - [`char::from_digit`]
    - [`char::from_u32_unchecked`]
    - [`char::from_u32`]
    - [`slice::partition_point`]
    - [`str::rsplit_once`]

OBS-URL: https://build.opensuse.org/request/show/891155
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=288
This commit is contained in:
William Brown 2021-05-08 10:49:16 +00:00 committed by Git OBS Bridge
parent 97ea94c873
commit 3daf5fc387
45 changed files with 277 additions and 1111 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4f38e4a5e9075d8938877ceed7687c99395a12aec2906b9e118bedb3014ad0ec
size 203382140

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJT1JCRCFq5bm+hvl/gAAYTkP/jK52uVz3L+Kcw24MGNOnyIC
z8gUNL6cvY/wwvgCbwHXcTGyLmZHDh79pdLryh7g4VtFyMHcZjyRTpbBk20lRz9m
1yImWQkh5FNQVNLW/nA+pNjaD5ns6n6D1eMrm0V8u5YnelUW9tWg3BQL8KjbyYS1
S6MjEFJb5x96hRUAhP9TifxMyI0U5ltxQzqFk2hE/LqySeArVfMix33px3Cdqg5W
X55DXhBmOzZeBlOJRMkZEA9ACW8GIdj2yNIX7bo2o3MZs0Txh7zDMKS4LhyaV99j
zuUfYjkq7oWYHXcbTkGFLgfX5msyi+qTxFZBlJG/jVn56X3Tq6inxmC5JjbucEci
TU8q7sl7jC0mifvYyMRg7iy+Aq5ubZ1mCClWeUmvWnllWQ0fxicFR69acYvBLwQN
jYME9EcQUh2FTlLosu2fvKbTJ1MenND+bcHsFY0P/ohTf/ufZEXWjZLZG10fdjwp
N6ET+Hw8xn6TYH1sDA6+nzxHgCxjXAB8F8cVmVd7ZmYoVeD8mDmXPY3zDxGXP1lx
pcIpWN/yM89JZd0PeoVohsZYxaOcZImOL9R6nVfuSTtOGWTRsW3Xg8X6vl6WgVA0
XE5WFaSyPxhuKg3y0lA29V0EEmbhnKfg03wyWWvjdbuyC/GWZOsLK4J788dZIBE6
lXigNIG+qazr28AsI3iE
=SF05
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8c192ddae41e8dc7ecce173a451877f76523e5b40dc3b38a7a5abd9056b3df2f
size 191287452

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJT1zCRCFq5bm+hvl/gAAXjMP+wRU2noyrM5C9bDAIPs0u1aK
wJJoNM70IGiMhJZbG59WBxNQVs+WqhUrfRxhqOfMe7mfLinDaxnXydX4DJ6N0TfH
os8eYOLPI7EWxNOsJFMGdAOzfxwQ0qspwXU0+tKs+zWXjNgSyXDEm5kUGxrXNkfz
BRgHGVD8d289aEEQRWoqI7i52dLM/BXRlR3QNw+U1O/E0+bgLsBuIEtWZvsHjBzS
eNWqgvxLsaqKBLFv1z+GQ+hTqxAcDSToUgONap3Df+Zdvm/6b98F5bwrb2ROT0BN
IY/V6LQoKtsMykpPCm4BZglarFLkWtiTWzVY19KivBZJeySUaraZgN1cK0cNvnOc
uaT1GbBKruYRqeJdxgAGhEn74PkvC03eH9EKOPzN+58JBxLi9bV1V9TdHGYxNxKB
HCbbLyDcY5cl34l8p1dvNcJ87j5J4dskxL+EbSLRmRFxfILHeSwPop90iEwtpEJp
iV1vq7eXdyTFVUzTHHs3ymAJRczO0goPUJdZWJVAr0tXEHJiDbonw5BHfdf3zEUo
qGnAFK7PSXi+3fThChlsMXx+SRJSO70QFYSs+R8g+B7CEbK08j6t1jHzBjsu2Sdz
l/Qd/KbdOz+AxKR5ySPjViqHOrKt5rxdKX6jLYrc1Qbfqo++n/7ZFymEshUzpAWY
HzROrxZjceCtjqSReU/s
=zQyV
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1e347ddd0efb729a2ed6deb5d45027287cbb4624897ddc11cd08ae7e399d124
size 194656336

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJT1uCRCFq5bm+hvl/gAAj+cQALjhi73LtMT3vDWMVL0XFUVG
gDqgTCGiMZBvYqePpwHNkaBLLcRqX4vRyeyNlBY+bR9zN3A7IKDDDU4/QfVXwf1U
ShzfTKWfrpfOA2KtXMXx7B5xHD7lVI/79TYDvhtG/MOf1IDkF5daretNAqi+i71a
6K9RSG+DhFNP9L1qPozLNf3Y26aiJkzk4TGvJCTdUTYfR6FCo+3OVV06MlNzNu8E
YC1BATiipNIhcXbcifE7OeDlTe4bcHEbaBcc/qauSGRAE6cSmBJx5XOl7wvgaDZt
U3Oi9XSQnQWmCGxzfoyl7Xw2dGabihlbOSF/obcME+2O5zWZU5UNoSRvM/H7iKQ4
QOaIVujADkrXKe2zUYKBEBH8WN4IqyT2mYTaYF538PSbbdEocGU/i1b4m6expm/P
wLpE7aU2K1cpJ1Aa9xJ6u/mZDL03dsIrsrlHkqkFRYy+1Jo1hYRe+0Wy8fl3rLxM
Qq3AB618uLQwKrx8/pqvjsmJzGbfbRogybAeDpT5TEa0C6TlR3DZFFDT6pNzQgSD
J6ndjY7hBbvmQG3gc3FOg3jYlnSIdhIVc9iHasZmKzYFCETUPYWI1CDz9DTqH47I
luWJZ+R8T6rBZHtJrxFZi/IGhaFv2Rd0qGRHX0+s9n33IQR9JONWZks4IOkBaVl6
pMKzkLhtVkIPlCBQtJpM
=IGyn
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:69b68144726b78301688b5b52057440c63c420950e39eb48294567f50bc07e13
size 222946404

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJTzBCRCFq5bm+hvl/gAARkkP/R5tFzJXPZADC7LCg5QoRq7l
zLWIARhAwp5H77Dkm3mPT3OIF5laHfhdnAJ9/AEcwOnrg4AX7uP+otiOGsFDqvS6
rFYUw+j0Mw0TDrfcDN0TexJ8gfitnYXORfxJqp5YMrgAGuDXbOsZ3gp6IFMI+Pq8
bY2JYQyn0SxSyzeDzombniEpbWq9i3Hb/mM7FRf3iBmGoiWFVp6G4V7vDQvgzgeh
5GqJ0wkT8tBu+4iuTrNoffMjPYdkykSYROqkdcTePRBvvyrkF/TDP17Rp+595qN2
T5qezMzDV0vLEh8LEDosc54g2fr1/e71RkuyYbguR5zA1Suu1f1e7qp3dZNMOmjg
u8VzNAeMcPZceeTeIv0SkaBCb4HKRiyY2l6L1a25szWoGR4Uj3fvX/DrepVfZqk/
FzK2MPE9lXq+rgfqKXhymq5RIqw9QH7YTIUHLpu0dpwUWssqGHJJYBYHZCZg/5N4
Hqgxs/d71Wq9vVHh8opaJCFRA++Vej2xiArIzFToMB1yCHgq0fi+/36XM1+3QyvF
6ThM6r6xEbZ4na4nIuJ4hbRMNvgKCtkI2/ent5p6hMvrwiCsyRgsLUJBt6stQXBN
d7z6MOuHkzgwr6o0KSDtV+Cpi0++i21uiPaP4YxYdHUSzPShgAW2vXiBgMEOY8Lg
IAOtzLOSz//7lyEJUI+h
=1Kca
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d816bb3e7b362c94b8ee54479230829a6c9c5d6897ede3b7660b1c657e1303a9
size 168133824

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJT2KCRCFq5bm+hvl/gAA9rYP/2N/fYXlGHCglUSQSgm8JMXR
Eawm4SSHM8n1uRf0H/6YfX+YLB4pMI9Ngdd8hz6t57iIzaR29XWDicGULFTdo3H+
cNDTBxiNLG9Z4h/IICxISj7nyv/gCT6kwc1Exei8qZ/ePFsvPqbLDc2rj3zlFe4M
DetGZ5O2jH+x1Q2hKi5YyG6J0tkKNXUu01BIOskd+rzHlCT2XCXYO4pmu2MPdJLF
21VH61ZUEsNddEjLPgFd0hbEoHSHuX3Q0d1HQ8DgRMGOfJ2V4hxl3swUF5i6s+/B
6O5uEhz2jDi8Mg0S872VjIh9n1lTj59MHSHqRFYyLNDWchUk6DQvqu34J8OOgsuM
9egJVLX4Z2RRfkWYO5bydATOMZj1vqASR3g1LXN6hh93U+hJY2Qo1dMR26fyMzt3
5RZ1ErRwVDKCfFXYHgPZv/krKlULVnQ14HOuT+LahCJdPlbDqDWLfqB6S+yetwu4
xmeCux5tXXC5YWfMfcl72RVky9RhFdABYUeOaZhYepFQbOoejk0J2sJS+cBluFzg
k230nYFKo8k1zh6L9SNOiRAM8BAYO+P4wd6XFlLz3fbJg0AX9/nTJtKe6dooEJZn
KqTCV8NkJueWnItAF2AMlcMvdKy5mA7oZ7jodAppPJZXvDTiYQLeBUeFi7hhQd+S
8XEFGjg2zHHk/uvlCf0n
=8adt
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3c2f0eaf32ba6a1a864086cda5455f350bd32e4d9d51d43687030ee5c085f254
size 180157804

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJT2rCRCFq5bm+hvl/gAAWQwP/0m9vXXhXNlCy5xzTTZ1moOl
gdOnWVnrXFFp1skNw9O/VTHuGsaA2pwtylQItKxqV/o2O3gJPwVwMOLNi1fPVRHB
yalks47foid+T81IMRN/BwmATEnrmz2cCpcmhJDNM5WtV/XqnaRBwFTY+fGdv4a8
wdxrvw4gaIKCCrQyyHQzstV+GhsAzRm5xVlxY/Z3vCE1zkmGyPKAorJlWFIiO20O
KsOLDPVsOIvmPGLoitZuISm0C0hRjDMQQ0P3FfCzKXghLpuuoPyNbdQwtQYW2Lae
Vh7PCH+7wafqVcjJawRlD5nuhpfIVTG94QkfsyqPnYCNPdUgTfPXZhC+ldgtipKU
VItg7ezTuyH/dj8okfcUKFOoW9OzMNHzFcoQrBrNFdBALK2oTKUHfCCs6EaajFWz
CTnbJ+F3T+i5Je22FwgnUo4IWoJgc/jHPoYNxZkhwAl81XA2OpevOpoBSckg2pyz
tpAdmXOJQ+WfEo9L69SuyiwCYo9agn6ViGBj/uoTAOo6xBKG2+nw6ZweEdeRICAx
SUjv8Fn3xav97Exac3gkfgI0aXSw2J6HCfPt1tFqjW1OuSmT9Kl9jYUSFDEgRBEY
8oir68O5GGkaYWcD2GpF8c3UdCPyBzZ7nl3lt8ZDeYMgUd3fl5RfcqNeD3IeBgd0
k4PMV3k2IKhbtvpFlyN9
=bpK+
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:abe91e3106dc0f97f863391188461533f16476271fb843c8c1ea3b80621571e5
size 189754060

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJT0MCRCFq5bm+hvl/gAAz+UP/1QrW3DfWlE23IkoCzafA8IN
7a1HxFJpXRsuP6diWZTlDUcCK2hUfRGoQWWPtnma86UjNmwyosKRgYG4seK8AF5I
KG2Xd2z34G1aH+ye0ORHBTI+PnTej+k7G0n22mnunRVq7MZmxU1wMWzQPQlc1N+S
rOhDI513pjY18znNfQa20cGnSLEHdstSjEYZw42xHfwXzYkH+VAQU8Tu3SElZHCz
1olW58djtvh6zshpNZ9oukCu6MC4nGm1msS7H239VTz8LPQFn+w+aIjMRvMbkNx+
y1Lc3S0jrbpKjUbwApsSj9mopfuV1oVgjCIVcX2xZjAP+EVVsQh0HrGHbPfvS0++
AIaiWKwqzv7wRf+U5ltTytMS4WfKBDP8BOy5MMt5gLlUfLNEozlOl6fPv63FcXQ+
5K0S4UriXe8b6qTdXx3QX7tS6T1Z277W7DmfqSV/23IPk7jwfEC3jjtc+paXOotS
QSCERgn0OcUrm7b0pH1SKVqBKL6NVLepN+J3HjkOr6vJj03SVxkqz2tQ3GoAzX1I
+OYFzdGC4VYcPFFFxKwVyi9WNAzbmJP4zriKseYI+pYlmbWc+F5tlIMntf41hTfo
E9vGYp2unBXmfH6frB3zbhwjkNvsxU7UNZizb8bxnQkmOfN6UHnUam9BKS+2cX3P
K8dWBHTYYUAIPtU0+tG3
=Ww1g
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7013dbdd978929b24211288c145f09d5134f6a890ab1cb9846bd5d4865c78b4
size 177780892

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJT2ZCRCFq5bm+hvl/gAAUVoQANp8U28GrYmpZdZi1dkVauF/
qepKIBxB6VsSbeiJOvBHojrB4WRFIMBUkTcFL1f7+WQYEsuP3TiKcNIaKeAnHzip
X+otIgwD8XfdauEWPeMVEr+hpwX699vz8g+EuvNz9KcHflqQei31flCaWEUDd4Jn
icJO9ttqrPIGbeVstxqz2DMqKKrf2U56ZkdqNcalwHya6Wu9DOpl9CB4L0uJSNqg
w2bLLNibIfkbyF/H0xN/KvAtuuWjnQlvwL0y8jrQhz+84qCcbbsm0oqRaV/citRS
KFQwqgqPtfeofDBXpW8IU2wC3Q6lmJPUZTcpKL6A4TtVpGdE47PzkUO3U9CaiYiU
6LS2FH4sBlxgwhrJdHmqkeFBikdjliROov/eiZ7nr85ix6zxyPAjf3lT9XYYiLxs
tnv8XYsYKv4AUMZ9QwFXL4jSiZeXjnJM1NVQjihsTMaRMNwPX7gjJO7c6HFECnS+
nWdIvfg1YpxIxMnvIEzLEEK/oUZzuR10URCXNKLCU747A5h/ZLyDV9FZFiPdcqdT
5rlZz3oEPwF/mWd5kyOMyhJdBSOSqwKZK9QmPeZfj3uAdNBP0f1zgS0G5MsJEgt3
00mba0jT+ycMXfxmSWGXhcEG6FO2ZvEJkMxNR6jSdVoQ+ZILr5u5vzg6PHn82+5Q
DjcUXuIUrYM8Wq99yX/p
=zeNG
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:132a5ede91a10da14f27a722265952d15a677be45b34a0743c0b8e04602cf2ca
size 190157972

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJT0yCRCFq5bm+hvl/gAAfm8P/Rle8vvLXdIP6K9MjzWeCvbe
XWA41/8dUaEC/20xhVK6+wAvVWYN04KO7uHCdBytIWMoMZMHhQhKGEqzUU/Er/jm
PvO9K3+lgYF5Iab3y16A0U9K3FBvc+9Ul5q5vYYnmSpe5euKWNKbNDqYNOYt9yGk
Mu4TUA7plHkZZs6clWx6df0B9YVWvAqrxxAleS1FrtP97xy4Fb4lb+O85uVxBPpd
UZBgqFGwNc+82dYNgULb46FZDqnVY3pZwzW3bz1NZGAvU+Xj4xZfSbu93Mggfs6a
2l/xiW8e0jMcBmceCZyvcFThCYKMuso8DPCORw/QutA/jsQD2LzxV/L46NAewAuG
jpakPOVLIqEaXrOmYiM/Lm4Gfa6s7DXipvZYtI4I9IremGNvlr+avMbQji9EAXPV
L6Yx68rW0i/DukgXunvvvQtjnEAIdiTeQOwKRbbTEoTwKlbLLyF5B/NGj/EAoNNK
0VILafa4L2O44jpXCZOS1y7qPKWPr7K3bXQVydK+2BsTl/tmVqEHxgXVBgdRdN4x
Rh+rq0LFnJyLRKrIH1CcYUHGlgBdVvyME5Ey/9wvqT0ydcn0E+pCZqF3TnUPIxxV
Zo4PtjFzkb/BHO5YeMyfZq71koF6e0XjvoLxdNRjv13/f8HHoUwQX4M9INlJg0gl
uFZ3sbxizB25HvfMr2nI
=Gz5w
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ebca47de5cbc225ec40573e67ceb1ad1ae9c97e6e7eca135d8fb535a5ee99168
size 152873328

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgJT1XCRCFq5bm+hvl/gAAjEsP/iweIqvS9D5ja7VRzujyTDSg
MIfeSX7zVl3UQqhWDDGSr3y1b3/lgkk9V8rEovWspNr09Xr9D8kVORRHUGD1hioR
sQ3e4Xh+EKuNvYNdrGXgtIiwdRoBN2xyx7FYpKJtKs1lQiKmAxdrC2r9E6BD92QL
m8yODF+KCi1ZQ2SpKkVmLYOo7gcFNLs9Y22OJiahAGsYznR1NH0l+WRJLR1mhuEr
FBXP8KyGD/OSsEn1Z7yW79Nri8ZpTPvUyNDFrtUXvymQdiUyO9Sle/jKrKg/5xMj
s7DG2xRmWcrYL0zhHaNPacZn93/Vctyr2QQD0X/y65NDC38WmmVLQtv6YMQ41bnL
1vqtzzRnkYH8CQE0Guf1Q3cUAXWvJs432eX2eXvjmEXpMf+Y2FptqEg+fYMA43UQ
T7oFLOGQUJ3T8JeXJZmTV9YhPqkSkO9+K/Gp1+Ubksb8U1Yo4hYukGu0VXtwFLpK
ANqlrGghPk92jUJmmzmItNcGPT4GtP5bOc5w7z44JozSDKK4HbvqjuRB4XKFWfNz
4XCNTZF55nQJ+trGrnQYUGfqgwKm3ckrE9XJa6+ZRKOxfJEUDA5Hk4e8kh9xVCvd
0MC/sjUlzTNlFvAPIfDtfDHmqk7LS+SVX1OZYLFlgEoIPXRyEAfLfTuLNRbykNyy
7Ds8uOD4K7FP28hrz8Oc
=kOwJ
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f0359cc4e83253eaa86e74724b457509932bbc4f3bb2311021fa43e5965d38eb
size 208849064

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJd2CRCFq5bm+hvl/gAAiqIP/0qj9FaKS7UCOr9p/XWov9ts
yB0uq5eJHkKwsgWTrUygEPgeVi070lb7o4oRDbrEBNp5mBh/pM7y/I17pVMfoSiP
kA/VqyNSFi/RXnMdPYLyG19FU6fo1jl/7T1TZXouUY/Dv9lX4d9gngg186qPBXi6
miG7dKK08mpaEN+9FiVMuVzx+/5nZv4FfZZ073Yox19gRr/YsDnLtgPsZIzDQkyf
EXP7d0O9qU9X0JRMs+PaQ51+rX3Uiaoq1/3DNnitHQben93RXbOIjrWNqvYvjpNW
WbIow/b2YcBe+rorBzV5EvQPCmB47yAoaCxgjNRyemesYNNMLK0XKlF8ao0vWFzW
d+eLFoZGY4ZksFgDeMcECvnzJgxtu1D6js5darmj0q5NQOKQZ7g/CWEz3aH5CsU3
iORZ2dxy6zP52JZVjJhxqbEjLkK7XwPCR8uAA/CUhxVdzms0eWwoatBYQCH4gbfk
U+T7z4ZALOlg0Zh4z5aNGiORxMfxdUdSKMhPFeUvuIg7DAa7XTPckQLl5pp+p2SF
pPf5W4jCIgLrgOLjDYRxjwIGTGQevlXLAVH2zX3ZhidDauaUZvrLTryAWJI8mAfs
0ZuJH7ax+RCUBXf8oSH6xx4VhRohsvNlOJz8by6/qfApcA4GpCnlXvuAV7UC+qGi
3JMZC+FBXKqWhMmleBA0
=FgPP
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c0773bccb772901d908b6e425201ddb3bad02cacfabfd54fd87fc4dfbc98c1ea
size 193918308

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJdqCRCFq5bm+hvl/gAADogP/1GSgKC5H16+MllTkzdQ4kPK
qwGdhNfawSyF5A5W3oQFv2UlQDtR18nGe3TTB2q1r0lmZc9pXlA5xMLrSttGoX1H
dweojhz7H2v8Nmz0HI4tRUIT1kT/pYg2+tKJOyEZgKgWIObT0Ao0ZS1Pfna9MW8A
NcZtFT131vaiGrlaFPajYyjQZNE0zVWpZf7i7TO2k9/ImesuPiJayJ3yMxdrrFua
1wajD59RrRfGZSlB8mM5lwu870Z9HHlzEpv83xLhE+OjKiwYx/epVG00WLwNbf+y
cYfB7Fj4GOJWno/H1ZbxZOcgin9fEnCCLd7xlFZdVaAOMAd/7rkUOt5plc2cycIX
fQRq+z3akttehICe6ckWALhoT8MV80AWjMVL73+L0yUw8FiB3CAhXW/LaswY8Cnv
YLg64+42fbV0RBtQZco7/VNIBE+GhLXzwxHU/5n/ASheTKtqcNJrLd9ID5pPcp0e
yOOqIaCWHMOmZ+fESjhv5VxfHarnVDyr6pJLKOhASMKn5fglmGGad0cw1rOJ76OB
OHtAyNVrCuezpfRN2p8cCF586+2gEyOhpLCzZXajz5D4W/8xOiaifMwA2+I4UaUF
X6ZQRCO7daLDwZZelWc9Tibr7DZWbCiL+uvboKHkXRXtNg2MXHAhLqxnb2eLdYDr
cGbnVI1sv+1H3iGSAAT6
=HDYi
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8fc307490f2aafcde6ce3c2b9985b8fd76829947b8bf2c3d77bb7e25d817360b
size 197028040

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJc4CRCFq5bm+hvl/gAAiZwQALAmQB9kj+kHbrMvCGAAgOcn
+o8lLZrjbHeGMw05JKCQVfHyORCS2fRCsu1WhmL+7mLaIzSYZhkE+6ahaThnLpoP
YdZSo231nlf1MH4d4sMbL/4cgH/5nZzswIahcXEAxaB+AbJSo0YQGHkQfad6wiwt
RBfboGO0dMf5aVGbGVfDU6ptcWG2s5id6k+Fsb13L1oqXSeGp8PSHthiFCtxLceu
ekqTGR07QqxC2xXrzqa3oEyA2pquXambBZYAS7JBERAsi3A0Oc6MwnSlChB2Rpjt
bt0Y8qOU982jJI5CPfS0p4eX5wughRKz2JeY7yZXmuZaxcx5J2V7OzDVZId96oHD
JpBFDCvmH7Xo/GL9P8slcHp51J19U3q6Ges8PsaL0/h1tWK/Vpa3S7cFjN0czmQS
/RpUCOkFCy7NTgAs++rhGFKHvaxwIGkX9iOdktEB7yz8SFccrRfNnM/+F599S73t
onPwXq9d942VLXeYPDPyD8rj7xgPtR7OqIHGfS+6nN3dCGHk4+2HyhHPBi3QGPq2
rsnxJ+QO7UKDfDVKIhgr3T6neMzMetU3536jTM7ixkDsQca9bVr482JvMnJx4f/l
bBWzrrBxAhF2L0ElYdP4ARqy//BQwJCpUsxWkfGjk0wne7sk150elk2FJ8j3vG4T
Mt68UUOh7uAzyGbat0Qc
=3UKV
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:98b8d3a889cc9542563dc842ea440530cc15a908f875ef62c6939a57bf13510d
size 213348860

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJe1CRCFq5bm+hvl/gAAXtAP/RQ7+uDpwPfBH12kLYHGP9Vj
lPnH9g0+bGNNrIgz1rVq04CmTzai7MOnLsIxWoAX9uqTjnbvpsiuFQ5p/pL0bmXu
oEsQ8mWFaZ3mw0F3Kl0DI2nDKmXMkcGObz5Uo8YuTotFVXGyNfaaIZU2kIZhgNgX
HTpLSqtpTs+bEZhDskEpYjFESJapFQW9ZUteVo1g8PIj8Azz7LW+tWjDMSrNrU0i
dknJswhymYQ9823MjGkgb6pygTwtB26Om6vMODhUzGMa5qWHCDHCu2zAztGGbMTU
ZtqpLhr7Wb9WKYNILXFyyPyphoftQRz7qMZYjcRZJBrKpbPI/zcgYGiesOUUBmQu
0qUckR/tMVILIELSo6XIlQ5KUEy9RBnZucXKsl7H1h8KkOK930UAxCFyaYlERFWO
VBm9BQZbFPUjqcgsa6iJ3lSsShOkCn3k9IwCHkqYQ/JeGJ6k5VFf2RydqC7St6vQ
jqlFSsa1GALcyNttDUV1aaXxjEjy/3m0+LArPUS+7Y2Csif6aLawnBouZxf1aBUI
0dLoQsf0VmUq08aPXCLsMgboNPNBt/E9YBhgRN4VgWmhq0YLZltyPPu5TC43M/CH
OYBArt8TjZdCRFU+D4ctrCplOljAVdWRLVCE+bUPkd51jWZXj98D9Uq5vslYi33c
ZJuPEUqGyCpOvYFFujy0
=oApk
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:843a69555848e0ca71fed7e1f3a5f1b71058b1d6d31585ba857fd6d06c7f43fe
size 167534676

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJc6CRCFq5bm+hvl/gAAhS0QAMEhtL2apgiPgOMpx07S76WN
yeBOCkcpX7hjHzYPTDYt9cGcpmFzwuKd4w67q8ICImEMOi7giTu608rlNmyLLj+x
nL+4sCX6IzTxZ9EcPB8RjFqlZAnX3vXJU095PZGl3dE1UTqjBN0qj4W+zkuuuyoP
z7CnHIUPaxhhYrpzYsT4VEjmbZvgzLpBsctXo1mwhnWS++gorTa4HE4okZmDMglu
OBUffJp6CTAoi4+x9ih+fJeobh9ak0w8+7lg35r4hI/7jgJzX97FQ77yKibEeEef
h+6qQCwaI8mBSJBvu+cYyzvYCtLQdIGKqnGNUl05gASVl5o+vwu6T869kQ2dlKVc
m5EL7Ru47ilAYLrZKUhxbqChyB2HzAMRGJVM63Bj6jIQdYR5tViyNaGCyNLRXBQW
9oIDaAhp2bDwnCXMzePxZNDf+BSFOH5ji1fJ3vBeA4r2VO6emElvPOKXujrBV6OR
X2G5i9d/xkKkkRZ4S/GqmIHyDZe2cxZhL6RfPKtaMut4Qz7rZ9X+pr0TzdqkoIj2
cCrH8fpURj4BrURwHetLXFT3V2+XMaRuVg8Jd+2Q/Dsjuno4kV60t2cmGC+rBUhC
xc50LxlDeL/VgmRF/4bSxDqkwgrfVsgz/JZbEb3WBLXLOHFqcCo+7X1ojftOTdcD
dy+teFqNbKOCVGmqoh9P
=b0mh
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bb073a9f89b39829161aec8b2459b436ba4b01a92320c68593eafb4e25258b80
size 182726600

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJdBCRCFq5bm+hvl/gAAlFwQAKr3gRFQRyiXMQ4RRuZQOsGu
vVFtQEoE0VNgbFNlkQCuMf+U85y0LuSiY3YKQikmKbM8B5VkznMGoqfBGB9R8ZqR
g78plBU0LHft+TzjMvvEdiBFuuDScUqXUIM/zd73D32Rskk8//9Y/nKRpqu8SMZs
Tr+YU0sxQ5916ATk+LUe9wvyIMpViOJZd33POQjViZP+acbUhLOmREwCUFRMRP0P
T1z7JCl3Nat3IzlwCeIgezMmuEU10RSNn+YpTlJifASA+kD1Vf/t3BtczobGScsC
dwxkO5sBhlFfEah7kmzrEh0PXCojrVcdUCVPOR4eq3sb8DKfI7kRjY7rS4iv697U
jirFc2FQj47u9vXTnLpW8MRpOLgmOO7rW+Y/L3DGGQWNKRFqxaiVI4Fk3qtmPEvA
kUp3EWtuNtIueZHJcVtTVnhwO8gtqnOpaeMFwe+aNo5RvHxaBzYMQpxvQ0o57zsE
A5A2GDeWyll+ivOgx+dJEhZiY3hfa3Ap2tcvUdYYJLWfqV2cH8kh/2HsrJeI5TVM
xznCA3a3UgyS1pZ88HKKlsbY8IwsDDTVC6/TYI/alKiHiIGcck9gLEHp8mXLkVhz
3DineLmrXUtGZT6VCeilMTu7MC2hFHINmygQuIR032s7cUfI4CWCCV3FOpnwcsBa
6pk0ZknpHCw7xtX6Vkxk
=gdj9
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d21c95264e59828410afbeecf10b35ee8912fb21025c683a9abe7ff5603f9e90
size 192084372

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJefCRCFq5bm+hvl/gAA1/QP/2BwsB6cxAHQDWKjsayZsVbR
DaUcb4jQo7D1NRy69LV0u0gbAw/6rwbwWx/e7K4b4NQ2JoNBUQVNRZKa7C9TxSFK
/Xe4ET8GLmkWybmynyr/Ibhf5sGgttM/y+CNdBP0Dn7uCz0adr1Ylj/AALdjqabO
CS4pJmVQy7vEm6KcilOKz1oRteiU7Hs6iH+ASVocwKJggIvDRdHLK6smmU8EGVq9
OZ2MEoOb1XIyNwI6fbfyS+lgWv4ehzvbAxssJW8ktWzUCJTKuCxOetHehghT+jYx
E86qBeywCTnGnXh4GRvg/0xcW0B3laINNjWtx4epPH8TIpz67qBZt5bjTnadpYhz
g8rtmsfqsBicI6SDfOjdDcV7FTAaIQW0fxMJYlIBlnOjvrIDdHhEVKoShONKpyoD
76O+N6OgiIZUKl4pmQcPtwyD4I9DbZYbUgeKY0JWmXF4lLee8q+x6XSeQpbOKVsu
OzsNp8kEu4Bv3BK0E1p1K3+vqfMAdM1Z8ylhpIsy+5kn2DMhj2VBan4gUbxcjDi5
kJqCyQMhEnQGjrTSkyQ2IALwK69k/X7byV6lc6B2p0TCMNQkdB59RZPMRKV1e3Tq
hfazYTdB49L3HgT9H6WnZXTVnO0+4KVxd64MrNwOi8zSqqaEubf2H8HX+3EQlgSW
7/zfTL5O+OqWAZ6mzhlR
=77VL
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:79c43b1796d2449a5c9ebf87b237236b6b7c37db3d8c6b62658f7ff12212e3e3
size 179131092

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJc/CRCFq5bm+hvl/gAAdLgQAORSqtoTGBREfOgk5OG8DTjM
aRMYWgAtjDVqqmunKszbgfzf9N/gNZF79zfQUnJ/v6HwXoPDxqB0QYI/XU2fdo3Z
5Q5ru+hLcYvnojkqBN3XfQDCHO4UXCrlXVZQCi+GPTR6KG+MrsDjNoPj1jmvbi2Z
Gy/AZOrVj/sL3ZvDkXymJd1q6x9Fj9kz8Dz1XaAncK8DHFtmCYOco2vNh1ZCOYF8
C5dgJ3ieonj/jfdkOyH/HMfm3og1jWVK/so0zOyFSCuQQ6RrdIKmuJS7Ba5j2+Gq
U3ybipwct42KJ3KYHUIQV7RKzj5wYV378i1K+Fg5PU5XQFGMZOqguxZL0mD+cXnZ
7oLrPVjMQauYCctAYTL4w1HdYZCDBocPe/O8xOBbG23MQl6JYjl0/Xuc13Z8I5TG
fHWE8Luzg8KqyrGBbQBHt9B4Tm+Ty9YV9HBVW/XvXKEA8GsitSj+qdsV7FDXc5dP
8iczu/lgZZ2MFuewz8+IHkMBIkiOBmTkUDecZY+7FflJvqqKFfp0t6kWgKvpZfeM
L3iOjTLVqTZLLxpoHzRRzibGvFchgvzuJuLOqHyI7Wi52nYAqLicfPKwVbHC7GBY
5SeMjUqQgfWomw+Elv3lgZXmEu5dh4Aa7pcRYqFp3YBpbgqs7TYJNVfApCTsLUxf
jKMvv23EDdO5zurjtF5a
=O7YO
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a43ff5eb85d4e3acfdd565a4239af3bea39526209a816052043142f89560cbb
size 191632144

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJddCRCFq5bm+hvl/gAAwMkP/AtK//TU9QeulDKyWmYcqolU
x/7MuY1D2gKT4NEJbr43bkdxDXaH3lwhD1hRolvd1vV35Mv3MWBWPT5NpD0ON9uk
n4BY17iXtuED7pwhIsSePP0Gy5LhgpXFklpFmoaboYoGif+Kl7Wl+FOZO+QgswyE
LBf+MzdDuUuiGrqR1DOyR89khye2bdWqlseRuc9RnPvcfZonaLHG8NCO2pe6cBYP
MVKZT/TlDB3KD1DJAYCvi7DHyxFuaGkPiglD2BiNfhc9ZiNgpSSNShCR9UwiBOFm
CxbGG+2AuqNXj1HWHHVhSxbWnEeEqlxRIa3a/U9huTrI+EIFxNBUlhgZToog6ixH
xgP+pMOsWl6ddIZT3M/hy4UxMpfF0M66kuEoXPAtQpbvJbKyqR8ossl8ZoFrXkRC
gla+8HuE2HH6SeOfv6Q7rJzl5sMIbECsn60x4fI/rdGsRd+OSOMhPIaJ15UIr9eV
3DIzR1cRhCep4gXm5IOSiFtN/eCh0suR60tDjjTXoaR291iG99j7G3TX+U3Gvt//
wn0GT8oY3A+e1c+Qjc3TmLccL0IImV5Ldlz89N25axUMIAHL0XjshBuTXb9Tco7o
9+0xuD3X1pZIs58m13S48ZXN5jxtwedf0iIHUrWG25mwyeWZUOfF+jcqi2fn7Zjt
k0DeLLAcKriHV87h0eME
=MLc+
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0f3bf3792f9d79d4dd12a7af2d7d1c43c23914690ab12f000030ac94c3e0d20f
size 147543532

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
wsFcBAABCgAQBQJgXJfGCRCFq5bm+hvl/gAA5TAQAN9SdWKhmOba4/x+koEEz57S
8QrNnuCMcBQ0OjwjKKCiIetWmPQLdUV7miAZhg8aDMEaqP++i62E7daFpWzHrsZl
649to8NaNWK6tK5QpWtW9WvwecMSZtPiGYU13BwGnzADoJ1BH3JzXuvnE4DDHB9z
IVIygaKDVEokSY9Om4tn/9J+PFjoAnqBP2BoOylutXnRcF9RbgObmhXNAB4OrVWw
lxwIwHiGUnKEzwjjK6vAK/qmiPV6qWvm/vnodTuoDnKH8uwgIKV6+448FoW22jSt
3l5XyBlCmerGzm8vETDPijKuuIHambC08YhEAdx3sgbp4gMX4/T7Z1RGUUpX9VQY
+oMB94hHNE8KimQKx08/73LMd9mPxupKcURTzLdYWKEYDzL8tRZlxesRBkAvL7vl
HlwPlRemyoJv7xlViHtIOeh3sQN5AO/fy/zaIkNw8vJfxLsUlJnTHAig9cM+2ZL2
ix/hW2iD+gk1sgUkIM7lrBM2dDTiF1wZmTdmxesyOpwcP+p8qPSls8X53VeKOyqc
+WFUh0xQXoW/DnW+43S0HFQrkfl1nckh9DKIInblqwDxkopMuE6LlAtbFRMXCJGq
it3Uqi2T3pPugOA9S/Z+OXRAYF9qhuYu5NQK/zjk+1mRpHSmcX72zChLbR+cXEm/
jXrtx6hD0ytjW9G/EsEz
=QCBh
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,84 @@
-------------------------------------------------------------------
Fri May 7 00:29:37 UTC 2021 - William Brown <william.brown@suse.com>
- Update to version 1.52:
+ Language
- [Added the `unsafe_op_in_unsafe_fn` lint, which checks whether the unsafe code
in an `unsafe fn` is wrapped in a `unsafe` block.][79208] This lint
is allowed by default, and may become a warning or hard error in a
future edition.
- [You can now cast mutable references to arrays to a pointer of the same type as
the element.][81479]
+ Compiler
- [Upgraded the default LLVM to LLVM 12.][81451]
- Added tier 3\* support for the following targets.
- [`s390x-unknown-linux-musl`][82166]
- [`riscv32gc-unknown-linux-musl` & `riscv64gc-unknown-linux-musl`][82202]
- [`powerpc-unknown-openbsd`][82733]
+ Libraries
- [`OsString` now implements `Extend` and `FromIterator`.][82121]
- [`cmp::Reverse` now has `#[repr(transparent)]` representation.][81879]
- [`Arc<impl Error>` now implements `error::Error`.][80553]
- [All integer division and remainder operations are now `const`.][80962]
+ Stabilised APIs
- [`Arguments::as_str`]
- [`char::MAX`]
- [`char::REPLACEMENT_CHARACTER`]
- [`char::UNICODE_VERSION`]
- [`char::decode_utf16`]
- [`char::from_digit`]
- [`char::from_u32_unchecked`]
- [`char::from_u32`]
- [`slice::partition_point`]
- [`str::rsplit_once`]
- [`str::split_once`]
The following previously stable APIs are now `const`.
- [`char::len_utf8`]
- [`char::len_utf16`]
- [`char::to_ascii_uppercase`]
- [`char::to_ascii_lowercase`]
- [`char::eq_ignore_ascii_case`]
- [`u8::to_ascii_uppercase`]
- [`u8::to_ascii_lowercase`]
- [`u8::eq_ignore_ascii_case`]
+ Rustdoc
- [Rustdoc lints are now treated as a tool lint, meaning that
lints are now prefixed with `rustdoc::` (e.g. `#[warn(rustdoc::non_autolinks)]`).][80527]
Using the old style is still allowed, and will become a warning in
a future release.
- [Rustdoc now supports argument files.][82261]
- [Rustdoc now generates smart punctuation for documentation.][79423]
- [You can now use "task lists" in Rustdoc Markdown.][81766] E.g.
```markdown
- [x] Complete
- [ ] Todo
```
+ Misc
- [You can now pass multiple filters to tests.][81356] E.g.
`cargo test -- foo bar` will run all tests that match `foo` and `bar`.
- [Rustup now distributes PDB symbols for the `std` library on Windows,
allowing you to see `std` symbols when debugging.][82218]
+ Internal Only
These changes provide no direct user facing benefits, but represent significant
improvements to the internals and overall performance of rustc and
related tools.
- [Check the result cache before the DepGraph when ensuring queries][81855]
- [Try fast_reject::simplify_type in coherence before doing full check][81744]
- [Only store a LocalDefId in some HIR nodes][81611]
- [Store HIR attributes in a side table][79519]
+ Compatibility Notes
-------------------
- [Cargo build scripts are now forbidden from setting `RUSTC_BOOTSTRAP`.][cargo/9181]
- [Removed support for the `x86_64-rumprun-netbsd` target.][82594]
- [Deprecated the `x86_64-sun-solaris` target in favor of `x86_64-pc-solaris`.][82216]
- [Rustdoc now only accepts `,`, ` `, and `\t` as delimiters for specifying
languages in code blocks.][78429]
- [Rustc now catches more cases of `pub_use_of_private_extern_crate`][80763]
- [Changes in how proc macros handle whitespace may lead to panics when used
with older `proc-macro-hack` versions. A `cargo update` should be sufficient to fix
this in all cases.][84136]
- Remove support-llvm12.patch - feature of 1.52
-------------------------------------------------------------------
Sat Apr 17 20:10:00 UTC 2021 - Aaron Puchert <aaronpuchert@alice-dsl.net>

View File

@ -17,9 +17,9 @@
#
%global version_current 1.51.0
%global version_previous 1.50.0
%global version_bootstrap 1.50.0
%global version_current 1.52.0
%global version_previous 1.51.0
%global version_bootstrap 1.51.0
# some sub-packages are versioned independently
%global rustfmt_version 1.4.25
@ -156,9 +156,6 @@ Source209: %{dl_url}/rust-%{version_bootstrap}-riscv64gc-unknown-linux-gnu.
Source1000: README.suse-maint
# PATCH-FIX-OPENSUSE: edit src/librustc_llvm/build.rs to ignore GCC incompatible flag
Patch0: ignore-Wstring-conversion.patch
# PATCH-FIX-UPSTREAM: https://github.com/rust-lang/rust/pull/81451, trivially rebased before
# https://github.com/rust-lang/rust/pull/82045 and https://github.com/rust-lang/rust/pull/82102.
Patch1: support-llvm12.patch
BuildRequires: ccache
BuildRequires: curl
BuildRequires: fdupes
@ -416,7 +413,6 @@ This package includes HTML documentation for Cargo.
%setup -q -n rustc-%{version}-src
%patch0 -p1
%patch1 -p1
# use python3
sed -i -e "1s|#!.*|#!%{_bindir}/python3|" x.py

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:92c68a91fca33cbafb83442cde722d010cc387dc1ee8a2680e2fb33a575821a1
size 109596164

3
rustc-1.52.0-src.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2393e923087f3f8f98190eb0743f1b4a8956a35274ae5d3c0fae6e43238c6af8
size 115114564

View File

@ -1,911 +0,0 @@
From 55f345f32505c2095966a5dc46c4ae3290dbf7a1 Mon Sep 17 00:00:00 2001
From: Nikita Popov <nikita.ppv@gmail.com>
Date: Tue, 3 Nov 2020 22:47:16 +0100
Subject: [PATCH] Support LLVM 12 in rustc
---
compiler/rustc_codegen_llvm/src/abi.rs | 17 ++-
compiler/rustc_codegen_llvm/src/context.rs | 7 ++
compiler/rustc_codegen_llvm/src/llvm/ffi.rs | 4 +
compiler/rustc_codegen_ssa/src/common.rs | 1 +
.../rustc_llvm/llvm-wrapper/PassWrapper.cpp | 119 ++++++++++++++----
.../rustc_llvm/llvm-wrapper/RustWrapper.cpp | 53 +++++++-
.../src/spec/powerpc64_unknown_linux_gnu.rs | 2 +-
.../src/spec/powerpc64_unknown_linux_musl.rs | 2 +-
.../src/spec/powerpc64_wrs_vxworks.rs | 2 +-
.../src/spec/powerpc64le_unknown_linux_gnu.rs | 2 +-
.../spec/powerpc64le_unknown_linux_musl.rs | 2 +-
src/test/assembly/asm/riscv-types.rs | 29 ++---
src/test/codegen/function-arguments.rs | 3 +-
src/test/codegen/packed.rs | 4 +-
.../codegen/repr-transparent-aggregates-1.rs | 18 +--
.../codegen/repr-transparent-aggregates-2.rs | 18 +--
.../codegen/repr-transparent-aggregates-3.rs | 18 +--
.../run-make-fulldeps/split-dwarf/Makefile | 2 +-
18 files changed, 226 insertions(+), 77 deletions(-)
diff --git a/compiler/rustc_codegen_llvm/src/abi.rs b/compiler/rustc_codegen_llvm/src/abi.rs
index d714ff1fe9b4a..d9393ffe534ac 100644
--- a/compiler/rustc_codegen_llvm/src/abi.rs
+++ b/compiler/rustc_codegen_llvm/src/abi.rs
@@ -430,7 +430,13 @@ impl<'tcx> FnAbiLlvmExt<'tcx> for FnAbi<'tcx, Ty<'tcx>> {
PassMode::Indirect { ref attrs, extra_attrs: _, on_stack } => {
assert!(!on_stack);
let i = apply(attrs);
- llvm::Attribute::StructRet.apply_llfn(llvm::AttributePlace::Argument(i), llfn);
+ unsafe {
+ llvm::LLVMRustAddStructRetAttr(
+ llfn,
+ llvm::AttributePlace::Argument(i).as_uint(),
+ self.ret.layout.llvm_type(cx),
+ );
+ }
}
_ => {}
}
@@ -486,8 +492,13 @@ impl<'tcx> FnAbiLlvmExt<'tcx> for FnAbi<'tcx, Ty<'tcx>> {
PassMode::Indirect { ref attrs, extra_attrs: _, on_stack } => {
assert!(!on_stack);
let i = apply(attrs);
- llvm::Attribute::StructRet
- .apply_callsite(llvm::AttributePlace::Argument(i), callsite);
+ unsafe {
+ llvm::LLVMRustAddStructRetCallSiteAttr(
+ callsite,
+ llvm::AttributePlace::Argument(i).as_uint(),
+ self.ret.layout.llvm_type(bx),
+ );
+ }
}
_ => {}
}
diff --git a/compiler/rustc_codegen_llvm/src/context.rs b/compiler/rustc_codegen_llvm/src/context.rs
index 3ddc742420202..9f6a2ae3ca1b7 100644
--- a/compiler/rustc_codegen_llvm/src/context.rs
+++ b/compiler/rustc_codegen_llvm/src/context.rs
@@ -104,6 +104,10 @@ fn strip_x86_address_spaces(data_layout: String) -> String {
data_layout.replace("-p270:32:32-p271:32:32-p272:64:64-", "-")
}
+fn strip_powerpc64_vectors(data_layout: String) -> String {
+ data_layout.replace("-v256:256:256-v512:512:512", "")
+}
+
pub unsafe fn create_module(
tcx: TyCtxt<'_>,
llcx: &'ll llvm::Context,
@@ -119,6 +123,9 @@ pub unsafe fn create_module(
{
target_data_layout = strip_x86_address_spaces(target_data_layout);
}
+ if llvm_util::get_version() < (12, 0, 0) && sess.target.arch == "powerpc64" {
+ target_data_layout = strip_powerpc64_vectors(target_data_layout);
+ }
// Ensure the data-layout values hardcoded remain the defaults.
if sess.target.is_builtin {
diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
index 8c1740d8f25f0..9eac7ad17b046 100644
--- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
+++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
@@ -239,6 +239,7 @@ pub enum TypeKind {
Token = 16,
ScalableVector = 17,
BFloat = 18,
+ X86_AMX = 19,
}
impl TypeKind {
@@ -263,6 +264,7 @@ impl TypeKind {
TypeKind::Token => rustc_codegen_ssa::common::TypeKind::Token,
TypeKind::ScalableVector => rustc_codegen_ssa::common::TypeKind::ScalableVector,
TypeKind::BFloat => rustc_codegen_ssa::common::TypeKind::BFloat,
+ TypeKind::X86_AMX => rustc_codegen_ssa::common::TypeKind::X86_AMX,
}
}
}
@@ -1073,6 +1075,7 @@ extern "C" {
pub fn LLVMRustAddDereferenceableAttr(Fn: &Value, index: c_uint, bytes: u64);
pub fn LLVMRustAddDereferenceableOrNullAttr(Fn: &Value, index: c_uint, bytes: u64);
pub fn LLVMRustAddByValAttr(Fn: &Value, index: c_uint, ty: &Type);
+ pub fn LLVMRustAddStructRetAttr(Fn: &Value, index: c_uint, ty: &Type);
pub fn LLVMRustAddFunctionAttribute(Fn: &Value, index: c_uint, attr: Attribute);
pub fn LLVMRustAddFunctionAttrStringValue(
Fn: &Value,
@@ -1108,6 +1111,7 @@ extern "C" {
pub fn LLVMRustAddDereferenceableCallSiteAttr(Instr: &Value, index: c_uint, bytes: u64);
pub fn LLVMRustAddDereferenceableOrNullCallSiteAttr(Instr: &Value, index: c_uint, bytes: u64);
pub fn LLVMRustAddByValCallSiteAttr(Instr: &Value, index: c_uint, ty: &Type);
+ pub fn LLVMRustAddStructRetCallSiteAttr(Instr: &Value, index: c_uint, ty: &Type);
// Operations on load/store instructions (only)
pub fn LLVMSetVolatile(MemoryAccessInst: &Value, volatile: Bool);
diff --git a/compiler/rustc_codegen_ssa/src/common.rs b/compiler/rustc_codegen_ssa/src/common.rs
index 780b1d2cd9433..afd83bfcb5692 100644
--- a/compiler/rustc_codegen_ssa/src/common.rs
+++ b/compiler/rustc_codegen_ssa/src/common.rs
@@ -95,6 +95,7 @@ pub enum TypeKind {
Token,
ScalableVector,
BFloat,
+ X86_AMX,
}
// FIXME(mw): Anything that is produced via DepGraph::with_task() must implement
diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
index 5263d5dcf3e8f..79babd27a304f 100644
--- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
+++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
@@ -5,6 +5,7 @@
#include "LLVMWrapper.h"
+#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
@@ -683,6 +684,25 @@ void LLVMSelfProfileInitializeCallbacks(
PassInstrumentationCallbacks& PIC, void* LlvmSelfProfiler,
LLVMRustSelfProfileBeforePassCallback BeforePassCallback,
LLVMRustSelfProfileAfterPassCallback AfterPassCallback) {
+#if LLVM_VERSION_GE(12, 0)
+ PIC.registerBeforeNonSkippedPassCallback([LlvmSelfProfiler, BeforePassCallback](
+ StringRef Pass, llvm::Any Ir) {
+ std::string PassName = Pass.str();
+ std::string IrName = LLVMRustwrappedIrGetName(Ir);
+ BeforePassCallback(LlvmSelfProfiler, PassName.c_str(), IrName.c_str());
+ });
+
+ PIC.registerAfterPassCallback(
+ [LlvmSelfProfiler, AfterPassCallback](StringRef Pass, llvm::Any IR,
+ const PreservedAnalyses &Preserved) {
+ AfterPassCallback(LlvmSelfProfiler);
+ });
+
+ PIC.registerAfterPassInvalidatedCallback(
+ [LlvmSelfProfiler, AfterPassCallback](StringRef Pass, const PreservedAnalyses &Preserved) {
+ AfterPassCallback(LlvmSelfProfiler);
+ });
+#else
PIC.registerBeforePassCallback([LlvmSelfProfiler, BeforePassCallback](
StringRef Pass, llvm::Any Ir) {
std::string PassName = Pass.str();
@@ -700,6 +720,7 @@ void LLVMSelfProfileInitializeCallbacks(
[LlvmSelfProfiler, AfterPassCallback](StringRef Pass) {
AfterPassCallback(LlvmSelfProfiler);
});
+#endif
PIC.registerBeforeAnalysisCallback([LlvmSelfProfiler, BeforePassCallback](
StringRef Pass, llvm::Any Ir) {
@@ -760,8 +781,15 @@ LLVMRustOptimizeWithNewPassManager(
PTO.LoopVectorization = LoopVectorize;
PTO.SLPVectorization = SLPVectorize;
+ // FIXME: We may want to expose this as an option.
+ bool DebugPassManager = false;
+
PassInstrumentationCallbacks PIC;
+#if LLVM_VERSION_GE(12, 0)
+ StandardInstrumentations SI(DebugPassManager);
+#else
StandardInstrumentations SI;
+#endif
SI.registerCallbacks(PIC);
if (LlvmSelfProfiler){
@@ -777,10 +805,12 @@ LLVMRustOptimizeWithNewPassManager(
PGOOpt = PGOOptions(PGOUsePath, "", "", PGOOptions::IRUse);
}
+#if LLVM_VERSION_GE(12, 0)
+ PassBuilder PB(DebugPassManager, TM, PTO, PGOOpt, &PIC);
+#else
PassBuilder PB(TM, PTO, PGOOpt, &PIC);
+#endif
- // FIXME: We may want to expose this as an option.
- bool DebugPassManager = false;
LoopAnalysisManager LAM(DebugPassManager);
FunctionAnalysisManager FAM(DebugPassManager);
CGSCCAnalysisManager CGAM(DebugPassManager);
@@ -802,7 +832,8 @@ LLVMRustOptimizeWithNewPassManager(
// We manually collect pipeline callbacks so we can apply them at O0, where the
// PassBuilder does not create a pipeline.
- std::vector<std::function<void(ModulePassManager &)>> PipelineStartEPCallbacks;
+ std::vector<std::function<void(ModulePassManager &, PassBuilder::OptimizationLevel)>>
+ PipelineStartEPCallbacks;
#if LLVM_VERSION_GE(11, 0)
std::vector<std::function<void(ModulePassManager &, PassBuilder::OptimizationLevel)>>
OptimizerLastEPCallbacks;
@@ -812,9 +843,11 @@ LLVMRustOptimizeWithNewPassManager(
#endif
if (VerifyIR) {
- PipelineStartEPCallbacks.push_back([VerifyIR](ModulePassManager &MPM) {
+ PipelineStartEPCallbacks.push_back(
+ [VerifyIR](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
MPM.addPass(VerifierPass());
- });
+ }
+ );
}
if (SanitizerOptions) {
@@ -832,9 +865,11 @@ LLVMRustOptimizeWithNewPassManager(
);
#else
#if LLVM_VERSION_GE(10, 0)
- PipelineStartEPCallbacks.push_back([Options](ModulePassManager &MPM) {
- MPM.addPass(MemorySanitizerPass(Options));
- });
+ PipelineStartEPCallbacks.push_back(
+ [Options](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
+ MPM.addPass(MemorySanitizerPass(Options));
+ }
+ );
#endif
OptimizerLastEPCallbacks.push_back(
[Options](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) {
@@ -854,9 +889,11 @@ LLVMRustOptimizeWithNewPassManager(
);
#else
#if LLVM_VERSION_GE(10, 0)
- PipelineStartEPCallbacks.push_back([](ModulePassManager &MPM) {
- MPM.addPass(ThreadSanitizerPass());
- });
+ PipelineStartEPCallbacks.push_back(
+ [](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
+ MPM.addPass(ThreadSanitizerPass());
+ }
+ );
#endif
OptimizerLastEPCallbacks.push_back(
[](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) {
@@ -879,9 +916,11 @@ LLVMRustOptimizeWithNewPassManager(
}
);
#else
- PipelineStartEPCallbacks.push_back([&](ModulePassManager &MPM) {
- MPM.addPass(RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>());
- });
+ PipelineStartEPCallbacks.push_back(
+ [&](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
+ MPM.addPass(RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>());
+ }
+ );
OptimizerLastEPCallbacks.push_back(
[SanitizerOptions](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) {
FPM.addPass(AddressSanitizerPass(
@@ -890,7 +929,7 @@ LLVMRustOptimizeWithNewPassManager(
}
);
PipelineStartEPCallbacks.push_back(
- [SanitizerOptions](ModulePassManager &MPM) {
+ [SanitizerOptions](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
MPM.addPass(ModuleAddressSanitizerPass(
/*CompileKernel=*/false, SanitizerOptions->SanitizeAddressRecover));
}
@@ -917,35 +956,53 @@ LLVMRustOptimizeWithNewPassManager(
}
ModulePassManager MPM(DebugPassManager);
+ bool NeedThinLTOBufferPasses = UseThinLTOBuffers;
if (!NoPrepopulatePasses) {
if (OptLevel == PassBuilder::OptimizationLevel::O0) {
+#if LLVM_VERSION_GE(12, 0)
for (const auto &C : PipelineStartEPCallbacks)
- C(MPM);
+ PB.registerPipelineStartEPCallback(C);
+ for (const auto &C : OptimizerLastEPCallbacks)
+ PB.registerOptimizerLastEPCallback(C);
-#if LLVM_VERSION_GE(11, 0)
+ // Pass false as we manually schedule ThinLTOBufferPasses below.
+ MPM = PB.buildO0DefaultPipeline(OptLevel, /* PreLinkLTO */ false);
+#else
+ for (const auto &C : PipelineStartEPCallbacks)
+ C(MPM, OptLevel);
+
+# if LLVM_VERSION_GE(11, 0)
for (const auto &C : OptimizerLastEPCallbacks)
C(MPM, OptLevel);
-#else
+# else
if (!OptimizerLastEPCallbacks.empty()) {
FunctionPassManager FPM(DebugPassManager);
for (const auto &C : OptimizerLastEPCallbacks)
C(FPM, OptLevel);
MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
}
-#endif
+# endif
MPM.addPass(AlwaysInlinerPass(EmitLifetimeMarkers));
-#if LLVM_VERSION_GE(10, 0)
+# if LLVM_VERSION_GE(10, 0)
if (PGOOpt) {
PB.addPGOInstrPassesForO0(
MPM, DebugPassManager, PGOOpt->Action == PGOOptions::IRInstr,
/*IsCS=*/false, PGOOpt->ProfileFile, PGOOpt->ProfileRemappingFile);
}
+# endif
#endif
} else {
+#if LLVM_VERSION_GE(12, 0)
for (const auto &C : PipelineStartEPCallbacks)
PB.registerPipelineStartEPCallback(C);
+#else
+ for (const auto &C : PipelineStartEPCallbacks)
+ PB.registerPipelineStartEPCallback([C, OptLevel](ModulePassManager &MPM) {
+ C(MPM, OptLevel);
+ });
+#endif
if (OptStage != LLVMRustOptStage::PreLinkThinLTO) {
for (const auto &C : OptimizerLastEPCallbacks)
PB.registerOptimizerLastEPCallback(C);
@@ -956,7 +1013,12 @@ LLVMRustOptimizeWithNewPassManager(
MPM = PB.buildPerModuleDefaultPipeline(OptLevel, DebugPassManager);
break;
case LLVMRustOptStage::PreLinkThinLTO:
+#if LLVM_VERSION_GE(12, 0)
+ MPM = PB.buildThinLTOPreLinkDefaultPipeline(OptLevel);
+ NeedThinLTOBufferPasses = false;
+#else
MPM = PB.buildThinLTOPreLinkDefaultPipeline(OptLevel, DebugPassManager);
+#endif
#if LLVM_VERSION_GE(11, 0)
for (const auto &C : OptimizerLastEPCallbacks)
C(MPM, OptLevel);
@@ -970,21 +1032,34 @@ LLVMRustOptimizeWithNewPassManager(
#endif
break;
case LLVMRustOptStage::PreLinkFatLTO:
+#if LLVM_VERSION_GE(12, 0)
+ MPM = PB.buildLTOPreLinkDefaultPipeline(OptLevel);
+ NeedThinLTOBufferPasses = false;
+#else
MPM = PB.buildLTOPreLinkDefaultPipeline(OptLevel, DebugPassManager);
+#endif
break;
case LLVMRustOptStage::ThinLTO:
// FIXME: Does it make sense to pass the ModuleSummaryIndex?
// It only seems to be needed for C++ specific optimizations.
+#if LLVM_VERSION_GE(12, 0)
+ MPM = PB.buildThinLTODefaultPipeline(OptLevel, nullptr);
+#else
MPM = PB.buildThinLTODefaultPipeline(OptLevel, DebugPassManager, nullptr);
+#endif
break;
case LLVMRustOptStage::FatLTO:
+#if LLVM_VERSION_GE(12, 0)
+ MPM = PB.buildLTODefaultPipeline(OptLevel, nullptr);
+#else
MPM = PB.buildLTODefaultPipeline(OptLevel, DebugPassManager, nullptr);
+#endif
break;
}
}
}
- if (UseThinLTOBuffers) {
+ if (NeedThinLTOBufferPasses) {
MPM.addPass(CanonicalizeAliasesPass());
MPM.addPass(NameAnonGlobalPass());
}
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
index 45835990cecbb..09dfba292e431 100644
--- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
+++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
@@ -263,6 +263,17 @@ extern "C" void LLVMRustAddByValCallSiteAttr(LLVMValueRef Instr, unsigned Index,
Call->addAttribute(Index, Attr);
}
+extern "C" void LLVMRustAddStructRetCallSiteAttr(LLVMValueRef Instr, unsigned Index,
+ LLVMTypeRef Ty) {
+ CallBase *Call = unwrap<CallBase>(Instr);
+#if LLVM_VERSION_GE(12, 0)
+ Attribute Attr = Attribute::getWithStructRetType(Call->getContext(), unwrap(Ty));
+#else
+ Attribute Attr = Attribute::get(Call->getContext(), Attribute::StructRet);
+#endif
+ Call->addAttribute(Index, Attr);
+}
+
extern "C" void LLVMRustAddFunctionAttribute(LLVMValueRef Fn, unsigned Index,
LLVMRustAttribute RustAttr) {
Function *A = unwrap<Function>(Fn);
@@ -304,6 +315,17 @@ extern "C" void LLVMRustAddByValAttr(LLVMValueRef Fn, unsigned Index,
F->addAttribute(Index, Attr);
}
+extern "C" void LLVMRustAddStructRetAttr(LLVMValueRef Fn, unsigned Index,
+ LLVMTypeRef Ty) {
+ Function *F = unwrap<Function>(Fn);
+#if LLVM_VERSION_GE(12, 0)
+ Attribute Attr = Attribute::getWithStructRetType(F->getContext(), unwrap(Ty));
+#else
+ Attribute Attr = Attribute::get(F->getContext(), Attribute::StructRet);
+#endif
+ F->addAttribute(Index, Attr);
+}
+
extern "C" void LLVMRustAddFunctionAttrStringValue(LLVMValueRef Fn,
unsigned Index,
const char *Name,
@@ -1007,12 +1029,19 @@ LLVMRustDICompositeTypeReplaceArrays(LLVMRustDIBuilderRef Builder,
extern "C" LLVMMetadataRef
LLVMRustDIBuilderCreateDebugLocation(unsigned Line, unsigned Column,
- LLVMMetadataRef Scope,
+ LLVMMetadataRef ScopeRef,
LLVMMetadataRef InlinedAt) {
- DebugLoc debug_loc = DebugLoc::get(Line, Column, unwrapDIPtr<MDNode>(Scope),
+#if LLVM_VERSION_GE(12, 0)
+ MDNode *Scope = unwrapDIPtr<MDNode>(ScopeRef);
+ DILocation *Loc = DILocation::get(
+ Scope->getContext(), Line, Column, Scope,
+ unwrapDIPtr<MDNode>(InlinedAt));
+ return wrap(Loc);
+#else
+ DebugLoc debug_loc = DebugLoc::get(Line, Column, unwrapDIPtr<MDNode>(ScopeRef),
unwrapDIPtr<MDNode>(InlinedAt));
-
return wrap(debug_loc.getAsMDNode());
+#endif
}
extern "C" int64_t LLVMRustDIBuilderCreateOpDeref() {
@@ -1262,6 +1291,10 @@ extern "C" LLVMTypeKind LLVMRustGetTypeKind(LLVMTypeRef Ty) {
return LLVMScalableVectorTypeKind;
case Type::BFloatTyID:
return LLVMBFloatTypeKind;
+#endif
+#if LLVM_VERSION_GE(12, 0)
+ case Type::X86_AMXTyID:
+ return LLVMX86_AMXTypeKind;
#endif
}
report_fatal_error("Unhandled TypeID.");
@@ -1708,11 +1741,23 @@ LLVMRustBuildVectorReduceMax(LLVMBuilderRef B, LLVMValueRef Src, bool IsSigned)
}
extern "C" LLVMValueRef
LLVMRustBuildVectorReduceFMin(LLVMBuilderRef B, LLVMValueRef Src, bool NoNaN) {
- return wrap(unwrap(B)->CreateFPMinReduce(unwrap(Src), NoNaN));
+#if LLVM_VERSION_GE(12, 0)
+ Instruction *I = unwrap(B)->CreateFPMinReduce(unwrap(Src));
+ I->setHasNoNaNs(NoNaN);
+ return wrap(I);
+#else
+ return wrap(unwrap(B)->CreateFPMinReduce(unwrap(Src), NoNaN));
+#endif
}
extern "C" LLVMValueRef
LLVMRustBuildVectorReduceFMax(LLVMBuilderRef B, LLVMValueRef Src, bool NoNaN) {
+#if LLVM_VERSION_GE(12, 0)
+ Instruction *I = unwrap(B)->CreateFPMaxReduce(unwrap(Src));
+ I->setHasNoNaNs(NoNaN);
+ return wrap(I);
+#else
return wrap(unwrap(B)->CreateFPMaxReduce(unwrap(Src), NoNaN));
+#endif
}
extern "C" LLVMValueRef
diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
index 751022c124baa..9db880b0e53ca 100644
--- a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
@@ -14,7 +14,7 @@ pub fn target() -> Target {
Target {
llvm_target: "powerpc64-unknown-linux-gnu".to_string(),
pointer_width: 64,
- data_layout: "E-m:e-i64:64-n32:64".to_string(),
+ data_layout: "E-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
arch: "powerpc64".to_string(),
options: TargetOptions { endian: Endian::Big, mcount: "_mcount".to_string(), ..base },
}
diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs
index 546dfbab6c701..8767f86b00bb4 100644
--- a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs
+++ b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs
@@ -10,7 +10,7 @@ pub fn target() -> Target {
Target {
llvm_target: "powerpc64-unknown-linux-musl".to_string(),
pointer_width: 64,
- data_layout: "E-m:e-i64:64-n32:64".to_string(),
+ data_layout: "E-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
arch: "powerpc64".to_string(),
options: TargetOptions { endian: Endian::Big, mcount: "_mcount".to_string(), ..base },
}
diff --git a/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs b/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs
index bb55872109c33..2f28a8562472d 100644
--- a/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs
+++ b/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs
@@ -10,7 +10,7 @@ pub fn target() -> Target {
Target {
llvm_target: "powerpc64-unknown-linux-gnu".to_string(),
pointer_width: 64,
- data_layout: "E-m:e-i64:64-n32:64".to_string(),
+ data_layout: "E-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
arch: "powerpc64".to_string(),
options: TargetOptions { endian: Endian::Big, ..base },
}
diff --git a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs
index 07e0bf81bc72f..4cbd99765088f 100644
--- a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs
@@ -9,7 +9,7 @@ pub fn target() -> Target {
Target {
llvm_target: "powerpc64le-unknown-linux-gnu".to_string(),
pointer_width: 64,
- data_layout: "e-m:e-i64:64-n32:64".to_string(),
+ data_layout: "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
arch: "powerpc64".to_string(),
options: TargetOptions { mcount: "_mcount".to_string(), ..base },
}
diff --git a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs
index 41c78a5f27633..efdc9ad7517d1 100644
--- a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs
+++ b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs
@@ -9,7 +9,7 @@ pub fn target() -> Target {
Target {
llvm_target: "powerpc64le-unknown-linux-musl".to_string(),
pointer_width: 64,
- data_layout: "e-m:e-i64:64-n32:64".to_string(),
+ data_layout: "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
arch: "powerpc64".to_string(),
options: TargetOptions { mcount: "_mcount".to_string(), ..base },
}
diff --git a/src/test/assembly/asm/riscv-types.rs b/src/test/assembly/asm/riscv-types.rs
index 67dda1024fc24..47518cdcf1671 100644
--- a/src/test/assembly/asm/riscv-types.rs
+++ b/src/test/assembly/asm/riscv-types.rs
@@ -5,6 +5,7 @@
//[riscv32] compile-flags: --target riscv32imac-unknown-none-elf
// compile-flags: -C target-feature=+d
// needs-llvm-components: riscv
+// min-system-llvm-version: 12.0
#![feature(no_core, lang_items, rustc_attrs)]
#![crate_type = "rlib"]
@@ -99,45 +100,45 @@ macro_rules! check_reg {
// CHECK-LABEL: reg_i8:
// CHECK: #APP
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
// CHECK: #NO_APP
check!(reg_i8 i8 reg "mv");
// CHECK-LABEL: reg_i16:
// CHECK: #APP
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
// CHECK: #NO_APP
check!(reg_i16 i16 reg "mv");
// CHECK-LABEL: reg_i32:
// CHECK: #APP
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
// CHECK: #NO_APP
check!(reg_i32 i32 reg "mv");
// CHECK-LABEL: reg_f32:
// CHECK: #APP
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
// CHECK: #NO_APP
check!(reg_f32 f32 reg "mv");
// riscv64-LABEL: reg_i64:
// riscv64: #APP
-// riscv64: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
+// riscv64: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
// riscv64: #NO_APP
#[cfg(riscv64)]
check!(reg_i64 i64 reg "mv");
// riscv64-LABEL: reg_f64:
// riscv64: #APP
-// riscv64: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
+// riscv64: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
// riscv64: #NO_APP
#[cfg(riscv64)]
check!(reg_f64 f64 reg "mv");
// CHECK-LABEL: reg_ptr:
// CHECK: #APP
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
// CHECK: #NO_APP
check!(reg_ptr ptr reg "mv");
@@ -155,45 +156,45 @@ check!(freg_f64 f64 freg "fmv.d");
// CHECK-LABEL: a0_i8:
// CHECK: #APP
-// CHECK: add a0, zero, a0
+// CHECK: mv a0, a0
// CHECK: #NO_APP
check_reg!(a0_i8 i8 "a0" "mv");
// CHECK-LABEL: a0_i16:
// CHECK: #APP
-// CHECK: add a0, zero, a0
+// CHECK: mv a0, a0
// CHECK: #NO_APP
check_reg!(a0_i16 i16 "a0" "mv");
// CHECK-LABEL: a0_i32:
// CHECK: #APP
-// CHECK: add a0, zero, a0
+// CHECK: mv a0, a0
// CHECK: #NO_APP
check_reg!(a0_i32 i32 "a0" "mv");
// CHECK-LABEL: a0_f32:
// CHECK: #APP
-// CHECK: add a0, zero, a0
+// CHECK: mv a0, a0
// CHECK: #NO_APP
check_reg!(a0_f32 f32 "a0" "mv");
// riscv64-LABEL: a0_i64:
// riscv64: #APP
-// riscv64: add a0, zero, a0
+// riscv64: mv a0, a0
// riscv64: #NO_APP
#[cfg(riscv64)]
check_reg!(a0_i64 i64 "a0" "mv");
// riscv64-LABEL: a0_f64:
// riscv64: #APP
-// riscv64: add a0, zero, a0
+// riscv64: mv a0, a0
// riscv64: #NO_APP
#[cfg(riscv64)]
check_reg!(a0_f64 f64 "a0" "mv");
// CHECK-LABEL: a0_ptr:
// CHECK: #APP
-// CHECK: add a0, zero, a0
+// CHECK: mv a0, a0
// CHECK: #NO_APP
check_reg!(a0_ptr ptr "a0" "mv");
diff --git a/src/test/codegen/function-arguments.rs b/src/test/codegen/function-arguments.rs
index 3511c7c5185ee..a1da4faf5d85a 100644
--- a/src/test/codegen/function-arguments.rs
+++ b/src/test/codegen/function-arguments.rs
@@ -1,5 +1,6 @@
// compile-flags: -C no-prepopulate-passes
// ignore-tidy-linelength
+// min-system-llvm-version: 12.0
#![crate_type = "lib"]
#![feature(rustc_attrs)]
@@ -73,7 +74,7 @@ pub fn _box(x: Box<i32>) -> Box<i32> {
x
}
-// CHECK: @struct_return(%S* noalias nocapture sret dereferenceable(32){{( %0)?}})
+// CHECK: @struct_return(%S* noalias nocapture sret(%S) dereferenceable(32){{( %0)?}})
#[no_mangle]
pub fn struct_return() -> S {
S {
diff --git a/src/test/codegen/packed.rs b/src/test/codegen/packed.rs
index f3f5202206ced..c31e8457dcded 100644
--- a/src/test/codegen/packed.rs
+++ b/src/test/codegen/packed.rs
@@ -52,7 +52,7 @@ pub struct BigPacked2 {
#[no_mangle]
pub fn call_pkd1(f: fn() -> Array) -> BigPacked1 {
// CHECK: [[ALLOCA:%[_a-z0-9]+]] = alloca %Array
-// CHECK: call void %{{.*}}(%Array* noalias nocapture sret dereferenceable(32) [[ALLOCA]])
+// CHECK: call void %{{.*}}(%Array* noalias nocapture sret{{.*}} dereferenceable(32) [[ALLOCA]])
// CHECK: call void @llvm.memcpy.{{.*}}(i8* align 1 %{{.*}}, i8* align 4 %{{.*}}, i{{[0-9]+}} 32, i1 false)
// check that calls whose destination is a field of a packed struct
// go through an alloca rather than calling the function with an
@@ -64,7 +64,7 @@ pub fn call_pkd1(f: fn() -> Array) -> BigPacked1 {
#[no_mangle]
pub fn call_pkd2(f: fn() -> Array) -> BigPacked2 {
// CHECK: [[ALLOCA:%[_a-z0-9]+]] = alloca %Array
-// CHECK: call void %{{.*}}(%Array* noalias nocapture sret dereferenceable(32) [[ALLOCA]])
+// CHECK: call void %{{.*}}(%Array* noalias nocapture sret{{.*}} dereferenceable(32) [[ALLOCA]])
// CHECK: call void @llvm.memcpy.{{.*}}(i8* align 2 %{{.*}}, i8* align 4 %{{.*}}, i{{[0-9]+}} 32, i1 false)
// check that calls whose destination is a field of a packed struct
// go through an alloca rather than calling the function with an
diff --git a/src/test/codegen/repr-transparent-aggregates-1.rs b/src/test/codegen/repr-transparent-aggregates-1.rs
index 2b8d3c8bc1d22..847b94fac78ce 100644
--- a/src/test/codegen/repr-transparent-aggregates-1.rs
+++ b/src/test/codegen/repr-transparent-aggregates-1.rs
@@ -1,7 +1,7 @@
// compile-flags: -C no-prepopulate-passes
// ignore-tidy-linelength
-// min-system-llvm-version: 9.0
+// min-system-llvm-version: 12.0
// ignore-arm
// ignore-aarch64
// ignore-mips
@@ -34,19 +34,19 @@ pub enum TeBigS {
Variant(BigS),
}
-// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS:.*]], %BigS* [[BIGS_ARG_ATTRS1:.*]] byval(%BigS) [[BIGS_ARG_ATTRS2:.*]])
+// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS1:.*]] sret(%BigS) [[BIGS_RET_ATTRS2:.*]], %BigS* [[BIGS_ARG_ATTRS1:.*]] byval(%BigS) [[BIGS_ARG_ATTRS2:.*]])
#[no_mangle]
pub extern "C" fn test_BigS(_: BigS) -> BigS { loop {} }
-// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS]], %TsBigS* [[BIGS_ARG_ATTRS1]] byval(%TsBigS) [[BIGS_ARG_ATTRS2:.*]])
+// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS1]] sret(%TsBigS) [[BIGS_RET_ATTRS2]], %TsBigS* [[BIGS_ARG_ATTRS1]] byval(%TsBigS) [[BIGS_ARG_ATTRS2:.*]])
#[no_mangle]
pub extern "C" fn test_TsBigS(_: TsBigS) -> TsBigS { loop {} }
-// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS]], %TuBigS* [[BIGS_ARG_ATTRS1]] byval(%TuBigS) [[BIGS_ARG_ATTRS2:.*]])
+// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS1]] sret(%TuBigS) [[BIGS_RET_ATTRS2]], %TuBigS* [[BIGS_ARG_ATTRS1]] byval(%TuBigS) [[BIGS_ARG_ATTRS2:.*]])
#[no_mangle]
pub extern "C" fn test_TuBigS(_: TuBigS) -> TuBigS { loop {} }
-// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS]], %"TeBigS::Variant"* [[BIGS_ARG_ATTRS1]] byval(%"TeBigS::Variant") [[BIGS_ARG_ATTRS2]])
+// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS1]] sret(%"TeBigS::Variant") [[BIGS_RET_ATTRS2]], %"TeBigS::Variant"* [[BIGS_ARG_ATTRS1]] byval(%"TeBigS::Variant") [[BIGS_ARG_ATTRS2]])
#[no_mangle]
pub extern "C" fn test_TeBigS(_: TeBigS) -> TeBigS { loop {} }
@@ -70,18 +70,18 @@ pub enum TeBigU {
Variant(BigU),
}
-// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS:.*]], %BigU* [[BIGU_ARG_ATTRS1:.*]] byval(%BigU) [[BIGU_ARG_ATTRS2:.*]])
+// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS1:.*]] sret(%BigU) [[BIGU_RET_ATTRS2:.*]], %BigU* [[BIGU_ARG_ATTRS1:.*]] byval(%BigU) [[BIGU_ARG_ATTRS2:.*]])
#[no_mangle]
pub extern "C" fn test_BigU(_: BigU) -> BigU { loop {} }
-// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS:.*]], %TsBigU* [[BIGU_ARG_ATTRS1]] byval(%TsBigU) [[BIGU_ARG_ATTRS2]])
+// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS1:.*]] sret(%TsBigU) [[BIGU_RET_ATTRS2:.*]], %TsBigU* [[BIGU_ARG_ATTRS1]] byval(%TsBigU) [[BIGU_ARG_ATTRS2]])
#[no_mangle]
pub extern "C" fn test_TsBigU(_: TsBigU) -> TsBigU { loop {} }
-// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS]], %TuBigU* [[BIGU_ARG_ATTRS1]] byval(%TuBigU) [[BIGU_ARG_ATTRS2]])
+// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS1]] sret(%TuBigU) [[BIGU_RET_ATTRS2:.*]], %TuBigU* [[BIGU_ARG_ATTRS1]] byval(%TuBigU) [[BIGU_ARG_ATTRS2]])
#[no_mangle]
pub extern "C" fn test_TuBigU(_: TuBigU) -> TuBigU { loop {} }
-// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS]], %"TeBigU::Variant"* [[BIGU_ARG_ATTRS1]] byval(%"TeBigU::Variant") [[BIGU_ARG_ATTRS2]])
+// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS1]] sret(%"TeBigU::Variant") [[BIGU_RET_ATTRS2:.*]], %"TeBigU::Variant"* [[BIGU_ARG_ATTRS1]] byval(%"TeBigU::Variant") [[BIGU_ARG_ATTRS2]])
#[no_mangle]
pub extern "C" fn test_TeBigU(_: TeBigU) -> TeBigU { loop {} }
diff --git a/src/test/codegen/repr-transparent-aggregates-2.rs b/src/test/codegen/repr-transparent-aggregates-2.rs
index 07e5af11f3577..1fb12d92bd135 100644
--- a/src/test/codegen/repr-transparent-aggregates-2.rs
+++ b/src/test/codegen/repr-transparent-aggregates-2.rs
@@ -1,5 +1,7 @@
// compile-flags: -C no-prepopulate-passes
+// ignore-tidy-linelength
+// min-system-llvm-version: 12.0
// ignore-aarch64
// ignore-emscripten
// ignore-mips64
@@ -36,19 +38,19 @@ pub enum TeBigS {
Variant(BigS),
}
-// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS:.*]], [16 x i32]
+// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS1:.*]] sret(%BigS) [[BIGS_RET_ATTRS2:.*]], [16 x i32]
#[no_mangle]
pub extern fn test_BigS(_: BigS) -> BigS { loop {} }
-// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS]], [16 x i32]
+// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS1]] sret(%TsBigS) [[BIGS_RET_ATTRS2]], [16 x i32]
#[no_mangle]
pub extern fn test_TsBigS(_: TsBigS) -> TsBigS { loop {} }
-// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS]], [16 x i32]
+// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS1]] sret(%TuBigS) [[BIGS_RET_ATTRS2]], [16 x i32]
#[no_mangle]
pub extern fn test_TuBigS(_: TuBigS) -> TuBigS { loop {} }
-// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS]], [16 x i32]
+// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS1]] sret(%"TeBigS::Variant") [[BIGS_RET_ATTRS2]], [16 x i32]
#[no_mangle]
pub extern fn test_TeBigS(_: TeBigS) -> TeBigS { loop {} }
@@ -72,18 +74,18 @@ pub enum TeBigU {
Variant(BigU),
}
-// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS:.*]], [16 x i32]
+// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS1:.*]] sret(%BigU) [[BIGU_RET_ATTRS2:.*]], [16 x i32]
#[no_mangle]
pub extern fn test_BigU(_: BigU) -> BigU { loop {} }
-// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS:.*]], [16 x i32]
+// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS1]] sret(%TsBigU) [[BIGU_RET_ATTRS2]], [16 x i32]
#[no_mangle]
pub extern fn test_TsBigU(_: TsBigU) -> TsBigU { loop {} }
-// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS]], [16 x i32]
+// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS1]] sret(%TuBigU) [[BIGU_RET_ATTRS2]], [16 x i32]
#[no_mangle]
pub extern fn test_TuBigU(_: TuBigU) -> TuBigU { loop {} }
-// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS]], [16 x i32]
+// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS1]] sret(%"TeBigU::Variant") [[BIGU_RET_ATTRS2]], [16 x i32]
#[no_mangle]
pub extern fn test_TeBigU(_: TeBigU) -> TeBigU { loop {} }
diff --git a/src/test/codegen/repr-transparent-aggregates-3.rs b/src/test/codegen/repr-transparent-aggregates-3.rs
index e538be687801e..3381764bfc818 100644
--- a/src/test/codegen/repr-transparent-aggregates-3.rs
+++ b/src/test/codegen/repr-transparent-aggregates-3.rs
@@ -1,5 +1,7 @@
// compile-flags: -C no-prepopulate-passes
+// ignore-tidy-linelength
+// min-system-llvm-version: 12.0
// only-mips64
// See repr-transparent.rs
@@ -25,19 +27,19 @@ pub enum TeBigS {
Variant(BigS),
}
-// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS:.*]], [8 x i64]
+// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS1:.*]] sret(%BigS) [[BIGS_RET_ATTRS2:.*]], [8 x i64]
#[no_mangle]
pub extern fn test_BigS(_: BigS) -> BigS { loop {} }
-// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS]], [8 x i64]
+// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS1]] sret(%TsBigS) [[BIGS_RET_ATTRS2]], [8 x i64]
#[no_mangle]
pub extern fn test_TsBigS(_: TsBigS) -> TsBigS { loop {} }
-// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS]], [8 x i64]
+// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS1]] sret(%TuBigS) [[BIGS_RET_ATTRS2]], [8 x i64]
#[no_mangle]
pub extern fn test_TuBigS(_: TuBigS) -> TuBigS { loop {} }
-// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS]], [8 x i64]
+// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS1]] sret(%"TeBigS::Variant") [[BIGS_RET_ATTRS2]], [8 x i64]
#[no_mangle]
pub extern fn test_TeBigS(_: TeBigS) -> TeBigS { loop {} }
@@ -61,18 +63,18 @@ pub enum TeBigU {
Variant(BigU),
}
-// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS:.*]], [8 x i64]
+// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS1:.*]] sret(%BigU) [[BIGU_RET_ATTRS2:.*]], [8 x i64]
#[no_mangle]
pub extern fn test_BigU(_: BigU) -> BigU { loop {} }
-// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS:.*]], [8 x i64]
+// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS1]] sret(%TsBigU) [[BIGU_RET_ATTRS2]], [8 x i64]
#[no_mangle]
pub extern fn test_TsBigU(_: TsBigU) -> TsBigU { loop {} }
-// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS]], [8 x i64]
+// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS1]] sret(%TuBigU) [[BIGU_RET_ATTRS2]], [8 x i64]
#[no_mangle]
pub extern fn test_TuBigU(_: TuBigU) -> TuBigU { loop {} }
-// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS]], [8 x i64]
+// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS1]] sret(%"TeBigU::Variant") [[BIGU_RET_ATTRS2]], [8 x i64]
#[no_mangle]
pub extern fn test_TeBigU(_: TeBigU) -> TeBigU { loop {} }
diff --git a/src/test/run-make-fulldeps/split-dwarf/Makefile b/src/test/run-make-fulldeps/split-dwarf/Makefile
index e89cc1b2ede9b..f56b4168b2d66 100644
--- a/src/test/run-make-fulldeps/split-dwarf/Makefile
+++ b/src/test/run-make-fulldeps/split-dwarf/Makefile
@@ -3,6 +3,6 @@
# only-linux
all:
- $(RUSTC) -Z unstable-options -C split-debuginfo=packed foo.rs -g
+ $(RUSTC) -Z unstable-options -C split-debuginfo=packed -C debuginfo=2 foo.rs -g
rm $(TMPDIR)/foo.dwp
rm $(TMPDIR)/$(call BIN,foo)