Return to rpltypes.h CVS log | Up to [local] / rpl / src |
Correction d'une réinitialisation sauvage de la pile des variables par niveau dans la copie de la structure de description du processus. Cela corrige la fonction SPAWN qui échouait sur un segmentation fault car la pile des variables par niveau était vide alors même que l'arbre des variables contenait bien les variables. Passage à la prerelease 2.
1: /* 2: ================================================================================ 3: RPL/2 (R) version 4.1.0.prerelease.2 4: Copyright (C) 1989-2011 Dr. BERTRAND Joël 5: 6: This file is part of RPL/2. 7: 8: RPL/2 is free software; you can redistribute it and/or modify it 9: under the terms of the CeCILL V2 License as published by the french 10: CEA, CNRS and INRIA. 11: 12: RPL/2 is distributed in the hope that it will be useful, but WITHOUT 13: ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14: FITNESS FOR A PARTICULAR PURPOSE. See the CeCILL V2 License 15: for more details. 16: 17: You should have received a copy of the CeCILL License 18: along with RPL/2. If not, write to info@cecill.info. 19: ================================================================================ 20: */ 21: 22: 23: #ifndef INCLUSION_RPLTYPES 24: # define INCLUSION_RPLTYPES 25: 26: # ifdef RPLCONFIG 27: # define HAVE_CONFIG_H 28: # endif 29: 30: # ifdef HAVE_CONFIG_H 31: 32: /* 33: -------------------------------------------------------------------------------- 34: Configuratoin héritée du script configure 35: -------------------------------------------------------------------------------- 36: */ 37: 38: # include "rplconfig.h" 39: 40: /* 41: * Entiers 42: */ 43: 44: # if (SIZEOF_CHAR == 1) 45: # ifndef _INT1 46: # define _INT1 47: typedef signed char integer1; 48: typedef unsigned char logical1; 49: typedef logical1 unsigned_integer1; 50: # endif 51: # endif 52: 53: # if (SIZEOF_SHORT_INT == 2) 54: # ifndef _INT2 55: # define _INT2 56: typedef short int integer2; 57: typedef unsigned short int logical2; 58: typedef logical2 unsigned_integer2; 59: # endif 60: # endif 61: 62: # if (SIZEOF_INT == 4) 63: # ifndef _INT4 64: # define _INT4 65: typedef int integer4; 66: typedef unsigned int logical4; 67: typedef logical4 unsigned_integer4; 68: # endif 69: # endif 70: 71: # if (SIZEOF_LONG_INT == 4) 72: # ifndef _INT4 73: # define _INT4 74: typedef long int integer4; 75: typedef unsigned long int logical4; 76: typedef logical4 unsigned_integer4; 77: # endif 78: # endif 79: 80: # if (SIZEOF_LONG_INT == 8) 81: # ifndef _INT8 82: # define _INT8 83: typedef long long int integer8; 84: typedef unsigned long long int logical8; 85: typedef logical8 unsigned_integer8; 86: # endif 87: # endif 88: 89: # if (SIZEOF_LONG_LONG_INT == 8) 90: # ifndef _INT8 91: # define _INT8 92: typedef long long int integer8; 93: typedef unsigned long long int logical8; 94: typedef logical8 unsigned_integer8; 95: # endif 96: # endif 97: 98: # if (SIZEOF_FLOAT == 4) 99: # ifndef _REAL4 100: # define _REAL4 101: typedef float real4; 102: # endif 103: # endif 104: 105: # if (SIZEOF_DOUBLE == 8) 106: # ifndef _REAL8 107: # define _REAL8 108: typedef double real8; 109: # endif 110: # endif 111: 112: # if (SIZEOF_LONG_DOUBLE == 8) 113: # ifndef _REAL8 114: # define _REAL8 115: typedef long double real8; 116: # endif 117: # endif 118: 119: # ifndef _INT1 120: # error "INTEGER*1 is not defined !" 121: # endif 122: 123: # ifndef _INT2 124: # error "INTEGER*2 is not defined !" 125: # endif 126: 127: # ifndef _INT4 128: # error "INTEGER*4 is not defined !" 129: # endif 130: 131: # ifndef _INT8 132: # error "INTEGER*8 is not defined !" 133: # endif 134: 135: # ifndef _REAL4 136: # error "REAL*4 is not defined !" 137: # endif 138: 139: # ifndef _REAL8 140: # error "REAL*8 is not defined !" 141: # endif 142: # else 143: 144: /* 145: -------------------------------------------------------------------------------- 146: Configuration par défaut en absence du fichier rplconfig.h 147: -------------------------------------------------------------------------------- 148: */ 149: 150: # warning "rplconfig.h header not found !" 151: 152: typedef unsigned char logical1; 153: typedef unsigned short int logical2; 154: typedef unsigned int logical4; 155: typedef unsigned long long int logical8; 156: 157: typedef signed char integer1; 158: typedef short int integer2; 159: typedef int integer4; 160: typedef long long int integer8; 161: 162: typedef logical1 unsigned_integer1; 163: typedef logical2 unsigned_integer2; 164: typedef logical4 unsigned_integer4; 165: typedef logical8 unsigned_integer8; 166: 167: typedef float real4; 168: typedef double real8; 169: # endif 170: 171: typedef struct complex8 172: { 173: real4 partie_reelle; 174: real4 partie_imaginaire; 175: } struct_complexe8; 176: 177: typedef struct complex16 178: { 179: real8 partie_reelle; 180: real8 partie_imaginaire; 181: } struct_complexe16; 182: 183: typedef struct_complexe8 complex8; 184: typedef struct_complexe16 complex16; 185: #endif 186: 187: // vim: ts=4