[Ada] Get rid of more references to Universal_Integer in expanded code

2020-06-03 Thread Pierre-Marie de Rodat
This changes a few places in the System.Atomic_Operations packages to using static expressions, which guarantees that contant folding is done in the front-end instead of the code generator. No functional changes. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-03 Eric Botcazou gcc/

[Ada] Get rid of more references to Universal_Integer in expanded code

2020-06-03 Thread Pierre-Marie de Rodat
This further tweaks the expanded code generated by the front-end for attributes returning Universal_Integer, in particular removes hardcoded references to it and fixes a couple of type mismatches in the process. The only observable change is that 'Val is now expanded by the front-end for integer t

[Ada] Get rid of more references to Universal_Integer in expanded code

2020-06-03 Thread Pierre-Marie de Rodat
This fixes a couple of places to using the standard idiom for choosing an appropriately-sized integer type. No practical change since the old and the new type are effectively identical. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-03 Eric Botcazou gcc/ada/ * exp_attr.ad

[Ada] Get rid of more references to Universal_Integer in expanded code

2020-06-02 Thread Pierre-Marie de Rodat
This further tweaks the expanded code generated by the front-end, so as to avoid having references to Universal_Integer reaching the code generator, either directly or indirectly through attributes returning Universal_Integer. There is also a minor tweak to the a-sequio.adb unit of the runtime to t

[Ada] Get rid of more references to Universal_Integer in expanded code

2020-06-02 Thread Pierre-Marie de Rodat
This further tweaks the expanded code generated by the front-end, so as to avoid having references to Universal_Integer reaching the code generator, either directly or indirectly through attributes returning Universal_Integer. The reason is that Universal_Integer must be a type as large as the lar