------- Comment #6 from t66667 at gmail dot com  2010-09-20 11:41 -------
(In reply to comment #3)
> Even simpler testcase, now in C.
> 
> 
> #include <stdio.h>
> #include <stdlib.h>
> 
> void a()
> {
>   char s[2];
> 
>   void b() {
>     char p[4096];
You deliberately use a very large storage for a very little data.
And it fails on m64 and not m32 which is rather weird and odd.
So I went to the bottom of this number which appears to be 3920.
3920 = ok
Any number beyond 3920 fails on m64 wtf?
I have no idea what is going on.
It just seems to me interesting to test out your case...
Yes O0 fails also... who knows...
> 
>     if ( strcmp(s,"s")!=0 ) abort();
>     strcpy( p,"p");
>   }
> 
>   strcpy( s,"s" );
>   b();
> }
> 
> main()
> {
>   a();
> }
> 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45694

Reply via email to