comp.lang.ada
 help / color / mirror / Atom feed
* Strict aliasing, is it OK?
@ 2017-07-04 17:49 Victor Porton
  2017-07-04 17:50 ` Victor Porton
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Victor Porton @ 2017-07-04 17:49 UTC (permalink / raw)


I've started an ambitious open source project:
https://en.wikiversity.org/wiki/Automatic_transformation_of_XML_namespaces

I am going to implement it in Ada.

Note the file

https://github.com/vporton/redland-bindings/blob/ada2012/ada/src/rdf-raptor-parser.adb

Here is an extract from my code:

   type My_Dummy_Access is access constant RDF.Auxiliary.Dummy_Record;

   function C_Raptor_Parser_Get_Description (Parser: Handle_Type) return My_Dummy_Access
      with Import, Convention=>C, External_Name=>"raptor_parser_get_description";

   function Get_Description (Parser: Parser_Type) return RDF.Raptor.Syntaxes.Syntax_Description_Type is
      function Conv is new Ada.Unchecked_Conversion(My_Dummy_Access, RDF.Raptor.Syntaxes.Syntax_Description_Type);
   begin
      return Conv( C_Raptor_Parser_Get_Description(Get_Handle(Parser)) );
   end;


When I compile this:

$ (cd src && gnatgcc -gnatf -c -fPIC -g -O2 -gnat2012 rdf-raptor-parser.adb)
rdf-raptor-parser.adb:132:07: warning: possible aliasing problem for type "Syntax_Description_Type"
rdf-raptor-parser.adb:132:07: warning: use -fno-strict-aliasing switch for references
rdf-raptor-parser.adb:132:07: warning: or use "pragma No_Strict_Aliasing (Syntax_Description_Type);"

I am not sure if it is OK to insert pragma No_Strict_Aliasing into my code.

GNAT Users Guide is cryptic. The only thing I understood for sure is that
sometimes strict aliasing may cause a trouble. I am not sure if this is a case
with my code. My code looks quite innocent, so I feel my idea will not be
broken by the compiler, but I am not sure. Please help.

-- 
Victor Porton - http://portonvictor.org


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-07-08 17:29 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-04 17:49 Strict aliasing, is it OK? Victor Porton
2017-07-04 17:50 ` Victor Porton
2017-07-04 18:06 ` Victor Porton
2017-07-04 18:15 ` Niklas Holsti
2017-07-04 18:30   ` Victor Porton
2017-07-04 19:29     ` Niklas Holsti
2017-07-04 20:11       ` Victor Porton
2017-07-04 20:13         ` Victor Porton
2017-07-04 21:41 ` Simon Wright
2017-07-04 23:39   ` Victor Porton
2017-07-05  9:49     ` Simon Wright
2017-07-08 17:29     ` Robert Eachus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox