I'm talking about C/C++ :-)
-------- Ursprüngliche Nachricht --------Von: Tobias Burnus
<tob...@codesourcery.com> Datum: 09.12.20 13:15 (GMT+01:00) An: webmaster
<webmas...@defcon-cc.org> Betreff: Re: No warning for module global variable
which is set but never used The example below is for Fortran – but the same
applies to C++ modulesand to static variable in general, especially if they are
global variables.(It is not clear from the question about which language you
were talking.)TobiasOn 09.12.20 13:13, Tobias Burnus wrote:> On 09.12.20 13:02,
webmaster wrote:>>> Ahh, ok. With these explanation I understand that the
compiler does>> remove it because of optimatizion. This is somehow good and
bad.>> Good that unused variable does not consume any memory. Bad that>>
developer is not informed that variable can be removed.>> That's the general
problem with (module) global variables:>> module m> integer :: A> end>>
program main> use m> external foo> A = 5> call foo()> end>>
----------------------------> Now assume in a different file:>> subroutine foo>
use m> print *, A> end>> In this case, the compiler cannot see while
processing the first file> that 'foo' in a different file actually uses the
variable - and cannot> warn.>> Doing tracking for static (implicit or explicit
"SAVE") is difficult;> for (module) global variable it is impossible to do in
general.>> Tobias>-----------------Mentor Graphics (Deutschland) GmbH,
Arnulfstraße 201, 80634 München / GermanyRegistergericht München HRB 106955,
Geschäftsführer: Thomas Heurung, Alexander Walter