Hi folks. I'm seeing a few build failures for ARM with gcc version 10.2.
Since these look like they may be real bugs and I don't want to make a mess
fixing them or do a bunch of research, I'll mention them here so we can
collectively find the right fix. There are a lot of instances of these two:

build/ARM/arch/arm/generated/exec-ns.cc.inc:278501:40: error: comparison of
unsigned express
ion in '>= 0' is always true [-Werror=type-limits]
278501 |         bool posCount = ((count * imm) >= 0);


build/ARM/arch/arm/generated/exec-ns.cc.inc:278970:40: error: comparison of
unsigned express
ion in '< 0' is always false [-Werror=type-limits]
278970 |         bool negCount = ((count * imm) < 0);

I'm not sure what's going on with these. Maybe applying the same template
with both signed and unsigned imm and count fields? As far as I can tell
with a little digging around, imm is usually unsigned. I'm not sure where
count comes from, but I'm guessing also unsigned?

build/ARM/arch/arm/generated/exec-ns.cc.inc:169243:29: error: '
destReg.ArmISAInst::VqdmulhsQ
<_Element>::execute<signed char>::RegVect::regs[0]' may be used
uninitialized in this functi
on [-Werror=maybe-uninitialized]
169243 |             FpDestP0 = letoh(destReg.regs[0]);

I haven't looked into these at all.

build/ARM/arch/arm/generated/exec-ns.cc.inc:169491:17: error: comparison of
unsigned express
ion in '< 0' is always false [-Werror=type-limits]
169491 |         if (imm < 0 && imm >= eCount) {

This one looks really fishy. How would imm be both less than 0 and also
greater than eCount? Is eCount negative? Is it ok for it to be just a
little negative? Is this supposed to be an ||? Apparently imm is unsigned
anyway, so comparing it with 0 is pointless.

Gabe
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to