Annotation of GNUtools/cc/objc/misc.c, revision 1.1

1.1     ! root        1: /* GNU Objective C Runtime Miscellanious 
        !             2:    Copyright (C) 1993 Free Software Foundation, Inc.
        !             3: 
        !             4: Author: Kresten Krab Thorup
        !             5: 
        !             6: This file is part of GNU CC.
        !             7: 
        !             8: GNU CC is free software; you can redistribute it and/or modify it under the
        !             9:    terms of the GNU General Public License as published by the Free Software
        !            10:    Foundation; either version 2, or (at your option) any later version.
        !            11: 
        !            12: GNU CC is distributed in the hope that it will be useful, but WITHOUT ANY
        !            13:    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
        !            14:    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
        !            15:    details.
        !            16: 
        !            17: You should have received a copy of the GNU General Public License along with
        !            18:    GNU CC; see the file COPYING.  If not, write to the Free Software
        !            19:    Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            20: 
        !            21: /* As a special exception, if you link this library with files compiled with
        !            22:    GCC to produce an executable, this does not cause the resulting executable
        !            23:    to be covered by the GNU General Public License. This exception does not
        !            24:    however invalidate any other reasons why the executable file might be
        !            25:    covered by the GNU General Public License.  */
        !            26: 
        !            27: #include "runtime.h"
        !            28: 
        !            29: void objc_error(id object, const char* fmt, va_list);
        !            30: 
        !            31: void (*_objc_error)(id, const char*, va_list) = objc_error;
        !            32: 
        !            33: #ifdef __alpha__
        !            34: #include <stdlib.h>
        !            35: extern int write (int, const char*, int);
        !            36: extern size_t strlen (const char*);
        !            37: #endif
        !            38: 
        !            39: void
        !            40: objc_error(id object, const char* fmt, va_list ap)
        !            41: {
        !            42:   vfprintf (stderr, fmt, ap);
        !            43:   abort ();
        !            44: }
        !            45: 
        !            46: volatile void
        !            47: objc_fatal(const char* msg)
        !            48: {
        !            49:   write(2, msg, (int)strlen((const char*)msg));
        !            50:   abort();
        !            51: }
        !            52: 
        !            53: void*
        !            54: __objc_xmalloc(size_t size)
        !            55: {
        !            56:   void* res = (void*) malloc(size);
        !            57:   if(!res)
        !            58:     objc_fatal("Virtual memory exhausted\n");
        !            59:   return res;
        !            60: }
        !            61: 
        !            62: void*
        !            63: __objc_xrealloc(void* mem, size_t size)
        !            64: {
        !            65:   void* res = (void*) realloc(mem, size);
        !            66:   if(!res)
        !            67:     objc_fatal("Virtual memory exhausted\n");
        !            68:   return res;
        !            69: }
        !            70: 
        !            71: void*
        !            72: __objc_xcalloc(size_t nelem, size_t size)
        !            73: {
        !            74: #ifdef __alpha__
        !            75:   extern bzero (void *, size_t);
        !            76: #endif
        !            77:   void* res = (void*)malloc(nelem * size);
        !            78:   if(!res)
        !            79:     objc_fatal("Virtual memory exhausted\n");
        !            80:   bzero (res, nelem * size);
        !            81:   return res;
        !            82: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.