Hi Jim,
When I compile the code, I got an error said
ptlsim/build/core/atom-core/atomcore.cpp:3250:40: required from here
ptlsim/core/atom-core/atomcore.h:462:56: error: ‘invalidate’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
return invalidate(tagof(virtaddr, threadid));
^
ptlsim/core/atom-core/atomcore.h:462:56: note: declarations in dependent base ‘FullyAssociativeTagsNbitOneHot<32, 40, 0>’ are not found by unqualified lookup
ptlsim/core/atom-core/atomcore.h:462:56: note: use ‘this->invalidate’ instead
ptlsim/core/atom-core/atomcore.h: In instantiation of ‘int atom::TranslationLookasideBuffer<tlbid, size>::flush_virt(Waddr, W64) [with int tlbid = 1; int size = 32; Waddr = long long unsigned int; W64= long long unsigned int]’:
ptlsim/build/core/atom-core/atomcore.cpp:3251:40: required from here
ptlsim/core/atom-core/atomcore.h:462:56: error: ‘invalidate’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
ptlsim/core/atom-core/atomcore.h:462:56: note: declarations in dependent base ‘FullyAssociativeTagsNbitOneHot<32, 40, 0>’ are not found by unqualified lookup
ptlsim/core/atom-core/atomcore.h:462:56: note: use ‘this->invalidate’ instead
Under gcc 4.7, it's illegal. I think it is because c++ template 's name look up rule. You may change it to this->invalidate.
Hi Jim,
When I compile the code, I got an error said
Under gcc 4.7, it's illegal. I think it is because c++ template 's name look up rule. You may change it to
this->invalidate.