Recognize additional basic types from ISO/IEC TS 18661-3:2015.

Ghost User requested to merge (removed):additional-basic-types into master

Recognize additional floating point types from ISO/IEC TS 18661-3:2015, that are already in use by glibc. This continues work from commit 8cf3e8e5 and fixes issue #201 (closed).

  • _Float16
  • _Float32
  • _Float64
  • _Float128
  • _Float32x
  • _Float64x
  • _Float128x

Use a single BASIC_TYPE token for basic types, while using its string representation as a type name. This also fixes incorrect type used previously for __uint128_t, __int128_t, __uint128, __int128, and _Float128 (they have been mapped to int and float respectively).

Also avoid mapping bool and _Bool to gboolean as those are distinct types and generally ABI incompatible. Fixes issue #202.

After this changes, when _Bool, _Float* or _int128 types are used as a part of public API, g-ir-scanner will produce warning about unresolved type. This is appropriate given that they are currently inexpressible in GIRepository format.

Merge request reports