+2019-04-09 Ivan Begert <ivanbegert@gmail.com>
+ Tom Tromey <tromey@adacore.com>
+
+ PR rust/24414:
+ * rust-exp.y (rust_parser::lex_number): Use strtoulst.
+ (rust_lex_int_test): Change "value" to be LONGEST.
+ (rust_lex_tests): Add test for long integer literal.
+
2019-04-09 Tom Tromey <tromey@adacore.com>
* remote.c (remote_target::remote_add_inferior): Change fake_pid_p
}
}
- value = strtoul (number.c_str () + offset, NULL, radix);
+ value = strtoulst (number.c_str () + offset, NULL, radix);
if (implicit_i32 && value >= ((uint64_t) 1) << 31)
type = get_type ("i64");
/* Test that INPUT lexes as the integer VALUE. */
static void
-rust_lex_int_test (rust_parser *parser, const char *input, int value, int kind)
+rust_lex_int_test (rust_parser *parser, const char *input,
+ LONGEST value, int kind)
{
RUSTSTYPE result = rust_lex_test_one (parser, input, kind);
SELF_CHECK (result.typed_val_int.val == value);
rust_lex_int_test (&parser, "0x1_f", 0x1f, INTEGER);
rust_lex_int_test (&parser, "0b1_101011__", 0x6b, INTEGER);
rust_lex_int_test (&parser, "0o001177i64", 639, INTEGER);
+ rust_lex_int_test (&parser, "0x123456789u64", 0x123456789ull, INTEGER);
rust_lex_test_trailing_dot (&parser);