Changeset f92a39 in git
- Timestamp:
- Oct 15, 2012, 7:44:58 PM (11 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '00e2e9c41af3fde1273eb3633f4c0c7c3db2579d')
- Children:
- d6b9d791f6efb67f432972147de4dfd0f4081862
- Parents:
- 17874ed75ee295b8f839c9c6087da10a82e6ff2e
- Location:
- Singular
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/grammar.cc
r17874e rf92a39 4038 4038 #line 1605 "grammar.y" 4039 4039 { 4040 if(iiRETURNEXPR==NULL) YYERROR; 4041 iiRETURNEXPR[myynest].Copy(&(yyvsp[(3) - (4)].lv)); 4040 iiRETURNEXPR.Copy(&(yyvsp[(3) - (4)].lv)); 4042 4041 (yyvsp[(3) - (4)].lv).CleanUp(); 4043 4042 if (exitBuffer(BT_proc)) YYERROR; … … 4052 4051 if ((yyvsp[(1) - (3)].i)==RETURN) 4053 4052 { 4054 if(iiRETURNEXPR==NULL) YYERROR; 4055 iiRETURNEXPR[myynest].Init(); 4056 iiRETURNEXPR[myynest].rtyp=NONE; 4053 iiRETURNEXPR.Init(); 4054 iiRETURNEXPR.rtyp=NONE; 4057 4055 if (exitBuffer(BT_proc)) YYERROR; 4058 4056 } -
Singular/grammar.y
r17874e rf92a39 1605 1605 RETURN '(' exprlist ')' 1606 1606 { 1607 if(iiRETURNEXPR==NULL) YYERROR; 1608 iiRETURNEXPR[myynest].Copy(&$3); 1607 iiRETURNEXPR.Copy(&$3); 1609 1608 $3.CleanUp(); 1610 1609 if (exitBuffer(BT_proc)) YYERROR; … … 1614 1613 if ($1==RETURN) 1615 1614 { 1616 if(iiRETURNEXPR==NULL) YYERROR; 1617 iiRETURNEXPR[myynest].Init(); 1618 iiRETURNEXPR[myynest].rtyp=NONE; 1615 iiRETURNEXPR.Init(); 1616 iiRETURNEXPR.rtyp=NONE; 1619 1617 if (exitBuffer(BT_proc)) YYERROR; 1620 1618 } -
Singular/iparith.cc
r17874e rf92a39 1588 1588 memcpy(res,sl,sizeof(sleftv)); 1589 1589 } 1590 iiRETURNEXPR.Init(); 1590 1591 return FALSE; 1591 1592 } -
Singular/iplib.cc
r17874e rf92a39 380 380 ring *iiLocalRing; 381 381 #endif 382 sleftv *iiRETURNEXPR;382 sleftv iiRETURNEXPR; 383 383 int iiRETURNEXPR_len=0; 384 384 … … 417 417 if (myynest >= iiRETURNEXPR_len-1) 418 418 { 419 iiRETURNEXPR=(sleftv *)omreallocSize(iiRETURNEXPR,420 iiRETURNEXPR_len*sizeof(sleftv),421 (iiRETURNEXPR_len+16)*sizeof(sleftv));422 omMarkAsStaticAddr(iiRETURNEXPR);423 memset(&(iiRETURNEXPR[iiRETURNEXPR_len]),0,16*sizeof(sleftv));424 419 #ifdef USE_IILOCALRING 425 420 iiLocalRing=(ring *)omreallocSize(iiLocalRing, … … 446 441 //Print("currRing(%d):%s(%x) in %s\n",myynest,IDID(currRingHdl),currRing,IDID(pn)); 447 442 #endif 448 iiRETURNEXPR [myynest+1].Init();443 iiRETURNEXPR.Init(); 449 444 procstack->push(pi->procname); 450 445 if ((traceit&TRACE_SHOW_PROC) … … 485 480 leftv res = (leftv)omAlloc0Bin(sleftv_bin); 486 481 err = (pi->data.o.function)(res, sl); 487 iiRETURNEXPR [myynest+1].Copy(res);482 iiRETURNEXPR.Copy(res); 488 483 omFreeBin((ADDRESS)res, sleftv_bin); 489 484 break; … … 503 498 if (err) 504 499 { 505 iiRETURNEXPR [myynest+1].CleanUp();506 //iiRETURNEXPR [myynest+1].Init(); //done by CleanUp500 iiRETURNEXPR.CleanUp(); 501 //iiRETURNEXPR.Init(); //done by CleanUp 507 502 } 508 503 #ifdef USE_IILOCALRING … … 514 509 if (currRing!=NULL) 515 510 { 516 if (((iiRETURNEXPR [myynest+1].Typ()>BEGIN_RING)517 && (iiRETURNEXPR [myynest+1].Typ()<END_RING))518 || ((iiRETURNEXPR [myynest+1].Typ()==LIST_CMD)519 && (lRingDependend((lists)iiRETURNEXPR [myynest+1].Data()))))511 if (((iiRETURNEXPR.Typ()>BEGIN_RING) 512 && (iiRETURNEXPR.Typ()<END_RING)) 513 || ((iiRETURNEXPR.Typ()==LIST_CMD) 514 && (lRingDependend((lists)iiRETURNEXPR.Data())))) 520 515 { 521 516 //idhdl hn; … … 532 527 else n="none"; 533 528 Werror("ring change during procedure call: %s -> %s (level %d)",o,n,myynest); 534 iiRETURNEXPR [myynest+1].CleanUp();529 iiRETURNEXPR.CleanUp(); 535 530 err=TRUE; 536 531 } … … 557 552 //Print(" curr:%s\n",IDID(currRingHdl)); 558 553 //Print("pr:%x, curr: %x\n",procstack->cRing,currRing); 559 if (((iiRETURNEXPR [myynest+1].Typ()>BEGIN_RING)560 && (iiRETURNEXPR [myynest+1].Typ()<END_RING))561 || ((iiRETURNEXPR [myynest+1].Typ()==LIST_CMD)562 && (lRingDependend((lists)iiRETURNEXPR [myynest+1].Data()))))554 if (((iiRETURNEXPR.Typ()>BEGIN_RING) 555 && (iiRETURNEXPR.Typ()<END_RING)) 556 || ((iiRETURNEXPR.Typ()==LIST_CMD) 557 && (lRingDependend((lists)iiRETURNEXPR.Data())))) 563 558 { 564 559 //idhdl hn; … … 585 580 { 586 581 Werror("ring change during procedure call: %s -> %s",o,n); 587 iiRETURNEXPR [myynest+1].CleanUp();582 iiRETURNEXPR.CleanUp(); 588 583 err=TRUE; 589 584 } … … 607 602 if (err) 608 603 return NULL; 609 return &iiRETURNEXPR [myynest+1];604 return &iiRETURNEXPR; 610 605 } 611 606 … … 630 625 } 631 626 myynest++; 632 iiRETURNEXPR[myynest].Init();633 627 634 628 err=iiAllStart(pi,example,BT_example,(pi != NULL ? pi->data.s.example_lineno: 0)); -
Singular/ipshell.cc
r17874e rf92a39 393 393 if (iiRETURNEXPR_len > myynest) 394 394 { 395 int t=iiRETURNEXPR [myynest].Typ();396 if ((/*iiRETURNEXPR [myynest].Typ()*/ t==RING_CMD)397 || (/*iiRETURNEXPR [myynest].Typ()*/ t==QRING_CMD))398 { 399 leftv h=&iiRETURNEXPR [myynest];395 int t=iiRETURNEXPR.Typ(); 396 if ((/*iiRETURNEXPR.Typ()*/ t==RING_CMD) 397 || (/*iiRETURNEXPR.Typ()*/ t==QRING_CMD)) 398 { 399 leftv h=&iiRETURNEXPR; 400 400 if (((ring)h->data)->idroot!=NULL) 401 401 killlocals0(v,&(((ring)h->data)->idroot),(ring)h->data); 402 402 } 403 else if (/*iiRETURNEXPR [myynest].Typ()*/ t==LIST_CMD)404 { 405 leftv h=&iiRETURNEXPR [myynest];403 else if (/*iiRETURNEXPR.Typ()*/ t==LIST_CMD) 404 { 405 leftv h=&iiRETURNEXPR; 406 406 changed |=killlocals_list(v,(lists)h->data); 407 407 } … … 2147 2147 // 5: D 2148 2148 2149 ring R = (ring) omAlloc0Bin(sip_sring_bin); // why 2150 2151 2152 //assume( R->cf == NULL ); 2149 ring R = (ring) omAlloc0Bin(sip_sring_bin); 2150 2153 2151 2154 2152 // ------------------------------------------------------------------ … … 2486 2484 2487 2485 #ifdef HAVE_RINGS 2488 // This was a BUG IN SINGULAR: There is no HABE_RINGS!!!2489 2490 2486 // currently, coefficients which are ring elements require a global ordering: 2491 2487 if (rField_is_Ring(R) && (R->OrdSgn==-1)) … … 5584 5580 sLastPrinted.CleanUp(); 5585 5581 } 5586 if ((myynest>0) && (iiRETURNEXPR [myynest].RingDependend()))5582 if ((myynest>0) && (iiRETURNEXPR.RingDependend())) 5587 5583 { 5588 5584 WerrorS("return value depends on local ring variable (export missing ?)"); 5589 iiRETURNEXPR [myynest].CleanUp();5585 iiRETURNEXPR.CleanUp(); 5590 5586 } 5591 5587 currRing=NULL; -
Singular/ipshell.h
r17874e rf92a39 27 27 extern const char * currid; 28 28 extern int iiRETURNEXPR_len; 29 extern sleftv *iiRETURNEXPR;29 extern sleftv iiRETURNEXPR; 30 30 #ifdef USE_IILOCALRING 31 31 extern ring *iiLocalRing; -
Singular/newstruct.cc
r17874e rf92a39 74 74 char *res = omStrDup((char*)sl->Data()); 75 75 sl->CleanUp(); 76 iiRETURNEXPR.Init(); 76 77 return res; 77 78 } 78 else79 sl->CleanUp();79 sl->CleanUp(); 80 iiRETURNEXPR.Init(); 80 81 } 81 82 … … 171 172 newstruct_desc nt=(newstruct_desc)ll->data; 172 173 newstruct_proc p=nt->procs; 173 174 174 175 while( (p!=NULL) && ((p->t!='=')||(p->args!=1)) ) p=p->next; 175 176 … … 187 188 if (sl != NULL) 188 189 { 189 if (sl->Typ() == op) { l->Copy(sl); return FALSE;} 190 else sl->CleanUp(); 190 if (sl->Typ() == op) 191 { 192 l->Copy(sl); 193 iiRETURNEXPR.Init(); 194 return FALSE; 195 } 196 sl->CleanUp(); 197 iiRETURNEXPR.Init(); 191 198 } 192 199 } … … 287 294 { 288 295 res->Copy(sl); 296 iiRETURNEXPR.Init(); 289 297 return FALSE; 290 298 } … … 417 425 { 418 426 res->Copy(sl); 427 iiRETURNEXPR.Init(); 419 428 return FALSE; 420 429 } … … 460 469 { 461 470 res->Copy(sl); 471 iiRETURNEXPR.Init(); 462 472 return FALSE; 463 473 } … … 594 604 hh.data.pinf=p->p; 595 605 sl=iiMake_proc(&hh,NULL,&tmp); 606 if (sl!=NULL) sl->CleanUp(); 607 iiRETURNEXPR.Init(); 596 608 } 597 609 else
Note: See TracChangeset
for help on using the changeset viewer.