Files
mercury/tests/valid/complete_int8_switch.m
Julien Fischer 71e279425c Complete switches on 8- and 16-bit fixed size integers.
compiler/type_util.m:
    Treat complete switches on 8- and 16-bit fixed sized integers as det.
    (We don't do the same for the other fixed size integer types, since having
    a complete switch on them is not practical anyway.)

tests/valid/Mmakefile:
tests/valid/compare_{int8,uint8}_switch.m:
    Add a test for complete switches on the 8-bit integer types.
2018-04-05 20:03:02 +10:00

264 lines
4.7 KiB
Mathematica

:- module complete_int8_switch.
:- interface.
:- pred foo(int8::in, string::out) is det.
:- implementation.
foo(-128i8, "-128").
foo(-127i8, "-127").
foo(-126i8, "-126").
foo(-125i8, "-125").
foo(-124i8, "-124").
foo(-123i8, "-123").
foo(-122i8, "-122").
foo(-121i8, "-121").
foo(-120i8, "-120").
foo(-119i8, "-119").
foo(-118i8, "-118").
foo(-117i8, "-117").
foo(-116i8, "-116").
foo(-115i8, "-115").
foo(-114i8, "-114").
foo(-113i8, "-113").
foo(-112i8, "-112").
foo(-111i8, "-111").
foo(-110i8, "-110").
foo(-109i8, "-109").
foo(-108i8, "-108").
foo(-107i8, "-107").
foo(-106i8, "-106").
foo(-105i8, "-105").
foo(-104i8, "-104").
foo(-103i8, "-103").
foo(-102i8, "-102").
foo(-101i8, "-101").
foo(-100i8, "-100").
foo(-99i8, "-99").
foo(-98i8, "-98").
foo(-97i8, "-97").
foo(-96i8, "-96").
foo(-95i8, "-95").
foo(-94i8, "-94").
foo(-93i8, "-93").
foo(-92i8, "-92").
foo(-91i8, "-91").
foo(-90i8, "-90").
foo(-89i8, "-89").
foo(-88i8, "-88").
foo(-87i8, "-87").
foo(-86i8, "-86").
foo(-85i8, "-85").
foo(-84i8, "-84").
foo(-83i8, "-83").
foo(-82i8, "-82").
foo(-81i8, "-81").
foo(-80i8, "-80").
foo(-79i8, "-79").
foo(-78i8, "-78").
foo(-77i8, "-77").
foo(-76i8, "-76").
foo(-75i8, "-75").
foo(-74i8, "-74").
foo(-73i8, "-73").
foo(-72i8, "-72").
foo(-71i8, "-71").
foo(-70i8, "-70").
foo(-69i8, "-69").
foo(-68i8, "-68").
foo(-67i8, "-67").
foo(-66i8, "-66").
foo(-65i8, "-65").
foo(-64i8, "-64").
foo(-63i8, "-63").
foo(-62i8, "-62").
foo(-61i8, "-61").
foo(-60i8, "-60").
foo(-59i8, "-59").
foo(-58i8, "-58").
foo(-57i8, "-57").
foo(-56i8, "-56").
foo(-55i8, "-55").
foo(-54i8, "-54").
foo(-53i8, "-53").
foo(-52i8, "-52").
foo(-51i8, "-51").
foo(-50i8, "-50").
foo(-49i8, "-49").
foo(-48i8, "-48").
foo(-47i8, "-47").
foo(-46i8, "-46").
foo(-45i8, "-45").
foo(-44i8, "-44").
foo(-43i8, "-43").
foo(-42i8, "-42").
foo(-41i8, "-41").
foo(-40i8, "-40").
foo(-39i8, "-39").
foo(-38i8, "-38").
foo(-37i8, "-37").
foo(-36i8, "-36").
foo(-35i8, "-35").
foo(-34i8, "-34").
foo(-33i8, "-33").
foo(-32i8, "-32").
foo(-31i8, "-31").
foo(-30i8, "-30").
foo(-29i8, "-29").
foo(-28i8, "-28").
foo(-27i8, "-27").
foo(-26i8, "-26").
foo(-25i8, "-25").
foo(-24i8, "-24").
foo(-23i8, "-23").
foo(-22i8, "-22").
foo(-21i8, "-21").
foo(-20i8, "-20").
foo(-19i8, "-19").
foo(-18i8, "-18").
foo(-17i8, "-17").
foo(-16i8, "-16").
foo(-15i8, "-15").
foo(-14i8, "-14").
foo(-13i8, "-13").
foo(-12i8, "-12").
foo(-11i8, "-11").
foo(-10i8, "-10").
foo(-9i8, "-9").
foo(-8i8, "-8").
foo(-7i8, "-7").
foo(-6i8, "-6").
foo(-5i8, "-5").
foo(-4i8, "-4").
foo(-3i8, "-3").
foo(-2i8, "-2").
foo(-1i8, "-1").
foo(0i8, "0").
foo(1i8, "1").
foo(2i8, "2").
foo(3i8, "3").
foo(4i8, "4").
foo(5i8, "5").
foo(6i8, "6").
foo(7i8, "7").
foo(8i8, "8").
foo(9i8, "9").
foo(10i8, "10").
foo(11i8, "11").
foo(12i8, "12").
foo(13i8, "13").
foo(14i8, "14").
foo(15i8, "15").
foo(16i8, "16").
foo(17i8, "17").
foo(18i8, "18").
foo(19i8, "19").
foo(20i8, "20").
foo(21i8, "21").
foo(22i8, "22").
foo(23i8, "23").
foo(24i8, "24").
foo(25i8, "25").
foo(26i8, "26").
foo(27i8, "27").
foo(28i8, "28").
foo(29i8, "29").
foo(30i8, "30").
foo(31i8, "31").
foo(32i8, "32").
foo(33i8, "33").
foo(34i8, "34").
foo(35i8, "35").
foo(36i8, "36").
foo(37i8, "37").
foo(38i8, "38").
foo(39i8, "39").
foo(40i8, "40").
foo(41i8, "41").
foo(42i8, "42").
foo(43i8, "43").
foo(44i8, "44").
foo(45i8, "45").
foo(46i8, "46").
foo(47i8, "47").
foo(48i8, "48").
foo(49i8, "49").
foo(50i8, "50").
foo(51i8, "51").
foo(52i8, "52").
foo(53i8, "53").
foo(54i8, "54").
foo(55i8, "55").
foo(56i8, "56").
foo(57i8, "57").
foo(58i8, "58").
foo(59i8, "59").
foo(60i8, "60").
foo(61i8, "61").
foo(62i8, "62").
foo(63i8, "63").
foo(64i8, "64").
foo(65i8, "65").
foo(66i8, "66").
foo(67i8, "67").
foo(68i8, "68").
foo(69i8, "69").
foo(70i8, "70").
foo(71i8, "71").
foo(72i8, "72").
foo(73i8, "73").
foo(74i8, "74").
foo(75i8, "75").
foo(76i8, "76").
foo(77i8, "77").
foo(78i8, "78").
foo(79i8, "79").
foo(80i8, "80").
foo(81i8, "81").
foo(82i8, "82").
foo(83i8, "83").
foo(84i8, "84").
foo(85i8, "85").
foo(86i8, "86").
foo(87i8, "87").
foo(88i8, "88").
foo(89i8, "89").
foo(90i8, "90").
foo(91i8, "91").
foo(92i8, "92").
foo(93i8, "93").
foo(94i8, "94").
foo(95i8, "95").
foo(96i8, "96").
foo(97i8, "97").
foo(98i8, "98").
foo(99i8, "99").
foo(100i8, "100").
foo(101i8, "101").
foo(102i8, "102").
foo(103i8, "103").
foo(104i8, "104").
foo(105i8, "105").
foo(106i8, "106").
foo(107i8, "107").
foo(108i8, "108").
foo(109i8, "109").
foo(110i8, "110").
foo(111i8, "111").
foo(112i8, "112").
foo(113i8, "113").
foo(114i8, "114").
foo(115i8, "115").
foo(116i8, "116").
foo(117i8, "117").
foo(118i8, "118").
foo(119i8, "119").
foo(120i8, "120").
foo(121i8, "121").
foo(122i8, "122").
foo(123i8, "123").
foo(124i8, "124").
foo(125i8, "125").
foo(126i8, "126").
foo(127i8, "127").