aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-05-05 14:40:20 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2023-05-11 09:38:22 +0200
commit12d52ac02131c13dee26f709550f2d5fe9fe2ca1 (patch)
tree8491807ec924b7b33a934fd14c33f7ad60725a34
parent39817cc6c962e4cbeb5782415b7194e9906ac18b (diff)
downloadgcc-12d52ac02131c13dee26f709550f2d5fe9fe2ca1.zip
gcc-12d52ac02131c13dee26f709550f2d5fe9fe2ca1.tar.gz
gcc-12d52ac02131c13dee26f709550f2d5fe9fe2ca1.tar.bz2
converter: Fix suffix condition
The suffix condition was wrong, the code was assigning a suffix to unsuffixed literals. The literals length equals the end of digit parsing position means there is no suffix. gcc/rust/ChangeLog: * util/rust-token-converter.cc (dispatch_float_literals): Invert suffix condition. (dispatch_integer_literals): Likewise. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
-rw-r--r--gcc/rust/util/rust-token-converter.cc24
1 files changed, 12 insertions, 12 deletions
diff --git a/gcc/rust/util/rust-token-converter.cc b/gcc/rust/util/rust-token-converter.cc
index d5cb450..2047ea7 100644
--- a/gcc/rust/util/rust-token-converter.cc
+++ b/gcc/rust/util/rust-token-converter.cc
@@ -42,13 +42,13 @@ dispatch_float_literals (ProcMacro::TokenStream &ts,
case CORETYPE_F32: {
auto value = std::stof (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_f32 (value, sz == str.length ())));
+ ProcMacro::Literal::make_f32 (value, sz != str.length ())));
}
break;
case CORETYPE_F64: {
auto value = std::stod (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_f64 (value, sz == str.length ())));
+ ProcMacro::Literal::make_f64 (value, sz != str.length ())));
}
break;
default:
@@ -70,52 +70,52 @@ dispatch_integer_literals (ProcMacro::TokenStream &ts,
case CORETYPE_U8:
uvalue = std::stoull (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_u8 (uvalue, sz == str.length ())));
+ ProcMacro::Literal::make_u8 (uvalue, sz != str.length ())));
break;
case CORETYPE_U16:
uvalue = std::stoull (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_u16 (uvalue, sz == str.length ())));
+ ProcMacro::Literal::make_u16 (uvalue, sz != str.length ())));
break;
case CORETYPE_U32:
uvalue = std::stoull (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_u32 (uvalue, sz == str.length ())));
+ ProcMacro::Literal::make_u32 (uvalue, sz != str.length ())));
break;
case CORETYPE_U64:
uvalue = std::stoull (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_u32 (uvalue, sz == str.length ())));
+ ProcMacro::Literal::make_u32 (uvalue, sz != str.length ())));
break;
case CORETYPE_I8:
svalue = std::stoll (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_i8 (svalue, sz == str.length ())));
+ ProcMacro::Literal::make_i8 (svalue, sz != str.length ())));
break;
case CORETYPE_I16:
svalue = std::stoll (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_i16 (svalue, sz == str.length ())));
+ ProcMacro::Literal::make_i16 (svalue, sz != str.length ())));
break;
case CORETYPE_I32:
svalue = std::stoll (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_i32 (svalue, sz == str.length ())));
+ ProcMacro::Literal::make_i32 (svalue, sz != str.length ())));
break;
case CORETYPE_I64:
svalue = std::stoll (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_i32 (svalue, sz == str.length ())));
+ ProcMacro::Literal::make_i32 (svalue, sz != str.length ())));
break;
case CORETYPE_INT:
svalue = std::stoll (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_isize (svalue, sz == str.length ())));
+ ProcMacro::Literal::make_isize (svalue, sz != str.length ())));
break;
case CORETYPE_UINT:
uvalue = std::stoull (str, &sz);
ts.push (ProcMacro::TokenTree::make_tokentree (
- ProcMacro::Literal::make_usize (uvalue, sz == str.length ())));
+ ProcMacro::Literal::make_usize (uvalue, sz != str.length ())));
break;
case CORETYPE_UNKNOWN:
default: