@@ -470,6 +470,84 @@ func.func @bad_maxval13(%arg0: !hlfir.expr<?x?x!fir.char<1,?>>, %arg1: i32){
470
470
%0 = hlfir.maxval %arg0 dim %arg1 : (!hlfir.expr<?x?x!fir.char<1,?>>, i32) -> !hlfir.expr<!fir.char<1,?>>
471
471
}
472
472
473
+ // -----
474
+ func.func @bad_minval1(%arg0: !hlfir.expr<?xi32>, %arg1: i32, %arg2: !fir.box<!fir.logical<4>>) {
475
+ // expected-error@+1 {{'hlfir.minval' op result must have the same element type as ARRAY argument}}
476
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?xi32>, i32, !fir.box<!fir.logical<4>>) -> f32
477
+ }
478
+
479
+ // -----
480
+ func.func @bad_minval2(%arg0: !hlfir.expr<?xi32>, %arg1: i32, %arg2: !fir.box<!fir.array<?x?x?x?x?x!fir.logical<4>>>) {
481
+ // expected-warning@+1 {{MASK must be conformable to ARRAY}}
482
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?xi32>, i32, !fir.box<!fir.array<?x?x?x?x?x!fir.logical<4>>>) -> !hlfir.expr<i32>
483
+ }
484
+
485
+ // -----
486
+ func.func @bad_minval3(%arg0: !hlfir.expr<?x5x?xi32>, %arg1: i32, %arg2: !fir.box<!fir.array<2x6x?x!fir.logical<4>>>) {
487
+ // expected-warning@+1 {{MASK must be conformable to ARRAY}}
488
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?x5x?xi32>, i32, !fir.box<!fir.array<2x6x?x!fir.logical<4>>>) -> !hlfir.expr<i32>
489
+ }
490
+
491
+ // -----
492
+ func.func @bad_minval4(%arg0: !hlfir.expr<?x?xi32>, %arg1: i32, %arg2: !fir.box<!fir.logical<4>>) {
493
+ // expected-error@+1 {{'hlfir.minval' op result rank must be one less than ARRAY}}
494
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?x?xi32>, i32, !fir.box<!fir.logical<4>>) -> !hlfir.expr<?x?xi32>
495
+ }
496
+
497
+ // -----
498
+ func.func @bad_minval5(%arg0: !hlfir.expr<?xi32>, %arg1: i32, %arg2: !fir.box<!fir.logical<4>>) {
499
+ // expected-error@+1 {{'hlfir.minval' op result must be of numerical scalar type}}
500
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?xi32>, i32, !fir.box<!fir.logical<4>>) -> !fir.logical<4>
501
+ }
502
+
503
+ // -----
504
+ func.func @bad_minval6(%arg0: !hlfir.expr<?x?xi32>, %arg1: i32){
505
+ // expected-error@+1 {{'hlfir.minval' op result must be an array}}
506
+ %0 = hlfir.minval %arg0 dim %arg1 : (!hlfir.expr<?x?xi32>, i32) -> !hlfir.expr<i32>
507
+ }
508
+
509
+ // -----
510
+ func.func @bad_minval7(%arg0: !hlfir.expr<?xi32>){
511
+ // expected-error@+1 {{'hlfir.minval' op result must be of numerical scalar type}}
512
+ %0 = hlfir.minval %arg0 : (!hlfir.expr<?xi32>) -> !hlfir.expr<i32>
513
+ }
514
+
515
+ // -----
516
+ func.func @bad_minval8(%arg0: !hlfir.expr<?x!fir.char<1,?>>, %arg1: i32, %arg2: !fir.box<!fir.logical<4>>) {
517
+ // expected-error@+1 {{'hlfir.minval' op result must have the same element type as ARRAY argument}}
518
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?x!fir.char<1,?>>, i32, !fir.box<!fir.logical<4>>) -> i32
519
+ }
520
+
521
+ // -----
522
+ func.func @bad_minval9(%arg0: !hlfir.expr<?x!fir.char<1,?>>, %arg1: i32, %arg2: !fir.box<!fir.array<?x?x?x?x?x!fir.logical<4>>>) {
523
+ // expected-warning@+1 {{MASK must be conformable to ARRAY}}
524
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?x!fir.char<1,?>>, i32, !fir.box<!fir.array<?x?x?x?x?x!fir.logical<4>>>) -> !hlfir.expr<!fir.char<1,?>>
525
+ }
526
+
527
+ // -----
528
+ func.func @bad_minval10(%arg0: !hlfir.expr<?x5x?x!fir.char<1,?>>, %arg1: i32, %arg2: !fir.box<!fir.array<2x6x?x!fir.logical<4>>>) {
529
+ // expected-warning@+1 {{MASK must be conformable to ARRAY}}
530
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?x5x?x!fir.char<1,?>>, i32, !fir.box<!fir.array<2x6x?x!fir.logical<4>>>) -> !hlfir.expr<!fir.char<1,?>>
531
+ }
532
+
533
+ // -----
534
+ func.func @bad_minval11(%arg0: !hlfir.expr<?x?x!fir.char<1,?>>, %arg1: i32, %arg2: !fir.box<!fir.logical<4>>) {
535
+ // expected-error@+1 {{'hlfir.minval' op result rank must be one less than ARRAY}}
536
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?x?x!fir.char<1,?>>, i32, !fir.box<!fir.logical<4>>) -> !hlfir.expr<?x?x!fir.char<1,?>>
537
+ }
538
+
539
+ // -----
540
+ func.func @bad_minval12(%arg0: !hlfir.expr<?x!fir.char<1,?>>, %arg1: i32, %arg2: !fir.box<!fir.logical<4>>) {
541
+ // expected-error@+1 {{'hlfir.minval' op result must be scalar character}}
542
+ %0 = hlfir.minval %arg0 dim %arg1 mask %arg2 : (!hlfir.expr<?x!fir.char<1,?>>, i32, !fir.box<!fir.logical<4>>) -> !hlfir.expr<?x!fir.char<1,?>>
543
+ }
544
+
545
+ // -----
546
+ func.func @bad_minval13(%arg0: !hlfir.expr<?x?x!fir.char<1,?>>, %arg1: i32){
547
+ // expected-error@+1 {{'hlfir.minval' op result must be an array}}
548
+ %0 = hlfir.minval %arg0 dim %arg1 : (!hlfir.expr<?x?x!fir.char<1,?>>, i32) -> !hlfir.expr<!fir.char<1,?>>
549
+ }
550
+
473
551
// -----
474
552
func.func @bad_product1(%arg0: !hlfir.expr<?xi32>, %arg1: i32, %arg2: !fir.box<!fir.logical<4>>) {
475
553
// expected-error@+1 {{'hlfir.product' op result must have the same element type as ARRAY argument}}
0 commit comments