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

Changeset 872:aa953cc960b6

Show
Ignore:
Timestamp:
01/04/09 09:49:28 (3 years ago)
Author:
Christian Kamm <kamm incasoftware de>
branch:
default
Message:

Apply BlueZeniX's patch for OpenSolaris? compatibility. Fixes #158.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • dmd/array.c

    r285 r872  
    1414#include <assert.h> 
    1515 
     16#if (defined (__SVR4) && defined (__sun))  
     17#include <alloca.h> 
     18#endif 
     19 
    1620#if _MSC_VER || __MINGW32__ 
    1721#include <malloc.h> 
  • dmd/inifile.c

    r571 r872  
    1010#include    <stdlib.h> 
    1111#include    <ctype.h> 
     12 
     13#if (defined (__SVR4) && defined (__sun)) 
     14#include <alloca.h> 
     15#endif 
    1216 
    1317#include    "root.h" 
  • dmd/lexer.c

    r846 r872  
    88// in artistic.txt, or the GNU General Public License in gnu.txt. 
    99// See the included readme.txt for details. 
     10 
     11#define __C99FEATURES__ 1 
    1012 
    1113/* Lexical Analyzer */ 
  • dmd/mars.c

    r853 r872  
    339339#elif __FreeBSD__ 
    340340    global.params.os = OSFreeBSD; 
     341#elif defined (__SVR4) && defined (__sun) 
     342    global.params.os = OSSolaris; 
    341343#else 
    342 #error Unsupported OS 
     344 #error Unsupported OS 
    343345#endif /* linux */ 
    344346 
     
    695697            else if(strcmp(p + 2, "FreeBSD") == 0) 
    696698                global.params.os = OSFreeBSD; 
     699            else if(strcmp(p + 2, "Solaris") == 0) 
     700                global.params.os = OSSolaris; 
    697701            else 
    698702                error("unrecognized target os '%s'", p + 2); 
     
    930934    break; 
    931935 
     936    case OSSolaris: 
     937    VersionCondition::addPredefinedGlobalIdent("solaris"); 
     938    VersionCondition::addPredefinedGlobalIdent("Posix"); 
     939    break; 
     940 
    932941    default: 
    933942    assert(false && "Target OS not supported"); 
  • dmd/mars.h

    r853 r872  
    6262    OSWindows, 
    6363    OSMacOSX, 
    64     OSFreeBSD 
     64    OSFreeBSD, 
     65    OSSolaris, 
    6566}; 
    6667 
  • dmd/module.c

    r751 r872  
    1212#include <stdlib.h> 
    1313#include <assert.h> 
     14 
     15#if (defined (__SVR4) && defined (__sun)) 
     16#include <alloca.h> 
     17#endif 
    1418 
    1519#if _MSC_VER || __MINGW32__ 
  • dmd/mtype.c

    r846 r872  
    99// See the included readme.txt for details. 
    1010 
     11#define __C99FEATURES__ 1   // Needed on Solaris for NaN and more 
    1112#define __USE_ISOC99 1      // so signbit() gets defined 
     13 
     14#if (defined (__SVR4) && defined (__sun)) 
     15#include <alloca.h> 
     16#endif 
     17 
    1218#include <math.h> 
    1319 
  • dmd/root.c

    r846 r872  
    1414#include <stdint.h> 
    1515#include <assert.h> 
     16 
     17#if (defined (__SVR4) && defined (__sun)) 
     18#include <alloca.h> 
     19#endif 
    1620 
    1721#if _MSC_VER ||__MINGW32__ 
  • runtime/internal/critical.c

    r637 r872  
    7676/* ================================= linux ============================ */ 
    7777 
    78 #if linux || __APPLE__ || __FreeBSD__ 
     78#if linux || __APPLE__ || __FreeBSD__ || (defined(__SVR4) && defined (__sun)) 
    7979 
    8080#include    <stdio.h> 
  • runtime/internal/eh.d

    r794 r872  
    1515    version(linux) version=X86_UNWIND; 
    1616    version(darwin) version=X86_UNWIND; 
     17    version(solaris) version=X86_UNWIND; 
    1718} 
    1819version(X86_64) { 
    1920    version(linux) version=X86_UNWIND; 
     21    version(solaris) version=X86_UNWIND; 
    2022} 
    2123 
  • runtime/internal/memory.d

    r794 r872  
    7474 * 
    7575 */ 
     76 
     77version( solaris ) {     
     78    version(X86_64) { 
     79        extern (C) void* _userlimit; 
     80    } 
     81} 
     82 
    7683extern (C) void* rt_stackBottom() 
    7784{ 
     
    110117        // darwin has a fixed stack bottom 
    111118        return cast(void*) 0xc0000000; 
     119    } 
     120    else version( solaris ) 
     121    { 
     122        version(X86_64) { 
     123            return _userlimit; 
     124        } 
     125        else { 
     126            // <sys/vmparam.h> 
     127            return cast(void*) 0x8048000; 
     128        } 
    112129    } 
    113130    else 
  • runtime/internal/monitor.c

    r563 r872  
    1313 
    1414#if _WIN32 
    15 #elif linux || __APPLE__ 
     15#elif linux || __APPLE__ || (defined (__SVR4) && defined (__sun)) 
    1616#define USE_PTHREADS    1 
    1717#else 
Copyright © 2008, LDC Development Team.