From: Victor Porton <porton@narod.ru>
Subject: Re: Strict aliasing, is it OK?
Date: Tue, 04 Jul 2017 20:50:29 +0300
Date: 2017-07-04T20:50:29+03:00 [thread overview]
Message-ID: <ojgkhn$12iq$1@gioia.aioe.org> (raw)
In-Reply-To: ojgkec$12cu$1@gioia.aioe.org
Victor Porton wrote:
> 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.
Note that "handles" in my code a "C" conventions accesses to C records.
--
Victor Porton - http://portonvictor.org
next prev parent reply other threads:[~2017-07-04 17:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-04 17:49 Strict aliasing, is it OK? Victor Porton
2017-07-04 17:50 ` Victor Porton [this message]
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
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox