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

Reply via email to