This fix adds support for "inherently unsafe" unions. Such unions become WILD in step 1 of the solver. This also adds ECompat edges between "aligned" pointers within unions. A new "whykind" has been added to explain why some unions are WILD: "UnsafeUnion of Cil.type". This patch also includes extended test-cases for such unions.
This fix adds support for "inherently unsafe" unions. Such unions become
WILD in step 1 of the solver. This also adds ECompat edges between
"aligned" pointers within unions. A new "whykind" has been added to explain
why some unions are WILD: "UnsafeUnion of Cil.type". This patch also
includes extended test-cases for such unions.

samuelhavron/obliv-c,samuelhavron/obliv-c,samuelhavron/obliv-c,samuelhavron/obliv-c