@@ -527,43 +527,124 @@ def check_gdb(cfg):
527
527
# be achieved by creating a `.verify.cpp` test that checks for the right errors, and
528
528
# mark that test as requiring `stdlib=<vendor>-libc++ && target=<target>`.
529
529
DEFAULT_FEATURES += [
530
+ # Backdeployment short-hands
531
+ Feature (
532
+ name = "using-built-library-before-llvm-11" ,
533
+ when = lambda cfg : BooleanExpression .evaluate (
534
+ "stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0)(.0)?}}" ,
535
+ cfg .available_features ,
536
+ )
537
+ ),
538
+ Feature (
539
+ name = "using-built-library-before-llvm-12" ,
540
+ when = lambda cfg : BooleanExpression .evaluate (
541
+ "using-built-library-before-llvm-11 || (stdlib=apple-libc++ && target={{.+}}-apple-macosx12.{{(0|1|2)}}.0)" ,
542
+ cfg .available_features ,
543
+ )
544
+ ),
545
+
546
+ Feature (
547
+ name = "using-built-library-before-llvm-13" ,
548
+ when = lambda cfg : BooleanExpression .evaluate (
549
+ "using-built-library-before-llvm-12 || (stdlib=apple-libc++ && target={{.+}}-apple-macosx{{((12.(3|4|5|6|7))|(13.(0|1|2|3)))}}.0)" ,
550
+ cfg .available_features ,
551
+ )
552
+ ),
553
+
554
+ Feature (
555
+ name = "using-built-library-before-llvm-14" ,
556
+ when = lambda cfg : BooleanExpression .evaluate (
557
+ "using-built-library-before-llvm-13" ,
558
+ cfg .available_features ,
559
+ )
560
+ ),
561
+
562
+ Feature (
563
+ name = "using-built-library-before-llvm-15" ,
564
+ when = lambda cfg : BooleanExpression .evaluate (
565
+ "using-built-library-before-llvm-14 || (stdlib=apple-libc++ && target={{.+}}-apple-macosx13.{{(4|5|6)}}.0)" ,
566
+ cfg .available_features ,
567
+ )
568
+ ),
569
+
570
+ Feature (
571
+ name = "using-built-library-before-llvm-16" ,
572
+ when = lambda cfg : BooleanExpression .evaluate (
573
+ "using-built-library-before-llvm-15 || (stdlib=apple-libc++ && target={{.+}}-apple-macosx14.{{(0|1|2|3)}}.0)" ,
574
+ cfg .available_features ,
575
+ )
576
+ ),
577
+
578
+ Feature (
579
+ name = "using-built-library-before-llvm-17" ,
580
+ when = lambda cfg : BooleanExpression .evaluate (
581
+ "using-built-library-before-llvm-16" ,
582
+ cfg .available_features ,
583
+ )
584
+ ),
585
+
586
+ Feature (
587
+ name = "using-built-library-before-llvm-18" ,
588
+ when = lambda cfg : BooleanExpression .evaluate (
589
+ # For now, no released version of macOS contains LLVM 18
590
+ # TODO(ldionne) Please provide the correct value.
591
+ "using-built-library-before-llvm-17 || stdlib=apple-libc++ && target={{.+}}-apple-macosx{{.+}}" ,
592
+ cfg .available_features ,
593
+ )
594
+ ),
595
+
596
+ Feature (
597
+ name = "using-built-library-before-llvm-19" ,
598
+ when = lambda cfg : BooleanExpression .evaluate (
599
+ # For now, no released version of macOS contains LLVM 19
600
+ # TODO(ldionne) Please provide the correct value.
601
+ "using-built-library-before-llvm-18 || stdlib=apple-libc++ && target={{.+}}-apple-macosx{{.+}}" ,
602
+ cfg .available_features ,
603
+ )
604
+ ),
605
+
530
606
# Tests that require std::to_chars(floating-point) in the built library
531
607
Feature (
532
608
name = "availability-fp_to_chars-missing" ,
533
609
when = lambda cfg : BooleanExpression .evaluate (
534
- "stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0|12.0|13.0)(.0)?}}" ,
610
+ #"stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0|12.0|13.0)(.0)?}}",
611
+ "using-built-library-before-llvm-13" ,
535
612
cfg .available_features ,
536
613
),
537
614
),
538
615
# Tests that require https://wg21.link/P0482 support in the built library
539
616
Feature (
540
617
name = "availability-char8_t_support-missing" ,
541
618
when = lambda cfg : BooleanExpression .evaluate (
542
- "stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0)(.0)?}}" ,
619
+ #"stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0)(.0)?}}",
620
+ "using-built-library-before-llvm-11" ,
543
621
cfg .available_features ,
544
622
),
545
623
),
546
624
# Tests that require __libcpp_verbose_abort support in the built library
547
625
Feature (
548
626
name = "availability-verbose_abort-missing" ,
549
627
when = lambda cfg : BooleanExpression .evaluate (
550
- "stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0|12.0|13.0)(.0)?}}" ,
628
+ #"stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0|12.0|13.0)(.0)?}}",
629
+ "using-built-library-before-llvm-13" ,
551
630
cfg .available_features ,
552
631
),
553
632
),
554
633
# Tests that require std::pmr support in the built library
555
634
Feature (
556
635
name = "availability-pmr-missing" ,
557
636
when = lambda cfg : BooleanExpression .evaluate (
558
- "stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0|12.0|13.0)(.0)?}}" ,
637
+ #"stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0|12.0|13.0)(.0)?}}",
638
+ "using-built-library-before-llvm-13" ,
559
639
cfg .available_features ,
560
640
),
561
641
),
562
642
# Tests that require std::filesystem support in the built library
563
643
Feature (
564
644
name = "availability-filesystem-missing" ,
565
645
when = lambda cfg : BooleanExpression .evaluate (
566
- "stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{(13|14)(.0)?}}" ,
646
+ #"stdlib=apple-libc++ && target={{.+}}-apple-macosx10.{{(13|14)(.0)?}}",
647
+ "using-built-library-before-llvm-16" ,
567
648
cfg .available_features ,
568
649
),
569
650
),
@@ -579,8 +660,17 @@ def check_gdb(cfg):
579
660
Feature (
580
661
name = "availability-tzdb-missing" ,
581
662
when = lambda cfg : BooleanExpression .evaluate (
582
- # TODO(ldionne) Please provide the correct value.
583
- "(stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0|12.0|13.0)(.0)?}})" ,
663
+ #"(stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.13|10.14|10.15|11.0|12.0|13.0)(.0)?}})",
664
+ "using-built-library-before-llvm-16" ,
665
+ cfg .available_features ,
666
+ ),
667
+ ),
668
+ # Tests that require support for <print> and std::print in <ostream> in the built library.
669
+ Feature (
670
+ name = "availability-print-missing" ,
671
+ when = lambda cfg : BooleanExpression .evaluate (
672
+ #"stdlib=apple-libc++ && target={{.+}}-apple-macosx{{(10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0|13.0)(.0)?}}",
673
+ "using-built-library-before-llvm-18" ,
584
674
cfg .available_features ,
585
675
),
586
676
),
0 commit comments