Skip to content

Commit 62fb02e

Browse files
committed
---
yaml --- r: 231794 b: refs/heads/auto c: d7afefc h: refs/heads/master v: v3
1 parent 233e01d commit 62fb02e

File tree

29 files changed

+1655
-326
lines changed

29 files changed

+1655
-326
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
88
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
99
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1010
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
11-
refs/heads/auto: 8175dce5172bfb66dd6bc8e57175a5102acb1f94
11+
refs/heads/auto: d7afefcbd18f78edad147aad250571d80effd4d0
1212
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1313
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336
1414
refs/tags/0.2: 1754d02027f2924bed83b0160ee340c7f41d5ea1

branches/auto/configure

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,16 +1180,27 @@ do
11801180
# MSVC requires cmake because that's how we're going to build LLVM
11811181
probe_need CFG_CMAKE cmake
11821182

1183+
# There are three builds of cmake on windows: MSVC, MinGW and Cygwin
1184+
# The Cygwin build does not have generators for Visual Studio, so
1185+
# detect that here and error.
1186+
if ! "$CFG_CMAKE" --help | sed -n '/^Generators/,$p' | grep 'Visual Studio' > /dev/null
1187+
then
1188+
err "cmake does not support Visual Studio generators.\n\n \
1189+
This is likely due to it being an msys/cygwin build of cmake, \
1190+
rather than the required windows version, built using MinGW \
1191+
or Visual Studio."
1192+
fi
1193+
11831194
# Use the REG program to figure out where VS is installed
11841195
# We need to figure out where cl.exe and link.exe are, so we do some
11851196
# munging and some probing here. We also look for the default
11861197
# INCLUDE and LIB variables for MSVC so we can set those in the
11871198
# build system as well.
1188-
install=$(reg QUERY \
1199+
install=$(cmd //c reg QUERY \
11891200
'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0' \
11901201
-v InstallDir)
11911202
if [ -z "$install" ]; then
1192-
install=$(reg QUERY \
1203+
install=$(cmd //c reg QUERY \
11931204
'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0' \
11941205
-v InstallDir)
11951206
fi
@@ -1222,9 +1233,9 @@ do
12221233
eval CFG_MSVC_LINK_$bits="\"$bindir/link.exe\""
12231234

12241235
vcvarsall="${CFG_MSVC_ROOT}/VC/vcvarsall.bat"
1225-
include_path=$(cmd /c "\"$vcvarsall\" $msvc_part && cmd /c echo %INCLUDE%")
1236+
include_path=$(cmd //V:ON //c "$vcvarsall" $msvc_part \& echo !INCLUDE!)
12261237
need_ok "failed to learn about MSVC's INCLUDE"
1227-
lib_path=$(cmd /c "\"$vcvarsall\" $msvc_part && cmd /c echo %LIB%")
1238+
lib_path=$(cmd //V:ON //c "$vcvarsall" $msvc_part \& echo !LIB!)
12281239
need_ok "failed to learn about MSVC's LIB"
12291240

12301241
eval CFG_MSVC_INCLUDE_PATH_${bits}="\"$include_path\""

branches/auto/src/doc/trpl/method-syntax.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ can be awkward. Consider this code:
77
baz(bar(foo));
88
```
99

10-
We would read this left-to right, and so we see ‘baz bar foo’. But this isn’t the
10+
We would read this left-to-right, and so we see ‘baz bar foo’. But this isn’t the
1111
order that the functions would get called in, that’s inside-out: ‘foo bar baz’.
1212
Wouldn’t it be nice if we could do this instead?
1313

@@ -45,17 +45,17 @@ This will print `12.566371`.
4545

4646

4747

48-
We’ve made a struct that represents a circle. We then write an `impl` block,
48+
We’ve made a `struct` that represents a circle. We then write an `impl` block,
4949
and inside it, define a method, `area`.
5050

51-
Methods take a special first parameter, of which there are three variants:
51+
Methods take a special first parameter, of which there are three variants:
5252
`self`, `&self`, and `&mut self`. You can think of this first parameter as
5353
being the `foo` in `foo.bar()`. The three variants correspond to the three
5454
kinds of things `foo` could be: `self` if it’s just a value on the stack,
5555
`&self` if it’s a reference, and `&mut self` if it’s a mutable reference.
5656
Because we took the `&self` parameter to `area`, we can use it just like any
5757
other parameter. Because we know it’s a `Circle`, we can access the `radius`
58-
just like we would with any other struct.
58+
just like we would with any other `struct`.
5959

6060
We should default to using `&self`, as you should prefer borrowing over taking
6161
ownership, as well as taking immutable references over mutable ones. Here’s an
@@ -120,12 +120,12 @@ Check the return type:
120120
```rust
121121
# struct Circle;
122122
# impl Circle {
123-
fn grow(&self) -> Circle {
123+
fn grow(&self, increment: f64) -> Circle {
124124
# Circle } }
125125
```
126126

127127
We just say we’re returning a `Circle`. With this method, we can grow a new
128-
circle to any arbitrary size.
128+
`Circle` to any arbitrary size.
129129

130130
# Associated functions
131131

@@ -161,7 +161,7 @@ methods’.
161161

162162
# Builder Pattern
163163

164-
Let’s say that we want our users to be able to create Circles, but we will
164+
Let’s say that we want our users to be able to create `Circle`s, but we will
165165
allow them to only set the properties they care about. Otherwise, the `x`
166166
and `y` attributes will be `0.0`, and the `radius` will be `1.0`. Rust doesn’t
167167
have method overloading, named arguments, or variable arguments. We employ
@@ -224,7 +224,7 @@ fn main() {
224224
}
225225
```
226226

227-
What we’ve done here is make another struct, `CircleBuilder`. We’ve defined our
227+
What we’ve done here is make another `struct`, `CircleBuilder`. We’ve defined our
228228
builder methods on it. We’ve also defined our `area()` method on `Circle`. We
229229
also made one more method on `CircleBuilder`: `finalize()`. This method creates
230230
our final `Circle` from the builder. Now, we’ve used the type system to enforce

branches/auto/src/etc/platform-intrinsics/aarch64.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,48 @@
336336
"ret": "i8",
337337
"args": ["0"]
338338
},
339+
{
340+
"intrinsic": "ld2{0[0].width}_{0[0].data_type}",
341+
"width": [64, 128],
342+
"llvm": "ld2.{0[0].llvm_name}.{1.llvm_name}",
343+
"ret": ["[i(8-64);2]","[f(32-64);2]"],
344+
"args": ["0.0SPc/0.0"]
345+
},
346+
{
347+
"intrinsic": "ld3{0[0].width}_{0[0].data_type}",
348+
"width": [64, 128],
349+
"llvm": "ld3.{0[0].llvm_name}.{1.llvm_name}",
350+
"ret": ["[i(8-64);3]","[f(32-64);3]"],
351+
"args": ["0.0SPc/0.0"]
352+
},
353+
{
354+
"intrinsic": "ld4{0[0].width}_{0[0].data_type}",
355+
"width": [64, 128],
356+
"llvm": "ld4.{0[0].llvm_name}.{1.llvm_name}",
357+
"ret": ["[i(8-64);4]","[f(32-64);4]"],
358+
"args": ["0.0SPc/0.0"]
359+
},
360+
{
361+
"intrinsic": "ld2{0[0].width}_dup_{0[0].data_type}",
362+
"width": [64, 128],
363+
"llvm": "ld2.{0[0].llvm_name}.{1.llvm_name}",
364+
"ret": ["[i(8-64);2]","[f(32-64);2]"],
365+
"args": ["0.0SPc"]
366+
},
367+
{
368+
"intrinsic": "ld3{0[0].width}_dup_{0[0].data_type}",
369+
"width": [64, 128],
370+
"llvm": "ld3.{0[0].llvm_name}.{1.llvm_name}",
371+
"ret": ["[i(8-64);3]","[f(32-64);3]"],
372+
"args": ["0.0SPc"]
373+
},
374+
{
375+
"intrinsic": "ld4{0[0].width}_dup_{0[0].data_type}",
376+
"width": [64, 128],
377+
"llvm": "ld4.{0[0].llvm_name}.{1.llvm_name}",
378+
"ret": ["[i(8-64);4]","[f(32-64);4]"],
379+
"args": ["0.0SPc"]
380+
},
339381
{
340382
"intrinsic": "padd{0.width}_{0.data_type}",
341383
"width": [64, 128],

0 commit comments

Comments
 (0)