Hi!<br>i've tryed to fix this bug, but it is donw with some code disabling. is it correct ?<br><br>Index: Sema/SemaDecl.cpp<br>===================================================================<br>--- Sema/SemaDecl.cpp (revision 46257)
<br>+++ Sema/SemaDecl.cpp (working copy)<br>@@ -338,10 +338,12 @@<br> return New;<br> }<br> // We've verified the types match, now check if Old is "extern".<br>+ /*<br> if (Old->getStorageClass() != VarDecl::Extern) {
<br> Diag(New->getLocation(), diag::err_redefinition, New->getName());<br> Diag(Old->getLocation(), diag::err_previous_definition);<br> }<br>+ */<br> return New;<br> }<br><br>with this modification this code passes:
<br>const int a [1] = {1};<br>
extern const int a[];<br>
<br>i've another question or problem: is type checking correct for typedefs ?<br>ex: this code fails still after the bugfix:<br>typedef int i;<br>const int a [1] = {1};<br>extern const i a[];<br><br><br>is areEquivalentArrayTypes function correct ?
<br><br><br>cheers,<br>Csaba Hruska<br>