cvsuser     04/09/15 05:15:32

  Modified:    build_tools build_nativecall.pl
  Log:
  fixed error message if a signature was not found and made it more verbose
  
  Revision  Changes    Path
  1.55      +11 -4     parrot/build_tools/build_nativecall.pl
  
  Index: build_nativecall.pl
  ===================================================================
  RCS file: /cvs/public/parrot/build_tools/build_nativecall.pl,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -w -r1.54 -r1.55
  --- build_nativecall.pl       8 Sep 2004 00:33:49 -0000       1.54
  +++ build_nativecall.pl       15 Sep 2004 12:15:32 -0000      1.55
  @@ -1,6 +1,6 @@
   #! perl -w
   # Copyright: 2001-2003 The Perl Foundation.  All Rights Reserved.
  -# $Id: build_nativecall.pl,v 1.54 2004/09/08 00:33:49 dan Exp $
  +# $Id: build_nativecall.pl,v 1.55 2004/09/15 12:15:32 jrieks Exp $
   
   =head1 NAME
   
  @@ -165,7 +165,7 @@
   /* nci.c
    *  Copyright: 2001-2003 The Perl Foundation.  All Rights Reserved.
    *  CVS Info
  - *     $Id: build_nativecall.pl,v 1.54 2004/09/08 00:33:49 dan Exp $
  + *     $Id: build_nativecall.pl,v 1.55 2004/09/15 12:15:32 jrieks Exp $
    *  Overview:
    *     Native Call Interface routines. The code needed to build a
    *     parrot to C call frame is in here
  @@ -297,7 +297,7 @@
   
       b = VTABLE_get_pmc_keyed_str(interpreter, HashPointer, signature);
   
  -    if (b)
  +    if (b && (b->vtable->type(interpreter, b) == enum_class_UnManagedStruct) )
           return F2DPTR(PMC_data(b));
   
       /*
  @@ -305,9 +305,16 @@
         see which signature has an unknown type. I am sure someone can come up
         with a neater way to do this.
        */
  -    ns = string_make(interpreter, " is an unknown signature type", 30, 
"iso-8859-1", 0);
  +    ns = string_make(interpreter, " is an unknown signature type", 29, 
"iso-8859-1", 0);
       message = string_concat(interpreter, signature, ns, 0);
   
  +#if defined(CAN_BUILD_CALL_FRAMES)
  +    ns = string_make(interpreter, ".\\nCAN_BUILD_CALL_FRAMES is enabled, this 
should not happen", 58, "iso-8859-1", 0);
  +#else
  +    ns = string_make(interpreter, ".\\nCAN_BUILD_CALL_FRAMES is disabled, add the 
signature to src/call_list.txt", 75, "iso-8859-1", 0);
  +#endif
  +    message = string_concat(interpreter, message, ns, 0);
  +
       /*
        * I think there may be memory issues with this but if we get to here we are
        * aborting.
  
  
  

Reply via email to