[Ada] Fix internal error on bit-aligned component of function call

Pierre-Marie de Rodat derodat@adacore.com
Tue Oct 20 07:23:29 GMT 2020


This fixes an internal error in the code generator triggered by a
reference generated by the front-end to a bit-aligned component of
the result of a function call.  Such a reference cannot be handled
by the code generator because the object is not aligned on a byte
boundary, so it is replaced by a renaming that is fully handled by
the front-end because of the potential nonstandard representation.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* exp_util.adb (Remove_Side_Effects): Always generate a renaming
	that is handled by the front-end in the case of an indexed or a
	selected component whose prefix has a nonstandard representation.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-diff
Size: 2727 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20201020/393aa8fb/attachment-0001.bin>


More information about the Gcc-patches mailing list