@@ -3409,6 +3409,9 @@ TEST_F(DIExpressionTest, Append) {
3409
3409
dwarf::DW_OP_LLVM_arg, 0 , dwarf::DW_OP_constu, 5 , dwarf::DW_OP_plus};
3410
3410
auto *ResExpr = DIExpression::get (Context, OpsRes);
3411
3411
EXPECT_EQ (ResExpr, AppendExpr);
3412
+ auto *AppendToArgExpr =
3413
+ DIExpression::appendOpsToArg (Expr, AppendOps, 0 , false );
3414
+ EXPECT_EQ (ResExpr, AppendToArgExpr);
3412
3415
3413
3416
// Test appending a {dwarf::DW_OP_plus_uconst, <const>} to a DW_OP_plus
3414
3417
// expression uint64_t PlusUConstOps[] = {dwarf::DW_OP_plus_uconst, 3};
@@ -3423,6 +3426,8 @@ TEST_F(DIExpressionTest, Append) {
3423
3426
OpsRes.push_back (5 );
3424
3427
ResExpr = DIExpression::get (Context, OpsRes);
3425
3428
EXPECT_EQ (ResExpr, AppendExpr);
3429
+ AppendToArgExpr = DIExpression::appendOpsToArg (Expr, AppendOps, 0 , false );
3430
+ EXPECT_EQ (ResExpr, AppendToArgExpr);
3426
3431
3427
3432
// Test appending a {dwarf::DW_OP_constu, 0, DW_OP_plus} to an expression
3428
3433
AppendOps[0 ] = dwarf::DW_OP_constu;
@@ -3434,27 +3439,35 @@ TEST_F(DIExpressionTest, Append) {
3434
3439
OpsRes.push_back (dwarf::DW_OP_plus);
3435
3440
ResExpr = DIExpression::get (Context, OpsRes);
3436
3441
EXPECT_EQ (ResExpr, AppendExpr);
3442
+ AppendToArgExpr = DIExpression::appendOpsToArg (Expr, AppendOps, 0 , false );
3443
+ EXPECT_EQ (ResExpr, AppendToArgExpr);
3437
3444
3438
3445
// Test appending a {dwarf::DW_OP_constu, 0, DW_OP_minus} to an expression
3439
3446
AppendOps[2 ] = dwarf::DW_OP_minus;
3440
3447
AppendExpr = DIExpression::append (Expr, AppendOps);
3441
3448
OpsRes[3 ] = Ops[3 ];
3442
3449
ResExpr = DIExpression::get (Context, OpsRes);
3443
3450
EXPECT_EQ (ResExpr, AppendExpr);
3451
+ AppendToArgExpr = DIExpression::appendOpsToArg (Expr, AppendOps, 0 , false );
3452
+ EXPECT_EQ (ResExpr, AppendToArgExpr);
3444
3453
3445
3454
// Test appending a {dwarf::DW_OP_constu, 0, DW_OP_shl} to an expression
3446
3455
AppendOps[2 ] = dwarf::DW_OP_shl;
3447
3456
AppendExpr = DIExpression::append (Expr, AppendOps);
3448
3457
OpsRes[3 ] = Ops[3 ];
3449
3458
ResExpr = DIExpression::get (Context, OpsRes);
3450
3459
EXPECT_EQ (ResExpr, AppendExpr);
3460
+ AppendToArgExpr = DIExpression::appendOpsToArg (Expr, AppendOps, 0 , false );
3461
+ EXPECT_EQ (ResExpr, AppendToArgExpr);
3451
3462
3452
3463
// Test appending a {dwarf::DW_OP_constu, 0, DW_OP_shr} to an expression
3453
3464
AppendOps[2 ] = dwarf::DW_OP_shr;
3454
3465
AppendExpr = DIExpression::append (Expr, AppendOps);
3455
3466
OpsRes[3 ] = Ops[3 ];
3456
3467
ResExpr = DIExpression::get (Context, OpsRes);
3457
3468
EXPECT_EQ (ResExpr, AppendExpr);
3469
+ AppendToArgExpr = DIExpression::appendOpsToArg (Expr, AppendOps, 0 , false );
3470
+ EXPECT_EQ (ResExpr, AppendToArgExpr);
3458
3471
3459
3472
// Test appending a {dwarf::DW_OP_constu, <const>, DW_OP_mul} to a DW_OP_mul expression
3460
3473
Ops[4 ] = dwarf::DW_OP_mul;
@@ -3466,13 +3479,17 @@ TEST_F(DIExpressionTest, Append) {
3466
3479
OpsRes[4 ] = dwarf::DW_OP_mul;
3467
3480
ResExpr = DIExpression::get (Context, OpsRes);
3468
3481
EXPECT_EQ (ResExpr, AppendExpr);
3482
+ AppendToArgExpr = DIExpression::appendOpsToArg (Expr, AppendOps, 0 , false );
3483
+ EXPECT_EQ (ResExpr, AppendToArgExpr);
3469
3484
3470
3485
// Test appending a {dwarf::DW_OP_constu, 1, DW_OP_mul} to an expression
3471
3486
AppendOps[1 ] = 1 ;
3472
3487
AppendExpr = DIExpression::append (Expr, AppendOps);
3473
3488
OpsRes[3 ] = Ops[3 ];
3474
3489
ResExpr = DIExpression::get (Context, OpsRes);
3475
3490
EXPECT_EQ (ResExpr, AppendExpr);
3491
+ AppendToArgExpr = DIExpression::appendOpsToArg (Expr, AppendOps, 0 , false );
3492
+ EXPECT_EQ (ResExpr, AppendToArgExpr);
3476
3493
3477
3494
// Test appending a {dwarf::DW_OP_constu, 1, DW_OP_div} to an expression
3478
3495
AppendOps[1 ] = 1 ;
@@ -3481,6 +3498,8 @@ TEST_F(DIExpressionTest, Append) {
3481
3498
OpsRes[3 ] = Ops[3 ];
3482
3499
ResExpr = DIExpression::get (Context, OpsRes);
3483
3500
EXPECT_EQ (ResExpr, AppendExpr);
3501
+ AppendToArgExpr = DIExpression::appendOpsToArg (Expr, AppendOps, 0 , false );
3502
+ EXPECT_EQ (ResExpr, AppendToArgExpr);
3484
3503
}
3485
3504
3486
3505
TEST_F (DIExpressionTest, isValid) {
0 commit comments