This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR optimization/12544


On Sat, 2003-10-11 at 10:05, Eric Botcazou wrote:
> Hi,
> 
> This is a regression from GCC 3.2.3 present on the 3.3 branch and mainline 
> that shows up on SPARC (and more generally on targets that pass structures 
> by invisible references), caused by my patch that has instructed the 
> compiler to set the DECL_NONLOCAL flag on variables used by nested functions 
> during the parsing of their parent, instead of during the RTL generation of 
> the child functions.
> 
> It turns out that put_var_into_stack implicitly thinks that DECL_NONLOCAL can 
> only be seen from within nested functions, which is of course not true 
> anymore. More precisely, it applies a first transformation reserved to 
> special DECL_NONLOCAL decls then a second one reserved to non-DECL_NONLOCAL 
> decls, because it doesn't test the DECL_NONLOCAL flag in the second case. So 
> we end up putting a DECL_NONLOCAL argument in an ADDRESSOF with a bogus mode 
> and ICE when attempting to generate a SImode to BLKmode move.
> 
> Bootstrapped/regtested on sparc-sun-solaris2.8 (3.3 branch except Ada). Ok 
> for mainline and 3.3 branch?

Yes, please put this on the 3.3 branch as well.

Thanks,

-- 
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]