I mentioned before that we had a couple of options when it came to dealing with some of the new warnings that gcc 4.3 generates. Here's some comments on each of the patches:
I'm leaning towards keeping the parenthesis warnings since the diff to allow it isn't that big, and it has brought up a couple of problems. Any major objections to this? I know that gabe preferred the other way, and I actually prefer that people know the order of operations, but given the chances of errors and the number of people that are starting to commit to the M5 code base, it's probably worth dealing with the false positives since they're not that onerous. As for the deprecated code warning when using the hash_map structure, I think we should leave it for now and ignore the warning. I'll try to come up with some adapter after stable is done since we'll need it eventually anyway. Finally, 4.3 pointed out a problem in the register file code in mips. The original code had an else clause that would have guaranteed an out of bounds access to the regs array. Clearly this is not OK. There was a comment in the else clause saying that it was called by rdpgpr. If you look at the code in decoder.isa for rdpgpr and wrpgpr, they both multiply a number with NumIntRegs, but NumIntRegs is the size of the array. It seems like the multiple ought to be by NumIntArchRegs. The same sort of problem actually exists in the readReg/setReg code itself, where NumIntRegs is multiplied by currShadowSet. Anyway, there are definitely some serious problems here. I'd really appreciate some help from someone that knows something about what this code is supposed to do. (Korey? Rick?) Nate _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
