On Fedora 6, the default GCC compiler is 4.1.1 and it is now strict about finding out inline method definition if it is declared to be "inline". In hotspot, during compilation of "parNewGeneration.cpp", it tries to include "concurrentMarkSweepGeneration.hpp" (parNewGeneration.cpp depends on genOopClosures.inline.hpp which depends on concurrentMarkSweepGeneration.hpp). MarkFromRootsClosure::do_yield_check() & Par_MarkFromRootsClosure::do_yield_check() are both defined as "inline", but the implementation actually is in its inline.hpp version. We could add concurrentMarkSweepGeneration.inline.hpp as the dependency of genOopClosures.inline.hpp, but a better solution would be to just remove the "inline" keyword in its declaration.
|