aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-02-04 08:14:11 +0100
committerTristan Gingold <tgingold@free.fr>2021-02-04 08:15:59 +0100
commit3c7ad475444f5ad8075df9127a80f83879ae71dd (patch)
treecd40e7a803b41d621c874c20b49a1e186fc16a4b
parent38025814efbba57d7527f37b16847b114815ab62 (diff)
downloadghdl-3c7ad475444f5ad8075df9127a80f83879ae71dd.tar.gz
ghdl-3c7ad475444f5ad8075df9127a80f83879ae71dd.tar.bz2
ghdl-3c7ad475444f5ad8075df9127a80f83879ae71dd.zip
vhdl: recognize to_stdlogicvector. For #1628
-rw-r--r--pyGHDL/libghdl/vhdl/nodes.py433
-rw-r--r--src/vhdl/vhdl-ieee-numeric_std_unsigned.adb31
-rw-r--r--src/vhdl/vhdl-nodes.ads1
3 files changed, 243 insertions, 222 deletions
diff --git a/pyGHDL/libghdl/vhdl/nodes.py b/pyGHDL/libghdl/vhdl/nodes.py
index 659813d1e..976cc4457 100644
--- a/pyGHDL/libghdl/vhdl/nodes.py
+++ b/pyGHDL/libghdl/vhdl/nodes.py
@@ -1515,222 +1515,223 @@ class Iir_Predefined:
Ieee_Numeric_Std_To_01_Uns = 435
Ieee_Numeric_Std_To_01_Sgn = 436
Ieee_Numeric_Std_Unsigned_To_Integer_Slv_Nat = 437
- Ieee_Math_Real_Ceil = 438
- Ieee_Math_Real_Floor = 439
- Ieee_Math_Real_Round = 440
- Ieee_Math_Real_Log2 = 441
- Ieee_Math_Real_Sin = 442
- Ieee_Math_Real_Cos = 443
- Ieee_Std_Logic_Unsigned_Add_Slv_Slv = 444
- Ieee_Std_Logic_Unsigned_Add_Slv_Int = 445
- Ieee_Std_Logic_Unsigned_Add_Int_Slv = 446
- Ieee_Std_Logic_Unsigned_Add_Slv_Log = 447
- Ieee_Std_Logic_Unsigned_Add_Log_Slv = 448
- Ieee_Std_Logic_Unsigned_Sub_Slv_Slv = 449
- Ieee_Std_Logic_Unsigned_Sub_Slv_Int = 450
- Ieee_Std_Logic_Unsigned_Sub_Int_Slv = 451
- Ieee_Std_Logic_Unsigned_Sub_Slv_Log = 452
- Ieee_Std_Logic_Unsigned_Sub_Log_Slv = 453
- Ieee_Std_Logic_Unsigned_Id_Slv = 454
- Ieee_Std_Logic_Unsigned_Mul_Slv_Slv = 455
- Ieee_Std_Logic_Unsigned_Lt_Slv_Slv = 456
- Ieee_Std_Logic_Unsigned_Lt_Slv_Int = 457
- Ieee_Std_Logic_Unsigned_Lt_Int_Slv = 458
- Ieee_Std_Logic_Unsigned_Le_Slv_Slv = 459
- Ieee_Std_Logic_Unsigned_Le_Slv_Int = 460
- Ieee_Std_Logic_Unsigned_Le_Int_Slv = 461
- Ieee_Std_Logic_Unsigned_Gt_Slv_Slv = 462
- Ieee_Std_Logic_Unsigned_Gt_Slv_Int = 463
- Ieee_Std_Logic_Unsigned_Gt_Int_Slv = 464
- Ieee_Std_Logic_Unsigned_Ge_Slv_Slv = 465
- Ieee_Std_Logic_Unsigned_Ge_Slv_Int = 466
- Ieee_Std_Logic_Unsigned_Ge_Int_Slv = 467
- Ieee_Std_Logic_Unsigned_Eq_Slv_Slv = 468
- Ieee_Std_Logic_Unsigned_Eq_Slv_Int = 469
- Ieee_Std_Logic_Unsigned_Eq_Int_Slv = 470
- Ieee_Std_Logic_Unsigned_Ne_Slv_Slv = 471
- Ieee_Std_Logic_Unsigned_Ne_Slv_Int = 472
- Ieee_Std_Logic_Unsigned_Ne_Int_Slv = 473
- Ieee_Std_Logic_Unsigned_Conv_Integer = 474
- Ieee_Std_Logic_Unsigned_Shl = 475
- Ieee_Std_Logic_Unsigned_Shr = 476
- Ieee_Std_Logic_Signed_Add_Slv_Slv = 477
- Ieee_Std_Logic_Signed_Add_Slv_Int = 478
- Ieee_Std_Logic_Signed_Add_Int_Slv = 479
- Ieee_Std_Logic_Signed_Add_Slv_Log = 480
- Ieee_Std_Logic_Signed_Add_Log_Slv = 481
- Ieee_Std_Logic_Signed_Sub_Slv_Slv = 482
- Ieee_Std_Logic_Signed_Sub_Slv_Int = 483
- Ieee_Std_Logic_Signed_Sub_Int_Slv = 484
- Ieee_Std_Logic_Signed_Sub_Slv_Log = 485
- Ieee_Std_Logic_Signed_Sub_Log_Slv = 486
- Ieee_Std_Logic_Signed_Id_Slv = 487
- Ieee_Std_Logic_Signed_Neg_Slv = 488
- Ieee_Std_Logic_Signed_Abs_Slv = 489
- Ieee_Std_Logic_Signed_Mul_Slv_Slv = 490
- Ieee_Std_Logic_Signed_Lt_Slv_Slv = 491
- Ieee_Std_Logic_Signed_Lt_Slv_Int = 492
- Ieee_Std_Logic_Signed_Lt_Int_Slv = 493
- Ieee_Std_Logic_Signed_Le_Slv_Slv = 494
- Ieee_Std_Logic_Signed_Le_Slv_Int = 495
- Ieee_Std_Logic_Signed_Le_Int_Slv = 496
- Ieee_Std_Logic_Signed_Gt_Slv_Slv = 497
- Ieee_Std_Logic_Signed_Gt_Slv_Int = 498
- Ieee_Std_Logic_Signed_Gt_Int_Slv = 499
- Ieee_Std_Logic_Signed_Ge_Slv_Slv = 500
- Ieee_Std_Logic_Signed_Ge_Slv_Int = 501
- Ieee_Std_Logic_Signed_Ge_Int_Slv = 502
- Ieee_Std_Logic_Signed_Eq_Slv_Slv = 503
- Ieee_Std_Logic_Signed_Eq_Slv_Int = 504
- Ieee_Std_Logic_Signed_Eq_Int_Slv = 505
- Ieee_Std_Logic_Signed_Ne_Slv_Slv = 506
- Ieee_Std_Logic_Signed_Ne_Slv_Int = 507
- Ieee_Std_Logic_Signed_Ne_Int_Slv = 508
- Ieee_Std_Logic_Signed_Conv_Integer = 509
- Ieee_Std_Logic_Signed_Shl = 510
- Ieee_Std_Logic_Signed_Shr = 511
- Ieee_Std_Logic_Arith_Conv_Unsigned_Int = 512
- Ieee_Std_Logic_Arith_Conv_Unsigned_Uns = 513
- Ieee_Std_Logic_Arith_Conv_Unsigned_Sgn = 514
- Ieee_Std_Logic_Arith_Conv_Unsigned_Log = 515
- Ieee_Std_Logic_Arith_Conv_Integer_Int = 516
- Ieee_Std_Logic_Arith_Conv_Integer_Uns = 517
- Ieee_Std_Logic_Arith_Conv_Integer_Sgn = 518
- Ieee_Std_Logic_Arith_Conv_Integer_Log = 519
- Ieee_Std_Logic_Arith_Conv_Vector_Int = 520
- Ieee_Std_Logic_Arith_Conv_Vector_Uns = 521
- Ieee_Std_Logic_Arith_Conv_Vector_Sgn = 522
- Ieee_Std_Logic_Arith_Conv_Vector_Log = 523
- Ieee_Std_Logic_Arith_Ext = 524
- Ieee_Std_Logic_Arith_Sxt = 525
- Ieee_Std_Logic_Arith_Id_Uns_Uns = 526
- Ieee_Std_Logic_Arith_Id_Sgn_Sgn = 527
- Ieee_Std_Logic_Arith_Neg_Sgn_Sgn = 528
- Ieee_Std_Logic_Arith_Abs_Sgn_Sgn = 529
- Ieee_Std_Logic_Arith_Shl_Uns = 530
- Ieee_Std_Logic_Arith_Shl_Sgn = 531
- Ieee_Std_Logic_Arith_Shr_Uns = 532
- Ieee_Std_Logic_Arith_Shr_Sgn = 533
- Ieee_Std_Logic_Arith_Id_Uns_Slv = 534
- Ieee_Std_Logic_Arith_Id_Sgn_Slv = 535
- Ieee_Std_Logic_Arith_Neg_Sgn_Slv = 536
- Ieee_Std_Logic_Arith_Abs_Sgn_Slv = 537
- Ieee_Std_Logic_Arith_Mul_Uns_Uns_Uns = 538
- Ieee_Std_Logic_Arith_Mul_Sgn_Sgn_Sgn = 539
- Ieee_Std_Logic_Arith_Mul_Sgn_Uns_Sgn = 540
- Ieee_Std_Logic_Arith_Mul_Uns_Sgn_Sgn = 541
- Ieee_Std_Logic_Arith_Mul_Uns_Uns_Slv = 542
- Ieee_Std_Logic_Arith_Mul_Sgn_Sgn_Slv = 543
- Ieee_Std_Logic_Arith_Mul_Sgn_Uns_Slv = 544
- Ieee_Std_Logic_Arith_Mul_Uns_Sgn_Slv = 545
- Ieee_Std_Logic_Arith_Add_Uns_Uns_Uns = 546
- Ieee_Std_Logic_Arith_Add_Sgn_Sgn_Sgn = 547
- Ieee_Std_Logic_Arith_Add_Uns_Sgn_Sgn = 548
- Ieee_Std_Logic_Arith_Add_Sgn_Uns_Sgn = 549
- Ieee_Std_Logic_Arith_Add_Uns_Int_Uns = 550
- Ieee_Std_Logic_Arith_Add_Int_Uns_Uns = 551
- Ieee_Std_Logic_Arith_Add_Sgn_Int_Sgn = 552
- Ieee_Std_Logic_Arith_Add_Int_Sgn_Sgn = 553
- Ieee_Std_Logic_Arith_Add_Uns_Log_Uns = 554
- Ieee_Std_Logic_Arith_Add_Log_Uns_Uns = 555
- Ieee_Std_Logic_Arith_Add_Sgn_Log_Sgn = 556
- Ieee_Std_Logic_Arith_Add_Log_Sgn_Sgn = 557
- Ieee_Std_Logic_Arith_Add_Uns_Uns_Slv = 558
- Ieee_Std_Logic_Arith_Add_Sgn_Sgn_Slv = 559
- Ieee_Std_Logic_Arith_Add_Uns_Sgn_Slv = 560
- Ieee_Std_Logic_Arith_Add_Sgn_Uns_Slv = 561
- Ieee_Std_Logic_Arith_Add_Uns_Int_Slv = 562
- Ieee_Std_Logic_Arith_Add_Int_Uns_Slv = 563
- Ieee_Std_Logic_Arith_Add_Sgn_Int_Slv = 564
- Ieee_Std_Logic_Arith_Add_Int_Sgn_Slv = 565
- Ieee_Std_Logic_Arith_Add_Uns_Log_Slv = 566
- Ieee_Std_Logic_Arith_Add_Log_Uns_Slv = 567
- Ieee_Std_Logic_Arith_Add_Sgn_Log_Slv = 568
- Ieee_Std_Logic_Arith_Add_Log_Sgn_Slv = 569
- Ieee_Std_Logic_Arith_Sub_Uns_Uns_Uns = 570
- Ieee_Std_Logic_Arith_Sub_Sgn_Sgn_Sgn = 571
- Ieee_Std_Logic_Arith_Sub_Uns_Sgn_Sgn = 572
- Ieee_Std_Logic_Arith_Sub_Sgn_Uns_Sgn = 573
- Ieee_Std_Logic_Arith_Sub_Uns_Int_Uns = 574
- Ieee_Std_Logic_Arith_Sub_Int_Uns_Uns = 575
- Ieee_Std_Logic_Arith_Sub_Sgn_Int_Sgn = 576
- Ieee_Std_Logic_Arith_Sub_Int_Sgn_Sgn = 577
- Ieee_Std_Logic_Arith_Sub_Uns_Log_Uns = 578
- Ieee_Std_Logic_Arith_Sub_Log_Uns_Uns = 579
- Ieee_Std_Logic_Arith_Sub_Sgn_Log_Sgn = 580
- Ieee_Std_Logic_Arith_Sub_Log_Sgn_Sgn = 581
- Ieee_Std_Logic_Arith_Sub_Uns_Uns_Slv = 582
- Ieee_Std_Logic_Arith_Sub_Sgn_Sgn_Slv = 583
- Ieee_Std_Logic_Arith_Sub_Uns_Sgn_Slv = 584
- Ieee_Std_Logic_Arith_Sub_Sgn_Uns_Slv = 585
- Ieee_Std_Logic_Arith_Sub_Uns_Int_Slv = 586
- Ieee_Std_Logic_Arith_Sub_Int_Uns_Slv = 587
- Ieee_Std_Logic_Arith_Sub_Sgn_Int_Slv = 588
- Ieee_Std_Logic_Arith_Sub_Int_Sgn_Slv = 589
- Ieee_Std_Logic_Arith_Sub_Uns_Log_Slv = 590
- Ieee_Std_Logic_Arith_Sub_Log_Uns_Slv = 591
- Ieee_Std_Logic_Arith_Sub_Sgn_Log_Slv = 592
- Ieee_Std_Logic_Arith_Sub_Log_Sgn_Slv = 593
- Ieee_Std_Logic_Arith_Lt_Uns_Uns = 594
- Ieee_Std_Logic_Arith_Lt_Sgn_Sgn = 595
- Ieee_Std_Logic_Arith_Lt_Uns_Sgn = 596
- Ieee_Std_Logic_Arith_Lt_Sgn_Uns = 597
- Ieee_Std_Logic_Arith_Lt_Uns_Int = 598
- Ieee_Std_Logic_Arith_Lt_Int_Uns = 599
- Ieee_Std_Logic_Arith_Lt_Sgn_Int = 600
- Ieee_Std_Logic_Arith_Lt_Int_Sgn = 601
- Ieee_Std_Logic_Arith_Le_Uns_Uns = 602
- Ieee_Std_Logic_Arith_Le_Sgn_Sgn = 603
- Ieee_Std_Logic_Arith_Le_Uns_Sgn = 604
- Ieee_Std_Logic_Arith_Le_Sgn_Uns = 605
- Ieee_Std_Logic_Arith_Le_Uns_Int = 606
- Ieee_Std_Logic_Arith_Le_Int_Uns = 607
- Ieee_Std_Logic_Arith_Le_Sgn_Int = 608
- Ieee_Std_Logic_Arith_Le_Int_Sgn = 609
- Ieee_Std_Logic_Arith_Gt_Uns_Uns = 610
- Ieee_Std_Logic_Arith_Gt_Sgn_Sgn = 611
- Ieee_Std_Logic_Arith_Gt_Uns_Sgn = 612
- Ieee_Std_Logic_Arith_Gt_Sgn_Uns = 613
- Ieee_Std_Logic_Arith_Gt_Uns_Int = 614
- Ieee_Std_Logic_Arith_Gt_Int_Uns = 615
- Ieee_Std_Logic_Arith_Gt_Sgn_Int = 616
- Ieee_Std_Logic_Arith_Gt_Int_Sgn = 617
- Ieee_Std_Logic_Arith_Ge_Uns_Uns = 618
- Ieee_Std_Logic_Arith_Ge_Sgn_Sgn = 619
- Ieee_Std_Logic_Arith_Ge_Uns_Sgn = 620
- Ieee_Std_Logic_Arith_Ge_Sgn_Uns = 621
- Ieee_Std_Logic_Arith_Ge_Uns_Int = 622
- Ieee_Std_Logic_Arith_Ge_Int_Uns = 623
- Ieee_Std_Logic_Arith_Ge_Sgn_Int = 624
- Ieee_Std_Logic_Arith_Ge_Int_Sgn = 625
- Ieee_Std_Logic_Arith_Eq_Uns_Uns = 626
- Ieee_Std_Logic_Arith_Eq_Sgn_Sgn = 627
- Ieee_Std_Logic_Arith_Eq_Uns_Sgn = 628
- Ieee_Std_Logic_Arith_Eq_Sgn_Uns = 629
- Ieee_Std_Logic_Arith_Eq_Uns_Int = 630
- Ieee_Std_Logic_Arith_Eq_Int_Uns = 631
- Ieee_Std_Logic_Arith_Eq_Sgn_Int = 632
- Ieee_Std_Logic_Arith_Eq_Int_Sgn = 633
- Ieee_Std_Logic_Arith_Ne_Uns_Uns = 634
- Ieee_Std_Logic_Arith_Ne_Sgn_Sgn = 635
- Ieee_Std_Logic_Arith_Ne_Uns_Sgn = 636
- Ieee_Std_Logic_Arith_Ne_Sgn_Uns = 637
- Ieee_Std_Logic_Arith_Ne_Uns_Int = 638
- Ieee_Std_Logic_Arith_Ne_Int_Uns = 639
- Ieee_Std_Logic_Arith_Ne_Sgn_Int = 640
- Ieee_Std_Logic_Arith_Ne_Int_Sgn = 641
- Ieee_Std_Logic_Misc_And_Reduce_Slv = 642
- Ieee_Std_Logic_Misc_And_Reduce_Suv = 643
- Ieee_Std_Logic_Misc_Nand_Reduce_Slv = 644
- Ieee_Std_Logic_Misc_Nand_Reduce_Suv = 645
- Ieee_Std_Logic_Misc_Or_Reduce_Slv = 646
- Ieee_Std_Logic_Misc_Or_Reduce_Suv = 647
- Ieee_Std_Logic_Misc_Nor_Reduce_Slv = 648
- Ieee_Std_Logic_Misc_Nor_Reduce_Suv = 649
- Ieee_Std_Logic_Misc_Xor_Reduce_Slv = 650
- Ieee_Std_Logic_Misc_Xor_Reduce_Suv = 651
- Ieee_Std_Logic_Misc_Xnor_Reduce_Slv = 652
- Ieee_Std_Logic_Misc_Xnor_Reduce_Suv = 653
+ Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Nat_Slv = 438
+ Ieee_Math_Real_Ceil = 439
+ Ieee_Math_Real_Floor = 440
+ Ieee_Math_Real_Round = 441
+ Ieee_Math_Real_Log2 = 442
+ Ieee_Math_Real_Sin = 443
+ Ieee_Math_Real_Cos = 444
+ Ieee_Std_Logic_Unsigned_Add_Slv_Slv = 445
+ Ieee_Std_Logic_Unsigned_Add_Slv_Int = 446
+ Ieee_Std_Logic_Unsigned_Add_Int_Slv = 447
+ Ieee_Std_Logic_Unsigned_Add_Slv_Log = 448
+ Ieee_Std_Logic_Unsigned_Add_Log_Slv = 449
+ Ieee_Std_Logic_Unsigned_Sub_Slv_Slv = 450
+ Ieee_Std_Logic_Unsigned_Sub_Slv_Int = 451
+ Ieee_Std_Logic_Unsigned_Sub_Int_Slv = 452
+ Ieee_Std_Logic_Unsigned_Sub_Slv_Log = 453
+ Ieee_Std_Logic_Unsigned_Sub_Log_Slv = 454
+ Ieee_Std_Logic_Unsigned_Id_Slv = 455
+ Ieee_Std_Logic_Unsigned_Mul_Slv_Slv = 456
+ Ieee_Std_Logic_Unsigned_Lt_Slv_Slv = 457
+ Ieee_Std_Logic_Unsigned_Lt_Slv_Int = 458
+ Ieee_Std_Logic_Unsigned_Lt_Int_Slv = 459
+ Ieee_Std_Logic_Unsigned_Le_Slv_Slv = 460
+ Ieee_Std_Logic_Unsigned_Le_Slv_Int = 461
+ Ieee_Std_Logic_Unsigned_Le_Int_Slv = 462
+ Ieee_Std_Logic_Unsigned_Gt_Slv_Slv = 463
+ Ieee_Std_Logic_Unsigned_Gt_Slv_Int = 464
+ Ieee_Std_Logic_Unsigned_Gt_Int_Slv = 465
+ Ieee_Std_Logic_Unsigned_Ge_Slv_Slv = 466
+ Ieee_Std_Logic_Unsigned_Ge_Slv_Int = 467
+ Ieee_Std_Logic_Unsigned_Ge_Int_Slv = 468
+ Ieee_Std_Logic_Unsigned_Eq_Slv_Slv = 469
+ Ieee_Std_Logic_Unsigned_Eq_Slv_Int = 470
+ Ieee_Std_Logic_Unsigned_Eq_Int_Slv = 471
+ Ieee_Std_Logic_Unsigned_Ne_Slv_Slv = 472
+ Ieee_Std_Logic_Unsigned_Ne_Slv_Int = 473
+ Ieee_Std_Logic_Unsigned_Ne_Int_Slv = 474
+ Ieee_Std_Logic_Unsigned_Conv_Integer = 475
+ Ieee_Std_Logic_Unsigned_Shl = 476
+ Ieee_Std_Logic_Unsigned_Shr = 477
+ Ieee_Std_Logic_Signed_Add_Slv_Slv = 478
+ Ieee_Std_Logic_Signed_Add_Slv_Int = 479
+ Ieee_Std_Logic_Signed_Add_Int_Slv = 480
+ Ieee_Std_Logic_Signed_Add_Slv_Log = 481
+ Ieee_Std_Logic_Signed_Add_Log_Slv = 482
+ Ieee_Std_Logic_Signed_Sub_Slv_Slv = 483
+ Ieee_Std_Logic_Signed_Sub_Slv_Int = 484
+ Ieee_Std_Logic_Signed_Sub_Int_Slv = 485
+ Ieee_Std_Logic_Signed_Sub_Slv_Log = 486
+ Ieee_Std_Logic_Signed_Sub_Log_Slv = 487
+ Ieee_Std_Logic_Signed_Id_Slv = 488
+ Ieee_Std_Logic_Signed_Neg_Slv = 489
+ Ieee_Std_Logic_Signed_Abs_Slv = 490
+ Ieee_Std_Logic_Signed_Mul_Slv_Slv = 491
+ Ieee_Std_Logic_Signed_Lt_Slv_Slv = 492
+ Ieee_Std_Logic_Signed_Lt_Slv_Int = 493
+ Ieee_Std_Logic_Signed_Lt_Int_Slv = 494
+ Ieee_Std_Logic_Signed_Le_Slv_Slv = 495
+ Ieee_Std_Logic_Signed_Le_Slv_Int = 496
+ Ieee_Std_Logic_Signed_Le_Int_Slv = 497
+ Ieee_Std_Logic_Signed_Gt_Slv_Slv = 498
+ Ieee_Std_Logic_Signed_Gt_Slv_Int = 499
+ Ieee_Std_Logic_Signed_Gt_Int_Slv = 500
+ Ieee_Std_Logic_Signed_Ge_Slv_Slv = 501
+ Ieee_Std_Logic_Signed_Ge_Slv_Int = 502
+ Ieee_Std_Logic_Signed_Ge_Int_Slv = 503
+ Ieee_Std_Logic_Signed_Eq_Slv_Slv = 504
+ Ieee_Std_Logic_Signed_Eq_Slv_Int = 505
+ Ieee_Std_Logic_Signed_Eq_Int_Slv = 506
+ Ieee_Std_Logic_Signed_Ne_Slv_Slv = 507
+ Ieee_Std_Logic_Signed_Ne_Slv_Int = 508
+ Ieee_Std_Logic_Signed_Ne_Int_Slv = 509
+ Ieee_Std_Logic_Signed_Conv_Integer = 510
+ Ieee_Std_Logic_Signed_Shl = 511
+ Ieee_Std_Logic_Signed_Shr = 512
+ Ieee_Std_Logic_Arith_Conv_Unsigned_Int = 513
+ Ieee_Std_Logic_Arith_Conv_Unsigned_Uns = 514
+ Ieee_Std_Logic_Arith_Conv_Unsigned_Sgn = 515
+ Ieee_Std_Logic_Arith_Conv_Unsigned_Log = 516
+ Ieee_Std_Logic_Arith_Conv_Integer_Int = 517
+ Ieee_Std_Logic_Arith_Conv_Integer_Uns = 518
+ Ieee_Std_Logic_Arith_Conv_Integer_Sgn = 519
+ Ieee_Std_Logic_Arith_Conv_Integer_Log = 520
+ Ieee_Std_Logic_Arith_Conv_Vector_Int = 521
+ Ieee_Std_Logic_Arith_Conv_Vector_Uns = 522
+ Ieee_Std_Logic_Arith_Conv_Vector_Sgn = 523
+ Ieee_Std_Logic_Arith_Conv_Vector_Log = 524
+ Ieee_Std_Logic_Arith_Ext = 525
+ Ieee_Std_Logic_Arith_Sxt = 526
+ Ieee_Std_Logic_Arith_Id_Uns_Uns = 527
+ Ieee_Std_Logic_Arith_Id_Sgn_Sgn = 528
+ Ieee_Std_Logic_Arith_Neg_Sgn_Sgn = 529
+ Ieee_Std_Logic_Arith_Abs_Sgn_Sgn = 530
+ Ieee_Std_Logic_Arith_Shl_Uns = 531
+ Ieee_Std_Logic_Arith_Shl_Sgn = 532
+ Ieee_Std_Logic_Arith_Shr_Uns = 533
+ Ieee_Std_Logic_Arith_Shr_Sgn = 534
+ Ieee_Std_Logic_Arith_Id_Uns_Slv = 535
+ Ieee_Std_Logic_Arith_Id_Sgn_Slv = 536
+ Ieee_Std_Logic_Arith_Neg_Sgn_Slv = 537
+ Ieee_Std_Logic_Arith_Abs_Sgn_Slv = 538
+ Ieee_Std_Logic_Arith_Mul_Uns_Uns_Uns = 539
+ Ieee_Std_Logic_Arith_Mul_Sgn_Sgn_Sgn = 540
+ Ieee_Std_Logic_Arith_Mul_Sgn_Uns_Sgn = 541
+ Ieee_Std_Logic_Arith_Mul_Uns_Sgn_Sgn = 542
+ Ieee_Std_Logic_Arith_Mul_Uns_Uns_Slv = 543
+ Ieee_Std_Logic_Arith_Mul_Sgn_Sgn_Slv = 544
+ Ieee_Std_Logic_Arith_Mul_Sgn_Uns_Slv = 545
+ Ieee_Std_Logic_Arith_Mul_Uns_Sgn_Slv = 546
+ Ieee_Std_Logic_Arith_Add_Uns_Uns_Uns = 547
+ Ieee_Std_Logic_Arith_Add_Sgn_Sgn_Sgn = 548
+ Ieee_Std_Logic_Arith_Add_Uns_Sgn_Sgn = 549
+ Ieee_Std_Logic_Arith_Add_Sgn_Uns_Sgn = 550
+ Ieee_Std_Logic_Arith_Add_Uns_Int_Uns = 551
+ Ieee_Std_Logic_Arith_Add_Int_Uns_Uns = 552
+ Ieee_Std_Logic_Arith_Add_Sgn_Int_Sgn = 553
+ Ieee_Std_Logic_Arith_Add_Int_Sgn_Sgn = 554
+ Ieee_Std_Logic_Arith_Add_Uns_Log_Uns = 555
+ Ieee_Std_Logic_Arith_Add_Log_Uns_Uns = 556
+ Ieee_Std_Logic_Arith_Add_Sgn_Log_Sgn = 557
+ Ieee_Std_Logic_Arith_Add_Log_Sgn_Sgn = 558
+ Ieee_Std_Logic_Arith_Add_Uns_Uns_Slv = 559
+ Ieee_Std_Logic_Arith_Add_Sgn_Sgn_Slv = 560
+ Ieee_Std_Logic_Arith_Add_Uns_Sgn_Slv = 561
+ Ieee_Std_Logic_Arith_Add_Sgn_Uns_Slv = 562
+ Ieee_Std_Logic_Arith_Add_Uns_Int_Slv = 563
+ Ieee_Std_Logic_Arith_Add_Int_Uns_Slv = 564
+ Ieee_Std_Logic_Arith_Add_Sgn_Int_Slv = 565
+ Ieee_Std_Logic_Arith_Add_Int_Sgn_Slv = 566
+ Ieee_Std_Logic_Arith_Add_Uns_Log_Slv = 567
+ Ieee_Std_Logic_Arith_Add_Log_Uns_Slv = 568
+ Ieee_Std_Logic_Arith_Add_Sgn_Log_Slv = 569
+ Ieee_Std_Logic_Arith_Add_Log_Sgn_Slv = 570
+ Ieee_Std_Logic_Arith_Sub_Uns_Uns_Uns = 571
+ Ieee_Std_Logic_Arith_Sub_Sgn_Sgn_Sgn = 572
+ Ieee_Std_Logic_Arith_Sub_Uns_Sgn_Sgn = 573
+ Ieee_Std_Logic_Arith_Sub_Sgn_Uns_Sgn = 574
+ Ieee_Std_Logic_Arith_Sub_Uns_Int_Uns = 575
+ Ieee_Std_Logic_Arith_Sub_Int_Uns_Uns = 576
+ Ieee_Std_Logic_Arith_Sub_Sgn_Int_Sgn = 577
+ Ieee_Std_Logic_Arith_Sub_Int_Sgn_Sgn = 578
+ Ieee_Std_Logic_Arith_Sub_Uns_Log_Uns = 579
+ Ieee_Std_Logic_Arith_Sub_Log_Uns_Uns = 580
+ Ieee_Std_Logic_Arith_Sub_Sgn_Log_Sgn = 581
+ Ieee_Std_Logic_Arith_Sub_Log_Sgn_Sgn = 582
+ Ieee_Std_Logic_Arith_Sub_Uns_Uns_Slv = 583
+ Ieee_Std_Logic_Arith_Sub_Sgn_Sgn_Slv = 584
+ Ieee_Std_Logic_Arith_Sub_Uns_Sgn_Slv = 585
+ Ieee_Std_Logic_Arith_Sub_Sgn_Uns_Slv = 586
+ Ieee_Std_Logic_Arith_Sub_Uns_Int_Slv = 587
+ Ieee_Std_Logic_Arith_Sub_Int_Uns_Slv = 588
+ Ieee_Std_Logic_Arith_Sub_Sgn_Int_Slv = 589
+ Ieee_Std_Logic_Arith_Sub_Int_Sgn_Slv = 590
+ Ieee_Std_Logic_Arith_Sub_Uns_Log_Slv = 591
+ Ieee_Std_Logic_Arith_Sub_Log_Uns_Slv = 592
+ Ieee_Std_Logic_Arith_Sub_Sgn_Log_Slv = 593
+ Ieee_Std_Logic_Arith_Sub_Log_Sgn_Slv = 594
+ Ieee_Std_Logic_Arith_Lt_Uns_Uns = 595
+ Ieee_Std_Logic_Arith_Lt_Sgn_Sgn = 596
+ Ieee_Std_Logic_Arith_Lt_Uns_Sgn = 597
+ Ieee_Std_Logic_Arith_Lt_Sgn_Uns = 598
+ Ieee_Std_Logic_Arith_Lt_Uns_Int = 599
+ Ieee_Std_Logic_Arith_Lt_Int_Uns = 600
+ Ieee_Std_Logic_Arith_Lt_Sgn_Int = 601
+ Ieee_Std_Logic_Arith_Lt_Int_Sgn = 602
+ Ieee_Std_Logic_Arith_Le_Uns_Uns = 603
+ Ieee_Std_Logic_Arith_Le_Sgn_Sgn = 604
+ Ieee_Std_Logic_Arith_Le_Uns_Sgn = 605
+ Ieee_Std_Logic_Arith_Le_Sgn_Uns = 606
+ Ieee_Std_Logic_Arith_Le_Uns_Int = 607
+ Ieee_Std_Logic_Arith_Le_Int_Uns = 608
+ Ieee_Std_Logic_Arith_Le_Sgn_Int = 609
+ Ieee_Std_Logic_Arith_Le_Int_Sgn = 610
+ Ieee_Std_Logic_Arith_Gt_Uns_Uns = 611
+ Ieee_Std_Logic_Arith_Gt_Sgn_Sgn = 612
+ Ieee_Std_Logic_Arith_Gt_Uns_Sgn = 613
+ Ieee_Std_Logic_Arith_Gt_Sgn_Uns = 614
+ Ieee_Std_Logic_Arith_Gt_Uns_Int = 615
+ Ieee_Std_Logic_Arith_Gt_Int_Uns = 616
+ Ieee_Std_Logic_Arith_Gt_Sgn_Int = 617
+ Ieee_Std_Logic_Arith_Gt_Int_Sgn = 618
+ Ieee_Std_Logic_Arith_Ge_Uns_Uns = 619
+ Ieee_Std_Logic_Arith_Ge_Sgn_Sgn = 620
+ Ieee_Std_Logic_Arith_Ge_Uns_Sgn = 621
+ Ieee_Std_Logic_Arith_Ge_Sgn_Uns = 622
+ Ieee_Std_Logic_Arith_Ge_Uns_Int = 623
+ Ieee_Std_Logic_Arith_Ge_Int_Uns = 624
+ Ieee_Std_Logic_Arith_Ge_Sgn_Int = 625
+ Ieee_Std_Logic_Arith_Ge_Int_Sgn = 626
+ Ieee_Std_Logic_Arith_Eq_Uns_Uns = 627
+ Ieee_Std_Logic_Arith_Eq_Sgn_Sgn = 628
+ Ieee_Std_Logic_Arith_Eq_Uns_Sgn = 629
+ Ieee_Std_Logic_Arith_Eq_Sgn_Uns = 630
+ Ieee_Std_Logic_Arith_Eq_Uns_Int = 631
+ Ieee_Std_Logic_Arith_Eq_Int_Uns = 632
+ Ieee_Std_Logic_Arith_Eq_Sgn_Int = 633
+ Ieee_Std_Logic_Arith_Eq_Int_Sgn = 634
+ Ieee_Std_Logic_Arith_Ne_Uns_Uns = 635
+ Ieee_Std_Logic_Arith_Ne_Sgn_Sgn = 636
+ Ieee_Std_Logic_Arith_Ne_Uns_Sgn = 637
+ Ieee_Std_Logic_Arith_Ne_Sgn_Uns = 638
+ Ieee_Std_Logic_Arith_Ne_Uns_Int = 639
+ Ieee_Std_Logic_Arith_Ne_Int_Uns = 640
+ Ieee_Std_Logic_Arith_Ne_Sgn_Int = 641
+ Ieee_Std_Logic_Arith_Ne_Int_Sgn = 642
+ Ieee_Std_Logic_Misc_And_Reduce_Slv = 643
+ Ieee_Std_Logic_Misc_And_Reduce_Suv = 644
+ Ieee_Std_Logic_Misc_Nand_Reduce_Slv = 645
+ Ieee_Std_Logic_Misc_Nand_Reduce_Suv = 646
+ Ieee_Std_Logic_Misc_Or_Reduce_Slv = 647
+ Ieee_Std_Logic_Misc_Or_Reduce_Suv = 648
+ Ieee_Std_Logic_Misc_Nor_Reduce_Slv = 649
+ Ieee_Std_Logic_Misc_Nor_Reduce_Suv = 650
+ Ieee_Std_Logic_Misc_Xor_Reduce_Slv = 651
+ Ieee_Std_Logic_Misc_Xor_Reduce_Suv = 652
+ Ieee_Std_Logic_Misc_Xnor_Reduce_Slv = 653
+ Ieee_Std_Logic_Misc_Xnor_Reduce_Suv = 654
Get_Kind = libghdl.vhdl__nodes__get_kind
Get_Location = libghdl.vhdl__nodes__get_location
diff --git a/src/vhdl/vhdl-ieee-numeric_std_unsigned.adb b/src/vhdl/vhdl-ieee-numeric_std_unsigned.adb
index e6fc03cf9..7d8edbb96 100644
--- a/src/vhdl/vhdl-ieee-numeric_std_unsigned.adb
+++ b/src/vhdl/vhdl-ieee-numeric_std_unsigned.adb
@@ -45,10 +45,31 @@ package body Vhdl.Ieee.Numeric_Std_Unsigned is
end if;
end Classify_Arg;
+ function Extract_Dyadic_Declaration (Decl : Iir; Arg1: Iir; Arg2: Iir)
+ return Iir_Predefined_Functions
+ is
+ Arg1_Kind, Arg2_Kind : Arg_Kind;
+ Res : Iir_Predefined_Functions;
+ begin
+ Res := Iir_Predefined_None;
+ Classify_Arg (Arg1, Arg1_Kind);
+ Classify_Arg (Arg2, Arg2_Kind);
+ case Get_Identifier (Decl) is
+ when Name_To_Stdlogicvector =>
+ if Arg1_Kind = Arg_Int and Arg2_Kind = Arg_Int then
+ Res :=
+ Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Nat_Slv;
+ end if;
+ when others =>
+ null;
+ end case;
+ return Res;
+ end Extract_Dyadic_Declaration;
+
procedure Extract_Declaration (Decl : Iir)
is
Arg1, Arg2 : Iir;
- Arg1_Kind : Arg_Kind;
+ Arg1_Kind : Arg_Kind;
Res : Iir_Predefined_Functions;
begin
Arg1 := Get_Interface_Declaration_Chain (Decl);
@@ -56,15 +77,13 @@ package body Vhdl.Ieee.Numeric_Std_Unsigned is
raise Error;
end if;
- Res := Iir_Predefined_None;
-
- Classify_Arg (Arg1, Arg1_Kind);
Arg2 := Get_Chain (Arg1);
if Is_Valid (Arg2) then
- -- Dyadic function.
- null;
+ Res := Extract_Dyadic_Declaration (Decl, Arg1, Arg2);
else
-- Monadic function.
+ Res := Iir_Predefined_None;
+ Classify_Arg (Arg1, Arg1_Kind);
case Get_Identifier (Decl) is
when Name_To_Integer =>
pragma Assert (Arg1_Kind = Arg_Slv);
diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads
index 9961127a1..29029f7e6 100644
--- a/src/vhdl/vhdl-nodes.ads
+++ b/src/vhdl/vhdl-nodes.ads
@@ -5882,6 +5882,7 @@ package Vhdl.Nodes is
-- Numeric_Std_Unsigned (ieee2008)
Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Integer_Slv_Nat,
+ Iir_Predefined_Ieee_Numeric_Std_Unsigned_To_Slv_Nat_Nat_Slv,
-- Math_Real
Iir_Predefined_Ieee_Math_Real_Ceil,