comp.lang.ada
 help / color / mirror / Atom feed
* Warnings about hiding
@ 2010-10-08 12:47 Julian Leyh
  2010-10-08 19:46 ` Adam Beneschan
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Julian Leyh @ 2010-10-08 12:47 UTC (permalink / raw)


Hi,

"-gnatwh" activates warnings on hiding declarations. But sometimes,
hiding is necessary.

For example, consider this (Controlled type with it's own comparison
operator and finalize procedure, you can reproduce the errors using
these ads files):

$ cat foo.ads
with Ada.Finalization;
package foo is
   type Foobar is new Ada.Finalization.Controlled with null record;
   function "=" (L,R : in Foobar) return Boolean;
private
   procedure Finalize (Object : in out Foobar);
end foo;
$ gnat -gnatwh -gnatc foo.ads
gcc -c -gnatwh -gnatc foo.ads
foo.ads:4:13: warning: declaration of "=" hides one in package
Standard
foo.ads:6:14: warning: declaration of "Finalize" hides one at line 3
$

The only way i see to solve this, is using pragma Warnings (Off); like
this:

$ cat bar.ads
with Ada.Finalization;
package bar is
   type Barfoo is new Ada.Finalization.Controlled with null record;
pragma Warnings(Off);
   function "=" (L,R : in Barfoo) return Boolean;
pragma Warnings(On);
private
   procedure Finalize (Object : in out Barfoo);
end bar;
$ gnatmake -gnatc -gnatwh bar.ads
gcc -c -gnatwh -gnatc bar.ads
bar.ads:8:14: warning: declaration of "Finalize" hides one at line 3
$

But that would either remove all warnings between both pragmas, or I
would have to put them around every occurence of the hiding. I don't
like turning all warnings off at once and I don't like adding two
lines of source code just to prevent the warning. Still, I would like
to remove them (without removing -gnatwh).

Is there a proper way to do this?

Greetings,
Julian



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

end of thread, other threads:[~2010-10-26  9:32 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-08 12:47 Warnings about hiding Julian Leyh
2010-10-08 19:46 ` Adam Beneschan
2010-10-08 20:24   ` Simon Wright
2010-10-09  1:31 ` Vinzent Hoefler
2010-10-09  6:51   ` Randy Brukardt
2010-10-09  8:08     ` Dmitry A. Kazakov
2010-10-26  1:34       ` Yannick Duchêne (Hibou57)
2010-10-26  1:28     ` Yannick Duchêne (Hibou57)
2010-10-09 11:18 ` anon
2010-10-09 19:11   ` Simon Wright
2010-10-09 20:11     ` anon
2010-10-26  1:16 ` Yannick Duchêne (Hibou57)
2010-10-26  9:32   ` J-P. Rosen

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