http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48835
--- Comment #40 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-10-17 22:21:20 UTC --- > I’d rather see the System.Address type being made a C pointer type, > globally, in the first place. Since I don’t speak Ada, I can’t do > it “the right way”. But what prevents us from changing Char_Ptr in > + type Char_Ptr is access all Character; > + pragma Convention (C, Char_Ptr); > + pragma No_Strict_Aliasing (Char_Ptr); > to System.Address, replacing the previous “opaque” definition? See the first part of comment #11. Ada doesn't like pointers very much.