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>