Skip to content

Commit 56da964

Browse files
committed
---
yaml --- r: 144854 b: refs/heads/try2 c: c891fa3 h: refs/heads/master v: v3
1 parent 21356a2 commit 56da964

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+702
-1716
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: aa1d4ef55a1f544c245f0ef163a3292dbbb9393a
8+
refs/heads/try2: c891fa326d28818582a653e588463c45f82e5795
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/doc/rust.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3385,9 +3385,11 @@ The path to a module consists of the crate name, any parent modules,
33853385
then the module itself, all separated by double colons (`::`). The
33863386
optional log level can be appended to the module path with an equals
33873387
sign (`=`) followed by the log level, from 1 to 4, inclusive. Level 1
3388-
is the error level, 2 is warning, 3 info, and 4 debug. Any logs
3389-
less than or equal to the specified level will be output. If not
3390-
specified then log level 4 is assumed.
3388+
is the error level, 2 is warning, 3 info, and 4 debug. You can also
3389+
use the symbolic constants `error`, `warn`, `info`, and `debug`. Any
3390+
logs less than or equal to the specified level will be output. If not
3391+
specified then log level 4 is assumed. However, debug messages are
3392+
only available if `--cfg=debug` is passed to `rustc`.
33913393

33923394
As an example, to see all the logs generated by the compiler, you would set
33933395
`RUST_LOG` to `rustc`, which is the crate name (as specified in its `link`

branches/try2/src/libextra/crypto/sha2.rs

Lines changed: 22 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,28 @@ use cryptoutil::{write_u64_be, write_u32_be, read_u64v_be, read_u32v_be, add_byt
1414
add_bytes_to_bits_tuple, FixedBuffer, FixedBuffer128, FixedBuffer64, StandardPadding};
1515
use digest::Digest;
1616

17-
// A structure that represents that state of a digest computation for the SHA-2 512 family
18-
// of digest functions
17+
18+
// Sha-512 and Sha-256 use basically the same calculations which are implemented by these macros.
19+
// Inlining the calculations seems to result in better generated code.
20+
macro_rules! schedule_round( ($t:expr) => (
21+
W[$t] = sigma1(W[$t - 2]) + W[$t - 7] + sigma0(W[$t - 15]) + W[$t - 16];
22+
)
23+
)
24+
25+
macro_rules! sha2_round(
26+
($A:ident, $B:ident, $C:ident, $D:ident,
27+
$E:ident, $F:ident, $G:ident, $H:ident, $K:ident, $t:expr) => (
28+
{
29+
$H += sum1($E) + ch($E, $F, $G) + $K[$t] + W[$t];
30+
$D += $H;
31+
$H += sum0($A) + maj($A, $B, $C);
32+
}
33+
)
34+
)
35+
36+
37+
// A structure that represents that state of a digest computation for the SHA-2 512 family of digest
38+
// functions
1939
struct Engine512State {
2040
H0: u64,
2141
H1: u64,
@@ -88,25 +108,6 @@ impl Engine512State {
88108

89109
let mut W = [0u64, ..80];
90110

91-
// Sha-512 and Sha-256 use basically the same calculations which are implemented by
92-
// these macros. Inlining the calculations seems to result in better generated code.
93-
macro_rules! schedule_round( ($t:expr) => (
94-
W[$t] = sigma1(W[$t - 2]) + W[$t - 7] + sigma0(W[$t - 15]) + W[$t - 16];
95-
)
96-
)
97-
98-
macro_rules! sha2_round(
99-
($A:ident, $B:ident, $C:ident, $D:ident,
100-
$E:ident, $F:ident, $G:ident, $H:ident, $K:ident, $t:expr) => (
101-
{
102-
$H += sum1($E) + ch($E, $F, $G) + $K[$t] + W[$t];
103-
$D += $H;
104-
$H += sum0($A) + maj($A, $B, $C);
105-
}
106-
)
107-
)
108-
109-
110111
read_u64v_be(W.mut_slice(0, 16), data);
111112

112113
// Putting the message schedule inside the same loop as the round calculations allows for
@@ -504,25 +505,6 @@ impl Engine256State {
504505

505506
let mut W = [0u32, ..64];
506507

507-
// Sha-512 and Sha-256 use basically the same calculations which are implemented
508-
// by these macros. Inlining the calculations seems to result in better generated code.
509-
macro_rules! schedule_round( ($t:expr) => (
510-
W[$t] = sigma1(W[$t - 2]) + W[$t - 7] + sigma0(W[$t - 15]) + W[$t - 16];
511-
)
512-
)
513-
514-
macro_rules! sha2_round(
515-
($A:ident, $B:ident, $C:ident, $D:ident,
516-
$E:ident, $F:ident, $G:ident, $H:ident, $K:ident, $t:expr) => (
517-
{
518-
$H += sum1($E) + ch($E, $F, $G) + $K[$t] + W[$t];
519-
$D += $H;
520-
$H += sum0($A) + maj($A, $B, $C);
521-
}
522-
)
523-
)
524-
525-
526508
read_u32v_be(W.mut_slice(0, 16), data);
527509

528510
// Putting the message schedule inside the same loop as the round calculations allows for

branches/try2/src/libextra/time.rs

Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -321,33 +321,6 @@ fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
321321
Some((value, pos))
322322
}
323323

324-
fn match_fractional_seconds(ss: &str, pos: uint) -> (i32, uint) {
325-
let len = ss.len();
326-
let mut value = 0_i32;
327-
let mut multiplier = NSEC_PER_SEC / 10;
328-
let mut pos = pos;
329-
330-
loop {
331-
if pos >= len {
332-
break;
333-
}
334-
let range = ss.char_range_at(pos);
335-
336-
match range.ch {
337-
'0' .. '9' => {
338-
pos = range.next;
339-
// This will drop digits after the nanoseconds place
340-
let digit = range.ch as i32 - '0' as i32;
341-
value += digit * multiplier;
342-
multiplier /= 10;
343-
}
344-
_ => break
345-
}
346-
}
347-
348-
(value, pos)
349-
}
350-
351324
fn match_digits_in_range(ss: &str, pos: uint, digits: uint, ws: bool,
352325
min: i32, max: i32) -> Option<(i32, uint)> {
353326
match match_digits(ss, pos, digits, ws) {
@@ -468,11 +441,6 @@ fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
468441
Some(item) => { let (v, pos) = item; tm.tm_mday = v; Ok(pos) }
469442
None => Err(~"Invalid day of the month")
470443
},
471-
'f' => {
472-
let (val, pos) = match_fractional_seconds(s, pos);
473-
tm.tm_nsec = val;
474-
Ok(pos)
475-
}
476444
'F' => {
477445
parse_type(s, pos, 'Y', &mut *tm)
478446
.chain(|pos| parse_char(s, pos, '-'))
@@ -805,7 +773,6 @@ fn do_strftime(format: &str, tm: &Tm) -> ~str {
805773
}
806774
'd' => fmt!("%02d", tm.tm_mday as int),
807775
'e' => fmt!("%2d", tm.tm_mday as int),
808-
'f' => fmt!("%09d", tm.tm_nsec as int),
809776
'F' => {
810777
fmt!("%s-%s-%s",
811778
parse_type('Y', tm),
@@ -1044,12 +1011,12 @@ mod tests {
10441011
Err(_) => ()
10451012
}
10461013
1047-
let format = "%a %b %e %T.%f %Y";
1014+
let format = "%a %b %e %T %Y";
10481015
assert_eq!(strptime("", format), Err(~"Invalid time"));
10491016
assert!(strptime("Fri Feb 13 15:31:30", format)
10501017
== Err(~"Invalid time"));
10511018
1052-
match strptime("Fri Feb 13 15:31:30.01234 2009", format) {
1019+
match strptime("Fri Feb 13 15:31:30 2009", format) {
10531020
Err(e) => fail!(e),
10541021
Ok(ref tm) => {
10551022
assert!(tm.tm_sec == 30_i32);
@@ -1063,7 +1030,7 @@ mod tests {
10631030
assert!(tm.tm_isdst == 0_i32);
10641031
assert!(tm.tm_gmtoff == 0_i32);
10651032
assert!(tm.tm_zone == ~"");
1066-
assert!(tm.tm_nsec == 12340000_i32);
1033+
assert!(tm.tm_nsec == 0_i32);
10671034
}
10681035
}
10691036
@@ -1220,7 +1187,6 @@ mod tests {
12201187
assert_eq!(local.strftime("%D"), ~"02/13/09");
12211188
assert_eq!(local.strftime("%d"), ~"13");
12221189
assert_eq!(local.strftime("%e"), ~"13");
1223-
assert_eq!(local.strftime("%f"), ~"000054321");
12241190
assert_eq!(local.strftime("%F"), ~"2009-02-13");
12251191
// assert!(local.strftime("%G") == "2009");
12261192
// assert!(local.strftime("%g") == "09");

branches/try2/src/librustc/middle/borrowck/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -788,7 +788,7 @@ impl BorrowckCtxt {
788788
match fname {
789789
mc::NamedField(ref fname) => {
790790
out.push_char('.');
791-
out.push_str(token::interner_get(*fname));
791+
out.push_str(token::ident_to_str(fname));
792792
}
793793
mc::PositionalField(idx) => {
794794
out.push_char('#'); // invent a notation here

branches/try2/src/librustc/middle/entry.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ pub fn find_entry_point(session: Session, crate: &Crate, ast_map: ast_map::map)
8181
fn find_item(item: @item, ctxt: @mut EntryContext, visitor: &mut EntryVisitor) {
8282
match item.node {
8383
item_fn(*) => {
84-
if item.ident.name == special_idents::main.name {
84+
if item.ident == special_idents::main {
8585
match ctxt.ast_map.find(&item.id) {
8686
Some(&ast_map::node_item(_, path)) => {
8787
if path.len() == 0 {

branches/try2/src/librustc/middle/mem_categorization.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ use syntax::ast::{MutImmutable, MutMutable};
5656
use syntax::ast;
5757
use syntax::codemap::Span;
5858
use syntax::print::pprust;
59-
use syntax::parse::token;
6059

6160
#[deriving(Eq)]
6261
pub enum categorization {
@@ -100,7 +99,7 @@ pub enum InteriorKind {
10099

101100
#[deriving(Eq, IterBytes)]
102101
pub enum FieldName {
103-
NamedField(ast::Name),
102+
NamedField(ast::Ident),
104103
PositionalField(uint)
105104
}
106105

@@ -620,7 +619,7 @@ impl mem_categorization_ctxt {
620619
@cmt_ {
621620
id: node.id(),
622621
span: node.span(),
623-
cat: cat_interior(base_cmt, InteriorField(NamedField(f_name.name))),
622+
cat: cat_interior(base_cmt, InteriorField(NamedField(f_name))),
624623
mutbl: base_cmt.mutbl.inherit(),
625624
ty: f_ty
626625
}
@@ -1225,9 +1224,9 @@ pub fn ptr_sigil(ptr: PointerKind) -> ~str {
12251224
}
12261225
12271226
impl Repr for InteriorKind {
1228-
fn repr(&self, _tcx: ty::ctxt) -> ~str {
1227+
fn repr(&self, tcx: ty::ctxt) -> ~str {
12291228
match *self {
1230-
InteriorField(NamedField(fld)) => token::interner_get(fld).to_owned(),
1229+
InteriorField(NamedField(fld)) => tcx.sess.str_of(fld).to_owned(),
12311230
InteriorField(PositionalField(i)) => fmt!("#%?", i),
12321231
InteriorElement(_) => ~"[]",
12331232
}

branches/try2/src/librustc/middle/moves.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ impl VisitContext {
429429
// specified and (2) have a type that
430430
// moves-by-default:
431431
let consume_with = with_fields.iter().any(|tf| {
432-
!fields.iter().any(|f| f.ident.name == tf.ident.name) &&
432+
!fields.iter().any(|f| f.ident == tf.ident) &&
433433
ty::type_moves_by_default(self.tcx, tf.mt.ty)
434434
});
435435

branches/try2/src/librustc/middle/privacy.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ impl PrivacyVisitor {
206206
fn check_field(&mut self, span: Span, id: ast::DefId, ident: ast::Ident) {
207207
let fields = ty::lookup_struct_fields(self.tcx, id);
208208
for field in fields.iter() {
209-
if field.ident.name != ident.name { loop; }
209+
if field.ident != ident { loop; }
210210
if field.vis == private {
211211
self.tcx.sess.span_err(span, fmt!("field `%s` is private",
212212
token::ident_to_str(&ident)));

0 commit comments

Comments
 (0)