This is an archive of the discontinued LLVM Phabricator instance.

[demangler][RISCV] Fix for long double
ClosedPublic

Authored by piggynl on May 26 2022, 8:29 AM.

Details

Reviewers
rsmith
urnathan
Group Reviewers
Restricted Project
Commits
rG842e48bd6577: [demangler][RISCV] Fix for long double
Summary

The size of long double in RISCV (both RV32 and RV64) is 16 bytes, thus the mangled_size should be 32.

This patch will fix the test case "_ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c" in /libcxxabi/test/test_demangle.pass.cpp, which is expected to be invalid but demangler returned "void test0::h<float>(char (&) [(unsigned int)((sizeof (float)) + (0x0.000000004001ap-16382L))])" in RISCV environment without this patch.

Diff Detail

Event Timeline

piggynl created this revision.May 26 2022, 8:29 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 26 2022, 8:29 AM
piggynl requested review of this revision.May 26 2022, 8:29 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptMay 26 2022, 8:29 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
piggynl edited the summary of this revision. (Show Details)May 26 2022, 8:32 AM
piggynl updated this revision to Diff 432296.May 26 2022, 8:37 AM

(included more context)

urnathan accepted this revision.May 26 2022, 9:45 AM
urnathan added a subscriber: urnathan.

LGTM

This revision is now accepted and ready to land.May 26 2022, 9:45 AM
This revision was landed with ongoing or failed builds.May 26 2022, 10:53 PM
This revision was automatically updated to reflect the committed changes.