Sujet : Re: Ichbiah 2022 compiler mode
De : bauhaus (at) *nospam* notmyhomepage.invalid (G.B.)
Groupes : comp.lang.adaDate : 21. Dec 2024, 18:19:12
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vk6tag$4tm1$1@dont-email.me>
References : 1 2 3 4
User-Agent : Mozilla Thunderbird
On 21.12.24 09:14, Randy Brukardt wrote:
Note that :
1. I have no statistics, but it seems to me that there is more variables
than constants in my code.
But how many of them *have* to be variables vs. the number that just are
because it is easier? I know I have a number of the latter.
2. I say "Useless" from my coder point of view, I dont know if it simplify
the work for compiler or tools implementers.
Constants do help the compiler generate better code, although a lot of the
benefits can be gained also by working harder. (That's what C compilers do,
after all.)
What are some compilers offering today? That is, can they find declarations
of variables that could be constants, if so instructed?
I am seeing some warnings about non-initialized variables for a meaningless
mock-up, but not much else. Ada, C++, Java.
(Maybe there are options that I have missed. Or an analysis of a whole
program yields more.)
function testc (b : Boolean) return Integer is
package P is
x : Integer;
end;
begin
if b then
P.x := 42;
end if;
return P.x;
end testc;
int testc(bool b) {
struct {
int x;
} P;
if (b) {
P.x = 42;
}
return P.x;
}
class testc {
class P {
int x;
}
P P;
int $(boolean b) {
if (b) {
P.x = 42;
}
return P.x;
}
}