|
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);
}
|