> 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

Reply via email to