> This change makes it so that gigi uses a generic pointer type (ptr_type_node) > for pointers to Taft Amendment types, which are kind of opaque pointer types. > > Tested on x86_64-suse-linux, applied on the mainline. > > However, this isn't sufficient for LTO's type canonical merging code, because > the generic pointer type is the element type of an array instead of being > used > at top level, so the code issues the usual warning: > > /home/eric/svn/gcc/gcc/testsuite/gnat.dg/lto19_pkg.ads:7:13: warning: type of > 'lto19_pkg__proc' does not match original declaration [-Wlto-type-mismatch] > /home/eric/svn/gcc/gcc/testsuite/gnat.dg/lto19_pkg.adb:7:3: note: > 'lto19_pkg__proc' was previously declared here > /home/eric/svn/gcc/gcc/testsuite/gnat.dg/lto19_pkg.adb:7:3: note: code may be > misoptimized unless -fno-strict-aliasing is used > > Jan, any idea on how to address this?
I am not quite sure I understand your explanation. Can you, please, show me how the types differ? So you have one type which contains ptr_type_node and other which is array? Honza