There is indeed no 'bug', as when you mark the pointer volatile, the warning disappears.
But there is for sure either 'bad detection', or a detection of '*bar' that can indeed be un-initialized but is reported as 'bar' being un-initialized.
Thus it is not a 'bug' per se, as it conforms to the document that says that in some case, uninitialized warning can appear where it should not, but it is definitely a case where this can be improved.
So, not a 'bug' but an 'enhancement wish' with an example.
I reopened 'upstream'.
There is indeed no 'bug', as when you mark the pointer volatile, the warning disappears.
But there is for sure either 'bad detection', or a detection of '*bar' that can indeed be un-initialized but is reported as 'bar' being un-initialized.
Thus it is not a 'bug' per se, as it conforms to the document that says that in some case, uninitialized warning can appear where it should not, but it is definitely a case where this can be improved.
So, not a 'bug' but an 'enhancement wish' with an example.
The link on gcc buzilla is: http:// gcc.gnu. org/bugzilla/ show_bug. cgi?id= 54544