[C--] Segmentation fault

Ning Wang <[email protected]> Tue, 24 Mar 2009 06:18:55 -0700
Newsgroups gmane.comp.lang.c--
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------010202060509030708030705
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi folks,

This is bad. Anyway, the c-- code seems correct, but the executable code 
generates segmentation fault.  The original C code and C-- code are 
attached.  Any suggestion?

Thanks,
Ning

--------------010202060509030708030705
Content-Type: text/plain;
 name="a.i"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="a.i"

# 1 "gcc.c-torture/execute/20001011-1.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "gcc.c-torture/execute/20001011-1.c"
extern void abort(void);
extern int strcmp(const char *, const char *);

int foo(const char *a)
{
    return strcmp(a, "main");
}

int main(void)
{
    if(foo(__FUNCTION__))
        abort();
    return 0;
}

--------------010202060509030708030705
Content-Type: text/plain;
 name="a.c--"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="a.c--"

target
      byteorder little
      float "ieee754"
      memsize 8
      wordsize 32
      pointersize 32;
bits2 System.rounding_mode = "IEEE 754 rounding mode";
section "data"
{
   str__a_da_289565476_1: bits8 [6] "main\0";
   import abort;
   import strcmp;
}
section "text"
{
   export foo;
   foreign "C" foo ("address" bits32 a_T_155)
   {
         bits32 _fooret;
         _fooret = foreign "C" strcmp (bits32[a_T_155], str__a_da_289565476_1);
         foreign "C" return (_fooret);
   }
   export main;
   foreign "C" main ()
   {
         bits32 _mainret;
         bits32 _mlcc_ea__tmp_ce_0;
         _mlcc_ea__tmp_ce_0 = foreign "C" foo (str__a_da_289565476_1);
         if (%eq(_mlcc_ea__tmp_ce_0, 0::bits32))
         {
            goto main0000008;
         }
         foreign "C" abort ();
         main0000008:;
         bits32[_mainret] = 0::bits32;
         foreign "C" return (_mainret);
    }
}

--------------010202060509030708030705
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Cminusminus mailing list
[email protected]
https://www.eecs.harvard.edu/mailman/listinfo/cminusminus

--------------010202060509030708030705--