Wiki Roadmap Timeline Tickets New Ticket Source Search Help / Guide About Trac Login

Changeset 662:88e23f8c2354

Show
Ignore:
Timestamp:
10/06/08 15:40:33 (3 months ago)
Author:
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
branch:
default
Message:

Applied downs' latest Phobos patch

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lphobos/build.sh

    r476 r662  
    66rm -f ../lib/*.bc 
    77 
    8 LLVMDCFLAGS="-c -odobj -oq -gc -noasm
    9 LLVMDCFLAGS_ASM="-c -odobj -oq -gc
     8LLVMDCFLAGS_ASM="-c -oq -release
     9LLVMDCFLAGS="$LLVMDCFLAGS_ASM -noasm
    1010 
    1111echo "compiling contract runtime" 
     
    1717        internal/critical.d \ 
    1818        internal/dmain2.d \ 
     19        internal/inv.d \ 
    1920        $LLVMDCFLAGS_ASM || exit 1 
    2021mv *.bc obj 
     22llvm-link -f -o=../lib/llvmdcore.bc obj/internal.*.bc ../lib/llvmdcore.bc 
    2123 
    2224echo "compiling typeinfo 1" 
     
    4850 
    4951echo "compiling array runtime support" 
    50 llvmdc internal/qsort2.d $LLVMDCFLAGS || exit 1 
     52llvmdc internal/qsort2.d internal/adi.d internal/aaA.d $LLVMDCFLAGS || exit 1 
    5153mv *.bc obj 
    52 llvm-link -f -o=../lib/llvmdcore.bc obj/qsort2.bc ../lib/llvmdcore.bc || exit 1 
    53 llvmdc internal/adi.d $LLVMDCFLAGS || exit 1 
    54 mv *.bc obj 
    55 llvm-link -f -o=../lib/llvmdcore.bc obj/adi.bc ../lib/llvmdcore.bc || exit 1 
    56 llvmdc internal/aaA.d $LLVMDCFLAGS || exit 1 
    57 mv *.bc obj 
    58 llvm-link -f -o=../lib/llvmdcore.bc obj/aaA.bc ../lib/llvmdcore.bc || exit 1 
     54llvm-link -f -o=../lib/llvmdcore.bc obj/qsort2.bc obj/adi.bc obj/aaA.bc ../lib/llvmdcore.bc || exit 1 
    5955 
    6056echo "compiling object implementation" 
    61 llvmdc internal/objectimpl.d -c -odobj -g || exit 1 
     57llvmdc internal/objectimpl.d $LLVMDCFLAGS || exit 1 
     58mv object.bc objectimpl.bc 
     59mv *.bc obj 
    6260llvm-link -f -o=../lib/llvmdcore.bc obj/objectimpl.bc ../lib/llvmdcore.bc || exit 1 
    6361 
     62echo "compiling crc32" 
     63llvmdc crc32.d $LLVMDCFLAGS || exit 1 
     64mv *.bc obj 
     65llvm-link -f -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc obj/crc32.bc || exit 1 
     66 
    6467echo "compiling llvm runtime support" 
    65 ./llvmdc-build llvmsupport.d $LLVMDCFLAGS || exit 1 
     68# ./llvmdc-build llvmsupport.d $LLVMDCFLAGS || exit 1 
     69llvmdc llvmsupport.d -oq -c || exit 1 
    6670mv *.bc obj 
    67 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/llvm.*.bc` ../lib/llvmdcore.bc || exit 1 
     71llvm-link -f -o=../lib/llvmdcore.bc `ls obj/llvm*.bc` ../lib/llvmdcore.bc || exit 1 
    6872 
    6973echo "compiling garbage collector" 
     
    7377# llvmdc gcx.d $LLVMDCFLAGS -I.. || exit 1 
    7478# llvmdc gcbits.d $LLVMDCFLAGS -I.. || exit 1 
    75 # llvmdc gc.d $LLVMDCFLAGS -I.. || exit 1 
    76 mv std.gc.bc gc.bc 
     79# llvmdc gc.d -oq -c -I.. || exit 1 
     80mv std.gc.bc std_gc.bc 
    7781mv *.bc ../obj 
     82# mv -v obj/*.bc ../obj  
    7883cd .. 
    79 llvm-link -f -o=../lib/llvmdcore.bc obj/gclinux.bc obj/gcx.bc obj/gcbits.bc obj/gc.bc ../lib/llvmdcore.bc || exit 1 
     84llvm-link -f -o=../lib/llvmdcore.bc obj/gclinux.bc obj/gcx.bc obj/gcbits.bc obj/std_gc.bc ../lib/llvmdcore.bc || exit 1 
    8085 
    8186echo "compiling phobos" 
     
    8388mv *.bc obj 
    8489echo "linking phobos" 
    85 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/std.*.bc` ../lib/llvmdcore.bc || exit 1 
     90# llvm-link -f -o=../lib/llvmdcore.bc `ls obj/std.*.bc` ../lib/llvmdcore.bc || exit 1 
     91for i in $(ls obj/std.*.bc); do 
     92    echo $i 
     93    llvm-link -f -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc $i || exit 1 
     94done 
    8695 
    8796echo "Compiling auxiliary" 
     
    91100 
    92101echo "optimizing" 
    93 opt -stats -p -f -std-compile-opts -disable-inlining -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1 
    94  
     102opt -stats -p -f -std-compile-opts -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1 
    95103 
    96104echo "SUCCESS" 
  • lphobos/gc/gc.d

    r473 r662  
    277277} 
    278278 
     279void* _d_newarrayvT(TypeInfo ti, size_t length) { 
     280  return _d_newarrayT(ti, length); 
     281} 
     282 
    279283/* For when the array has a non-zero initializer. 
    280284 */ 
     
    10271031}*/ 
    10281032 
    1029 extern(C) void* _d_allocmemoryT(size_t foo) { return malloc(foo).ptr; } 
     1033extern(C) void* _d_allocmemoryT(TypeInfo ti) { 
     1034  return malloc(ti.tsize).ptr; // Tit size :) 
     1035
  • lphobos/internal/adi.d

    r473 r662  
    245245        { 
    246246        //version (Win32) 
    247             tmp = cast(byte*) alloca(szelem); 
     247            //tmp = cast(byte*) alloca(szelem); 
    248248        //else 
    249             //tmp = new byte[szelem]
     249            tmp = (new byte[szelem]).ptr
    250250        } 
    251251 
  • lphobos/internal/eh.d

    r473 r662  
    288288  } 
    289289   
    290   printf("Assertion failure ;_;\n"); 
    291   assert(false); 
     290  /*printf("Assertion failure ;_;\n"); 
     291  assert(false);*/ 
    292292} 
    293293 
     
    354354} // end of x86 Linux specific implementation 
    355355 
     356extern(C) void* malloc(size_t size); 
    356357 
    357358extern(C) void _d_throw_exception(Object e) 
     
    359360    if (e !is null) 
    360361    { 
    361         _d_exception* exc_struct = new _d_exception; 
     362        // _d_exception* exc_struct = new _d_exception; 
     363        auto exc_struct = cast(_d_exception*)malloc(_d_exception.sizeof); 
    362364        exc_struct.unwind_info.exception_class[] = _d_exception_class; 
    363365        exc_struct.exception_object = e; 
  • lphobos/llvmdc.conf

    r476 r662  
    22[Environment] 
    33 
    4 DFLAGS=-I%@P%/../lphobos -I%@P%/../import -L-L%@P%/../lib -R%@P%/../lib 
     4DFLAGS=-I%@P%/../lphobos -I%@P%/../import -L-L%@P%/../lib 
     5# -R%@P%/../lib 
  • lphobos/object.d

    r473 r662  
    8282} 
    8383 
     84pragma(no_typeinfo) 
    8485class TypeInfo_Typedef : TypeInfo 
    8586{ 
     
    206207    this(string msg, Error next); 
    207208} 
     209 
  • lphobos/std/dateparse.d

    r473 r662  
    4949 
    5050    //version (Win32) 
    51         buffer = (cast(char *)alloca(s.length))[0 .. s.length]; 
     51        buffer = (cast(char *)/*alloca*/malloc(s.length))[0 .. s.length]; 
    5252    //else 
    5353        //buffer = new char[s.length]; 
  • lphobos/std/file.d

    r473 r662  
    4343private import std.regexp; 
    4444private import std.gc; 
     45 
     46version(linux) version = Unix; 
    4547 
    4648/* =========================== Win32 ======================= */ 
  • lphobos/std/format.d

    r131 r662  
    569569            break; 
    570570            sl = fbuf.length * 2; 
    571             fbuf = (cast(char*)alloca(sl * char.sizeof))[0 .. sl]; 
     571            fbuf = (cast(char*)/*alloca*/malloc(sl * char.sizeof))[0 .. sl]; 
    572572        } 
    573573        putstr(fbuf[0 .. sl]); 
     
    614614            else 
    615615            sl = n + 1; 
    616             fbuf = (cast(char*)alloca(sl * char.sizeof))[0 .. sl]; 
     616            fbuf = (cast(char*)/*alloca*/malloc(sl * char.sizeof))[0 .. sl]; 
    617617        } 
    618618        putstr(fbuf[0 .. sl]); 
  • lphobos/std/mmfile.d

    r473 r662  
    3939private import std.c.stdlib; 
    4040private import std.string; 
     41 
     42version(linux) version = Unix; 
    4143 
    4244//debug = MMFILE; 
  • lphobos/std/outbuffer.d

    r473 r662  
    269269            break; 
    270270        psize *= 2; 
    271         p = cast(char *) alloca(psize);   // buffer too small, try again with larger size 
     271        p = cast(char *) /*alloca*/malloc(psize); // buffer too small, try again with larger size 
    272272        } 
    273273        else version(GNU) { 
     
    279279        else 
    280280            break; 
    281         p = cast(char *) alloca(psize);   // buffer too small, try again with larger size 
     281        p = cast(char *) /*alloca*/std.gc.malloc(psize);  // buffer too small, try again with larger size 
    282282        } 
    283283        else version(linux) 
     
    295295        p = (char *) c.stdlib.malloc(psize);    // buffer too small, try again with larger size 
    296296        +/ 
    297         p = cast(char *) alloca(psize);   // buffer too small, try again with larger size 
     297        p = cast(char *) /*alloca*/std.gc.malloc(psize);  // buffer too small, try again with larger size 
    298298        } 
    299299    } 
  • lphobos/std/outofmemory.d

    r89 r662  
    3434extern (C) void _d_OutOfMemory() 
    3535{ 
    36     assert(0); 
    37     /*throw cast(OutOfMemoryException) 
     36    printf("Out of memory!\n"); 
     37    *(cast(int*) 0) = 0; 
     38    throw cast(OutOfMemoryException) 
    3839      cast(void *) 
    39       OutOfMemoryException.classinfo.init;*/ 
     40      OutOfMemoryException.classinfo.init; 
    4041} 
    4142 
  • lphobos/std/path.d

    r473 r662  
    2929 
    3030import std.string; 
     31 
     32version(linux) version = Unix; 
    3133 
    3234version(Unix) 
  • lphobos/std/process.d

    r473 r662  
    4343private import std.string; 
    4444private import std.c.process; 
     45 
     46version(linux) version = Unix; 
    4547 
    4648/** 
  • lphobos/std/random.d

    r473 r662  
    1717// Segments of the code in this file Copyright (c) 1997 by Rick Booth 
    1818// From "Inner Loops" by Rick Booth, Addison-Wesley 
     19 
     20version(linux) version = Unix; 
    1921 
    2022version (Win32) 
  • lphobos/std/regexp.d

    r473 r662  
    18211821        { 
    18221822            //version (Win32) 
    1823             psave = cast(regmatch_t *)alloca((re_nsub + 1) * regmatch_t.sizeof); 
     1823            psave = cast(regmatch_t *)/*alloca*/malloc((re_nsub + 1) * regmatch_t.sizeof); 
    18241824            //else 
    18251825            //psave = new regmatch_t[re_nsub + 1]; 
  • lphobos/std/socket.d

    r473 r662  
    4545private import std.string, std.stdint, std.c.string, std.c.stdlib; 
    4646 
    47  
     47version(linux) version = Unix; 
    4848version(Unix) version = BsdSockets; 
    4949 
  • lphobos/std/stream.d

    r473 r662  
    11401140      break; 
    11411141    psize *= 2; 
    1142     p = cast(char*) alloca(psize); 
     1142    p = cast(char*) /*alloca*/malloc(psize); 
    11431143      } else version (Unix) { 
    11441144    count = vsnprintf(p, psize, f, args_copy); 
     
    11491149    else 
    11501150      break; 
    1151     p = cast(char*) alloca(psize); 
     1151    p = cast(char*) /*alloca*/malloc(psize); 
    11521152      } else 
    11531153      throw new Exception("unsupported platform"); 
     
    17791779  Append = 10 // includes FileMode.Out 
    17801780} 
     1781 
     1782version(linux) version = Unix; 
    17811783 
    17821784version (Win32) { 
     
    22332235 * kept in sync with the EndianStream if only non-getc functions are called. 
    22342236 */ 
    2235 class EndianStream : FilterStream { 
     2237/// This causes a crash in -O2 
     2238/+class EndianStream : FilterStream { 
    22362239 
    22372240  Endian endian;        /// Endianness property of the source stream. 
     
    25112514  } 
    25122515} 
     2516+/ 
    25132517 
    25142518/*** 
Copyright © 2008, LDC Development Team.