Duplicate :
|
|
Relates :
|
|
Relates :
|
Take the following method as an example: Klass* ConstantPool::klass_ref_at(int which, TRAPS) { return klass_at(klass_ref_index_at(which), CHECK_NULL); } This will expand into: Klass* ConstantPool::klass_ref_at(int which, TRAPS) { return klass_at(klass_ref_index_at(which), THREAD); if (HAS_PENDING_EXCEPTIONS) { return NULL; } (void)(0); } The if-statement will never be reached. We have seen cases where the compiler warns about this, and the recent change to enable -Wreturn-type will make this more likely to happen. The suggested solution is to change the example above into: Klass* ConstantPool::klass_ref_at(int which, TRAPS) { return klass_at(klass_ref_index_at(which), THREAD); }
|