--- rpl/src/instructions_f3.c 2010/03/04 10:17:51 1.5 +++ rpl/src/instructions_f3.c 2012/12/18 13:19:36 1.51 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.12 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.12 + Copyright (C) 1989-2012 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -72,8 +72,8 @@ instruction_format(struct_processus *s_e } printf(" { \"STANDARD*(*)\" }\n"); - printf(" { \"lambda\" 'SEQUENTIAL' 'NEW' 'WRITEONLY' 'FORMATTED' }" - " OPEN FORMAT\n\n"); + printf(" { { \"NAME\" \"lambda\" } \"SEQUENTIAL\" \"NEW\"" + "\"WRITEONLY\" \"FORMATTED\" } OPEN\n FORMAT\n\n"); if ((*s_etat_processus).langue == 'F') { @@ -108,8 +108,6 @@ instruction_format(struct_processus *s_e printf(" { \"CHARACTER\" }\n\n"); printf(" FLOW\n"); - printf(" { \"CHARACTER*(*)\" }\n"); - printf(" { \"CHARACTER*(%s)\" }\n", d_INT); printf(" { \"LENGTH*(*)\" }\n"); printf(" { \"LENGTH*(%s)\" }\n", d_INT); @@ -1629,6 +1627,15 @@ instruction_fleche_num(struct_processus sf(s_etat_processus, 31); } + if (registre_type_evaluation == 'E') + { + sf(s_etat_processus, 35); + } + else + { + cf(s_etat_processus, 35); + } + (*s_etat_processus).erreur_execution = d_ex_manque_argument; return; } @@ -1640,6 +1647,15 @@ instruction_fleche_num(struct_processus sf(s_etat_processus, 31); } + if (registre_type_evaluation == 'E') + { + sf(s_etat_processus, 35); + } + else + { + cf(s_etat_processus, 35); + } + return; } @@ -1653,6 +1669,15 @@ instruction_fleche_num(struct_processus sf(s_etat_processus, 31); } + if (registre_type_evaluation == 'E') + { + sf(s_etat_processus, 35); + } + else + { + cf(s_etat_processus, 35); + } + liberation(s_etat_processus, s_objet); return; } @@ -1788,24 +1813,30 @@ instruction_fuse(struct_processus *s_eta return; } +# ifdef SCHED_OTHER if (pthread_attr_setschedpolicy(&attributs, SCHED_OTHER) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; } +# endif +# ifdef PTHREAD_EXPLICIT_SCHED if (pthread_attr_setinheritsched(&attributs, PTHREAD_EXPLICIT_SCHED) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; } +# endif +# ifdef PTHREAD_SCOPE_SYSTEM if (pthread_attr_setscope(&attributs, PTHREAD_SCOPE_SYSTEM) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; } +# endif if (pthread_create(&(*s_etat_processus).thread_fusible, &attributs, fusible, s_etat_processus) != 0) @@ -1813,7 +1844,7 @@ instruction_fuse(struct_processus *s_eta (*s_etat_processus).erreur_systeme = d_es_processus; return; } - + if (pthread_attr_destroy(&attributs) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus;