diff options
author | Tristan Gingold <tgingold@free.fr> | 2015-09-07 05:11:11 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2015-09-07 05:11:11 +0200 |
commit | a1a45009a1f7515f60aa7ffa3ab58366d75a986a (patch) | |
tree | 63c94ea0ca886b41411de5500c3db58076ce070c /src/ortho/llvm/ortho_llvm.ads | |
parent | 8520993b4d1eadefa488dfc96dff25333f1b19db (diff) | |
download | ghdl-a1a45009a1f7515f60aa7ffa3ab58366d75a986a.tar.gz ghdl-a1a45009a1f7515f60aa7ffa3ab58366d75a986a.tar.bz2 ghdl-a1a45009a1f7515f60aa7ffa3ab58366d75a986a.zip |
llvm: handle union (field selection, debug info).
Diffstat (limited to 'src/ortho/llvm/ortho_llvm.ads')
-rw-r--r-- | src/ortho/llvm/ortho_llvm.ads | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ortho/llvm/ortho_llvm.ads b/src/ortho/llvm/ortho_llvm.ads index 69a850fb7..4cd0feba2 100644 --- a/src/ortho/llvm/ortho_llvm.ads +++ b/src/ortho/llvm/ortho_llvm.ads @@ -566,14 +566,17 @@ private type OF_Kind is (OF_None, OF_Record, OF_Union); type O_Fnode (Kind : OF_Kind := OF_None) is record + -- Type of the field. Ftype : O_Tnode; case Kind is when OF_None => null; when OF_Record => + -- Field index (starting from 0). Index : Natural; when OF_Union => Utype : TypeRef; + Ptr_Type : TypeRef; end case; end record; @@ -648,6 +651,9 @@ private -- Record and union builder. type O_Element_List is record + Kind : OF_Kind; + + -- Number of fields. Nbr_Elements : Natural; -- For record: the access to the incomplete (but named) type. |