diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-05-05 14:40:20 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:37:18 +0100 |
commit | 7673702396d4107682b62debdaf904235a35a1a0 (patch) | |
tree | b94fe8763a93683518f17d86d65ba0693425b99b | |
parent | e7d105546b7fca4b55959d73c5f60dfb84658f15 (diff) | |
download | gcc-7673702396d4107682b62debdaf904235a35a1a0.zip gcc-7673702396d4107682b62debdaf904235a35a1a0.tar.gz gcc-7673702396d4107682b62debdaf904235a35a1a0.tar.bz2 |
gccrs: 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.cc | 24 |
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: |