Annotation of gcc/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: void
        !            34: objc_error(id object, const char* fmt, va_list ap)
        !            35: {
        !            36:   vfprintf (stderr, fmt, ap);
        !            37:   abort ();
        !            38: }
        !            39: 
        !            40: volatile void
        !            41: objc_fatal(const char* msg)
        !            42: {
        !            43:   write(2, msg, (size_t)strlen((char*)msg));
        !            44:   abort();
        !            45: }
        !            46: 
        !            47: void*
        !            48: __objc_xmalloc(size_t size)
        !            49: {
        !            50:   void* res = (void*) malloc(size);
        !            51:   if(!res)
        !            52:     objc_fatal("Virtual memory exhausted\n");
        !            53:   return res;
        !            54: }
        !            55: 
        !            56: void*
        !            57: __objc_xrealloc(void* mem, size_t size)
        !            58: {
        !            59:   void* res = (void*) realloc(mem, size);
        !            60:   if(!res)
        !            61:     objc_fatal("Virtual memory exhausted\n");
        !            62:   return res;
        !            63: }
        !            64: 
        !            65: void*
        !            66: __objc_xcalloc(size_t nelem, size_t size)
        !            67: {
        !            68:   void* res = (void*)calloc(nelem, size);
        !            69:   if(!res)
        !            70:     objc_fatal("Virtual memory exhausted\n");
        !            71:   return res;
        !            72: }

unix.superglobalmegacorp.com

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