|
1 |
| -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2 -target-feature +sve -Waarch64-sme-attributes -fsyntax-only -verify %s |
2 |
| -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2 -target-feature +sve -Waarch64-sme-attributes -fsyntax-only -verify=expected-cpp -x c++ %s |
| 1 | +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2 -fsyntax-only -verify %s |
| 2 | +// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2 -fsyntax-only -verify=expected-cpp -x c++ %s |
3 | 3 |
|
4 | 4 | // Valid attributes
|
5 | 5 |
|
@@ -496,135 +496,3 @@ void fmv_caller() {
|
496 | 496 | just_fine();
|
497 | 497 | incompatible_locally_streaming();
|
498 | 498 | }
|
499 |
| - |
500 |
| -void sme_streaming_with_vl_arg(__SVInt8_t a) __arm_streaming { } |
501 |
| - |
502 |
| -__SVInt8_t sme_streaming_returns_vl(void) __arm_streaming { __SVInt8_t r; return r; } |
503 |
| - |
504 |
| -void sme_streaming_compatible_with_vl_arg(__SVInt8_t a) __arm_streaming_compatible { } |
505 |
| - |
506 |
| -__SVInt8_t sme_streaming_compatible_returns_vl(void) __arm_streaming_compatible { __SVInt8_t r; return r; } |
507 |
| - |
508 |
| -void sme_no_streaming_with_vl_arg(__SVInt8_t a) { } |
509 |
| - |
510 |
| -__SVInt8_t sme_no_streaming_returns_vl(void) { __SVInt8_t r; return r; } |
511 |
| - |
512 |
| -// expected-warning@+2 {{passing/returning a VL-dependent argument to/from a __arm_locally_streaming function. The streaming and non-streaming vector lengths may be different}} |
513 |
| -// expected-cpp-warning@+1 {{passing/returning a VL-dependent argument to/from a __arm_locally_streaming function. The streaming and non-streaming vector lengths may be different}} |
514 |
| -__arm_locally_streaming void sme_locally_streaming_with_vl_arg(__SVInt8_t a) { } |
515 |
| - |
516 |
| -// expected-warning@+2 {{passing/returning a VL-dependent argument to/from a __arm_locally_streaming function. The streaming and non-streaming vector lengths may be different}} |
517 |
| -// expected-cpp-warning@+1 {{passing/returning a VL-dependent argument to/from a __arm_locally_streaming function. The streaming and non-streaming vector lengths may be different}} |
518 |
| -__arm_locally_streaming __SVInt8_t sme_locally_streaming_returns_vl(void) { __SVInt8_t r; return r; } |
519 |
| - |
520 |
| -void sme_no_streaming_calling_streaming_with_vl_args() { |
521 |
| - __SVInt8_t a; |
522 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
523 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
524 |
| - sme_streaming_with_vl_arg(a); |
525 |
| -} |
526 |
| - |
527 |
| -void sme_no_streaming_calling_streaming_with_return_vl() { |
528 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
529 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
530 |
| - __SVInt8_t r = sme_streaming_returns_vl(); |
531 |
| -} |
532 |
| - |
533 |
| -void sme_streaming_calling_non_streaming_with_vl_args(void) __arm_streaming { |
534 |
| - __SVInt8_t a; |
535 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
536 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
537 |
| - sme_no_streaming_with_vl_arg(a); |
538 |
| -} |
539 |
| - |
540 |
| -void sme_streaming_calling_non_streaming_with_return_vl(void) __arm_streaming { |
541 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
542 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
543 |
| - __SVInt8_t r = sme_no_streaming_returns_vl(); |
544 |
| -} |
545 |
| - |
546 |
| -void sme_no_streaming_calling_streaming_with_vl_args_param(__SVInt8_t arg, void (*sc)( __SVInt8_t arg) __arm_streaming) { |
547 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
548 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
549 |
| - sc(arg); |
550 |
| -} |
551 |
| - |
552 |
| -__SVInt8_t sme_no_streaming_calling_streaming_return_vl_param(__SVInt8_t (*s)(void) __arm_streaming) { |
553 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
554 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
555 |
| - return s(); |
556 |
| -} |
557 |
| - |
558 |
| -void sme_streaming_compatible_calling_streaming_with_vl_args(__SVInt8_t arg) __arm_streaming_compatible { |
559 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
560 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
561 |
| - sme_streaming_with_vl_arg(arg); |
562 |
| -} |
563 |
| - |
564 |
| -void sme_streaming_compatible_calling_sme_streaming_return_vl(void) __arm_streaming_compatible { |
565 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
566 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
567 |
| - __SVInt8_t r = sme_streaming_returns_vl(); |
568 |
| -} |
569 |
| - |
570 |
| -void sme_streaming_compatible_calling_no_streaming_with_vl_args(__SVInt8_t arg) __arm_streaming_compatible { |
571 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
572 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
573 |
| - sme_no_streaming_with_vl_arg(arg); |
574 |
| -} |
575 |
| - |
576 |
| -void sme_streaming_compatible_calling_no_sme_streaming_return_vl(void) __arm_streaming_compatible { |
577 |
| - // expected-warning@+2 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
578 |
| - // expected-cpp-warning@+1 {{passing a VL-dependent argument to/from a function that has a different streaming-mode. The streaming and non-streaming vector lengths may be different}} |
579 |
| - __SVInt8_t r = sme_no_streaming_returns_vl(); |
580 |
| -} |
581 |
| - |
582 |
| -void sme_streaming_calling_streaming(__SVInt8_t arg, void (*s)( __SVInt8_t arg) __arm_streaming) __arm_streaming { |
583 |
| - s(arg); |
584 |
| -} |
585 |
| - |
586 |
| -__SVInt8_t sme_streaming_calling_streaming_return_vl(__SVInt8_t (*s)(void) __arm_streaming) __arm_streaming { |
587 |
| - return s(); |
588 |
| -} |
589 |
| - |
590 |
| -void sme_streaming_calling_streaming_with_vl_args(__SVInt8_t a) __arm_streaming { |
591 |
| - sme_streaming_with_vl_arg(a); |
592 |
| -} |
593 |
| - |
594 |
| -void sme_streaming_calling_streaming_with_return_vl(void) __arm_streaming { |
595 |
| - __SVInt8_t r = sme_streaming_returns_vl(); |
596 |
| -} |
597 |
| - |
598 |
| -void sme_streaming_calling_streaming_compatible_with_vl_args(__SVInt8_t a) __arm_streaming { |
599 |
| - sme_streaming_compatible_with_vl_arg(a); |
600 |
| -} |
601 |
| - |
602 |
| -void sme_streaming_calling_streaming_compatible_with_return_vl(void) __arm_streaming { |
603 |
| - __SVInt8_t r = sme_streaming_compatible_returns_vl(); |
604 |
| -} |
605 |
| - |
606 |
| -void sme_no_streaming_calling_streaming_compatible_with_vl_args() { |
607 |
| - __SVInt8_t a; |
608 |
| - sme_streaming_compatible_with_vl_arg(a); |
609 |
| -} |
610 |
| - |
611 |
| -void sme_no_streaming_calling_streaming_compatible_with_return_vl() { |
612 |
| - __SVInt8_t r = sme_streaming_compatible_returns_vl(); |
613 |
| -} |
614 |
| - |
615 |
| -void sme_no_streaming_calling_non_streaming_compatible_with_vl_args() { |
616 |
| - __SVInt8_t a; |
617 |
| - sme_no_streaming_with_vl_arg(a); |
618 |
| -} |
619 |
| - |
620 |
| -void sme_no_streaming_calling_non_streaming_compatible_with_return_vl() { |
621 |
| - __SVInt8_t r = sme_no_streaming_returns_vl(); |
622 |
| -} |
623 |
| - |
624 |
| -void sme_streaming_compatible_calling_streaming_compatible_with_vl_args(__SVInt8_t arg) __arm_streaming_compatible { |
625 |
| - sme_streaming_compatible_with_vl_arg(arg); |
626 |
| -} |
627 |
| - |
628 |
| -void sme_streaming_compatible_calling_streaming_compatible_with_return_vl(void) __arm_streaming_compatible { |
629 |
| - __SVInt8_t r = sme_streaming_compatible_returns_vl(); |
630 |
| -} |
0 commit comments