mirror of git://gcc.gnu.org/git/gcc.git
[Ada] Fix alignment of mutex_t and cond_t type on 32-bit SPARC/Solaris
The alignment of the couple of types from System.OS_Interface was wrongly set to 4 (32-bit) instead of 8 (64-bit) in 32-bit mode. 2018-07-31 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * libgnarl/s-osinte__solaris.ads (upad64_t): New private type. (mutex_t): Use it for 'lock' and 'data' components. (cond_t): Likewise for 'data' and use single 'flags' component. From-SVN: r263099
This commit is contained in:
parent
a7576e1356
commit
a6ed513cb8
|
|
@ -1,3 +1,9 @@
|
|||
2018-07-31 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* libgnarl/s-osinte__solaris.ads (upad64_t): New private type.
|
||||
(mutex_t): Use it for 'lock' and 'data' components.
|
||||
(cond_t): Likewise for 'data' and use single 'flags' component.
|
||||
|
||||
2018-07-31 Justin Squirek <squirek@adacore.com>
|
||||
|
||||
* exp_ch5.adb (Make_Field_Assign): Force temporarily generated
|
||||
|
|
|
|||
|
|
@ -536,17 +536,18 @@ private
|
|||
end record;
|
||||
pragma Convention (C, record_type_3);
|
||||
|
||||
type upad64_t is new Interfaces.Unsigned_64;
|
||||
|
||||
type mutex_t is record
|
||||
flags : record_type_3;
|
||||
lock : String (1 .. 8);
|
||||
data : String (1 .. 8);
|
||||
lock : upad64_t;
|
||||
data : upad64_t;
|
||||
end record;
|
||||
pragma Convention (C, mutex_t);
|
||||
|
||||
type cond_t is record
|
||||
flag : array_type_9;
|
||||
Xtype : unsigned_long;
|
||||
data : String (1 .. 8);
|
||||
flags : record_type_3;
|
||||
data : upad64_t;
|
||||
end record;
|
||||
pragma Convention (C, cond_t);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue