AdaCore / AdaCore/libadalang-tools
unchecked conversion have different sizes on linux - arm64 - libadalang-tools-25.0.0 and gcc-14
Nobody has claimed this yet.
- Dominant language
- Ada
- Stars
- 20
- Forks
- 15
- PR merge metrics
- No merged PRs in 30d
Description
I got the following warnings while building:
tgen-marshalling_lib.adb:741:19: warning: types for unchecked conversion have different sizes [-gnatwz]
tgen-marshalling_lib.adb:741:19: warning: size of "Long_Long_Float" is 64, size of "Unsigned_128" is 128 [-gnatwz]
tgen-marshalling_lib.adb:741:19: warning: target value will include 64 undefined high order bits [-gnatwz]
tgen-marshalling_lib.adb:846:19: warning: types for unchecked conversion have different sizes [-gnatwz]
tgen-marshalling_lib.adb:846:19: warning: size of "Unsigned_128" is 128, size of "Long_Long_Float" is 64 [-gnatwz]
tgen-marshalling_lib.adb:846:19: warning: 64 high order bits of source will be ignored [-gnatwz]
tgen-random.adb:431:04: warning: types for unchecked conversion have different sizes [-gnatwz]
tgen-random.adb:431:04: warning: size of "Long_Long_Float" is 64, size of "Unsigned_128" is 128 [-gnatwz]
tgen-random.adb:431:04: warning: target value will include 64 undefined high order bits [-gnatwz]
tgen-random.adb:434:04: warning: types for unchecked conversion have different sizes [-gnatwz]
tgen-random.adb:434:04: warning: size of "Unsigned_128" is 128, size of "Long_Long_Float" is 64 [-gnatwz]
tgen-random.adb:434:04: warning: 64 high order bits of source will be ignored [-gnatwz]
The build stop after that
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the Linux arm64 build with GCC 14 and inspect the unchecked conversions at tgen-marshalling_lib.adb:741 and :846, and tgen-random.adb:431 and :434. Trace why Long_Long_Float and Unsigned_128 have different sizes, then verify that the build completes without these conversion warnings stopping it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- build-system, compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100