2022-04-13T11:04:28,724 Created temporary directory: /tmp/pip-ephem-wheel-cache-2r747zu6 2022-04-13T11:04:28,730 Created temporary directory: /tmp/pip-req-tracker-ivm89ck_ 2022-04-13T11:04:28,731 Initialized build tracking at /tmp/pip-req-tracker-ivm89ck_ 2022-04-13T11:04:28,731 Created build tracker: /tmp/pip-req-tracker-ivm89ck_ 2022-04-13T11:04:28,732 Entered build tracker: /tmp/pip-req-tracker-ivm89ck_ 2022-04-13T11:04:28,733 Created temporary directory: /tmp/pip-wheel-skhixgrw 2022-04-13T11:04:28,796 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2022-04-13T11:04:28,805 2 location(s) to search for versions of clang-format: 2022-04-13T11:04:28,805 * https://pypi.org/simple/clang-format/ 2022-04-13T11:04:28,805 * https://www.piwheels.org/simple/clang-format/ 2022-04-13T11:04:28,806 Fetching project page and analyzing links: https://pypi.org/simple/clang-format/ 2022-04-13T11:04:28,808 Getting page https://pypi.org/simple/clang-format/ 2022-04-13T11:04:28,811 Found index url https://pypi.org/simple 2022-04-13T11:04:28,991 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/e3/71/db01cf5d188d0669af9cfd9f5cf8cfb47898df6ad5c86bc008ab3b73d327/clang_format-6.0.1-py2-none-manylinux1_x86_64.whl#sha256=1b71b62346e281f96aa9d45a8892427ce1eae7783c24ac0e1efbab1d5340748d (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,992 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/16/60/65c642879f290c4233ac75d7f91038509750347271cd135a62cf0b86019c/clang_format-6.0.1-py2.py3-none-manylinux1_x86_64.whl#sha256=8028c358d0838e83ea85254bedba846f2106348406c9cdc4f2724779704eedca (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,993 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/17/28/feeb87d11c17d4734763db4c0a1a6939448f0c11a1713fac142e8dd2f107/clang_format-7.1.0-py2.py3-none-manylinux1_x86_64.whl#sha256=32629996956b3e34494a926a76835e3371f10c2823c3078f5fbef08bfebbaae7 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,993 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/37/66/75e3c14f22c8a7a02c7e337547e29d42bed516ba8067fdef87d3d9346e52/clang_format-8.0.1-py2.py3-none-manylinux1_x86_64.whl#sha256=d3d0d62281ace883bc6e4188f949308b8f2e4f6de8fac463e5abd1ae02c03db6 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,994 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/25/f2/d989afaf8a91385f18fd06e6202644be0bc3a1d14548c18a8ece4911e005/clang_format-9.0.0-py2.py3-none-manylinux1_x86_64.whl#sha256=085342f9e238c9b03a019e20ec23f242f8795a3cca9296ab2427b1dea45e7014 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,995 Found link https://files.pythonhosted.org/packages/23/65/73a9af944aa3d8099f6664565f8a1f1be2a0c9537c4129cd022130fdeccd/clang-format-10.0.1.tar.gz#sha256=beab968d1857e2cb4c2907e8cc6dcd7fb0ee6e9a37bbfaa014fc008b2bb268cc (from https://pypi.org/simple/clang-format/), version: 10.0.1 2022-04-13T11:04:28,995 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/4e/7c/9bb87b8bae9ac577d1c54d769fca4b48916299b7ab106f11f097b90fd9b3/clang_format-10.0.1-py2.py3-none-macosx_10_9_universal2.whl#sha256=cdd3f78206fa6e6e9e3a18daaba11d5816a5cb0b7f5858c028fdff7d1d066b24 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,996 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/a9/4d/ceb0d28ece88c6ff29f8ce776657107642a785f38e5be056fcfa31d0c18a/clang_format-10.0.1-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=8d9b96c63becdbebfe7f9f79911a1187836622de4249d974666a7779468489f2 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,997 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/b4/c7/722b428d302af62afe8b485b229ede1937b83f0a024f0d45980e8f186d21/clang_format-10.0.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=9b50fd165bc735f19a0aefb8eb829abc093d4b9d1102669c9d39c19ba31bef91 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,997 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/b4/26/3545cb69fe1affb2e259222bb11c7775cc8e1cdf707824d3480dbd51b297/clang_format-10.0.1-py2.py3-none-win32.whl#sha256=146161362fbbd4513008043c6e6aba381bf32914f7061b6781276f1d3b16b1cd (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,998 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/da/a5/2ec8b5103064ebe4001b68ad1bc9abbd3d5e6e87aa96100019ef35875aba/clang_format-10.0.1-py2.py3-none-win_amd64.whl#sha256=d3121157d188f21ccd1cd37f91d03150ad98f2fbb197737cf241e1d1b2a99246 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:28,998 Found link https://files.pythonhosted.org/packages/65/f6/6c33182b04fe9074beb3ea57b71d069692858087283a786aa9db53b634d0/clang-format-10.0.1.1.tar.gz#sha256=016480cc99ff8fa9342672608b2e68f9eca9310407d248b1e7d8679c22dc6344 (from https://pypi.org/simple/clang-format/), version: 10.0.1.1 2022-04-13T11:04:28,999 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/53/e0/a056a996290c5b288c0b63ac884c095b9ab4fb3c4f29706d551c3130e070/clang_format-10.0.1.1-py2.py3-none-macosx_10_9_universal2.whl#sha256=222d6ca46ea8a68db1874ba7772f42efb6ffad4cdadf660da11d3e99a283ca4a (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,000 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/8a/1a/2055e3765e1f60cb08a398fe13944489168c96eceaf3abcee89fd9275f94/clang_format-10.0.1.1-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=402886a26608ea78d1f759aef71ba5d2f0459ebf2109aca88053e3dbd1fc8254 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,000 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/e5/4e/51b96a7905d1e254bbb1df4894a22d0af1ffd4b2e9add5f6fba0cbdfeb2d/clang_format-10.0.1.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=aae62178afdd482c7b1171d666ef29baf22a583e71ade743093929db4ac245b4 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,001 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/57/54/35f1baf05ad2a6cc1863d438530745f8b2d2fb27b3bb83d045750c78503a/clang_format-10.0.1.1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=0df136ac7b5ca9aacec29f656dc7932031a0992594c96f0f386ab757db63c536 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,001 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/1d/6b/52a11a066f0a643a64f4075abdedafa5612c9e2d3110b6f284d825e6514e/clang_format-10.0.1.1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl#sha256=dc60fef84b74a3375cd768a39bdf145b268555b6998ca496588cd7471d0ed983 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,002 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/bf/ab/008855a4cf65da825b5aa15c3971d591bfcb674d100b5ecc68edca1d8085/clang_format-10.0.1.1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl#sha256=4696ce1dff189402ea64b9c1158b5058ef1fe2f06d78332a23980871f4c76234 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,002 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/20/9e/f13aa219298ccbae3691624a3014ddd2d269950fa78aaaf1976052098a89/clang_format-10.0.1.1-py2.py3-none-win32.whl#sha256=d5e2807a3e2a5bfb07051a42deb93f4488661acaf02f2d99b5811fa4a43e20c1 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,003 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/17/da/8a32527c09b77fba26aae1a40837c35b42c321d5e7917862c466532f39c2/clang_format-10.0.1.1-py2.py3-none-win_amd64.whl#sha256=fa1eb6ef143a072b0b350c9b4c74374fa88d93d5ddd8f4e6ad24b04442105990 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,004 Found link https://files.pythonhosted.org/packages/f8/a4/bb2e874b573eeb040ec904e8e42d6f5c9a1f12e2020af1b07348c77de510/clang-format-11.0.1.tar.gz#sha256=7e62439218c38126f9234bc0fdfa85cb2ef5798219190acc911962f0b0a0abfc (from https://pypi.org/simple/clang-format/), version: 11.0.1 2022-04-13T11:04:29,004 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/96/0b/d7a1f4cbabab240a1efd3fd4b6ca394f957c8e140f2e7325063be42da48a/clang_format-11.0.1-py2.py3-none-macosx_10_9_universal2.whl#sha256=cc3165c67df81ec1daa99d7e922f5bdd02d9e65c12242b3367967b145e5df463 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,005 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/bb/44/c4cee654285b087cfd0933526742d4f1400f8ef2ae30c4cc27125134ef01/clang_format-11.0.1-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=a6f08bf948857205b3c6d8efe885658a46533797c4a822c03ba4004bc18e830f (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,005 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/1f/3e/8d4b80c18fe32c9225cdd19a6d8770713ab0f852f163abebbc26b2c132c8/clang_format-11.0.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=47ea0da184a602b06bef2cfd4590137b08aa67f3e8eab7b33a6dc48e1a28fe40 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,006 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/49/28/cc3effc16f6d8b1321141e228b3b05525110830d8f97cc6966e356264d4c/clang_format-11.0.1-py2.py3-none-win32.whl#sha256=462bee159286fc75a972660ac2d17337717c1593639a1f12a9d9751624877c0f (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,007 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/e0/e1/db42d5ce564cbde759ce73ab27d9e1e53ab64f28a620a5eb0f1e31d7729a/clang_format-11.0.1-py2.py3-none-win_amd64.whl#sha256=7de5848f098ec6a9935222ade8b097a842a7375897de5cbe3c073c7627d47024 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,007 Found link https://files.pythonhosted.org/packages/ec/53/7109816f964f69115627e4c63ddb6c96ffd67d93251401cad4a60c7974db/clang-format-11.0.1.1.tar.gz#sha256=b4d073d1809f8aaee9183d5f9843abe4b070784a89a074a7fa5a59739a250f0c (from https://pypi.org/simple/clang-format/), version: 11.0.1.1 2022-04-13T11:04:29,008 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/03/df/347ae0aec365dc9431fdbacd059855e8988f608757c8241a6d26f0b44370/clang_format-11.0.1.1-py2.py3-none-macosx_10_9_universal2.whl#sha256=0a0ea9807703fc30ed3bd2380258aa6f20ed43da0bab5365e952dbce9537025a (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,008 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/10/25/3e158143713530d888fb91da6765b602a11dc0b92837155f5f1e1b8b88e8/clang_format-11.0.1.1-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=8f35614c66e848f584bee67b65611849a2188103d8f155229eb5bcd3516b92f1 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,009 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/9b/5c/71a87be95e73097f2103843206d5ea9637692638c0877fe19877facde6c9/clang_format-11.0.1.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=022eec1067db92375e1c031059f5202309e9b458d30fd694c69c0da33e1b17f4 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,010 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/07/a2/a5ec8aaa841901d31f44b46e69ce38eb954f98dca7c7e1a6d5f5025948b3/clang_format-11.0.1.1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=197c63fca53608114a54c1a0d0dc822513cfd8ed6129184ee7c46d570e12e0c2 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,010 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/21/73/f8808e3751ed490d1c2524403b05d7bbe3efb34b1b86564f058650de1fa3/clang_format-11.0.1.1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl#sha256=3a34b43f416d55e67710caee4641b2be4d514f559884edd21db432da51bbf881 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,011 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/3c/62/256f565ad6c672e7f130f7ced7b3f257571ed03367c13304ba867ef682c8/clang_format-11.0.1.1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl#sha256=b52261c86436870a7385a4bba513570629a04d1a0cdd2fe5561ea56972224cf5 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,011 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/65/81/aba3b46668c8c1fd150343275a2d26a6b3010372249a26cf848ff08613f3/clang_format-11.0.1.1-py2.py3-none-win32.whl#sha256=2c120fe194a9d16f451e30e2279ffa2394cca05e97e339d4a356b8f3b2a99ef7 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,012 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/b7/28/e7519e2754f41dd64db5491cae7df47dec08a4617101dac94496dc32dc7d/clang_format-11.0.1.1-py2.py3-none-win_amd64.whl#sha256=6f3cbd3fe116295a02163cb7a188144a72d97587f14daaf8b152db3889920af6 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,012 Found link https://files.pythonhosted.org/packages/07/d3/37cfc13aaa8edf27251aa07455a6f8c0ea95bf591a2822fa77083df5ac70/clang-format-11.1.0.tar.gz#sha256=4f6d9d33bf52a1e23d5eda47b09707591d3eb19f1a2e40de12f924a71f425962 (from https://pypi.org/simple/clang-format/), version: 11.1.0 2022-04-13T11:04:29,013 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/8a/f5/1d63d47896cbd8c25075fd4dada011a9b06df9d3af6ed9ed47275c462364/clang_format-11.1.0-py2.py3-none-macosx_10_9_universal2.whl#sha256=c0feccbe91e89bb4e866d51118e119902c04be11b0dc93af693b5da8f9e3818a (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,014 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/65/ea/3dacbe855124094332d097ac7d23ba36b6fa7722303ed0d5c5660799cab9/clang_format-11.1.0-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=f1083d728bcd728ebddc49c9225f33cd2d213b3b6c36d9df5c94af2af0c10277 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,014 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/4d/fb/afd60536781864385b742b1f3aa60b9959fdc63e652f63fce15dee0d17ec/clang_format-11.1.0-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=0da463012d74ad3335b6bccdb6f0721b12beac6acacc9694e2abcfc241695683 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,015 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/c2/a0/f7cef35d0d019b60333ce9acf4ebaadec1b208752e3e462a19e1a909feab/clang_format-11.1.0-py2.py3-none-win32.whl#sha256=06c0a8081b2e69d7eb1aba446e579cbc0bddd9411a5b28222de9311c523ea081 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,015 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/1d/9c/7b1621ea1131fe085dbd47f1ba9e1f515c4334b0f64b07e974c5c856ee9b/clang_format-11.1.0-py2.py3-none-win_amd64.whl#sha256=e6986ae619fafeaa7924f6c745518d895ca1b2b7e2fcc3cb9b57d0d7a6aa305b (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,016 Found link https://files.pythonhosted.org/packages/38/30/267c46f17b536b5e93b47aee4231a0270115a04c71243115fa3c7cbc953d/clang-format-11.1.0.1.tar.gz#sha256=0d1ec838fc335d3102888bbbcd0bd0774a0f459ce1af1c233cbd7aefaa055e7d (from https://pypi.org/simple/clang-format/), version: 11.1.0.1 2022-04-13T11:04:29,017 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/08/ff/8ce1d4da31b1689418cb41db0c6c5a5495a445d8ac110429ffce36c713a7/clang_format-11.1.0.1-py2.py3-none-macosx_10_9_universal2.whl#sha256=95f22a41d9e2eb2972f8cb547b2c621ab6862067c14ab22946d5607fff005dc7 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,017 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/cc/90/36525bed3d15bec079ce496e83d029b84dcb6e5d968ddc34f1c3dc37d6f9/clang_format-11.1.0.1-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=7ad10d9bd88d5fca58ed701144cbc9d4e3995a51554db70c341edef2f0c939df (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,018 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/cc/c6/26bfbcf434a9c89073c95c1b970dc8e9c89749850c094d098e64c08b2735/clang_format-11.1.0.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=b474905f60cf2866d00ba8cc3d1f7c10e8aaebc425c5323f8db18c03a280f61c (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,018 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/c1/a7/f11972623ae28e733a146f6b5ab51a87f5ee87b0b4cbb4d2973a80252e98/clang_format-11.1.0.1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=3e54d3b8afebc062bda6116b38f65cae6240e175ee0ab418cd818296234d1045 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,019 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/98/24/f9270f3f2b2fb99920cf211868433195cf9ce166f886905466dcfc317ffc/clang_format-11.1.0.1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl#sha256=61f8e9a605e03b44150874c165c2ec8a56fc898ad6ed9f013819946ccb284e57 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,019 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/85/32/65d7dd87202e35abd5f44090c536afd120a363e992cac6774d1ea907e470/clang_format-11.1.0.1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl#sha256=42330d50d2a0dec22374368c9f2d9ae6084062f8ac649a13e6d9c5871e4dab37 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,020 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/d0/d4/5c228fcf2d8f3792de24123d63275857bcca0dbfae3ea77bded622de4f1d/clang_format-11.1.0.1-py2.py3-none-win32.whl#sha256=0ebc9b51db01baa31f7c0e07705711adcfa5475ed31323174f110dfc61b1aa2b (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,021 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/93/b7/ddc54c9f4c86b3280f4334d7af2ddb18fb33d1ed93721873328f516f782e/clang_format-11.1.0.1-py2.py3-none-win_amd64.whl#sha256=d26620fa30e2289e4e6aaa5d607cde281d6c24e388f970b245b439ad48d75191 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,021 Found link https://files.pythonhosted.org/packages/6d/06/31bb5d5bb91b3507d60c40be617ad625a7e38b01bf656a62cd534bdbb227/clang-format-12.0.1.tar.gz#sha256=b687687ea47f7b236edf8b436d126e944d5d27ae0d45e14184a54d890bf4242e (from https://pypi.org/simple/clang-format/), version: 12.0.1 2022-04-13T11:04:29,022 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/df/a6/d15aa3ceada436d2a5dec5de0ba332afc8a09637833be746545697035624/clang_format-12.0.1-py2.py3-none-macosx_10_9_universal2.whl#sha256=03665dc813affb129fc48a7c38c98d3675f447e8b59883aac96b07c51b83c491 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,022 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/d2/e4/7a14a2044a62ee6fb17a403bb4ebf0161b1a392b20fd976d29c89a8e5da0/clang_format-12.0.1-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=4a64e3a4c206146bc3ca79ad9e3e38469ecb2778c8a02cd97157b780368b706b (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,023 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/af/4d/af48745573954c74e554a5ce65e2372248a72b0f6694422cfdad8f768508/clang_format-12.0.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=46a0cd3e8b470cf33cfa919dbd9e04b8df7efe3facb9a8f6a5342ab8e841c25d (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,024 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/a0/22/9bfe24e6028d4cd7143f46d4c7100228f2f49a762a115c5e603920218b47/clang_format-12.0.1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=638646ae4246eafbcc54e8154a776cfaa79556d9aac7a200127f94fae7fd8468 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,024 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/3e/4b/52375ef0d5d7be44fa7f5fd6ab3c6c6b0bfdae06ebd422df3c676b106d14/clang_format-12.0.1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl#sha256=ecfc433f69fb810d54371018a94c8186b9c40ba0cb9818041a467335863c8cf2 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,025 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/05/88/3c4c329fc29cd9381584847cffd72bae06f0ae4be2d6a18b10f1ee8b420f/clang_format-12.0.1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl#sha256=5a0b9b94bd5cc0638bbe84603e13da3a8e0c19c7dfeb96c3944b55f49572602b (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,025 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/ee/ab/99c3d2bc229a82ffbc08880519a42cd1b6eeed4d837ca8d1d414ca2b0544/clang_format-12.0.1-py2.py3-none-win32.whl#sha256=eb972f0eef8959328e15a55e6167a0e565e64436e2a05218c4727119e5f4a10e (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,026 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/5d/31/5a0ffd7849042f2d4d1b6304d40bb0720976c6151a9b8dfb7f44de511da8/clang_format-12.0.1-py2.py3-none-win_amd64.whl#sha256=dadd2ae65e28b1b9a608babbdf1235bfed539d519e1ec863ca1ebbb921f9de22 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,026 Found link https://files.pythonhosted.org/packages/43/72/689b399d5e3461c36c8a5709c14259076e9305e3b14d7912ab0754a9b529/clang-format-12.0.1.1.tar.gz#sha256=6bdc9f70f9e384bb5e238f2f6859e0719dcc5caf1cb6c7e61b9670fc42727297 (from https://pypi.org/simple/clang-format/), version: 12.0.1.1 2022-04-13T11:04:29,027 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/54/05/32361da7bf4460efc0a5847cc782a68120222a82854bce3db7f28069325b/clang_format-12.0.1.1-py2.py3-none-macosx_10_9_universal2.whl#sha256=93ad8524f76853baada61236444012894e34a738dce8094d3914af0e043e1712 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,028 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/32/63/b07a00a5f4df92196dd0e36f2b5e801a6de6059be13835db8b8e16201b77/clang_format-12.0.1.1-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=967dabf0ef648a5237f908d039d9e4969474451621928c663ed6196505b2826d (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,028 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/97/62/09e28616eeb4311812ebb46c14ee942d7e1e27dea17eefa8212f34939ae6/clang_format-12.0.1.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=312246f973b2e0df52a6d59085610ebe48de216af1ba3b9a3ac1f7dc44b7491d (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,029 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/a3/02/0058414c6991d9254be1e59fa1bb0a8e373a5938e21aad81351989a7a264/clang_format-12.0.1.1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=acc7878471d6f12800ada339c2ddedc4dbff64af56cb787ae2daa687f9cd5606 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,029 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/6c/5a/4e2a12a045f7ada09398f9beaed7d37555f36d08a352c10401ccefbf8aa3/clang_format-12.0.1.1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl#sha256=1c2a5fb8c1f863008f0413b3ddb4713564fe3d396bd51e74ea8b75fc0a77669b (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,030 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/79/c8/778eb2bf871af26ccf417d8279e10a022ae4222898dbbee4e576cddb9b9e/clang_format-12.0.1.1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl#sha256=cd8cb6c0587eaa0367fe50af9cc03676bce55daf33fb98e7ecfd24a1cfe7965c (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,031 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/2f/f3/77622e1014d141f286464fe7a6070407bc39e53b7aec967bc63b4fc6f613/clang_format-12.0.1.1-py2.py3-none-win32.whl#sha256=4e3631ed85589b71a491590845048c58815c6bc45ba19958ae1a61e830366bd6 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,031 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/7c/ba/0bd4789f46d617d0df9c3ca7bdaeab1cbe9b0ccbeef437900b75ed4fed78/clang_format-12.0.1.1-py2.py3-none-win_amd64.whl#sha256=89c0d0dd644c930e68cd59c99c3822569ca7d1acb131ef65bda9733b2746407b (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,032 Found link https://files.pythonhosted.org/packages/81/1a/236ddebc69e7d878dc81519147d51cb2155266e0061ab49a8c5761b4a398/clang-format-13.0.0.tar.gz#sha256=cc0c5e791f180ad5141d800834f6041862ef6179213b6bd7fcd5296719490ac0 (from https://pypi.org/simple/clang-format/), version: 13.0.0 2022-04-13T11:04:29,032 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/2c/a6/085544c6a6d2b8218661fd70a9a52e925673454fa7333c9b481409cb244d/clang_format-13.0.0-py2.py3-none-macosx_10_9_universal2.whl#sha256=b7f9824065e1b4d6a1bc5d0000a5550929be63e8bb05252892fbe858130e5167 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,033 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/04/fc/831aec2978fd04940d8c6a1bc8580f62ce6af86e4aeaad71bdefd1250c33/clang_format-13.0.0-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=5bd10c0860a82b2806fad11d161d26f45290b56fdc4e2feaac64e16565482388 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,033 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/82/ed/d8a5af59e151006a32f23c08bccbcf1e919b9a4ef72c240b740c0e8cb65c/clang_format-13.0.0-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=e978ad130d2b540e013784d96252ca89e45a42337faa1bbf5a7db9bf40c37a5c (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,034 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/d3/9a/623a6ab24134157eb45bc6400eae7b2795099053ce04ae4fdbccade1e246/clang_format-13.0.0-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=9146981b7f32e39614afc1f92aa460480d568e6ec1c7c2f3dfbe2bf3922b19d7 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,035 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/94/46/edcd121aa0b1decccbeffa216f3c86002bfc130bcdf774fab792f66e3dfe/clang_format-13.0.0-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl#sha256=b8b09158ace5a8155f8a0c0cb75d4140091ab3d95f42b07c7d89c9989666bc88 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,035 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/03/ff/76524934e9be64294bbf01ad6adb642a8c1134416f11ecee671f85311b98/clang_format-13.0.0-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl#sha256=3483f3a578b13bcd31c72dd06de49cbc478052611b90371e6d76e302ba763f99 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,036 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/d6/23/1d6798d498fed0421a95946afcb44a47b676c9a2cae6c897dd08000fcfa3/clang_format-13.0.0-py2.py3-none-win32.whl#sha256=934a77d8f0c1820091bad16faf71dc9887c02a3854d202c51b83cf059011c02a (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,036 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/2e/43/8c231f200afed35b36ce884c07df2b708b64f1e84e7a7c0bb0a8b278be18/clang_format-13.0.0-py2.py3-none-win_amd64.whl#sha256=3d613b5c68847a8425dd44578ce7216a25fd8235a48ba4f4f70b37ec80d2d319 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,037 Found link https://files.pythonhosted.org/packages/0f/6a/46e36463d43cbe6aa0a87a09f440fff380352b106b5d0747b23c33b38df5/clang-format-13.0.1.tar.gz#sha256=deb131bee8716aead66f0bbf64126cb9e18499d18ea75801dda86ff842320142 (from https://pypi.org/simple/clang-format/), version: 13.0.1 2022-04-13T11:04:29,038 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/14/8e/93bb3094512d6bb515c28156373ac6cb786e0cc08ff6492aca0fc7d592d8/clang_format-13.0.1-py2.py3-none-macosx_10_9_universal2.whl#sha256=826d487b1cf0190e0c3a5e064b56e2f6e7c4c799c78e59ff6d8991df916f2222 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,038 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/af/af/dd02567f60d1be34819d1f7e8958ef786850c062527d1f2343e5f16c746f/clang_format-13.0.1-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=a8fab9bb9b96be6024a2d6e686894cb5725001399ef04a51383cda551e354c3a (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,039 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/17/fd/723876a1e55397e4b060f2e9e3d4a5e4820f6e09ea05fe8c8cf4ddfd1ae8/clang_format-13.0.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=58e91debc2b2d14d174c73c678ffac676cb171152ee3f4239b6cbe6975e4ede1 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,039 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/ca/9b/7f7a8761a08f3ef462bb1c062616a549f76c80b8fa942d068656a54665e4/clang_format-13.0.1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=88c832f055ee1d4b026a819c9d457374d92abe067d8f87078b9f229e6564ac1f (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,040 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/9e/9b/b1447c3fca9a9efeede9542785982468a4c9a57dc6db000d6adfe87f338c/clang_format-13.0.1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl#sha256=f345b61c56d76325b158dbad560c35bdd8e77184f0fb60aba4f8019f744b70f8 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,040 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/a6/97/876beb4598e26b4df5f3256aacea77f6d495385ea2e39888f041af965be9/clang_format-13.0.1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl#sha256=a6e0ea97648ca916454f9719537d16a4ec5557d8644e544a001aaa42ba9b653f (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,041 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/93/b4/ab636facaec6e98f87e90fa632b600179fa5f890ca440be88fa188e812e6/clang_format-13.0.1-py2.py3-none-win32.whl#sha256=1302ef7522eb9dc1daf270cd5a4a1f10814403e50d74be9b96f87dcb200f47f7 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,041 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/f4/00/dd7a74b5dddb168568bc40042f2c662f2b748dea6242396c5d9f2351f777/clang_format-13.0.1-py2.py3-none-win_amd64.whl#sha256=7b80a328107bf3d11bf2db7d227feac46458aed07f836430d8dc2155dcc5cdce (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,042 Found link https://files.pythonhosted.org/packages/6f/d3/f1608c2226344901b0e88f977a9163f198ce4c8280a9ad3173a932c48adb/clang-format-14.0.0.tar.gz#sha256=60c631c990bb1fa2a20fb60c581560dec9c37ffb575e616fe9c05d45bdd3b407 (from https://pypi.org/simple/clang-format/), version: 14.0.0 2022-04-13T11:04:29,043 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/7b/d1/889e81e8504452f3a78bf5103d77dcb7201964fcb2b5850a84ff6327bf90/clang_format-14.0.0-py2.py3-none-macosx_10_9_universal2.whl#sha256=2a75cfa5ce1ce77fea9c24d1a249bc8e07b3d62196ba96755e4fa4ef1e3658f7 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,043 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/cc/19/d25455ea5ba4ea508d1c49cf2cc2d30e287e10ea13e91ce2ed6300985d4b/clang_format-14.0.0-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=b1fc036e3c419f867660d91c4bed56de76d5e2f076b68449c45f2fcd81e3049a (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,044 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/c0/69/bf08f34219f6435dfaf0e29cf9afd7d815b10307c7e0394c2d3a43a0305c/clang_format-14.0.0-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=85c6c8078645eb14a52dc64ce122bfa992f51cc4066580e4d670bd15c0c07500 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,044 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/40/d3/ff0dbf8bfb0c1388870ef147616688c96d58578b0d478c362742a742baea/clang_format-14.0.0-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=580456c55436d6e4f236c4463ae5fd74948890f7379b502069467f0b0f4f130f (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,045 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/fa/87/35db0a1060e8989c3b62ce030a87a0285e76637634949d398f6be61f9bba/clang_format-14.0.0-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl#sha256=e6e678ac8008bf77de79a1c1eb9e30e7076bc22e52a1ba122a356a24c97715e9 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,045 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/1c/2b/139402d516d10210834b3d4b4db5a41be9101e16cd8c1db0ec1f6a7ccaf5/clang_format-14.0.0-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl#sha256=5384ec3880e2000e6c06884542d6ab217f8140f3ca142a63ec16ddf21ea95965 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,046 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/73/30/4ec4e957c07e3bbbab625b1252781864792fa5ca8d17f6ce1955cfefd08a/clang_format-14.0.0-py2.py3-none-win32.whl#sha256=17de21387ab5676daf265303b4a4bfcb1e9e886c62900e59a10b6e332fd210cd (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,047 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/b3/63/b82289b40330ae1ffd112b836f531cca1b43600dd8440ae66face8b5e1ce/clang_format-14.0.0-py2.py3-none-win_amd64.whl#sha256=d240f29f6a4a5e4c47af3ee37ac4ced4b5e71756c74cf3b513f0cb5b0de69d7d (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,047 Found link https://files.pythonhosted.org/packages/d3/ac/b8d6bfa8074bfc581ee326a2b11b97264be2316d55a6c8016f244db0be2f/clang-format-14.0.1.tar.gz#sha256=9966930f6951c3ce64e24a8abae1c130df07feb6da2d132de62e1e3077bcbc54 (from https://pypi.org/simple/clang-format/), version: 14.0.1 2022-04-13T11:04:29,048 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/60/7f/16f8a6b704336e44fdea7b9e8a597cd36bdc85980b3ee9bbf5acc874141c/clang_format-14.0.1-py2.py3-none-macosx_10_9_universal2.whl#sha256=5141ee7336e45e32db2f7f3b4a761f1a32bbcad6de65189f75951b884a0cb051 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,048 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/4e/41/92d7ad1f3a075a52c8217119140c29f3d71560038d47a48511994bacea36/clang_format-14.0.1-py2.py3-none-manylinux_2_12_i686.manylinux2010_i686.whl#sha256=2e7dc9b2016b68e475b52c08290fb8767210017af7ca2e918702ace1e2f9c7ea (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,049 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/19/d5/bd717df94b3a9bbb6fe9efd2bcabe12e580fcc1a01f418c11538a0657397/clang_format-14.0.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=9ed34d6e7106fd9c26612c3510af6bc92013424b103773782880390477aba63d (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,050 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/fe/f4/283e525aff15087a5802b2c9966e89bf3628d0d789a013c521c5450d2976/clang_format-14.0.1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=0dd7a3262491609d53b60c00255acd276cb47ae4b9d16bbd12d8ae56e0a0fcbc (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,050 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/ec/63/a2fc6c4ef7fbed5cd6d99faa267f80fcdb67e058ac93d0b8dcb9aeb66470/clang_format-14.0.1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl#sha256=6f0bb21450f853e10032f8b14f2a44ca1ac29cd5bf160fcd847931b843330256 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,051 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/b6/e6/8ac20e53fd1f298eacbe36faaad7d8393cfe260d2ca8e65a492546d50b6e/clang_format-14.0.1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl#sha256=09e12ca1c6abd5f679febdcf861ac999d5dc88d13e8bbb0007796fd120536a4e (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,051 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/e7/c6/e0388c1bc153768c900c0855bf1307a7cb5e8ab4d42e6092294c2e727971/clang_format-14.0.1-py2.py3-none-win32.whl#sha256=a47dc24f79ed853429405946f899c05776d136b1b3fa71170d763f5a6b4374e5 (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,052 Skipping link: No binaries permitted for clang-format: https://files.pythonhosted.org/packages/74/ee/be89dc82806ed1bc6b6e9b3e76f02f76414f320048122a610b7a1c19da54/clang_format-14.0.1-py2.py3-none-win_amd64.whl#sha256=b61c296f0aa8890185ce7bbb123e992ae9b1a12d5b3709af33aff07632d635bb (from https://pypi.org/simple/clang-format/) 2022-04-13T11:04:29,053 Fetching project page and analyzing links: https://www.piwheels.org/simple/clang-format/ 2022-04-13T11:04:29,053 Getting page https://www.piwheels.org/simple/clang-format/ 2022-04-13T11:04:29,055 Found index url https://www.piwheels.org/simple 2022-04-13T11:04:29,266 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-14.0.0-py2.py3-none-linux_armv7l.whl#sha256=bded92887a572a4572f353edacab62ea842a6011396844ac572721264a4049cd (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,267 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-14.0.0-py2.py3-none-linux_armv6l.whl#sha256=bded92887a572a4572f353edacab62ea842a6011396844ac572721264a4049cd (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,267 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-13.0.1-py2.py3-none-linux_armv7l.whl#sha256=dde8d4f675fecbf1fa40be08c713991cbbfbea9beed1b42ae679cb8e2b174651 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,268 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-13.0.1-py2.py3-none-linux_armv6l.whl#sha256=dde8d4f675fecbf1fa40be08c713991cbbfbea9beed1b42ae679cb8e2b174651 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,269 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-12.0.1.1-py2.py3-none-linux_armv7l.whl#sha256=0342cbb02777a994c2479a24ff04e8647ecdbe86366911bf353aeebaf923f313 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,269 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-12.0.1.1-py2.py3-none-linux_armv6l.whl#sha256=0342cbb02777a994c2479a24ff04e8647ecdbe86366911bf353aeebaf923f313 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,270 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-11.1.0.1-py2.py3-none-linux_armv7l.whl#sha256=829f651c2ae00f97c7a5d99017b8ec93078770c663ebbf537138533831eb5c53 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,270 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-11.1.0.1-py2.py3-none-linux_armv6l.whl#sha256=829f651c2ae00f97c7a5d99017b8ec93078770c663ebbf537138533831eb5c53 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,271 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-11.0.1.1-py2.py3-none-linux_armv7l.whl#sha256=21d590cb65aeae49bcfcd2cadbecbcbf66a0c22049bd093d96ee6c71381a0714 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,271 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-11.0.1.1-py2.py3-none-linux_armv6l.whl#sha256=21d590cb65aeae49bcfcd2cadbecbcbf66a0c22049bd093d96ee6c71381a0714 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,272 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-10.0.1.1-py2.py3-none-linux_armv7l.whl#sha256=633a56f5880d9567f32655bfa1625cd39aeaa383c97aba66f70c77b363b53127 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,273 Skipping link: No binaries permitted for clang-format: https://www.piwheels.org/simple/clang-format/clang_format-10.0.1.1-py2.py3-none-linux_armv6l.whl#sha256=633a56f5880d9567f32655bfa1625cd39aeaa383c97aba66f70c77b363b53127 (from https://www.piwheels.org/simple/clang-format/) 2022-04-13T11:04:29,273 Skipping link: not a file: https://www.piwheels.org/simple/clang-format/ 2022-04-13T11:04:29,274 Skipping link: not a file: https://pypi.org/simple/clang-format/ 2022-04-13T11:04:29,312 Given no hashes to check 1 links for project 'clang-format': discarding no candidates 2022-04-13T11:04:29,343 Collecting clang-format==14.0.1 2022-04-13T11:04:29,348 Created temporary directory: /tmp/pip-unpack-nbm9n0gj 2022-04-13T11:04:29,443 Downloading clang-format-14.0.1.tar.gz (9.2 kB) 2022-04-13T11:04:29,538 Added clang-format==14.0.1 from https://files.pythonhosted.org/packages/d3/ac/b8d6bfa8074bfc581ee326a2b11b97264be2316d55a6c8016f244db0be2f/clang-format-14.0.1.tar.gz#sha256=9966930f6951c3ce64e24a8abae1c130df07feb6da2d132de62e1e3077bcbc54 to build tracker '/tmp/pip-req-tracker-ivm89ck_' 2022-04-13T11:04:29,564 Created temporary directory: /tmp/pip-build-env-lnzn83fy 2022-04-13T11:04:29,578 Created temporary directory: /tmp/pip-standalone-pip-8m2s587t 2022-04-13T11:04:31,832 Installing build dependencies: started 2022-04-13T11:04:31,834 Running command pip subprocess to install build dependencies 2022-04-13T11:04:41,876 Using pip 22.0.4 from /tmp/pip-standalone-pip-8m2s587t/__env_pip__.zip/pip (python 3.7) 2022-04-13T11:04:43,289 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2022-04-13T11:04:47,243 Collecting setuptools>=42 2022-04-13T11:04:47,505 Using cached https://www.piwheels.org/simple/setuptools/setuptools-62.1.0-py3-none-any.whl (1.1 MB) 2022-04-13T11:04:48,149 Collecting wheel 2022-04-13T11:04:48,183 Using cached https://www.piwheels.org/simple/wheel/wheel-0.37.1-py2.py3-none-any.whl (35 kB) 2022-04-13T11:04:48,431 Collecting scikit-build 2022-04-13T11:04:48,481 Using cached https://www.piwheels.org/simple/scikit-build/scikit_build-0.14.1-py2.py3-none-any.whl (76 kB) 2022-04-13T11:04:50,125 Collecting cmake>=3.16 2022-04-13T11:04:53,102 Using cached https://www.piwheels.org/simple/cmake/cmake-3.22.2-cp37-cp37m-linux_armv7l.whl (15.0 MB) 2022-04-13T11:04:54,964 Collecting ninja 2022-04-13T11:04:55,001 Using cached https://www.piwheels.org/simple/ninja/ninja-1.10.0.post2-cp37-cp37m-linux_armv7l.whl (91 kB) 2022-04-13T11:04:55,675 Collecting packaging 2022-04-13T11:04:55,713 Using cached https://www.piwheels.org/simple/packaging/packaging-21.3-py3-none-any.whl (40 kB) 2022-04-13T11:04:56,857 Collecting distro 2022-04-13T11:04:56,902 Using cached https://www.piwheels.org/simple/distro/distro-1.7.0-py3-none-any.whl (20 kB) 2022-04-13T11:04:57,805 Collecting pyparsing!=3.0.5,>=2.0.2 2022-04-13T11:04:57,896 Using cached https://www.piwheels.org/simple/pyparsing/pyparsing-3.0.8-py3-none-any.whl (98 kB) 2022-04-13T11:05:03,401 Installing collected packages: ninja, cmake, wheel, setuptools, pyparsing, distro, packaging, scikit-build 2022-04-13T11:05:03,508 Creating /tmp/pip-build-env-lnzn83fy/overlay/bin 2022-04-13T11:05:03,512 changing mode of /tmp/pip-build-env-lnzn83fy/overlay/bin/ninja to 755 2022-04-13T11:05:16,068 changing mode of /tmp/pip-build-env-lnzn83fy/overlay/bin/cmake to 755 2022-04-13T11:05:16,073 changing mode of /tmp/pip-build-env-lnzn83fy/overlay/bin/cpack to 755 2022-04-13T11:05:16,078 changing mode of /tmp/pip-build-env-lnzn83fy/overlay/bin/ctest to 755 2022-04-13T11:05:16,502 changing mode of /tmp/pip-build-env-lnzn83fy/overlay/bin/wheel to 755 2022-04-13T11:05:21,331 changing mode of /tmp/pip-build-env-lnzn83fy/overlay/bin/distro to 755 2022-04-13T11:05:22,030 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 2022-04-13T11:05:22,030 conan 1.44.1 requires distro<=1.6.0,>=1.0.2, but you have distro 1.7.0 which is incompatible. 2022-04-13T11:05:22,032 Successfully installed cmake-3.22.2 distro-1.7.0 ninja-1.10.0.post2 packaging-21.3 pyparsing-3.0.8 scikit-build-0.14.1 setuptools-62.1.0 wheel-0.37.1 2022-04-13T11:05:22,758 Installing build dependencies: finished with status 'done' 2022-04-13T11:05:22,805 Getting requirements to build wheel: started 2022-04-13T11:05:22,807 Running command Getting requirements to build wheel 2022-04-13T11:05:26,221 running egg_info 2022-04-13T11:05:26,261 writing manifest file 'clang_format.egg-info/SOURCES.txt' 2022-04-13T11:05:26,460 Getting requirements to build wheel: finished with status 'done' 2022-04-13T11:05:26,486 Created temporary directory: /tmp/pip-modern-metadata-4qgchzsa 2022-04-13T11:05:26,492 Preparing metadata (pyproject.toml): started 2022-04-13T11:05:26,494 Running command Preparing metadata (pyproject.toml) 2022-04-13T11:05:29,658 running dist_info 2022-04-13T11:05:29,666 creating /tmp/pip-modern-metadata-4qgchzsa/clang_format.egg-info 2022-04-13T11:05:29,681 writing manifest file '/tmp/pip-modern-metadata-4qgchzsa/clang_format.egg-info/SOURCES.txt' 2022-04-13T11:05:29,699 writing manifest file '/tmp/pip-modern-metadata-4qgchzsa/clang_format.egg-info/SOURCES.txt' 2022-04-13T11:05:29,942 Preparing metadata (pyproject.toml): finished with status 'done' 2022-04-13T11:05:29,957 Source in /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6 has version 14.0.1, which satisfies requirement clang-format==14.0.1 from https://files.pythonhosted.org/packages/d3/ac/b8d6bfa8074bfc581ee326a2b11b97264be2316d55a6c8016f244db0be2f/clang-format-14.0.1.tar.gz#sha256=9966930f6951c3ce64e24a8abae1c130df07feb6da2d132de62e1e3077bcbc54 2022-04-13T11:05:29,959 Removed clang-format==14.0.1 from https://files.pythonhosted.org/packages/d3/ac/b8d6bfa8074bfc581ee326a2b11b97264be2316d55a6c8016f244db0be2f/clang-format-14.0.1.tar.gz#sha256=9966930f6951c3ce64e24a8abae1c130df07feb6da2d132de62e1e3077bcbc54 from build tracker '/tmp/pip-req-tracker-ivm89ck_' 2022-04-13T11:05:29,971 Created temporary directory: /tmp/pip-unpack-8f93lm26 2022-04-13T11:05:29,972 Building wheels for collected packages: clang-format 2022-04-13T11:05:29,981 Created temporary directory: /tmp/pip-wheel-cxyzojvd 2022-04-13T11:05:29,981 Destination directory: /tmp/pip-wheel-cxyzojvd 2022-04-13T11:05:29,987 Building wheel for clang-format (pyproject.toml): started 2022-04-13T11:05:29,989 Running command Building wheel for clang-format (pyproject.toml) 2022-04-13T11:05:33,928 Not searching for unused variables given on the command line. 2022-04-13T11:05:34,897 -- The C compiler identification is GNU 8.3.0 2022-04-13T11:05:34,999 -- Detecting C compiler ABI info 2022-04-13T11:05:36,686 -- Detecting C compiler ABI info - done 2022-04-13T11:05:36,774 -- Check for working C compiler: /usr/bin/cc - skipped 2022-04-13T11:05:36,778 -- Detecting C compile features 2022-04-13T11:05:36,796 -- Detecting C compile features - done 2022-04-13T11:05:37,581 -- The CXX compiler identification is GNU 8.3.0 2022-04-13T11:05:37,667 -- Detecting CXX compiler ABI info 2022-04-13T11:05:39,617 -- Detecting CXX compiler ABI info - done 2022-04-13T11:05:39,708 -- Check for working CXX compiler: /usr/bin/c++ - skipped 2022-04-13T11:05:39,711 -- Detecting CXX compile features 2022-04-13T11:05:39,717 -- Detecting CXX compile features - done 2022-04-13T11:05:39,732 -- Configuring done 2022-04-13T11:05:39,751 -- Generating done 2022-04-13T11:05:40,426 -- Build files have been written to: /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_cmake_test_compile/build 2022-04-13T11:05:41,722 -- The C compiler identification is GNU 8.3.0 2022-04-13T11:05:42,535 -- The CXX compiler identification is GNU 8.3.0 2022-04-13T11:05:42,631 -- Detecting C compiler ABI info 2022-04-13T11:05:44,318 -- Detecting C compiler ABI info - done 2022-04-13T11:05:44,413 -- Check for working C compiler: /usr/bin/cc - skipped 2022-04-13T11:05:44,416 -- Detecting C compile features 2022-04-13T11:05:44,422 -- Detecting C compile features - done 2022-04-13T11:05:44,472 -- Detecting CXX compiler ABI info 2022-04-13T11:05:46,432 -- Detecting CXX compiler ABI info - done 2022-04-13T11:05:46,530 -- Check for working CXX compiler: /usr/bin/c++ - skipped 2022-04-13T11:05:46,534 -- Detecting CXX compile features 2022-04-13T11:05:46,541 -- Detecting CXX compile features - done 2022-04-13T11:05:46,766 -- Configuring done 2022-04-13T11:05:46,814 -- Generating done 2022-04-13T11:05:47,456 CMake Warning: 2022-04-13T11:05:47,456 Manually-specified variables were not used by the project: 2022-04-13T11:05:47,457 PYTHON_EXECUTABLE 2022-04-13T11:05:47,457 PYTHON_INCLUDE_DIR 2022-04-13T11:05:47,458 PYTHON_LIBRARY 2022-04-13T11:05:47,458 PYTHON_VERSION_STRING 2022-04-13T11:05:47,458 SKBUILD 2022-04-13T11:05:47,476 -- Build files have been written to: /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build 2022-04-13T11:05:48,382 [1/10] Creating directories for 'build-clang-format' 2022-04-13T11:05:48,382 [1/10] Performing download step (download, verify and extract) for 'build-clang-format' 2022-04-13T11:05:48,417 -- Downloading... 2022-04-13T11:05:48,418 dst='/tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/build-clang-format-prefix/src/llvm-project-14.0.1.src.tar.xz' 2022-04-13T11:05:48,419 timeout='none' 2022-04-13T11:05:48,419 inactivity timeout='none' 2022-04-13T11:05:48,419 -- Using src='https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.1/llvm-project-14.0.1.src.tar.xz' 2022-04-13T11:05:48,581 -- [download 100% complete] 2022-04-13T11:05:49,159 -- [download 0% complete] 2022-04-13T11:05:49,545 -- [download 1% complete] 2022-04-13T11:05:49,804 -- [download 2% complete] 2022-04-13T11:05:49,913 -- [download 3% complete] 2022-04-13T11:05:50,090 -- [download 4% complete] 2022-04-13T11:05:50,202 -- [download 5% complete] 2022-04-13T11:05:50,297 -- [download 6% complete] 2022-04-13T11:05:50,427 -- [download 7% complete] 2022-04-13T11:05:50,511 -- [download 8% complete] 2022-04-13T11:05:50,626 -- [download 9% complete] 2022-04-13T11:05:50,770 -- [download 11% complete] 2022-04-13T11:05:50,911 -- [download 12% complete] 2022-04-13T11:05:51,054 -- [download 13% complete] 2022-04-13T11:05:51,192 -- [download 15% complete] 2022-04-13T11:05:51,318 -- [download 16% complete] 2022-04-13T11:05:51,438 -- [download 17% complete] 2022-04-13T11:05:51,571 -- [download 18% complete] 2022-04-13T11:05:51,715 -- [download 20% complete] 2022-04-13T11:05:51,856 -- [download 21% complete] 2022-04-13T11:05:51,998 -- [download 23% complete] 2022-04-13T11:05:52,139 -- [download 24% complete] 2022-04-13T11:05:52,280 -- [download 25% complete] 2022-04-13T11:05:52,423 -- [download 27% complete] 2022-04-13T11:05:52,564 -- [download 28% complete] 2022-04-13T11:05:52,706 -- [download 29% complete] 2022-04-13T11:05:52,848 -- [download 31% complete] 2022-04-13T11:05:52,989 -- [download 32% complete] 2022-04-13T11:05:53,132 -- [download 34% complete] 2022-04-13T11:05:53,273 -- [download 35% complete] 2022-04-13T11:05:53,415 -- [download 36% complete] 2022-04-13T11:05:53,556 -- [download 38% complete] 2022-04-13T11:05:53,695 -- [download 39% complete] 2022-04-13T11:05:53,836 -- [download 40% complete] 2022-04-13T11:05:53,972 -- [download 42% complete] 2022-04-13T11:05:54,111 -- [download 43% complete] 2022-04-13T11:05:54,251 -- [download 44% complete] 2022-04-13T11:05:54,388 -- [download 46% complete] 2022-04-13T11:05:54,529 -- [download 47% complete] 2022-04-13T11:05:54,672 -- [download 48% complete] 2022-04-13T11:05:54,813 -- [download 50% complete] 2022-04-13T11:05:54,951 -- [download 51% complete] 2022-04-13T11:05:55,195 -- [download 52% complete] 2022-04-13T11:05:55,486 -- [download 54% complete] 2022-04-13T11:05:55,629 -- [download 55% complete] 2022-04-13T11:05:55,770 -- [download 57% complete] 2022-04-13T11:05:55,904 -- [download 58% complete] 2022-04-13T11:05:56,038 -- [download 59% complete] 2022-04-13T11:05:56,179 -- [download 61% complete] 2022-04-13T11:05:56,313 -- [download 62% complete] 2022-04-13T11:05:56,450 -- [download 63% complete] 2022-04-13T11:05:56,739 -- [download 65% complete] 2022-04-13T11:05:57,051 -- [download 66% complete] 2022-04-13T11:05:58,274 -- [download 67% complete] 2022-04-13T11:05:58,407 -- [download 68% complete] 2022-04-13T11:05:58,539 -- [download 70% complete] 2022-04-13T11:05:58,675 -- [download 71% complete] 2022-04-13T11:05:58,809 -- [download 72% complete] 2022-04-13T11:05:58,947 -- [download 74% complete] 2022-04-13T11:05:59,084 -- [download 75% complete] 2022-04-13T11:05:59,216 -- [download 76% complete] 2022-04-13T11:05:59,345 -- [download 78% complete] 2022-04-13T11:05:59,480 -- [download 79% complete] 2022-04-13T11:05:59,610 -- [download 80% complete] 2022-04-13T11:05:59,737 -- [download 81% complete] 2022-04-13T11:05:59,875 -- [download 83% complete] 2022-04-13T11:06:00,015 -- [download 84% complete] 2022-04-13T11:06:00,157 -- [download 85% complete] 2022-04-13T11:06:00,297 -- [download 87% complete] 2022-04-13T11:06:00,438 -- [download 88% complete] 2022-04-13T11:06:00,573 -- [download 89% complete] 2022-04-13T11:06:00,710 -- [download 91% complete] 2022-04-13T11:06:00,851 -- [download 92% complete] 2022-04-13T11:06:00,986 -- [download 93% complete] 2022-04-13T11:06:01,126 -- [download 95% complete] 2022-04-13T11:06:01,265 -- [download 96% complete] 2022-04-13T11:06:01,398 -- [download 97% complete] 2022-04-13T11:06:01,528 -- [download 99% complete] 2022-04-13T11:06:01,657 -- [download 100% complete] 2022-04-13T11:06:02,751 -- Downloading... done 2022-04-13T11:06:02,819 -- extracting... 2022-04-13T11:06:02,820 src='/tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/build-clang-format-prefix/src/llvm-project-14.0.1.src.tar.xz' 2022-04-13T11:06:02,821 dst='/tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project' 2022-04-13T11:06:02,823 -- extracting... [tar xfz] 2022-04-13T11:10:55,231 -- extracting... [analysis] 2022-04-13T11:10:55,234 -- extracting... [rename] 2022-04-13T11:10:55,237 -- extracting... [clean up] 2022-04-13T11:10:55,239 -- extracting... done 2022-04-13T11:10:55,346 [3/10] No update step for 'build-clang-format' 2022-04-13T11:10:55,409 [4/10] No patch step for 'build-clang-format' 2022-04-13T11:10:55,409 [4/10] Performing configure step for 'build-clang-format' 2022-04-13T11:10:56,363 -- The C compiler identification is GNU 8.3.0 2022-04-13T11:10:57,149 -- The CXX compiler identification is GNU 8.3.0 2022-04-13T11:10:57,259 -- The ASM compiler identification is GNU 2022-04-13T11:10:57,275 -- Found assembler: /usr/bin/cc 2022-04-13T11:10:57,345 -- Detecting C compiler ABI info 2022-04-13T11:10:59,029 -- Detecting C compiler ABI info - done 2022-04-13T11:10:59,109 -- Check for working C compiler: /usr/bin/cc - skipped 2022-04-13T11:10:59,112 -- Detecting C compile features 2022-04-13T11:10:59,117 -- Detecting C compile features - done 2022-04-13T11:10:59,160 -- Detecting CXX compiler ABI info 2022-04-13T11:11:01,080 -- Detecting CXX compiler ABI info - done 2022-04-13T11:11:01,164 -- Check for working CXX compiler: /usr/bin/c++ - skipped 2022-04-13T11:11:01,168 -- Detecting CXX compile features 2022-04-13T11:11:01,174 -- Detecting CXX compile features - done 2022-04-13T11:11:01,239 -- bolt project is disabled 2022-04-13T11:11:01,240 -- clang project is enabled 2022-04-13T11:11:01,241 -- clang-tools-extra project is disabled 2022-04-13T11:11:01,242 -- compiler-rt project is disabled 2022-04-13T11:11:01,243 -- cross-project-tests project is disabled 2022-04-13T11:11:01,244 -- libc project is disabled 2022-04-13T11:11:01,244 -- libclc project is disabled 2022-04-13T11:11:01,245 -- libcxx project is disabled 2022-04-13T11:11:01,246 -- libcxxabi project is disabled 2022-04-13T11:11:01,246 -- libunwind project is disabled 2022-04-13T11:11:01,247 -- lld project is disabled 2022-04-13T11:11:01,248 -- lldb project is disabled 2022-04-13T11:11:01,249 -- mlir project is disabled 2022-04-13T11:11:01,249 -- openmp project is disabled 2022-04-13T11:11:01,250 -- polly project is disabled 2022-04-13T11:11:01,251 -- pstl project is disabled 2022-04-13T11:11:01,251 -- flang project is disabled 2022-04-13T11:11:01,467 -- Looking for dlfcn.h 2022-04-13T11:11:03,230 -- Looking for dlfcn.h - found 2022-04-13T11:11:03,239 -- Looking for errno.h 2022-04-13T11:11:05,010 -- Looking for errno.h - found 2022-04-13T11:11:05,019 -- Looking for fcntl.h 2022-04-13T11:11:06,798 -- Looking for fcntl.h - found 2022-04-13T11:11:06,808 -- Looking for link.h 2022-04-13T11:11:08,658 -- Looking for link.h - found 2022-04-13T11:11:08,668 -- Looking for malloc/malloc.h 2022-04-13T11:11:10,121 -- Looking for malloc/malloc.h - not found 2022-04-13T11:11:10,131 -- Looking for pthread.h 2022-04-13T11:11:11,941 -- Looking for pthread.h - found 2022-04-13T11:11:11,951 -- Looking for signal.h 2022-04-13T11:11:13,764 -- Looking for signal.h - found 2022-04-13T11:11:13,773 -- Looking for sys/ioctl.h 2022-04-13T11:11:15,578 -- Looking for sys/ioctl.h - found 2022-04-13T11:11:15,586 -- Looking for sys/mman.h 2022-04-13T11:11:17,352 -- Looking for sys/mman.h - found 2022-04-13T11:11:17,361 -- Looking for sys/param.h 2022-04-13T11:11:19,174 -- Looking for sys/param.h - found 2022-04-13T11:11:19,184 -- Looking for sys/resource.h 2022-04-13T11:11:20,946 -- Looking for sys/resource.h - found 2022-04-13T11:11:20,956 -- Looking for sys/stat.h 2022-04-13T11:11:22,717 -- Looking for sys/stat.h - found 2022-04-13T11:11:22,727 -- Looking for sys/time.h 2022-04-13T11:11:24,496 -- Looking for sys/time.h - found 2022-04-13T11:11:24,507 -- Looking for sys/types.h 2022-04-13T11:11:26,288 -- Looking for sys/types.h - found 2022-04-13T11:11:26,297 -- Looking for sysexits.h 2022-04-13T11:11:28,053 -- Looking for sysexits.h - found 2022-04-13T11:11:28,062 -- Looking for termios.h 2022-04-13T11:11:29,839 -- Looking for termios.h - found 2022-04-13T11:11:29,849 -- Looking for unistd.h 2022-04-13T11:11:31,634 -- Looking for unistd.h - found 2022-04-13T11:11:31,643 -- Looking for valgrind/valgrind.h 2022-04-13T11:11:33,113 -- Looking for valgrind/valgrind.h - not found 2022-04-13T11:11:33,123 -- Looking for fenv.h 2022-04-13T11:11:34,889 -- Looking for fenv.h - found 2022-04-13T11:11:34,899 -- Looking for FE_ALL_EXCEPT 2022-04-13T11:11:36,666 -- Looking for FE_ALL_EXCEPT - found 2022-04-13T11:11:36,676 -- Looking for FE_INEXACT 2022-04-13T11:11:38,451 -- Looking for FE_INEXACT - found 2022-04-13T11:11:38,460 -- Looking for mach/mach.h 2022-04-13T11:11:39,929 -- Looking for mach/mach.h - not found 2022-04-13T11:11:39,938 -- Looking for histedit.h 2022-04-13T11:11:41,413 -- Looking for histedit.h - not found 2022-04-13T11:11:41,422 -- Looking for CrashReporterClient.h 2022-04-13T11:11:42,889 -- Looking for CrashReporterClient.h - not found 2022-04-13T11:11:42,899 -- Looking for linux/magic.h 2022-04-13T11:11:44,664 -- Looking for linux/magic.h - found 2022-04-13T11:11:44,668 -- Looking for pthread_create in pthread 2022-04-13T11:11:46,440 -- Looking for pthread_create in pthread - found 2022-04-13T11:11:46,442 -- Looking for pthread_getspecific in pthread 2022-04-13T11:11:48,195 -- Looking for pthread_getspecific in pthread - found 2022-04-13T11:11:48,198 -- Looking for pthread_rwlock_init in pthread 2022-04-13T11:11:49,956 -- Looking for pthread_rwlock_init in pthread - found 2022-04-13T11:11:49,958 -- Looking for pthread_mutex_lock in pthread 2022-04-13T11:11:51,714 -- Looking for pthread_mutex_lock in pthread - found 2022-04-13T11:11:51,716 -- Looking for dlopen in dl 2022-04-13T11:11:53,467 -- Looking for dlopen in dl - found 2022-04-13T11:11:53,469 -- Looking for clock_gettime in rt 2022-04-13T11:11:55,278 -- Looking for clock_gettime in rt - found 2022-04-13T11:11:55,289 -- Looking for pfm_initialize in pfm 2022-04-13T11:11:56,942 -- Looking for pfm_initialize in pfm - not found 2022-04-13T11:11:56,969 -- Looking for pthread.h 2022-04-13T11:11:58,783 -- Looking for pthread.h - found 2022-04-13T11:11:58,786 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD 2022-04-13T11:12:00,592 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed 2022-04-13T11:12:00,595 -- Looking for pthread_create in pthreads 2022-04-13T11:12:02,193 -- Looking for pthread_create in pthreads - not found 2022-04-13T11:12:02,196 -- Looking for pthread_create in pthread 2022-04-13T11:12:03,956 -- Looking for pthread_create in pthread - found 2022-04-13T11:12:03,968 -- Found Threads: TRUE 2022-04-13T11:12:04,084 -- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.11") 2022-04-13T11:12:04,093 -- Looking for compress2 2022-04-13T11:12:05,951 -- Looking for compress2 - found 2022-04-13T11:12:06,623 -- Found LibXml2: /usr/lib/arm-linux-gnueabihf/libxml2.so (found version "2.9.4") 2022-04-13T11:12:06,633 -- Looking for xmlReadMemory 2022-04-13T11:12:09,099 -- Looking for xmlReadMemory - found 2022-04-13T11:12:09,120 -- Performing Test Terminfo_LINKABLE 2022-04-13T11:12:10,881 -- Performing Test Terminfo_LINKABLE - Success 2022-04-13T11:12:10,892 -- Found Terminfo: /usr/lib/arm-linux-gnueabihf/libtinfo.so 2022-04-13T11:12:10,894 -- Looking for xar_open in xar 2022-04-13T11:12:12,503 -- Looking for xar_open in xar - not found 2022-04-13T11:12:12,513 -- Looking for arc4random 2022-04-13T11:12:14,009 -- Looking for arc4random - not found 2022-04-13T11:12:14,043 -- Looking for backtrace 2022-04-13T11:12:15,781 -- Looking for backtrace - found 2022-04-13T11:12:15,783 -- backtrace facility detected in default set of libraries 2022-04-13T11:12:15,785 -- Found Backtrace: /usr/include 2022-04-13T11:12:15,794 -- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW 2022-04-13T11:12:17,149 -- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Failed 2022-04-13T11:12:17,159 -- Looking for __register_frame 2022-04-13T11:12:18,926 -- Looking for __register_frame - not found 2022-04-13T11:12:18,936 -- Looking for __deregister_frame 2022-04-13T11:12:20,711 -- Looking for __deregister_frame - not found 2022-04-13T11:12:20,720 -- Looking for __unw_add_dynamic_fde 2022-04-13T11:12:22,478 -- Looking for __unw_add_dynamic_fde - not found 2022-04-13T11:12:22,487 -- Looking for _Unwind_Backtrace 2022-04-13T11:12:24,246 -- Looking for _Unwind_Backtrace - found 2022-04-13T11:12:24,256 -- Looking for getpagesize 2022-04-13T11:12:26,051 -- Looking for getpagesize - found 2022-04-13T11:12:26,060 -- Looking for sysconf 2022-04-13T11:12:27,840 -- Looking for sysconf - found 2022-04-13T11:12:27,850 -- Looking for getrusage 2022-04-13T11:12:29,636 -- Looking for getrusage - found 2022-04-13T11:12:29,645 -- Looking for setrlimit 2022-04-13T11:12:31,421 -- Looking for setrlimit - found 2022-04-13T11:12:31,431 -- Looking for isatty 2022-04-13T11:12:33,229 -- Looking for isatty - found 2022-04-13T11:12:33,240 -- Looking for futimens 2022-04-13T11:12:35,048 -- Looking for futimens - found 2022-04-13T11:12:35,059 -- Looking for futimes 2022-04-13T11:12:36,845 -- Looking for futimes - found 2022-04-13T11:12:36,855 -- Looking for sigaltstack 2022-04-13T11:12:38,662 -- Looking for sigaltstack - found 2022-04-13T11:12:38,672 -- Looking for lseek64 2022-04-13T11:12:40,487 -- Looking for lseek64 - found 2022-04-13T11:12:40,496 -- Looking for mallctl 2022-04-13T11:12:41,971 -- Looking for mallctl - not found 2022-04-13T11:12:41,980 -- Looking for mallinfo 2022-04-13T11:12:43,790 -- Looking for mallinfo - found 2022-04-13T11:12:43,800 -- Looking for mallinfo2 2022-04-13T11:12:45,309 -- Looking for mallinfo2 - not found 2022-04-13T11:12:45,319 -- Looking for malloc_zone_statistics 2022-04-13T11:12:46,795 -- Looking for malloc_zone_statistics - not found 2022-04-13T11:12:46,805 -- Looking for getrlimit 2022-04-13T11:12:48,614 -- Looking for getrlimit - found 2022-04-13T11:12:48,625 -- Looking for posix_spawn 2022-04-13T11:12:50,449 -- Looking for posix_spawn - found 2022-04-13T11:12:50,457 -- Looking for pread 2022-04-13T11:12:52,254 -- Looking for pread - found 2022-04-13T11:12:52,263 -- Looking for sbrk 2022-04-13T11:12:54,049 -- Looking for sbrk - found 2022-04-13T11:12:54,058 -- Looking for strerror 2022-04-13T11:12:55,842 -- Looking for strerror - found 2022-04-13T11:12:55,851 -- Looking for strerror_r 2022-04-13T11:12:57,652 -- Looking for strerror_r - found 2022-04-13T11:12:57,661 -- Looking for strerror_s 2022-04-13T11:12:59,147 -- Looking for strerror_s - not found 2022-04-13T11:12:59,157 -- Looking for setenv 2022-04-13T11:13:00,973 -- Looking for setenv - found 2022-04-13T11:13:00,983 -- Looking for dlopen 2022-04-13T11:13:02,744 -- Looking for dlopen - found 2022-04-13T11:13:02,754 -- Looking for dladdr 2022-04-13T11:13:04,220 -- Looking for dladdr - not found 2022-04-13T11:13:04,224 -- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 2022-04-13T11:13:05,725 -- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC - Failed 2022-04-13T11:13:05,730 -- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 2022-04-13T11:13:07,525 -- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC - Success 2022-04-13T11:13:07,534 -- Looking for __GLIBC__ 2022-04-13T11:13:09,321 -- Looking for __GLIBC__ - found 2022-04-13T11:13:09,332 -- Looking for pthread_getname_np 2022-04-13T11:13:11,163 -- Looking for pthread_getname_np - found 2022-04-13T11:13:11,173 -- Looking for pthread_setname_np 2022-04-13T11:13:12,997 -- Looking for pthread_setname_np - found 2022-04-13T11:13:13,008 -- Looking for proc_pid_rusage 2022-04-13T11:13:14,456 -- Looking for proc_pid_rusage - not found 2022-04-13T11:13:14,460 -- Performing Test HAVE_STD_IS_TRIVIALLY_COPYABLE 2022-04-13T11:13:16,523 -- Performing Test HAVE_STD_IS_TRIVIALLY_COPYABLE - Success 2022-04-13T11:13:16,534 -- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB 2022-04-13T11:13:18,778 -- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success 2022-04-13T11:13:18,782 -- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB 2022-04-13T11:13:21,011 -- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Failed 2022-04-13T11:13:21,014 -- Looking for __atomic_load_8 in atomic 2022-04-13T11:13:22,788 -- Looking for __atomic_load_8 in atomic - found 2022-04-13T11:13:22,792 -- Performing Test HAVE_CXX_ATOMICS64_WITH_LIB 2022-04-13T11:13:25,046 -- Performing Test HAVE_CXX_ATOMICS64_WITH_LIB - Success 2022-04-13T11:13:25,050 -- Performing Test LLVM_HAS_ATOMICS 2022-04-13T11:13:27,039 -- Performing Test LLVM_HAS_ATOMICS - Success 2022-04-13T11:13:27,050 -- Performing Test SUPPORTS_VARIADIC_MACROS_FLAG 2022-04-13T11:13:28,969 -- Performing Test SUPPORTS_VARIADIC_MACROS_FLAG - Success 2022-04-13T11:13:28,980 -- Performing Test SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG 2022-04-13T11:13:30,366 -- Performing Test SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG - Failed 2022-04-13T11:13:30,377 -- Performing Test HAS_MAYBE_UNINITIALIZED 2022-04-13T11:13:32,328 -- Performing Test HAS_MAYBE_UNINITIALIZED - Success 2022-04-13T11:13:32,575 -- Native target architecture is ARM 2022-04-13T11:13:32,578 -- Threads enabled. 2022-04-13T11:13:32,579 -- Doxygen disabled. 2022-04-13T11:13:38,844 -- Go bindings enabled. 2022-04-13T11:13:39,169 -- Ninja version: 1.10.0.git.kitware.jobserver-1 2022-04-13T11:13:39,189 -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 2022-04-13T11:13:39,205 -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 2022-04-13T11:13:39,206 -- OCaml bindings disabled. 2022-04-13T11:13:39,233 -- Could NOT find Python module pygments 2022-04-13T11:13:39,254 -- Could NOT find Python module pygments.lexers.c_cpp 2022-04-13T11:13:39,275 -- Could NOT find Python module yaml 2022-04-13T11:13:39,282 -- LLVM host triple: armv7l-unknown-linux-gnueabihf 2022-04-13T11:13:39,283 -- LLVM default target triple: armv7l-unknown-linux-gnueabihf 2022-04-13T11:13:39,377 -- Performing Test C_SUPPORTS_FPIC 2022-04-13T11:13:41,067 -- Performing Test C_SUPPORTS_FPIC - Success 2022-04-13T11:13:41,078 -- Performing Test CXX_SUPPORTS_FPIC 2022-04-13T11:13:42,962 -- Performing Test CXX_SUPPORTS_FPIC - Success 2022-04-13T11:13:42,964 -- Building with -fPIC 2022-04-13T11:13:42,973 -- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION 2022-04-13T11:13:44,653 -- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success 2022-04-13T11:13:44,664 -- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION 2022-04-13T11:13:46,543 -- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success 2022-04-13T11:13:46,554 -- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG 2022-04-13T11:13:48,448 -- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success 2022-04-13T11:13:48,460 -- Performing Test C_SUPPORTS_WERROR_DATE_TIME 2022-04-13T11:13:50,144 -- Performing Test C_SUPPORTS_WERROR_DATE_TIME - Success 2022-04-13T11:13:50,155 -- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME 2022-04-13T11:13:52,035 -- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME - Success 2022-04-13T11:13:52,048 -- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW 2022-04-13T11:13:53,411 -- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Failed 2022-04-13T11:13:53,422 -- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG 2022-04-13T11:13:55,289 -- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG - Success 2022-04-13T11:13:55,301 -- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG 2022-04-13T11:13:56,690 -- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Failed 2022-04-13T11:13:56,701 -- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG 2022-04-13T11:13:58,067 -- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Failed 2022-04-13T11:13:58,078 -- Performing Test C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG 2022-04-13T11:13:59,745 -- Performing Test C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG - Success 2022-04-13T11:13:59,755 -- Performing Test CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG 2022-04-13T11:14:01,620 -- Performing Test CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG - Success 2022-04-13T11:14:01,630 -- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG 2022-04-13T11:14:02,984 -- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Failed 2022-04-13T11:14:02,995 -- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG 2022-04-13T11:14:04,356 -- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Failed 2022-04-13T11:14:04,368 -- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG 2022-04-13T11:14:06,241 -- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG - Success 2022-04-13T11:14:06,252 -- Performing Test CXX_SUPPORTS_REDUNDANT_MOVE_FLAG 2022-04-13T11:14:07,629 -- Performing Test CXX_SUPPORTS_REDUNDANT_MOVE_FLAG - Failed 2022-04-13T11:14:07,640 -- Performing Test CXX_SUPPORTS_PESSIMIZING_MOVE_FLAG 2022-04-13T11:14:09,009 -- Performing Test CXX_SUPPORTS_PESSIMIZING_MOVE_FLAG - Failed 2022-04-13T11:14:09,019 -- Performing Test CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG 2022-04-13T11:14:10,906 -- Performing Test CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG - Success 2022-04-13T11:14:10,911 -- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR 2022-04-13T11:14:12,407 -- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR - Failed 2022-04-13T11:14:12,418 -- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG 2022-04-13T11:14:14,298 -- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Success 2022-04-13T11:14:14,303 -- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL 2022-04-13T11:14:15,776 -- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL - Failed 2022-04-13T11:14:15,781 -- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP 2022-04-13T11:14:17,228 -- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Failed 2022-04-13T11:14:17,238 -- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG 2022-04-13T11:14:18,604 -- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG - Failed 2022-04-13T11:14:18,614 -- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG 2022-04-13T11:14:19,960 -- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG - Failed 2022-04-13T11:14:19,971 -- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG 2022-04-13T11:14:21,630 -- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success 2022-04-13T11:14:21,641 -- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG 2022-04-13T11:14:23,542 -- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success 2022-04-13T11:14:23,567 -- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS 2022-04-13T11:14:25,066 -- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Failed 2022-04-13T11:14:25,077 -- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS 2022-04-13T11:14:26,731 -- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS - Success 2022-04-13T11:14:26,741 -- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS 2022-04-13T11:14:28,410 -- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS - Success 2022-04-13T11:14:28,422 -- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS 2022-04-13T11:14:30,303 -- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS - Success 2022-04-13T11:14:30,314 -- Performing Test C_SUPPORTS_FDATA_SECTIONS 2022-04-13T11:14:31,982 -- Performing Test C_SUPPORTS_FDATA_SECTIONS - Success 2022-04-13T11:14:31,993 -- Performing Test CXX_SUPPORTS_FDATA_SECTIONS 2022-04-13T11:14:33,857 -- Performing Test CXX_SUPPORTS_FDATA_SECTIONS - Success 2022-04-13T11:14:33,872 -- Looking for os_signpost_interval_begin 2022-04-13T11:14:35,335 -- Looking for os_signpost_interval_begin - not found 2022-04-13T11:14:39,440 -- Found Python3: /usr/bin/python3.7 (found suitable version "3.7.3", minimum required is "3.6") found components: Interpreter 2022-04-13T11:14:43,407 -- Linker detection: GNU ld 2022-04-13T11:14:43,483 -- Performing Test HAS_WERROR_GLOBAL_CTORS 2022-04-13T11:14:44,899 -- Performing Test HAS_WERROR_GLOBAL_CTORS - Failed 2022-04-13T11:14:45,825 -- Found Git: /usr/bin/git (found version "2.20.1") 2022-04-13T11:14:49,853 -- Targeting AArch64 2022-04-13T11:14:50,168 -- Targeting AMDGPU 2022-04-13T11:14:50,663 -- Targeting ARM 2022-04-13T11:14:50,989 -- Targeting AVR 2022-04-13T11:14:51,178 -- Targeting BPF 2022-04-13T11:14:51,361 -- Targeting Hexagon 2022-04-13T11:14:51,653 -- Targeting Lanai 2022-04-13T11:14:51,832 -- Targeting Mips 2022-04-13T11:14:52,108 -- Targeting MSP430 2022-04-13T11:14:52,290 -- Targeting NVPTX 2022-04-13T11:14:52,430 -- Targeting PowerPC 2022-04-13T11:14:52,689 -- Targeting RISCV 2022-04-13T11:14:52,923 -- Targeting Sparc 2022-04-13T11:14:53,107 -- Targeting SystemZ 2022-04-13T11:14:53,317 -- Targeting VE 2022-04-13T11:14:53,509 -- Targeting WebAssembly 2022-04-13T11:14:53,780 -- Targeting X86 2022-04-13T11:14:54,120 -- Targeting XCore 2022-04-13T11:14:56,590 -- Looking for sys/resource.h 2022-04-13T11:14:58,315 -- Looking for sys/resource.h - found 2022-04-13T11:14:58,434 -- Clang version: 14.0.1 2022-04-13T11:14:58,457 -- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG 2022-04-13T11:14:59,787 -- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Failed 2022-04-13T11:15:02,164 -- Looking for include file sys/inotify.h 2022-04-13T11:15:03,847 -- Looking for include file sys/inotify.h - found 2022-04-13T11:15:06,472 -- Not building amdgpu-arch: hsa-runtime64 not found 2022-04-13T11:15:24,373 -- Registering Bye as a pass plugin (static build: OFF) 2022-04-13T11:15:50,849 -- git version: v0.0.0 normalized to 0.0.0 2022-04-13T11:15:50,851 -- Version: 1.6.0 2022-04-13T11:15:50,865 -- Looking for shm_open in rt 2022-04-13T11:15:52,609 -- Looking for shm_open in rt - found 2022-04-13T11:15:52,621 -- Performing Test HAVE_CXX_FLAG_STD_CXX11 2022-04-13T11:15:54,495 -- Performing Test HAVE_CXX_FLAG_STD_CXX11 - Success 2022-04-13T11:15:54,507 -- Performing Test HAVE_CXX_FLAG_WALL 2022-04-13T11:15:56,402 -- Performing Test HAVE_CXX_FLAG_WALL - Success 2022-04-13T11:15:56,413 -- Performing Test HAVE_CXX_FLAG_WEXTRA 2022-04-13T11:15:58,296 -- Performing Test HAVE_CXX_FLAG_WEXTRA - Success 2022-04-13T11:15:58,308 -- Performing Test HAVE_CXX_FLAG_WSHADOW 2022-04-13T11:16:00,163 -- Performing Test HAVE_CXX_FLAG_WSHADOW - Success 2022-04-13T11:16:00,175 -- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE 2022-04-13T11:16:02,043 -- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE - Success 2022-04-13T11:16:02,055 -- Performing Test HAVE_CXX_FLAG_PEDANTIC 2022-04-13T11:16:03,897 -- Performing Test HAVE_CXX_FLAG_PEDANTIC - Success 2022-04-13T11:16:03,909 -- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS 2022-04-13T11:16:05,789 -- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS - Success 2022-04-13T11:16:05,801 -- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 2022-04-13T11:16:07,178 -- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Failed 2022-04-13T11:16:07,190 -- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING 2022-04-13T11:16:09,052 -- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING - Success 2022-04-13T11:16:09,064 -- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS 2022-04-13T11:16:10,931 -- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS - Success 2022-04-13T11:16:10,943 -- Performing Test HAVE_CXX_FLAG_FNO_EXCEPTIONS 2022-04-13T11:16:12,803 -- Performing Test HAVE_CXX_FLAG_FNO_EXCEPTIONS - Success 2022-04-13T11:16:12,815 -- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING 2022-04-13T11:16:14,682 -- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING - Success 2022-04-13T11:16:14,694 -- Performing Test HAVE_CXX_FLAG_WD654 2022-04-13T11:16:16,051 -- Performing Test HAVE_CXX_FLAG_WD654 - Failed 2022-04-13T11:16:16,064 -- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY 2022-04-13T11:16:17,455 -- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY - Failed 2022-04-13T11:16:17,467 -- Performing Test HAVE_CXX_FLAG_COVERAGE 2022-04-13T11:16:19,363 -- Performing Test HAVE_CXX_FLAG_COVERAGE - Success 2022-04-13T11:16:19,368 -- Performing Test HAVE_GNU_POSIX_REGEX 2022-04-13T11:16:19,369 -- Performing Test HAVE_GNU_POSIX_REGEX 2022-04-13T11:16:20,809 -- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile 2022-04-13T11:16:20,810 -- Performing Test HAVE_POSIX_REGEX 2022-04-13T11:16:20,810 -- Performing Test HAVE_POSIX_REGEX 2022-04-13T11:16:23,779 -- Performing Test HAVE_POSIX_REGEX -- success 2022-04-13T11:16:23,781 -- Performing Test HAVE_STEADY_CLOCK 2022-04-13T11:16:23,782 -- Performing Test HAVE_STEADY_CLOCK 2022-04-13T11:16:26,032 -- Performing Test HAVE_STEADY_CLOCK -- success 2022-04-13T11:16:26,603 -- Configuring done 2022-04-13T11:17:25,765 -- Generating done 2022-04-13T11:17:32,023 -- Build files have been written to: /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm 2022-04-13T11:17:33,696 [5/10] Performing build step for 'build-clang-format' 2022-04-13T11:17:39,214 [1/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ABIBreak.cpp.o 2022-04-13T11:17:43,832 [2/611] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/DLangDemangle.cpp.o 2022-04-13T11:17:46,123 [3/611] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o 2022-04-13T11:17:50,669 [4/611] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/RustDemangle.cpp.o 2022-04-13T11:17:53,251 [5/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AArch64TargetParser.cpp.o 2022-04-13T11:17:58,277 [6/611] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.o 2022-04-13T11:17:58,422 [7/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMTargetParser.cpp.o 2022-04-13T11:18:05,473 [8/611] Building CXX object utils/TableGen/GlobalISel/CMakeFiles/LLVMTableGenGlobalISel.dir/GIMatchDagPredicateDependencyEdge.cpp.o 2022-04-13T11:18:06,573 [9/611] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.o 2022-04-13T11:18:11,975 [10/611] Building CXX object utils/TableGen/GlobalISel/CMakeFiles/LLVMTableGenGlobalISel.dir/GIMatchDagPredicate.cpp.o 2022-04-13T11:18:15,513 [11/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AMDGPUMetadata.cpp.o 2022-04-13T11:18:18,128 [12/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFixedPoint.cpp.o 2022-04-13T11:18:19,488 [13/611] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o 2022-04-13T11:18:20,032 [14/611] Linking CXX static library lib/libLLVMDemangle.a 2022-04-13T11:18:20,310 [15/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APSInt.cpp.o 2022-04-13T11:18:22,564 [16/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttrs.cpp.o 2022-04-13T11:18:22,925 [17/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AutoConvert.cpp.o 2022-04-13T11:18:26,471 [18/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMWinEH.cpp.o 2022-04-13T11:18:27,896 [19/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Allocator.cpp.o 2022-04-13T11:18:33,922 [20/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamError.cpp.o 2022-04-13T11:18:37,909 [21/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMAttributeParser.cpp.o 2022-04-13T11:18:39,855 [22/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BlockFrequency.cpp.o 2022-04-13T11:18:40,736 [23/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APInt.cpp.o 2022-04-13T11:18:40,737 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APInt.cpp: In member function ‘void llvm::APInt::initFromArray(llvm::ArrayRef)’: 2022-04-13T11:18:40,738 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APInt.cpp:89:6: note: parameter passing for argument of type ‘llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:18:40,738 void APInt::initFromArray(ArrayRef bigVal) { 2022-04-13T11:18:40,739 ^~~~~ 2022-04-13T11:18:40,739 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APInt.cpp:89:6: note: parameter passing for argument of type ‘llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:18:40,740 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APInt.cpp: In constructor ‘llvm::APInt::APInt(unsigned int, llvm::ArrayRef)’: 2022-04-13T11:18:40,741 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APInt.cpp:105:1: note: parameter passing for argument of type ‘llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:18:40,741 APInt::APInt(unsigned numBits, ArrayRef bigVal) : BitWidth(numBits) { 2022-04-13T11:18:40,742 ^~~~~ 2022-04-13T11:18:40,742 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APInt.cpp: In member function ‘llvm::APInt llvm::APInt::extractBits(unsigned int, unsigned int) const’: 2022-04-13T11:18:40,743 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APInt.cpp:106:16: note: parameter passing for argument of type ‘llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:18:40,743 initFromArray(bigVal); 2022-04-13T11:18:40,744 ~~~~~~~~~~~~~^~~~~~~~ 2022-04-13T11:18:41,427 [24/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamReader.cpp.o 2022-04-13T11:18:42,494 [25/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamRef.cpp.o 2022-04-13T11:18:43,989 [26/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BuryPointer.cpp.o 2022-04-13T11:18:44,937 [27/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFloat.cpp.o 2022-04-13T11:18:44,943 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APFloat.cpp: In member function ‘llvm::APFloatBase::opStatus llvm::detail::IEEEFloat::convertToSignExtendedInteger(llvm::MutableArrayRef, unsigned int, bool, llvm::APFloatBase::roundingMode, bool*) const’: 2022-04-13T11:18:44,944 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APFloat.cpp:2297:21: note: parameter passing for argument of type ‘llvm::MutableArrayRef’ changed in GCC 7.1 2022-04-13T11:18:44,946 IEEEFloat::opStatus IEEEFloat::convertToSignExtendedInteger( 2022-04-13T11:18:44,948 ^~~~~~~~~ 2022-04-13T11:18:44,950 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APFloat.cpp: In member function ‘llvm::APFloatBase::opStatus llvm::detail::IEEEFloat::convertToInteger(llvm::MutableArrayRef, unsigned int, bool, llvm::APFloatBase::roundingMode, bool*) const’: 2022-04-13T11:18:44,952 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APFloat.cpp:2411:1: note: parameter passing for argument of type ‘llvm::MutableArrayRef’ changed in GCC 7.1 2022-04-13T11:18:44,952 IEEEFloat::convertToInteger(MutableArrayRef parts, 2022-04-13T11:18:44,953 ^~~~~~~~~ 2022-04-13T11:18:44,954 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APFloat.cpp:2416:36: note: parameter passing for argument of type ‘llvm::MutableArrayRef’ changed in GCC 7.1 2022-04-13T11:18:44,954 fs = convertToSignExtendedInteger(parts, width, isSigned, rounding_mode, 2022-04-13T11:18:44,955 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:44,955 isExact); 2022-04-13T11:18:44,956 ~~~~~~~~ 2022-04-13T11:18:44,957 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APFloat.cpp: In member function ‘llvm::APFloatBase::opStatus llvm::detail::DoubleAPFloat::convertToInteger(llvm::MutableArrayRef, unsigned int, bool, llvm::APFloatBase::roundingMode, bool*) const’: 2022-04-13T11:18:44,958 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APFloat.cpp:4685:1: note: parameter passing for argument of type ‘llvm::MutableArrayRef’ changed in GCC 7.1 2022-04-13T11:18:44,958 DoubleAPFloat::convertToInteger(MutableArrayRef Input, 2022-04-13T11:18:44,959 ^~~~~~~~~~~~~ 2022-04-13T11:18:44,961 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APFloat.cpp:2416:36: note: parameter passing for argument of type ‘llvm::MutableArrayRef’ changed in GCC 7.1 2022-04-13T11:18:44,961 fs = convertToSignExtendedInteger(parts, width, isSigned, rounding_mode, 2022-04-13T11:18:44,962 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:44,962 isExact); 2022-04-13T11:18:44,963 ~~~~~~~~ 2022-04-13T11:18:44,963 In file included from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/APFloat.cpp:14: 2022-04-13T11:18:44,964 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/APFloat.h:1108:25: note: parameter passing for argument of type ‘llvm::MutableArrayRef’ changed in GCC 7.1 2022-04-13T11:18:44,964 return U.Double.METHOD_CALL; \ 2022-04-13T11:18:44,965 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:44,973 llvm_unreachable("Unexpected semantics"); \ 2022-04-13T11:18:44,974 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:44,975 } while (false) 2022-04-13T11:18:44,977 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:44,980 namespace llvm { 2022-04-13T11:18:44,981 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:44,983 struct fltSemantics; 2022-04-13T11:18:44,983 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:44,984 class APSInt; 2022-04-13T11:18:45,001 ~~~~~~~~~~~~~ 2022-04-13T11:18:45,002 class StringRef; 2022-04-13T11:18:45,003 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,003 class APFloat; 2022-04-13T11:18:45,004 ~~~~~~~~~~~~~~ 2022-04-13T11:18:45,005 class raw_ostream; 2022-04-13T11:18:45,006 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,011 template class Expected; 2022-04-13T11:18:45,012 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,012 template class SmallVectorImpl; 2022-04-13T11:18:45,013 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,014 /// Enum that represents what fraction of the LSB truncated bits of an fp number 2022-04-13T11:18:45,015 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,015 /// represent. 2022-04-13T11:18:45,016 ~~~~~~~~~~~~~~ 2022-04-13T11:18:45,023 /// 2022-04-13T11:18:45,024 ~~~ 2022-04-13T11:18:45,025 /// This essentially combines the roles of guard and sticky bits. 2022-04-13T11:18:45,025 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,026 enum lostFraction { // Example of truncated bits: 2022-04-13T11:18:45,027 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,028 lfExactlyZero, // 000000 2022-04-13T11:18:45,028 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,029 lfLessThanHalf, // 0xxxxx x's not all zero 2022-04-13T11:18:45,030 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,031 lfExactlyHalf, // 100000 2022-04-13T11:18:45,032 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,032 lfMoreThanHalf // 1xxxxx x's not all zero 2022-04-13T11:18:45,033 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,034 }; 2022-04-13T11:18:45,035 ~~ 2022-04-13T11:18:45,067 /// A self-contained host- and target-independent arbitrary-precision 2022-04-13T11:18:45,068 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,068 /// floating-point software implementation. 2022-04-13T11:18:45,069 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,069 /// 2022-04-13T11:18:45,070 ~~~ 2022-04-13T11:18:45,070 /// APFloat uses bignum integer arithmetic as provided by static functions in 2022-04-13T11:18:45,071 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,072 /// the APInt class. The library will work with bignum integers whose parts are 2022-04-13T11:18:45,072 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,073 /// any unsigned type at least 16 bits wide, but 64 bits is recommended. 2022-04-13T11:18:45,074 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,075 /// 2022-04-13T11:18:45,075 ~~~ 2022-04-13T11:18:45,076 /// Written for clarity rather than speed, in particular with a view to use in 2022-04-13T11:18:45,077 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,077 /// the front-end of a cross compiler so that target arithmetic can be correctly 2022-04-13T11:18:45,078 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,078 /// performed on the host. Performance should nonetheless be reasonable, 2022-04-13T11:18:45,079 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,079 /// particularly for its intended use. It may be useful as a base 2022-04-13T11:18:45,080 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,081 /// implementation for a run-time library during development of a faster 2022-04-13T11:18:45,081 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,081 /// target-specific one. 2022-04-13T11:18:45,082 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,082 /// 2022-04-13T11:18:45,083 ~~~ 2022-04-13T11:18:45,083 /// All 5 rounding modes in the IEEE-754R draft are handled correctly for all 2022-04-13T11:18:45,084 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,084 /// implemented operations. Currently implemented operations are add, subtract, 2022-04-13T11:18:45,085 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,085 /// multiply, divide, fused-multiply-add, conversion-to-float, 2022-04-13T11:18:45,085 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,106 /// conversion-to-integer and conversion-from-integer. New rounding modes 2022-04-13T11:18:45,107 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,107 /// (e.g. away from zero) can be added with three or four lines of code. 2022-04-13T11:18:45,108 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,108 /// 2022-04-13T11:18:45,109 ~~~ 2022-04-13T11:18:45,109 /// Four formats are built-in: IEEE single precision, double precision, 2022-04-13T11:18:45,110 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,111 /// quadruple precision, and x87 80-bit extended double (when operating with 2022-04-13T11:18:45,111 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,112 /// full extended precision). Adding a new format that obeys IEEE semantics 2022-04-13T11:18:45,112 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,113 /// only requires adding two lines of code: a declaration and definition of the 2022-04-13T11:18:45,114 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,114 /// format. 2022-04-13T11:18:45,115 ~~~~~~~~~~~ 2022-04-13T11:18:45,115 /// 2022-04-13T11:18:45,116 ~~~ 2022-04-13T11:18:45,126 /// All operations return the status of that operation as an exception bit-mask, 2022-04-13T11:18:45,127 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,127 /// so multiple operations can be done consecutively with their results or-ed 2022-04-13T11:18:45,128 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,128 /// together. The returned status can be useful for compiler diagnostics; e.g., 2022-04-13T11:18:45,129 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,130 /// inexact, underflow and overflow can be easily diagnosed on constant folding, 2022-04-13T11:18:45,130 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,130 /// and compiler optimizers can determine what exceptions would be raised by 2022-04-13T11:18:45,131 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,131 /// folding operations and optimize, or perhaps not optimize, accordingly. 2022-04-13T11:18:45,132 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,132 /// 2022-04-13T11:18:45,133 ~~~ 2022-04-13T11:18:45,133 /// At present, underflow tininess is detected after rounding; it should be 2022-04-13T11:18:45,134 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,134 /// straight forward to add support for the before-rounding case too. 2022-04-13T11:18:45,135 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,135 /// 2022-04-13T11:18:45,136 ~~~ 2022-04-13T11:18:45,136 /// The library reads hexadecimal floating point numbers as per C99, and 2022-04-13T11:18:45,137 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,137 /// correctly rounds if necessary according to the specified rounding mode. 2022-04-13T11:18:45,138 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,138 /// Syntax is required to have been validated by the caller. It also converts 2022-04-13T11:18:45,139 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,139 /// floating point numbers to hexadecimal text as per the C99 %a and %A 2022-04-13T11:18:45,140 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,140 /// conversions. The output precision (or alternatively the natural minimal 2022-04-13T11:18:45,141 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,141 /// precision) can be specified; if the requested precision is less than the 2022-04-13T11:18:45,142 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,142 /// natural precision the output is correctly rounded for the specified rounding 2022-04-13T11:18:45,143 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,143 /// mode. 2022-04-13T11:18:45,144 ~~~~~~~~~ 2022-04-13T11:18:45,145 /// 2022-04-13T11:18:45,145 ~~~ 2022-04-13T11:18:45,146 /// It also reads decimal floating point numbers and correctly rounds according 2022-04-13T11:18:45,157 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,157 /// to the specified rounding mode. 2022-04-13T11:18:45,158 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,158 /// 2022-04-13T11:18:45,159 ~~~ 2022-04-13T11:18:45,159 /// Conversion to decimal text is not currently implemented. 2022-04-13T11:18:45,160 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,160 /// 2022-04-13T11:18:45,161 ~~~ 2022-04-13T11:18:45,161 /// Non-zero finite numbers are represented internally as a sign bit, a 16-bit 2022-04-13T11:18:45,162 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,162 /// signed exponent, and the significand as an array of integer parts. After 2022-04-13T11:18:45,163 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,163 /// normalization of a number of precision P the exponent is within the range of 2022-04-13T11:18:45,164 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,164 /// the format, and if the number is not denormal the P-th bit of the 2022-04-13T11:18:45,164 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,165 /// significand is set as an explicit integer bit. For denormals the most 2022-04-13T11:18:45,166 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,186 /// significant bit is shifted right so that the exponent is maintained at the 2022-04-13T11:18:45,187 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,187 /// format's minimum, so that the smallest denormal has just the least 2022-04-13T11:18:45,188 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,188 /// significant bit of the significand set. The sign of zeroes and infinities 2022-04-13T11:18:45,189 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,189 /// is significant; the exponent and significand of such numbers is not stored, 2022-04-13T11:18:45,190 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,190 /// but has a known implicit (deterministic) value: 0 for the significands, 0 2022-04-13T11:18:45,191 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,192 /// for zero exponent, all 1 bits for infinity exponent. For NaNs the sign and 2022-04-13T11:18:45,192 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,192 /// significand are deterministic, although not really meaningful, and preserved 2022-04-13T11:18:45,193 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,193 /// in non-conversion operations. The exponent is implicitly all 1 bits. 2022-04-13T11:18:45,194 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,195 /// 2022-04-13T11:18:45,195 ~~~ 2022-04-13T11:18:45,196 /// APFloat does not provide any exception handling beyond default exception 2022-04-13T11:18:45,206 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,207 /// handling. We represent Signaling NaNs via IEEE-754R 2008 6.2.1 should clause 2022-04-13T11:18:45,208 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,208 /// by encoding Signaling NaNs with the first bit of its trailing significand as 2022-04-13T11:18:45,209 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,209 /// 0. 2022-04-13T11:18:45,210 ~~~~~~ 2022-04-13T11:18:45,210 /// 2022-04-13T11:18:45,211 ~~~ 2022-04-13T11:18:45,211 /// TODO 2022-04-13T11:18:45,212 ~~~~~~~~ 2022-04-13T11:18:45,212 /// ==== 2022-04-13T11:18:45,213 ~~~~~~~~ 2022-04-13T11:18:45,213 /// 2022-04-13T11:18:45,214 ~~~ 2022-04-13T11:18:45,214 /// Some features that may or may not be worth adding: 2022-04-13T11:18:45,215 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,215 /// 2022-04-13T11:18:45,216 ~~~ 2022-04-13T11:18:45,227 /// Binary to decimal conversion (hard). 2022-04-13T11:18:45,227 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,228 /// 2022-04-13T11:18:45,228 ~~~ 2022-04-13T11:18:45,229 /// Optional ability to detect underflow tininess before rounding. 2022-04-13T11:18:45,229 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,230 /// 2022-04-13T11:18:45,230 ~~~ 2022-04-13T11:18:45,231 /// New formats: x87 in single and double precision mode (IEEE apart from 2022-04-13T11:18:45,231 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,232 /// extended exponent range) (hard). 2022-04-13T11:18:45,232 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,233 /// 2022-04-13T11:18:45,234 ~~~ 2022-04-13T11:18:45,234 /// New operations: sqrt, IEEE remainder, C90 fmod, nexttoward. 2022-04-13T11:18:45,235 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,236 /// 2022-04-13T11:18:45,246 ~~~ 2022-04-13T11:18:45,248 // This is the common type definitions shared by APFloat and its internal 2022-04-13T11:18:45,248 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,249 // implementation classes. This struct should not define any non-static data 2022-04-13T11:18:45,250 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,250 // members. 2022-04-13T11:18:45,250 ~~~~~~~~~~~ 2022-04-13T11:18:45,251 struct APFloatBase { 2022-04-13T11:18:45,251 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,252 typedef APInt::WordType integerPart; 2022-04-13T11:18:45,252 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,253 static constexpr unsigned integerPartWidth = APInt::APINT_BITS_PER_WORD; 2022-04-13T11:18:45,253 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,254 /// A signed type to represent a floating point numbers unbiased exponent. 2022-04-13T11:18:45,255 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,255 typedef int32_t ExponentType; 2022-04-13T11:18:45,256 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,268 /// \name Floating Point Semantics. 2022-04-13T11:18:45,268 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,269 /// @{ 2022-04-13T11:18:45,269 ~~~~~~ 2022-04-13T11:18:45,270 enum Semantics { 2022-04-13T11:18:45,270 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,271 S_IEEEhalf, 2022-04-13T11:18:45,272 ~~~~~~~~~~~ 2022-04-13T11:18:45,272 S_BFloat, 2022-04-13T11:18:45,273 ~~~~~~~~~ 2022-04-13T11:18:45,273 S_IEEEsingle, 2022-04-13T11:18:45,274 ~~~~~~~~~~~~~ 2022-04-13T11:18:45,274 S_IEEEdouble, 2022-04-13T11:18:45,275 ~~~~~~~~~~~~~ 2022-04-13T11:18:45,275 S_x87DoubleExtended, 2022-04-13T11:18:45,284 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,285 S_IEEEquad, 2022-04-13T11:18:45,286 ~~~~~~~~~~~ 2022-04-13T11:18:45,287 S_PPCDoubleDouble 2022-04-13T11:18:45,287 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,288 }; 2022-04-13T11:18:45,289 ~~ 2022-04-13T11:18:45,291 static const llvm::fltSemantics &EnumToSemantics(Semantics S); 2022-04-13T11:18:45,291 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,292 static Semantics SemanticsToEnum(const llvm::fltSemantics &Sem); 2022-04-13T11:18:45,292 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,293 static const fltSemantics &IEEEhalf() LLVM_READNONE; 2022-04-13T11:18:45,294 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,295 static const fltSemantics &BFloat() LLVM_READNONE; 2022-04-13T11:18:45,295 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,296 static const fltSemantics &IEEEsingle() LLVM_READNONE; 2022-04-13T11:18:45,306 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,307 static const fltSemantics &IEEEdouble() LLVM_READNONE; 2022-04-13T11:18:45,308 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,308 static const fltSemantics &IEEEquad() LLVM_READNONE; 2022-04-13T11:18:45,308 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,309 static const fltSemantics &PPCDoubleDouble() LLVM_READNONE; 2022-04-13T11:18:45,310 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,310 static const fltSemantics &x87DoubleExtended() LLVM_READNONE; 2022-04-13T11:18:45,311 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,313 /// A Pseudo fltsemantic used to construct APFloats that cannot conflict with 2022-04-13T11:18:45,313 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,313 /// anything real. 2022-04-13T11:18:45,314 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,314 static const fltSemantics &Bogus() LLVM_READNONE; 2022-04-13T11:18:45,315 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,327 /// @} 2022-04-13T11:18:45,327 ~~~~~~ 2022-04-13T11:18:45,329 /// IEEE-754R 5.11: Floating Point Comparison Relations. 2022-04-13T11:18:45,330 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,330 enum cmpResult { 2022-04-13T11:18:45,331 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,331 cmpLessThan, 2022-04-13T11:18:45,331 ~~~~~~~~~~~~ 2022-04-13T11:18:45,332 cmpEqual, 2022-04-13T11:18:45,332 ~~~~~~~~~ 2022-04-13T11:18:45,333 cmpGreaterThan, 2022-04-13T11:18:45,333 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,334 cmpUnordered 2022-04-13T11:18:45,334 ~~~~~~~~~~~~ 2022-04-13T11:18:45,335 }; 2022-04-13T11:18:45,335 ~~ 2022-04-13T11:18:45,347 /// IEEE-754R 4.3: Rounding-direction attributes. 2022-04-13T11:18:45,348 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,348 using roundingMode = llvm::RoundingMode; 2022-04-13T11:18:45,349 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,351 static constexpr roundingMode rmNearestTiesToEven = 2022-04-13T11:18:45,352 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,353 RoundingMode::NearestTiesToEven; 2022-04-13T11:18:45,353 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,354 static constexpr roundingMode rmTowardPositive = RoundingMode::TowardPositive; 2022-04-13T11:18:45,354 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,355 static constexpr roundingMode rmTowardNegative = RoundingMode::TowardNegative; 2022-04-13T11:18:45,356 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,366 static constexpr roundingMode rmTowardZero = RoundingMode::TowardZero; 2022-04-13T11:18:45,367 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,368 static constexpr roundingMode rmNearestTiesToAway = 2022-04-13T11:18:45,368 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,369 RoundingMode::NearestTiesToAway; 2022-04-13T11:18:45,369 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,371 /// IEEE-754R 7: Default exception handling. 2022-04-13T11:18:45,371 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,372 /// 2022-04-13T11:18:45,373 ~~~ 2022-04-13T11:18:45,373 /// opUnderflow or opOverflow are always returned or-ed with opInexact. 2022-04-13T11:18:45,374 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,374 /// 2022-04-13T11:18:45,375 ~~~ 2022-04-13T11:18:45,375 /// APFloat models this behavior specified by IEEE-754: 2022-04-13T11:18:45,376 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,386 /// "For operations producing results in floating-point format, the default 2022-04-13T11:18:45,387 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,387 /// result of an operation that signals the invalid operation exception 2022-04-13T11:18:45,388 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,388 /// shall be a quiet NaN." 2022-04-13T11:18:45,389 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,389 enum opStatus { 2022-04-13T11:18:45,390 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,390 opOK = 0x00, 2022-04-13T11:18:45,391 ~~~~~~~~~~~~ 2022-04-13T11:18:45,391 opInvalidOp = 0x01, 2022-04-13T11:18:45,392 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,392 opDivByZero = 0x02, 2022-04-13T11:18:45,393 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,393 opOverflow = 0x04, 2022-04-13T11:18:45,394 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,394 opUnderflow = 0x08, 2022-04-13T11:18:45,394 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,395 opInexact = 0x10 2022-04-13T11:18:45,395 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,396 }; 2022-04-13T11:18:45,407 ~~ 2022-04-13T11:18:45,409 /// Category of internally-represented number. 2022-04-13T11:18:45,410 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,410 enum fltCategory { 2022-04-13T11:18:45,411 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,412 fcInfinity, 2022-04-13T11:18:45,412 ~~~~~~~~~~~ 2022-04-13T11:18:45,413 fcNaN, 2022-04-13T11:18:45,414 ~~~~~~ 2022-04-13T11:18:45,414 fcNormal, 2022-04-13T11:18:45,415 ~~~~~~~~~ 2022-04-13T11:18:45,415 fcZero 2022-04-13T11:18:45,416 ~~~~~~ 2022-04-13T11:18:45,427 }; 2022-04-13T11:18:45,427 ~~ 2022-04-13T11:18:45,429 /// Convenience enum used to construct an uninitialized APFloat. 2022-04-13T11:18:45,429 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,430 enum uninitializedTag { 2022-04-13T11:18:45,430 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,431 uninitialized 2022-04-13T11:18:45,431 ~~~~~~~~~~~~~ 2022-04-13T11:18:45,432 }; 2022-04-13T11:18:45,432 ~~ 2022-04-13T11:18:45,434 /// Enumeration of \c ilogb error results. 2022-04-13T11:18:45,434 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,435 enum IlogbErrorKinds { 2022-04-13T11:18:45,435 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,436 IEK_Zero = INT_MIN + 1, 2022-04-13T11:18:45,447 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,447 IEK_NaN = INT_MIN, 2022-04-13T11:18:45,448 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,448 IEK_Inf = INT_MAX 2022-04-13T11:18:45,449 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,450 }; 2022-04-13T11:18:45,450 ~~ 2022-04-13T11:18:45,452 static unsigned int semanticsPrecision(const fltSemantics &); 2022-04-13T11:18:45,452 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,452 static ExponentType semanticsMinExponent(const fltSemantics &); 2022-04-13T11:18:45,453 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,453 static ExponentType semanticsMaxExponent(const fltSemantics &); 2022-04-13T11:18:45,454 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,454 static unsigned int semanticsSizeInBits(const fltSemantics &); 2022-04-13T11:18:45,455 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,467 /// Returns the size of the floating point number (in bits) in the given 2022-04-13T11:18:45,467 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,468 /// semantics. 2022-04-13T11:18:45,469 ~~~~~~~~~~~~~~ 2022-04-13T11:18:45,469 static unsigned getSizeInBits(const fltSemantics &Sem); 2022-04-13T11:18:45,470 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,470 }; 2022-04-13T11:18:45,471 ~~ 2022-04-13T11:18:45,472 namespace detail { 2022-04-13T11:18:45,473 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,474 class IEEEFloat final : public APFloatBase { 2022-04-13T11:18:45,475 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,475 public: 2022-04-13T11:18:45,486 ~~~~~~~ 2022-04-13T11:18:45,487 /// \name Constructors 2022-04-13T11:18:45,487 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,488 /// @{ 2022-04-13T11:18:45,488 ~~~~~~ 2022-04-13T11:18:45,490 IEEEFloat(const fltSemantics &); // Default construct to +0.0 2022-04-13T11:18:45,490 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,491 IEEEFloat(const fltSemantics &, integerPart); 2022-04-13T11:18:45,491 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,492 IEEEFloat(const fltSemantics &, uninitializedTag); 2022-04-13T11:18:45,492 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,493 IEEEFloat(const fltSemantics &, const APInt &); 2022-04-13T11:18:45,493 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,494 explicit IEEEFloat(double d); 2022-04-13T11:18:45,494 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,495 explicit IEEEFloat(float f); 2022-04-13T11:18:45,495 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,496 IEEEFloat(const IEEEFloat &); 2022-04-13T11:18:45,507 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,507 IEEEFloat(IEEEFloat &&); 2022-04-13T11:18:45,508 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,508 ~IEEEFloat(); 2022-04-13T11:18:45,509 ~~~~~~~~~~~~~ 2022-04-13T11:18:45,510 /// @} 2022-04-13T11:18:45,511 ~~~~~~ 2022-04-13T11:18:45,513 /// Returns whether this instance allocated memory. 2022-04-13T11:18:45,513 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,514 bool needsCleanup() const { return partCount() > 1; } 2022-04-13T11:18:45,514 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,515 /// \name Convenience "constructors" 2022-04-13T11:18:45,526 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,527 /// @{ 2022-04-13T11:18:45,527 ~~~~~~ 2022-04-13T11:18:45,529 /// @} 2022-04-13T11:18:45,530 ~~~~~~ 2022-04-13T11:18:45,531 /// \name Arithmetic 2022-04-13T11:18:45,532 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,532 /// @{ 2022-04-13T11:18:45,533 ~~~~~~ 2022-04-13T11:18:45,535 opStatus add(const IEEEFloat &, roundingMode); 2022-04-13T11:18:45,535 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,546 opStatus subtract(const IEEEFloat &, roundingMode); 2022-04-13T11:18:45,547 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,547 opStatus multiply(const IEEEFloat &, roundingMode); 2022-04-13T11:18:45,548 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,548 opStatus divide(const IEEEFloat &, roundingMode); 2022-04-13T11:18:45,549 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,549 /// IEEE remainder. 2022-04-13T11:18:45,550 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,550 opStatus remainder(const IEEEFloat &); 2022-04-13T11:18:45,551 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,552 /// C fmod, or llvm frem. 2022-04-13T11:18:45,552 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,553 opStatus mod(const IEEEFloat &); 2022-04-13T11:18:45,553 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,554 opStatus fusedMultiplyAdd(const IEEEFloat &, const IEEEFloat &, roundingMode); 2022-04-13T11:18:45,555 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,555 opStatus roundToIntegral(roundingMode); 2022-04-13T11:18:45,556 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,558 /// IEEE-754R 5.3.1: nextUp/nextDown. 2022-04-13T11:18:45,559 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,559 opStatus next(bool nextDown); 2022-04-13T11:18:45,560 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,562 /// @} 2022-04-13T11:18:45,562 ~~~~~~ 2022-04-13T11:18:45,564 /// \name Sign operations. 2022-04-13T11:18:45,565 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,565 /// @{ 2022-04-13T11:18:45,566 ~~~~~~ 2022-04-13T11:18:45,588 void changeSign(); 2022-04-13T11:18:45,589 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,591 /// @} 2022-04-13T11:18:45,591 ~~~~~~ 2022-04-13T11:18:45,593 /// \name Conversions 2022-04-13T11:18:45,594 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,595 /// @{ 2022-04-13T11:18:45,595 ~~~~~~ 2022-04-13T11:18:45,608 opStatus convert(const fltSemantics &, roundingMode, bool *); 2022-04-13T11:18:45,608 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,609 opStatus convertToInteger(MutableArrayRef, unsigned int, bool, 2022-04-13T11:18:45,610 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,611 roundingMode, bool *) const; 2022-04-13T11:18:45,611 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,612 opStatus convertFromAPInt(const APInt &, bool, roundingMode); 2022-04-13T11:18:45,612 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,613 opStatus convertFromSignExtendedInteger(const integerPart *, unsigned int, 2022-04-13T11:18:45,614 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,614 bool, roundingMode); 2022-04-13T11:18:45,615 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,616 opStatus convertFromZeroExtendedInteger(const integerPart *, unsigned int, 2022-04-13T11:18:45,626 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,627 bool, roundingMode); 2022-04-13T11:18:45,627 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,628 Expected convertFromString(StringRef, roundingMode); 2022-04-13T11:18:45,628 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,629 APInt bitcastToAPInt() const; 2022-04-13T11:18:45,630 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,630 double convertToDouble() const; 2022-04-13T11:18:45,631 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,631 float convertToFloat() const; 2022-04-13T11:18:45,632 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,633 /// @} 2022-04-13T11:18:45,634 ~~~~~~ 2022-04-13T11:18:45,635 /// The definition of equality is not straightforward for floating point, so 2022-04-13T11:18:45,636 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,646 /// we won't use operator==. Use one of the following, or write whatever it 2022-04-13T11:18:45,647 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,648 /// is you really mean. 2022-04-13T11:18:45,649 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,649 bool operator==(const IEEEFloat &) const = delete; 2022-04-13T11:18:45,650 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,652 /// IEEE comparison with another floating point number (NaNs compare 2022-04-13T11:18:45,653 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,653 /// unordered, 0==-0). 2022-04-13T11:18:45,654 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,655 cmpResult compare(const IEEEFloat &) const; 2022-04-13T11:18:45,655 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,667 /// Bitwise comparison for equality (QNaNs compare equal, 0!=-0). 2022-04-13T11:18:45,668 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,668 bool bitwiseIsEqual(const IEEEFloat &) const; 2022-04-13T11:18:45,669 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,671 /// Write out a hexadecimal representation of the floating point value to DST, 2022-04-13T11:18:45,671 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,672 /// which must be of sufficient size, in the C99 form [-]0xh.hhhhp[+-]d. 2022-04-13T11:18:45,672 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,673 /// Return the number of characters written, excluding the terminating NUL. 2022-04-13T11:18:45,674 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,674 unsigned int convertToHexString(char *dst, unsigned int hexDigits, 2022-04-13T11:18:45,675 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,676 bool upperCase, roundingMode) const; 2022-04-13T11:18:45,683 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,684 /// \name IEEE-754R 5.7.2 General operations. 2022-04-13T11:18:45,685 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,685 /// @{ 2022-04-13T11:18:45,686 ~~~~~~ 2022-04-13T11:18:45,688 /// IEEE-754R isSignMinus: Returns true if and only if the current value is 2022-04-13T11:18:45,689 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,689 /// negative. 2022-04-13T11:18:45,690 ~~~~~~~~~~~~~ 2022-04-13T11:18:45,691 /// 2022-04-13T11:18:45,691 ~~~ 2022-04-13T11:18:45,692 /// This applies to zeros and NaNs as well. 2022-04-13T11:18:45,692 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,693 bool isNegative() const { return sign; } 2022-04-13T11:18:45,694 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,695 /// IEEE-754R isNormal: Returns true if and only if the current value is normal. 2022-04-13T11:18:45,706 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,707 /// 2022-04-13T11:18:45,707 ~~~ 2022-04-13T11:18:45,708 /// This implies that the current value of the float is not zero, subnormal, 2022-04-13T11:18:45,708 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,709 /// infinite, or NaN following the definition of normality from IEEE-754R. 2022-04-13T11:18:45,709 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,710 bool isNormal() const { return !isDenormal() && isFiniteNonZero(); } 2022-04-13T11:18:45,711 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,712 /// Returns true if and only if the current value is zero, subnormal, or 2022-04-13T11:18:45,713 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,713 /// normal. 2022-04-13T11:18:45,714 ~~~~~~~~~~~ 2022-04-13T11:18:45,714 /// 2022-04-13T11:18:45,715 ~~~ 2022-04-13T11:18:45,715 /// This means that the value is not infinite or NaN. 2022-04-13T11:18:45,716 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,726 bool isFinite() const { return !isNaN() && !isInfinity(); } 2022-04-13T11:18:45,727 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,729 /// Returns true if and only if the float is plus or minus zero. 2022-04-13T11:18:45,729 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,729 bool isZero() const { return category == fcZero; } 2022-04-13T11:18:45,730 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,731 /// IEEE-754R isSubnormal(): Returns true if and only if the float is a 2022-04-13T11:18:45,732 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,732 /// denormal. 2022-04-13T11:18:45,733 ~~~~~~~~~~~~~ 2022-04-13T11:18:45,733 bool isDenormal() const; 2022-04-13T11:18:45,734 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,735 /// IEEE-754R isInfinite(): Returns true if and only if the float is infinity. 2022-04-13T11:18:45,735 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,736 bool isInfinity() const { return category == fcInfinity; } 2022-04-13T11:18:45,747 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,748 /// Returns true if and only if the float is a quiet or signaling NaN. 2022-04-13T11:18:45,749 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,749 bool isNaN() const { return category == fcNaN; } 2022-04-13T11:18:45,750 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,751 /// Returns true if and only if the float is a signaling NaN. 2022-04-13T11:18:45,752 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,752 bool isSignaling() const; 2022-04-13T11:18:45,753 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,755 /// @} 2022-04-13T11:18:45,755 ~~~~~~ 2022-04-13T11:18:45,767 /// \name Simple Queries 2022-04-13T11:18:45,768 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,768 /// @{ 2022-04-13T11:18:45,769 ~~~~~~ 2022-04-13T11:18:45,770 fltCategory getCategory() const { return category; } 2022-04-13T11:18:45,770 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,771 const fltSemantics &getSemantics() const { return *semantics; } 2022-04-13T11:18:45,771 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,772 bool isNonZero() const { return category != fcZero; } 2022-04-13T11:18:45,772 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,773 bool isFiniteNonZero() const { return isFinite() && !isZero(); } 2022-04-13T11:18:45,773 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,774 bool isPosZero() const { return isZero() && !isNegative(); } 2022-04-13T11:18:45,774 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,775 bool isNegZero() const { return isZero() && isNegative(); } 2022-04-13T11:18:45,775 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,787 /// Returns true if and only if the number has the smallest possible non-zero 2022-04-13T11:18:45,788 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,789 /// magnitude in the current semantics. 2022-04-13T11:18:45,789 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,790 bool isSmallest() const; 2022-04-13T11:18:45,791 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,793 /// Returns true if and only if the number has the largest possible finite 2022-04-13T11:18:45,794 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,794 /// magnitude in the current semantics. 2022-04-13T11:18:45,795 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,796 bool isLargest() const; 2022-04-13T11:18:45,807 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,808 /// Returns true if and only if the number is an exact integer. 2022-04-13T11:18:45,809 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,809 bool isInteger() const; 2022-04-13T11:18:45,810 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,811 /// @} 2022-04-13T11:18:45,812 ~~~~~~ 2022-04-13T11:18:45,813 IEEEFloat &operator=(const IEEEFloat &); 2022-04-13T11:18:45,814 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,814 IEEEFloat &operator=(IEEEFloat &&); 2022-04-13T11:18:45,815 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,827 /// Overload to compute a hash code for an APFloat value. 2022-04-13T11:18:45,827 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,828 /// 2022-04-13T11:18:45,829 ~~~ 2022-04-13T11:18:45,829 /// Note that the use of hash codes for floating point values is in general 2022-04-13T11:18:45,830 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,830 /// frought with peril. Equality is hard to define for these values. For 2022-04-13T11:18:45,831 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,831 /// example, should negative and positive zero hash to different codes? Are 2022-04-13T11:18:45,832 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,833 /// they equal or not? This hash value implementation specifically 2022-04-13T11:18:45,833 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,834 /// emphasizes producing different codes for different inputs in order to 2022-04-13T11:18:45,835 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,835 /// be used in canonicalization and memoization. As such, equality is 2022-04-13T11:18:45,836 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,847 /// bitwiseIsEqual, and 0 != -0. 2022-04-13T11:18:45,847 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,848 friend hash_code hash_value(const IEEEFloat &Arg); 2022-04-13T11:18:45,848 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,849 /// Converts this value into a decimal string. 2022-04-13T11:18:45,850 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,850 /// 2022-04-13T11:18:45,851 ~~~ 2022-04-13T11:18:45,851 /// \param FormatPrecision The maximum number of digits of 2022-04-13T11:18:45,852 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,852 /// precision to output. If there are fewer digits available, 2022-04-13T11:18:45,853 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,853 /// zero padding will not be used unless the value is 2022-04-13T11:18:45,854 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,854 /// integral and small enough to be expressed in 2022-04-13T11:18:45,855 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,855 /// FormatPrecision digits. 0 means to use the natural 2022-04-13T11:18:45,866 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,867 /// precision of the number. 2022-04-13T11:18:45,867 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,868 /// \param FormatMaxPadding The maximum number of zeros to 2022-04-13T11:18:45,868 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,869 /// consider inserting before falling back to scientific 2022-04-13T11:18:45,869 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,870 /// notation. 0 means to always use scientific notation. 2022-04-13T11:18:45,870 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,871 /// 2022-04-13T11:18:45,872 ~~~ 2022-04-13T11:18:45,872 /// \param TruncateZero Indicate whether to remove the trailing zero in 2022-04-13T11:18:45,872 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,873 /// fraction part or not. Also setting this parameter to false forcing 2022-04-13T11:18:45,873 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,874 /// producing of output more similar to default printf behavior. 2022-04-13T11:18:45,874 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,875 /// Specifically the lower e is used as exponent delimiter and exponent 2022-04-13T11:18:45,875 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,886 /// always contains no less than two digits. 2022-04-13T11:18:45,887 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,887 /// 2022-04-13T11:18:45,888 ~~~ 2022-04-13T11:18:45,888 /// Number Precision MaxPadding Result 2022-04-13T11:18:45,889 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,889 /// ------ --------- ---------- ------ 2022-04-13T11:18:45,890 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,890 /// 1.01E+4 5 2 10100 2022-04-13T11:18:45,891 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,891 /// 1.01E+4 4 2 1.01E+4 2022-04-13T11:18:45,892 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,892 /// 1.01E+4 5 1 1.01E+4 2022-04-13T11:18:45,893 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,893 /// 1.01E-2 5 2 0.0101 2022-04-13T11:18:45,894 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,894 /// 1.01E-2 4 2 0.0101 2022-04-13T11:18:45,895 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,895 /// 1.01E-2 4 1 1.01E-2 2022-04-13T11:18:45,896 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,906 void toString(SmallVectorImpl &Str, unsigned FormatPrecision = 0, 2022-04-13T11:18:45,907 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,907 unsigned FormatMaxPadding = 3, bool TruncateZero = true) const; 2022-04-13T11:18:45,908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,910 /// If this value has an exact multiplicative inverse, store it in inv and 2022-04-13T11:18:45,910 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,910 /// return true. 2022-04-13T11:18:45,911 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,912 bool getExactInverse(APFloat *inv) const; 2022-04-13T11:18:45,912 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,914 /// Returns the exponent of the internal representation of the APFloat. 2022-04-13T11:18:45,915 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,915 /// 2022-04-13T11:18:45,916 ~~~ 2022-04-13T11:18:45,926 /// Because the radix of APFloat is 2, this is equivalent to floor(log2(x)). 2022-04-13T11:18:45,927 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,928 /// For special APFloat values, this returns special error codes: 2022-04-13T11:18:45,928 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,929 /// 2022-04-13T11:18:45,929 ~~~ 2022-04-13T11:18:45,930 /// NaN -> \c IEK_NaN 2022-04-13T11:18:45,930 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,931 /// 0 -> \c IEK_Zero 2022-04-13T11:18:45,931 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,932 /// Inf -> \c IEK_Inf 2022-04-13T11:18:45,932 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,933 /// 2022-04-13T11:18:45,933 ~~~ 2022-04-13T11:18:45,934 friend int ilogb(const IEEEFloat &Arg); 2022-04-13T11:18:45,934 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,946 /// Returns: X * 2^Exp for integral exponents. 2022-04-13T11:18:45,947 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,947 friend IEEEFloat scalbn(IEEEFloat X, int Exp, roundingMode); 2022-04-13T11:18:45,948 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,949 friend IEEEFloat frexp(const IEEEFloat &X, int &Exp, roundingMode); 2022-04-13T11:18:45,950 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,952 /// \name Special value setters. 2022-04-13T11:18:45,953 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,953 /// @{ 2022-04-13T11:18:45,954 ~~~~~~ 2022-04-13T11:18:45,955 void makeLargest(bool Neg = false); 2022-04-13T11:18:45,956 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,967 void makeSmallest(bool Neg = false); 2022-04-13T11:18:45,967 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,968 void makeNaN(bool SNaN = false, bool Neg = false, 2022-04-13T11:18:45,968 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,969 const APInt *fill = nullptr); 2022-04-13T11:18:45,969 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,969 void makeInf(bool Neg = false); 2022-04-13T11:18:45,970 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,970 void makeZero(bool Neg = false); 2022-04-13T11:18:45,971 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,971 void makeQuiet(); 2022-04-13T11:18:45,972 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,973 /// Returns the smallest (by magnitude) normalized finite number in the given 2022-04-13T11:18:45,974 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,974 /// semantics. 2022-04-13T11:18:45,975 ~~~~~~~~~~~~~~ 2022-04-13T11:18:45,975 /// 2022-04-13T11:18:45,986 ~~~ 2022-04-13T11:18:45,987 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:45,987 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,988 void makeSmallestNormalized(bool Negative = false); 2022-04-13T11:18:45,988 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,990 /// @} 2022-04-13T11:18:45,990 ~~~~~~ 2022-04-13T11:18:45,992 cmpResult compareAbsoluteValue(const IEEEFloat &) const; 2022-04-13T11:18:45,992 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:45,994 private: 2022-04-13T11:18:45,994 ~~~~~~~~ 2022-04-13T11:18:45,995 /// \name Simple Queries 2022-04-13T11:18:45,996 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,006 /// @{ 2022-04-13T11:18:46,007 ~~~~~~ 2022-04-13T11:18:46,009 integerPart *significandParts(); 2022-04-13T11:18:46,009 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,010 const integerPart *significandParts() const; 2022-04-13T11:18:46,011 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,011 unsigned int partCount() const; 2022-04-13T11:18:46,012 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,013 /// @} 2022-04-13T11:18:46,014 ~~~~~~ 2022-04-13T11:18:46,015 /// \name Significand operations. 2022-04-13T11:18:46,026 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,027 /// @{ 2022-04-13T11:18:46,028 ~~~~~~ 2022-04-13T11:18:46,030 integerPart addSignificand(const IEEEFloat &); 2022-04-13T11:18:46,030 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,031 integerPart subtractSignificand(const IEEEFloat &, integerPart); 2022-04-13T11:18:46,032 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,032 lostFraction addOrSubtractSignificand(const IEEEFloat &, bool subtract); 2022-04-13T11:18:46,033 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,033 lostFraction multiplySignificand(const IEEEFloat &, IEEEFloat); 2022-04-13T11:18:46,034 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,035 lostFraction multiplySignificand(const IEEEFloat&); 2022-04-13T11:18:46,035 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,036 lostFraction divideSignificand(const IEEEFloat &); 2022-04-13T11:18:46,046 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,047 void incrementSignificand(); 2022-04-13T11:18:46,047 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,048 void initialize(const fltSemantics *); 2022-04-13T11:18:46,048 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,049 void shiftSignificandLeft(unsigned int); 2022-04-13T11:18:46,049 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,050 lostFraction shiftSignificandRight(unsigned int); 2022-04-13T11:18:46,050 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,050 unsigned int significandLSB() const; 2022-04-13T11:18:46,051 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,051 unsigned int significandMSB() const; 2022-04-13T11:18:46,052 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,052 void zeroSignificand(); 2022-04-13T11:18:46,053 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,053 /// Return true if the significand excluding the integral bit is all ones. 2022-04-13T11:18:46,054 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,054 bool isSignificandAllOnes() const; 2022-04-13T11:18:46,055 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,055 /// Return true if the significand excluding the integral bit is all zeros. 2022-04-13T11:18:46,066 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,067 bool isSignificandAllZeros() const; 2022-04-13T11:18:46,067 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,069 /// @} 2022-04-13T11:18:46,069 ~~~~~~ 2022-04-13T11:18:46,071 /// \name Arithmetic on special values. 2022-04-13T11:18:46,071 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,072 /// @{ 2022-04-13T11:18:46,072 ~~~~~~ 2022-04-13T11:18:46,074 opStatus addOrSubtractSpecials(const IEEEFloat &, bool subtract); 2022-04-13T11:18:46,074 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,075 opStatus divideSpecials(const IEEEFloat &); 2022-04-13T11:18:46,086 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,087 opStatus multiplySpecials(const IEEEFloat &); 2022-04-13T11:18:46,087 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,088 opStatus modSpecials(const IEEEFloat &); 2022-04-13T11:18:46,088 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,089 opStatus remainderSpecials(const IEEEFloat&); 2022-04-13T11:18:46,089 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,091 /// @} 2022-04-13T11:18:46,091 ~~~~~~ 2022-04-13T11:18:46,093 /// \name Miscellany 2022-04-13T11:18:46,093 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,094 /// @{ 2022-04-13T11:18:46,094 ~~~~~~ 2022-04-13T11:18:46,095 bool convertFromStringSpecials(StringRef str); 2022-04-13T11:18:46,096 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,107 opStatus normalize(roundingMode, lostFraction); 2022-04-13T11:18:46,107 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,108 opStatus addOrSubtract(const IEEEFloat &, roundingMode, bool subtract); 2022-04-13T11:18:46,108 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,109 opStatus handleOverflow(roundingMode); 2022-04-13T11:18:46,110 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,110 bool roundAwayFromZero(roundingMode, lostFraction, unsigned int) const; 2022-04-13T11:18:46,111 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,112 opStatus convertToSignExtendedInteger(MutableArrayRef, 2022-04-13T11:18:46,112 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,113 unsigned int, bool, roundingMode, 2022-04-13T11:18:46,114 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,114 bool *) const; 2022-04-13T11:18:46,115 ~~~~~~~~~~~~~~ 2022-04-13T11:18:46,115 opStatus convertFromUnsignedParts(const integerPart *, unsigned int, 2022-04-13T11:18:46,116 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,126 roundingMode); 2022-04-13T11:18:46,127 ~~~~~~~~~~~~~~ 2022-04-13T11:18:46,128 Expected convertFromHexadecimalString(StringRef, roundingMode); 2022-04-13T11:18:46,128 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,129 Expected convertFromDecimalString(StringRef, roundingMode); 2022-04-13T11:18:46,130 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,130 char *convertNormalToHexString(char *, unsigned int, bool, 2022-04-13T11:18:46,131 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,131 roundingMode) const; 2022-04-13T11:18:46,132 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,132 opStatus roundSignificandWithExponent(const integerPart *, unsigned int, int, 2022-04-13T11:18:46,133 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,133 roundingMode); 2022-04-13T11:18:46,134 ~~~~~~~~~~~~~~ 2022-04-13T11:18:46,134 ExponentType exponentNaN() const; 2022-04-13T11:18:46,135 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,135 ExponentType exponentInf() const; 2022-04-13T11:18:46,136 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,147 ExponentType exponentZero() const; 2022-04-13T11:18:46,147 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,149 /// @} 2022-04-13T11:18:46,149 ~~~~~~ 2022-04-13T11:18:46,151 APInt convertHalfAPFloatToAPInt() const; 2022-04-13T11:18:46,152 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,153 APInt convertBFloatAPFloatToAPInt() const; 2022-04-13T11:18:46,153 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,154 APInt convertFloatAPFloatToAPInt() const; 2022-04-13T11:18:46,155 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,155 APInt convertDoubleAPFloatToAPInt() const; 2022-04-13T11:18:46,166 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,167 APInt convertQuadrupleAPFloatToAPInt() const; 2022-04-13T11:18:46,168 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,168 APInt convertF80LongDoubleAPFloatToAPInt() const; 2022-04-13T11:18:46,169 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,170 APInt convertPPCDoubleDoubleAPFloatToAPInt() const; 2022-04-13T11:18:46,170 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,171 void initFromAPInt(const fltSemantics *Sem, const APInt &api); 2022-04-13T11:18:46,172 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,172 void initFromHalfAPInt(const APInt &api); 2022-04-13T11:18:46,173 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,173 void initFromBFloatAPInt(const APInt &api); 2022-04-13T11:18:46,174 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,175 void initFromFloatAPInt(const APInt &api); 2022-04-13T11:18:46,175 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,176 void initFromDoubleAPInt(const APInt &api); 2022-04-13T11:18:46,187 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,187 void initFromQuadrupleAPInt(const APInt &api); 2022-04-13T11:18:46,188 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,188 void initFromF80LongDoubleAPInt(const APInt &api); 2022-04-13T11:18:46,189 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,189 void initFromPPCDoubleDoubleAPInt(const APInt &api); 2022-04-13T11:18:46,189 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,191 void assign(const IEEEFloat &); 2022-04-13T11:18:46,191 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,192 void copySignificand(const IEEEFloat &); 2022-04-13T11:18:46,192 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,193 void freeSignificand(); 2022-04-13T11:18:46,193 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,195 /// Note: this must be the first data member. 2022-04-13T11:18:46,195 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,206 /// The semantics that this value obeys. 2022-04-13T11:18:46,207 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,207 const fltSemantics *semantics; 2022-04-13T11:18:46,208 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,210 /// A binary fraction with an explicit integer bit. 2022-04-13T11:18:46,210 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,211 /// 2022-04-13T11:18:46,211 ~~~ 2022-04-13T11:18:46,212 /// The significand must be at least one bit wider than the target precision. 2022-04-13T11:18:46,212 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,213 union Significand { 2022-04-13T11:18:46,214 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,214 integerPart part; 2022-04-13T11:18:46,215 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,216 integerPart *parts; 2022-04-13T11:18:46,227 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,228 } significand; 2022-04-13T11:18:46,228 ~~~~~~~~~~~~~~ 2022-04-13T11:18:46,230 /// The signed unbiased exponent of the value. 2022-04-13T11:18:46,231 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,232 ExponentType exponent; 2022-04-13T11:18:46,232 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,234 /// What kind of floating point number this is. 2022-04-13T11:18:46,235 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,236 /// 2022-04-13T11:18:46,247 ~~~ 2022-04-13T11:18:46,247 /// Only 2 bits are required, but VisualStudio incorrectly sign extends it. 2022-04-13T11:18:46,248 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,249 /// Using the extra bit keeps it from failing under VisualStudio. 2022-04-13T11:18:46,250 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,250 fltCategory category : 3; 2022-04-13T11:18:46,251 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,252 /// Sign bit of the number. 2022-04-13T11:18:46,253 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,253 unsigned int sign : 1; 2022-04-13T11:18:46,254 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,254 }; 2022-04-13T11:18:46,255 ~~ 2022-04-13T11:18:46,266 hash_code hash_value(const IEEEFloat &Arg); 2022-04-13T11:18:46,267 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,267 int ilogb(const IEEEFloat &Arg); 2022-04-13T11:18:46,268 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,268 IEEEFloat scalbn(IEEEFloat X, int Exp, IEEEFloat::roundingMode); 2022-04-13T11:18:46,269 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,270 IEEEFloat frexp(const IEEEFloat &Val, int &Exp, IEEEFloat::roundingMode RM); 2022-04-13T11:18:46,270 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,272 // This mode implements more precise float in terms of two APFloats. 2022-04-13T11:18:46,273 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,273 // The interface and layout is designed for arbitrary underlying semantics, 2022-04-13T11:18:46,274 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,274 // though currently only PPCDoubleDouble semantics are supported, whose 2022-04-13T11:18:46,275 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,276 // corresponding underlying semantics are IEEEdouble. 2022-04-13T11:18:46,286 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,287 class DoubleAPFloat final : public APFloatBase { 2022-04-13T11:18:46,288 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,288 // Note: this must be the first data member. 2022-04-13T11:18:46,289 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,289 const fltSemantics *Semantics; 2022-04-13T11:18:46,290 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,290 std::unique_ptr Floats; 2022-04-13T11:18:46,291 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,293 opStatus addImpl(const APFloat &a, const APFloat &aa, const APFloat &c, 2022-04-13T11:18:46,294 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,295 const APFloat &cc, roundingMode RM); 2022-04-13T11:18:46,295 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,308 opStatus addWithSpecial(const DoubleAPFloat &LHS, const DoubleAPFloat &RHS, 2022-04-13T11:18:46,308 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,309 DoubleAPFloat &Out, roundingMode RM); 2022-04-13T11:18:46,310 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,312 public: 2022-04-13T11:18:46,312 ~~~~~~~ 2022-04-13T11:18:46,313 DoubleAPFloat(const fltSemantics &S); 2022-04-13T11:18:46,313 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,314 DoubleAPFloat(const fltSemantics &S, uninitializedTag); 2022-04-13T11:18:46,315 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,315 DoubleAPFloat(const fltSemantics &S, integerPart); 2022-04-13T11:18:46,316 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,327 DoubleAPFloat(const fltSemantics &S, const APInt &I); 2022-04-13T11:18:46,327 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,328 DoubleAPFloat(const fltSemantics &S, APFloat &&First, APFloat &&Second); 2022-04-13T11:18:46,329 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,329 DoubleAPFloat(const DoubleAPFloat &RHS); 2022-04-13T11:18:46,330 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,330 DoubleAPFloat(DoubleAPFloat &&RHS); 2022-04-13T11:18:46,331 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,333 DoubleAPFloat &operator=(const DoubleAPFloat &RHS); 2022-04-13T11:18:46,333 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,335 DoubleAPFloat &operator=(DoubleAPFloat &&RHS) { 2022-04-13T11:18:46,336 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,346 if (this != &RHS) { 2022-04-13T11:18:46,347 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,348 this->~DoubleAPFloat(); 2022-04-13T11:18:46,348 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,349 new (this) DoubleAPFloat(std::move(RHS)); 2022-04-13T11:18:46,349 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,350 } 2022-04-13T11:18:46,350 ~ 2022-04-13T11:18:46,351 return *this; 2022-04-13T11:18:46,352 ~~~~~~~~~~~~~ 2022-04-13T11:18:46,352 } 2022-04-13T11:18:46,353 ~ 2022-04-13T11:18:46,354 bool needsCleanup() const { return Floats != nullptr; } 2022-04-13T11:18:46,355 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,367 APFloat &getFirst() { return Floats[0]; } 2022-04-13T11:18:46,367 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,368 const APFloat &getFirst() const { return Floats[0]; } 2022-04-13T11:18:46,368 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,369 APFloat &getSecond() { return Floats[1]; } 2022-04-13T11:18:46,370 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,370 const APFloat &getSecond() const { return Floats[1]; } 2022-04-13T11:18:46,371 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,373 opStatus add(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:46,373 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,374 opStatus subtract(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:46,374 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,375 opStatus multiply(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:46,375 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,386 opStatus divide(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:46,387 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,388 opStatus remainder(const DoubleAPFloat &RHS); 2022-04-13T11:18:46,388 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,389 opStatus mod(const DoubleAPFloat &RHS); 2022-04-13T11:18:46,390 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,390 opStatus fusedMultiplyAdd(const DoubleAPFloat &Multiplicand, 2022-04-13T11:18:46,391 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,391 const DoubleAPFloat &Addend, roundingMode RM); 2022-04-13T11:18:46,392 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,393 opStatus roundToIntegral(roundingMode RM); 2022-04-13T11:18:46,393 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,394 void changeSign(); 2022-04-13T11:18:46,394 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,395 cmpResult compareAbsoluteValue(const DoubleAPFloat &RHS) const; 2022-04-13T11:18:46,395 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,408 fltCategory getCategory() const; 2022-04-13T11:18:46,408 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,409 bool isNegative() const; 2022-04-13T11:18:46,409 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,411 void makeInf(bool Neg); 2022-04-13T11:18:46,412 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,412 void makeZero(bool Neg); 2022-04-13T11:18:46,413 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,413 void makeLargest(bool Neg); 2022-04-13T11:18:46,414 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,415 void makeSmallest(bool Neg); 2022-04-13T11:18:46,415 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,416 void makeSmallestNormalized(bool Neg); 2022-04-13T11:18:46,437 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,437 void makeNaN(bool SNaN, bool Neg, const APInt *fill); 2022-04-13T11:18:46,438 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,440 cmpResult compare(const DoubleAPFloat &RHS) const; 2022-04-13T11:18:46,440 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,441 bool bitwiseIsEqual(const DoubleAPFloat &RHS) const; 2022-04-13T11:18:46,441 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,442 APInt bitcastToAPInt() const; 2022-04-13T11:18:46,442 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,443 Expected convertFromString(StringRef, roundingMode); 2022-04-13T11:18:46,443 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,444 opStatus next(bool nextDown); 2022-04-13T11:18:46,444 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,446 opStatus convertToInteger(MutableArrayRef Input, 2022-04-13T11:18:46,447 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,448 unsigned int Width, bool IsSigned, roundingMode RM, 2022-04-13T11:18:46,448 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,449 bool *IsExact) const; 2022-04-13T11:18:46,450 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,451 opStatus convertFromAPInt(const APInt &Input, bool IsSigned, roundingMode RM); 2022-04-13T11:18:46,451 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,452 opStatus convertFromSignExtendedInteger(const integerPart *Input, 2022-04-13T11:18:46,453 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,453 unsigned int InputSize, bool IsSigned, 2022-04-13T11:18:46,454 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,455 roundingMode RM); 2022-04-13T11:18:46,456 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,467 opStatus convertFromZeroExtendedInteger(const integerPart *Input, 2022-04-13T11:18:46,467 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,468 unsigned int InputSize, bool IsSigned, 2022-04-13T11:18:46,469 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,470 roundingMode RM); 2022-04-13T11:18:46,470 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,471 unsigned int convertToHexString(char *DST, unsigned int HexDigits, 2022-04-13T11:18:46,472 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,473 bool UpperCase, roundingMode RM) const; 2022-04-13T11:18:46,473 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,475 bool isDenormal() const; 2022-04-13T11:18:46,476 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,487 bool isSmallest() const; 2022-04-13T11:18:46,487 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,488 bool isLargest() const; 2022-04-13T11:18:46,488 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,489 bool isInteger() const; 2022-04-13T11:18:46,489 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,491 void toString(SmallVectorImpl &Str, unsigned FormatPrecision, 2022-04-13T11:18:46,491 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,492 unsigned FormatMaxPadding, bool TruncateZero = true) const; 2022-04-13T11:18:46,492 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,494 bool getExactInverse(APFloat *inv) const; 2022-04-13T11:18:46,494 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,495 friend DoubleAPFloat scalbn(const DoubleAPFloat &X, int Exp, roundingMode); 2022-04-13T11:18:46,496 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,507 friend DoubleAPFloat frexp(const DoubleAPFloat &X, int &Exp, roundingMode); 2022-04-13T11:18:46,507 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,508 friend hash_code hash_value(const DoubleAPFloat &Arg); 2022-04-13T11:18:46,508 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,509 }; 2022-04-13T11:18:46,509 ~~ 2022-04-13T11:18:46,511 hash_code hash_value(const DoubleAPFloat &Arg); 2022-04-13T11:18:46,511 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,513 } // End detail namespace 2022-04-13T11:18:46,513 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,515 // This is a interface class that is currently forwarding functionalities from 2022-04-13T11:18:46,515 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,516 // detail::IEEEFloat. 2022-04-13T11:18:46,526 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,527 class APFloat : public APFloatBase { 2022-04-13T11:18:46,528 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,528 typedef detail::IEEEFloat IEEEFloat; 2022-04-13T11:18:46,529 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,529 typedef detail::DoubleAPFloat DoubleAPFloat; 2022-04-13T11:18:46,530 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,532 static_assert(std::is_standard_layout::value, ""); 2022-04-13T11:18:46,532 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,534 union Storage { 2022-04-13T11:18:46,534 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,535 const fltSemantics *semantics; 2022-04-13T11:18:46,535 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,536 IEEEFloat IEEE; 2022-04-13T11:18:46,546 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,547 DoubleAPFloat Double; 2022-04-13T11:18:46,548 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,550 explicit Storage(IEEEFloat F, const fltSemantics &S); 2022-04-13T11:18:46,551 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,551 explicit Storage(DoubleAPFloat F, const fltSemantics &S) 2022-04-13T11:18:46,552 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,553 : Double(std::move(F)) { 2022-04-13T11:18:46,554 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,555 assert(&S == &PPCDoubleDouble()); 2022-04-13T11:18:46,555 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,566 } 2022-04-13T11:18:46,567 ~ 2022-04-13T11:18:46,569 template 2022-04-13T11:18:46,570 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,571 Storage(const fltSemantics &Semantics, ArgTypes &&... Args) { 2022-04-13T11:18:46,572 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,572 if (usesLayout(Semantics)) { 2022-04-13T11:18:46,573 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,574 new (&IEEE) IEEEFloat(Semantics, std::forward(Args)...); 2022-04-13T11:18:46,574 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,575 return; 2022-04-13T11:18:46,576 ~~~~~~~ 2022-04-13T11:18:46,587 } 2022-04-13T11:18:46,588 ~ 2022-04-13T11:18:46,588 if (usesLayout(Semantics)) { 2022-04-13T11:18:46,589 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,590 new (&Double) DoubleAPFloat(Semantics, std::forward(Args)...); 2022-04-13T11:18:46,590 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,591 return; 2022-04-13T11:18:46,592 ~~~~~~~ 2022-04-13T11:18:46,593 } 2022-04-13T11:18:46,593 ~ 2022-04-13T11:18:46,594 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:46,595 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,595 } 2022-04-13T11:18:46,606 ~ 2022-04-13T11:18:46,608 ~Storage() { 2022-04-13T11:18:46,609 ~~~~~~~~~~~~ 2022-04-13T11:18:46,609 if (usesLayout(*semantics)) { 2022-04-13T11:18:46,610 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,611 IEEE.~IEEEFloat(); 2022-04-13T11:18:46,611 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,612 return; 2022-04-13T11:18:46,613 ~~~~~~~ 2022-04-13T11:18:46,613 } 2022-04-13T11:18:46,614 ~ 2022-04-13T11:18:46,614 if (usesLayout(*semantics)) { 2022-04-13T11:18:46,615 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,615 Double.~DoubleAPFloat(); 2022-04-13T11:18:46,626 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,627 return; 2022-04-13T11:18:46,628 ~~~~~~~ 2022-04-13T11:18:46,628 } 2022-04-13T11:18:46,629 ~ 2022-04-13T11:18:46,629 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:46,630 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,630 } 2022-04-13T11:18:46,631 ~ 2022-04-13T11:18:46,633 Storage(const Storage &RHS) { 2022-04-13T11:18:46,634 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,634 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:46,635 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,636 new (this) IEEEFloat(RHS.IEEE); 2022-04-13T11:18:46,647 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,647 return; 2022-04-13T11:18:46,648 ~~~~~~~ 2022-04-13T11:18:46,648 } 2022-04-13T11:18:46,649 ~ 2022-04-13T11:18:46,649 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:46,650 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,650 new (this) DoubleAPFloat(RHS.Double); 2022-04-13T11:18:46,651 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,651 return; 2022-04-13T11:18:46,652 ~~~~~~~ 2022-04-13T11:18:46,652 } 2022-04-13T11:18:46,653 ~ 2022-04-13T11:18:46,653 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:46,653 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,654 } 2022-04-13T11:18:46,654 ~ 2022-04-13T11:18:46,656 Storage(Storage &&RHS) { 2022-04-13T11:18:46,666 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,667 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:46,668 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,668 new (this) IEEEFloat(std::move(RHS.IEEE)); 2022-04-13T11:18:46,669 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,669 return; 2022-04-13T11:18:46,670 ~~~~~~~ 2022-04-13T11:18:46,670 } 2022-04-13T11:18:46,671 ~ 2022-04-13T11:18:46,671 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:46,672 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,672 new (this) DoubleAPFloat(std::move(RHS.Double)); 2022-04-13T11:18:46,673 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,674 return; 2022-04-13T11:18:46,674 ~~~~~~~ 2022-04-13T11:18:46,675 } 2022-04-13T11:18:46,675 ~ 2022-04-13T11:18:46,676 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:46,686 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,687 } 2022-04-13T11:18:46,688 ~ 2022-04-13T11:18:46,689 Storage &operator=(const Storage &RHS) { 2022-04-13T11:18:46,690 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,691 if (usesLayout(*semantics) && 2022-04-13T11:18:46,691 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,692 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:46,692 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,693 IEEE = RHS.IEEE; 2022-04-13T11:18:46,694 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,694 } else if (usesLayout(*semantics) && 2022-04-13T11:18:46,695 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,696 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:46,707 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,707 Double = RHS.Double; 2022-04-13T11:18:46,708 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,709 } else if (this != &RHS) { 2022-04-13T11:18:46,709 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,710 this->~Storage(); 2022-04-13T11:18:46,710 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,711 new (this) Storage(RHS); 2022-04-13T11:18:46,711 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,712 } 2022-04-13T11:18:46,712 ~ 2022-04-13T11:18:46,713 return *this; 2022-04-13T11:18:46,713 ~~~~~~~~~~~~~ 2022-04-13T11:18:46,714 } 2022-04-13T11:18:46,715 ~ 2022-04-13T11:18:46,727 Storage &operator=(Storage &&RHS) { 2022-04-13T11:18:46,727 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,728 if (usesLayout(*semantics) && 2022-04-13T11:18:46,728 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,729 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:46,729 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,730 IEEE = std::move(RHS.IEEE); 2022-04-13T11:18:46,730 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,731 } else if (usesLayout(*semantics) && 2022-04-13T11:18:46,731 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,732 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:46,733 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,733 Double = std::move(RHS.Double); 2022-04-13T11:18:46,734 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,734 } else if (this != &RHS) { 2022-04-13T11:18:46,734 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,735 this->~Storage(); 2022-04-13T11:18:46,735 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,746 new (this) Storage(std::move(RHS)); 2022-04-13T11:18:46,747 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,747 } 2022-04-13T11:18:46,748 ~ 2022-04-13T11:18:46,749 return *this; 2022-04-13T11:18:46,749 ~~~~~~~~~~~~~ 2022-04-13T11:18:46,750 } 2022-04-13T11:18:46,750 ~ 2022-04-13T11:18:46,751 } U; 2022-04-13T11:18:46,751 ~~~~ 2022-04-13T11:18:46,753 template static bool usesLayout(const fltSemantics &Semantics) { 2022-04-13T11:18:46,753 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,754 static_assert(std::is_same::value || 2022-04-13T11:18:46,754 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,755 std::is_same::value, ""); 2022-04-13T11:18:46,755 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,766 if (std::is_same::value) { 2022-04-13T11:18:46,767 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,767 return &Semantics == &PPCDoubleDouble(); 2022-04-13T11:18:46,768 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,768 } 2022-04-13T11:18:46,769 ~ 2022-04-13T11:18:46,770 return &Semantics != &PPCDoubleDouble(); 2022-04-13T11:18:46,770 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,771 } 2022-04-13T11:18:46,771 ~ 2022-04-13T11:18:46,773 IEEEFloat &getIEEE() { 2022-04-13T11:18:46,773 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,774 if (usesLayout(*U.semantics)) 2022-04-13T11:18:46,774 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,775 return U.IEEE; 2022-04-13T11:18:46,775 ~~~~~~~~~~~~~~ 2022-04-13T11:18:46,776 if (usesLayout(*U.semantics)) 2022-04-13T11:18:46,787 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,787 return U.Double.getFirst().U.IEEE; 2022-04-13T11:18:46,788 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,788 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:46,789 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,789 } 2022-04-13T11:18:46,790 ~ 2022-04-13T11:18:46,791 const IEEEFloat &getIEEE() const { 2022-04-13T11:18:46,792 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,792 if (usesLayout(*U.semantics)) 2022-04-13T11:18:46,793 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,793 return U.IEEE; 2022-04-13T11:18:46,794 ~~~~~~~~~~~~~~ 2022-04-13T11:18:46,794 if (usesLayout(*U.semantics)) 2022-04-13T11:18:46,795 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,795 return U.Double.getFirst().U.IEEE; 2022-04-13T11:18:46,796 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,807 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:46,807 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,808 } 2022-04-13T11:18:46,808 ~ 2022-04-13T11:18:46,810 void makeZero(bool Neg) { APFLOAT_DISPATCH_ON_SEMANTICS(makeZero(Neg)); } 2022-04-13T11:18:46,810 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,812 void makeInf(bool Neg) { APFLOAT_DISPATCH_ON_SEMANTICS(makeInf(Neg)); } 2022-04-13T11:18:46,812 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,814 void makeNaN(bool SNaN, bool Neg, const APInt *fill) { 2022-04-13T11:18:46,815 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,815 APFLOAT_DISPATCH_ON_SEMANTICS(makeNaN(SNaN, Neg, fill)); 2022-04-13T11:18:46,826 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,827 } 2022-04-13T11:18:46,828 ~ 2022-04-13T11:18:46,829 void makeLargest(bool Neg) { 2022-04-13T11:18:46,830 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,830 APFLOAT_DISPATCH_ON_SEMANTICS(makeLargest(Neg)); 2022-04-13T11:18:46,831 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,831 } 2022-04-13T11:18:46,832 ~ 2022-04-13T11:18:46,833 void makeSmallest(bool Neg) { 2022-04-13T11:18:46,834 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,834 APFLOAT_DISPATCH_ON_SEMANTICS(makeSmallest(Neg)); 2022-04-13T11:18:46,835 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,835 } 2022-04-13T11:18:46,836 ~ 2022-04-13T11:18:46,847 void makeSmallestNormalized(bool Neg) { 2022-04-13T11:18:46,848 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,848 APFLOAT_DISPATCH_ON_SEMANTICS(makeSmallestNormalized(Neg)); 2022-04-13T11:18:46,849 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,849 } 2022-04-13T11:18:46,850 ~ 2022-04-13T11:18:46,851 // FIXME: This is due to clang 3.3 (or older version) always checks for the 2022-04-13T11:18:46,852 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,852 // default constructor in an array aggregate initialization, even if no 2022-04-13T11:18:46,853 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,854 // elements in the array is default initialized. 2022-04-13T11:18:46,854 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,855 APFloat() : U(IEEEdouble()) { 2022-04-13T11:18:46,855 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,856 llvm_unreachable("This is a workaround for old clang."); 2022-04-13T11:18:46,866 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,867 } 2022-04-13T11:18:46,867 ~ 2022-04-13T11:18:46,869 explicit APFloat(IEEEFloat F, const fltSemantics &S) : U(std::move(F), S) {} 2022-04-13T11:18:46,869 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,870 explicit APFloat(DoubleAPFloat F, const fltSemantics &S) 2022-04-13T11:18:46,870 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,871 : U(std::move(F), S) {} 2022-04-13T11:18:46,871 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,873 cmpResult compareAbsoluteValue(const APFloat &RHS) const { 2022-04-13T11:18:46,874 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,874 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:46,875 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,875 "Should only compare APFloats with the same semantics"); 2022-04-13T11:18:46,876 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,886 if (usesLayout(getSemantics())) 2022-04-13T11:18:46,887 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,888 return U.IEEE.compareAbsoluteValue(RHS.U.IEEE); 2022-04-13T11:18:46,888 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,889 if (usesLayout(getSemantics())) 2022-04-13T11:18:46,890 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,890 return U.Double.compareAbsoluteValue(RHS.U.Double); 2022-04-13T11:18:46,891 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,891 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:46,892 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,892 } 2022-04-13T11:18:46,893 ~ 2022-04-13T11:18:46,895 public: 2022-04-13T11:18:46,895 ~~~~~~~ 2022-04-13T11:18:46,896 APFloat(const fltSemantics &Semantics) : U(Semantics) {} 2022-04-13T11:18:46,906 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,906 APFloat(const fltSemantics &Semantics, StringRef S); 2022-04-13T11:18:46,907 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,908 APFloat(const fltSemantics &Semantics, integerPart I) : U(Semantics, I) {} 2022-04-13T11:18:46,908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,909 template ::value>> 2022-04-13T11:18:46,910 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,911 APFloat(const fltSemantics &Semantics, T V) = delete; 2022-04-13T11:18:46,912 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,912 // TODO: Remove this constructor. This isn't faster than the first one. 2022-04-13T11:18:46,913 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,914 APFloat(const fltSemantics &Semantics, uninitializedTag) 2022-04-13T11:18:46,914 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,915 : U(Semantics, uninitialized) {} 2022-04-13T11:18:46,916 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,937 APFloat(const fltSemantics &Semantics, const APInt &I) : U(Semantics, I) {} 2022-04-13T11:18:46,937 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,938 explicit APFloat(double d) : U(IEEEFloat(d), IEEEdouble()) {} 2022-04-13T11:18:46,938 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,939 explicit APFloat(float f) : U(IEEEFloat(f), IEEEsingle()) {} 2022-04-13T11:18:46,939 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,940 APFloat(const APFloat &RHS) = default; 2022-04-13T11:18:46,940 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,941 APFloat(APFloat &&RHS) = default; 2022-04-13T11:18:46,942 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,943 ~APFloat() = default; 2022-04-13T11:18:46,944 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,946 bool needsCleanup() const { APFLOAT_DISPATCH_ON_SEMANTICS(needsCleanup()); } 2022-04-13T11:18:46,956 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,958 /// Factory for Positive and Negative Zero. 2022-04-13T11:18:46,959 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,959 /// 2022-04-13T11:18:46,960 ~~~ 2022-04-13T11:18:46,961 /// \param Negative True iff the number should be negative. 2022-04-13T11:18:46,961 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,962 static APFloat getZero(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:46,962 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,963 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:46,963 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,964 Val.makeZero(Negative); 2022-04-13T11:18:46,965 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,966 return Val; 2022-04-13T11:18:46,976 ~~~~~~~~~~~ 2022-04-13T11:18:46,977 } 2022-04-13T11:18:46,978 ~ 2022-04-13T11:18:46,979 /// Factory for Positive and Negative Infinity. 2022-04-13T11:18:46,980 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,980 /// 2022-04-13T11:18:46,981 ~~~ 2022-04-13T11:18:46,981 /// \param Negative True iff the number should be negative. 2022-04-13T11:18:46,982 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,982 static APFloat getInf(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:46,983 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,983 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:46,984 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,984 Val.makeInf(Negative); 2022-04-13T11:18:46,985 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:46,986 return Val; 2022-04-13T11:18:46,997 ~~~~~~~~~~~ 2022-04-13T11:18:46,997 } 2022-04-13T11:18:46,998 ~ 2022-04-13T11:18:47,000 /// Factory for NaN values. 2022-04-13T11:18:47,000 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,001 /// 2022-04-13T11:18:47,002 ~~~ 2022-04-13T11:18:47,002 /// \param Negative - True iff the NaN generated should be negative. 2022-04-13T11:18:47,003 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,004 /// \param payload - The unspecified fill bits for creating the NaN, 0 by 2022-04-13T11:18:47,004 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,005 /// default. The value is truncated as necessary. 2022-04-13T11:18:47,005 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,006 static APFloat getNaN(const fltSemantics &Sem, bool Negative = false, 2022-04-13T11:18:47,017 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,018 uint64_t payload = 0) { 2022-04-13T11:18:47,018 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,019 if (payload) { 2022-04-13T11:18:47,019 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,020 APInt intPayload(64, payload); 2022-04-13T11:18:47,021 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,021 return getQNaN(Sem, Negative, &intPayload); 2022-04-13T11:18:47,022 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,022 } else { 2022-04-13T11:18:47,023 ~~~~~~~~ 2022-04-13T11:18:47,023 return getQNaN(Sem, Negative, nullptr); 2022-04-13T11:18:47,024 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,024 } 2022-04-13T11:18:47,025 ~ 2022-04-13T11:18:47,025 } 2022-04-13T11:18:47,026 ~ 2022-04-13T11:18:47,037 /// Factory for QNaN values. 2022-04-13T11:18:47,038 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,039 static APFloat getQNaN(const fltSemantics &Sem, bool Negative = false, 2022-04-13T11:18:47,039 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,040 const APInt *payload = nullptr) { 2022-04-13T11:18:47,040 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,041 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:47,042 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,042 Val.makeNaN(false, Negative, payload); 2022-04-13T11:18:47,043 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,043 return Val; 2022-04-13T11:18:47,044 ~~~~~~~~~~~ 2022-04-13T11:18:47,044 } 2022-04-13T11:18:47,045 ~ 2022-04-13T11:18:47,055 /// Factory for SNaN values. 2022-04-13T11:18:47,055 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,056 static APFloat getSNaN(const fltSemantics &Sem, bool Negative = false, 2022-04-13T11:18:47,057 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,057 const APInt *payload = nullptr) { 2022-04-13T11:18:47,058 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,059 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:47,059 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,060 Val.makeNaN(true, Negative, payload); 2022-04-13T11:18:47,061 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,061 return Val; 2022-04-13T11:18:47,062 ~~~~~~~~~~~ 2022-04-13T11:18:47,063 } 2022-04-13T11:18:47,064 ~ 2022-04-13T11:18:47,066 /// Returns the largest finite number in the given semantics. 2022-04-13T11:18:47,076 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,077 /// 2022-04-13T11:18:47,078 ~~~ 2022-04-13T11:18:47,078 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:47,079 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,079 static APFloat getLargest(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:47,080 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,080 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:47,081 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,081 Val.makeLargest(Negative); 2022-04-13T11:18:47,082 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,082 return Val; 2022-04-13T11:18:47,083 ~~~~~~~~~~~ 2022-04-13T11:18:47,084 } 2022-04-13T11:18:47,084 ~ 2022-04-13T11:18:47,086 /// Returns the smallest (by magnitude) finite number in the given semantics. 2022-04-13T11:18:47,092 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,092 /// Might be denormalized, which implies a relative loss of precision. 2022-04-13T11:18:47,093 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,093 /// 2022-04-13T11:18:47,094 ~~~ 2022-04-13T11:18:47,094 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:47,095 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,095 static APFloat getSmallest(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:47,106 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,107 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:47,108 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,108 Val.makeSmallest(Negative); 2022-04-13T11:18:47,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,109 return Val; 2022-04-13T11:18:47,110 ~~~~~~~~~~~ 2022-04-13T11:18:47,111 } 2022-04-13T11:18:47,111 ~ 2022-04-13T11:18:47,113 /// Returns the smallest (by magnitude) normalized finite number in the given 2022-04-13T11:18:47,113 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,114 /// semantics. 2022-04-13T11:18:47,114 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,115 /// 2022-04-13T11:18:47,115 ~~~ 2022-04-13T11:18:47,116 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:47,126 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,127 static APFloat getSmallestNormalized(const fltSemantics &Sem, 2022-04-13T11:18:47,128 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,128 bool Negative = false) { 2022-04-13T11:18:47,129 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,129 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:47,130 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,130 Val.makeSmallestNormalized(Negative); 2022-04-13T11:18:47,131 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,131 return Val; 2022-04-13T11:18:47,132 ~~~~~~~~~~~ 2022-04-13T11:18:47,132 } 2022-04-13T11:18:47,133 ~ 2022-04-13T11:18:47,134 /// Returns a float which is bitcasted from an all one value int. 2022-04-13T11:18:47,135 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,135 /// 2022-04-13T11:18:47,136 ~~~ 2022-04-13T11:18:47,147 /// \param Semantics - type float semantics 2022-04-13T11:18:47,147 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,148 static APFloat getAllOnesValue(const fltSemantics &Semantics); 2022-04-13T11:18:47,148 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,150 /// Used to insert APFloat objects, or objects that contain APFloat objects, 2022-04-13T11:18:47,151 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,151 /// into FoldingSets. 2022-04-13T11:18:47,152 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,152 void Profile(FoldingSetNodeID &NID) const; 2022-04-13T11:18:47,153 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,155 opStatus add(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:47,155 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,156 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:47,167 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,167 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:47,168 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,168 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,169 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,169 return U.IEEE.add(RHS.U.IEEE, RM); 2022-04-13T11:18:47,170 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,170 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,171 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,171 return U.Double.add(RHS.U.Double, RM); 2022-04-13T11:18:47,172 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,173 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:47,173 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,174 } 2022-04-13T11:18:47,174 ~ 2022-04-13T11:18:47,174 opStatus subtract(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:47,175 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,175 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:47,186 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,187 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:47,187 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,188 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,189 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,189 return U.IEEE.subtract(RHS.U.IEEE, RM); 2022-04-13T11:18:47,190 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,190 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,191 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,191 return U.Double.subtract(RHS.U.Double, RM); 2022-04-13T11:18:47,192 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,192 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:47,193 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,193 } 2022-04-13T11:18:47,194 ~ 2022-04-13T11:18:47,194 opStatus multiply(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:47,195 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,195 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:47,196 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,205 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:47,205 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,206 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,206 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,207 return U.IEEE.multiply(RHS.U.IEEE, RM); 2022-04-13T11:18:47,207 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,208 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,208 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,209 return U.Double.multiply(RHS.U.Double, RM); 2022-04-13T11:18:47,210 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,210 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:47,211 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,211 } 2022-04-13T11:18:47,212 ~ 2022-04-13T11:18:47,212 opStatus divide(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:47,213 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,214 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:47,214 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,215 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:47,216 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,227 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,227 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,228 return U.IEEE.divide(RHS.U.IEEE, RM); 2022-04-13T11:18:47,228 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,229 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,230 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,230 return U.Double.divide(RHS.U.Double, RM); 2022-04-13T11:18:47,231 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,231 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:47,232 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,232 } 2022-04-13T11:18:47,233 ~ 2022-04-13T11:18:47,233 opStatus remainder(const APFloat &RHS) { 2022-04-13T11:18:47,234 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,234 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:47,235 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,236 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:47,246 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,247 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,247 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,248 return U.IEEE.remainder(RHS.U.IEEE); 2022-04-13T11:18:47,248 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,249 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,250 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,250 return U.Double.remainder(RHS.U.Double); 2022-04-13T11:18:47,251 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,251 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:47,252 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,252 } 2022-04-13T11:18:47,253 ~ 2022-04-13T11:18:47,253 opStatus mod(const APFloat &RHS) { 2022-04-13T11:18:47,254 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,254 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:47,255 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,255 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:47,266 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,267 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,267 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,268 return U.IEEE.mod(RHS.U.IEEE); 2022-04-13T11:18:47,268 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,269 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,270 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,270 return U.Double.mod(RHS.U.Double); 2022-04-13T11:18:47,271 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,271 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:47,272 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,272 } 2022-04-13T11:18:47,273 ~ 2022-04-13T11:18:47,273 opStatus fusedMultiplyAdd(const APFloat &Multiplicand, const APFloat &Addend, 2022-04-13T11:18:47,274 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,274 roundingMode RM) { 2022-04-13T11:18:47,275 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,275 assert(&getSemantics() == &Multiplicand.getSemantics() && 2022-04-13T11:18:47,276 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,287 "Should only call on APFloats with the same semantics"); 2022-04-13T11:18:47,287 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,288 assert(&getSemantics() == &Addend.getSemantics() && 2022-04-13T11:18:47,288 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,289 "Should only call on APFloats with the same semantics"); 2022-04-13T11:18:47,290 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,290 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,291 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,292 return U.IEEE.fusedMultiplyAdd(Multiplicand.U.IEEE, Addend.U.IEEE, RM); 2022-04-13T11:18:47,292 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,293 if (usesLayout(getSemantics())) 2022-04-13T11:18:47,293 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,294 return U.Double.fusedMultiplyAdd(Multiplicand.U.Double, Addend.U.Double, 2022-04-13T11:18:47,294 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,295 RM); 2022-04-13T11:18:47,295 ~~~~ 2022-04-13T11:18:47,306 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:47,307 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,308 } 2022-04-13T11:18:47,309 ~ 2022-04-13T11:18:47,309 opStatus roundToIntegral(roundingMode RM) { 2022-04-13T11:18:47,310 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,311 APFLOAT_DISPATCH_ON_SEMANTICS(roundToIntegral(RM)); 2022-04-13T11:18:47,312 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,313 } 2022-04-13T11:18:47,313 ~ 2022-04-13T11:18:47,315 // TODO: bool parameters are not readable and a source of bugs. 2022-04-13T11:18:47,336 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,337 // Do something. 2022-04-13T11:18:47,337 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,338 opStatus next(bool nextDown) { 2022-04-13T11:18:47,338 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,339 APFLOAT_DISPATCH_ON_SEMANTICS(next(nextDown)); 2022-04-13T11:18:47,340 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,340 } 2022-04-13T11:18:47,341 ~ 2022-04-13T11:18:47,342 /// Negate an APFloat. 2022-04-13T11:18:47,343 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,344 APFloat operator-() const { 2022-04-13T11:18:47,344 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,345 APFloat Result(*this); 2022-04-13T11:18:47,346 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,346 Result.changeSign(); 2022-04-13T11:18:47,347 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,347 return Result; 2022-04-13T11:18:47,348 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,349 } 2022-04-13T11:18:47,349 ~ 2022-04-13T11:18:47,351 /// Add two APFloats, rounding ties to the nearest even. 2022-04-13T11:18:47,351 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,352 /// No error checking. 2022-04-13T11:18:47,352 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,353 APFloat operator+(const APFloat &RHS) const { 2022-04-13T11:18:47,354 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,354 APFloat Result(*this); 2022-04-13T11:18:47,355 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,356 (void)Result.add(RHS, rmNearestTiesToEven); 2022-04-13T11:18:47,376 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,377 return Result; 2022-04-13T11:18:47,377 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,378 } 2022-04-13T11:18:47,378 ~ 2022-04-13T11:18:47,380 /// Subtract two APFloats, rounding ties to the nearest even. 2022-04-13T11:18:47,380 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,380 /// No error checking. 2022-04-13T11:18:47,381 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,381 APFloat operator-(const APFloat &RHS) const { 2022-04-13T11:18:47,382 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,382 APFloat Result(*this); 2022-04-13T11:18:47,382 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,383 (void)Result.subtract(RHS, rmNearestTiesToEven); 2022-04-13T11:18:47,383 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,383 return Result; 2022-04-13T11:18:47,384 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,384 } 2022-04-13T11:18:47,385 ~ 2022-04-13T11:18:47,386 /// Multiply two APFloats, rounding ties to the nearest even. 2022-04-13T11:18:47,386 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,387 /// No error checking. 2022-04-13T11:18:47,387 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,388 APFloat operator*(const APFloat &RHS) const { 2022-04-13T11:18:47,388 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,389 APFloat Result(*this); 2022-04-13T11:18:47,389 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,390 (void)Result.multiply(RHS, rmNearestTiesToEven); 2022-04-13T11:18:47,390 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,391 return Result; 2022-04-13T11:18:47,391 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,392 } 2022-04-13T11:18:47,392 ~ 2022-04-13T11:18:47,394 /// Divide the first APFloat by the second, rounding ties to the nearest even. 2022-04-13T11:18:47,394 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,395 /// No error checking. 2022-04-13T11:18:47,396 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,407 APFloat operator/(const APFloat &RHS) const { 2022-04-13T11:18:47,407 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,408 APFloat Result(*this); 2022-04-13T11:18:47,408 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,409 (void)Result.divide(RHS, rmNearestTiesToEven); 2022-04-13T11:18:47,409 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,409 return Result; 2022-04-13T11:18:47,410 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,410 } 2022-04-13T11:18:47,411 ~ 2022-04-13T11:18:47,412 void changeSign() { APFLOAT_DISPATCH_ON_SEMANTICS(changeSign()); } 2022-04-13T11:18:47,413 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,413 void clearSign() { 2022-04-13T11:18:47,414 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,415 if (isNegative()) 2022-04-13T11:18:47,415 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,426 changeSign(); 2022-04-13T11:18:47,427 ~~~~~~~~~~~~~ 2022-04-13T11:18:47,428 } 2022-04-13T11:18:47,428 ~ 2022-04-13T11:18:47,429 void copySign(const APFloat &RHS) { 2022-04-13T11:18:47,429 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,430 if (isNegative() != RHS.isNegative()) 2022-04-13T11:18:47,430 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,431 changeSign(); 2022-04-13T11:18:47,431 ~~~~~~~~~~~~~ 2022-04-13T11:18:47,432 } 2022-04-13T11:18:47,432 ~ 2022-04-13T11:18:47,434 /// A static helper to produce a copy of an APFloat value with its sign 2022-04-13T11:18:47,434 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,435 /// copied from some other APFloat. 2022-04-13T11:18:47,435 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,436 static APFloat copySign(APFloat Value, const APFloat &Sign) { 2022-04-13T11:18:47,447 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,447 Value.copySign(Sign); 2022-04-13T11:18:47,448 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,448 return Value; 2022-04-13T11:18:47,449 ~~~~~~~~~~~~~ 2022-04-13T11:18:47,449 } 2022-04-13T11:18:47,450 ~ 2022-04-13T11:18:47,451 opStatus convert(const fltSemantics &ToSemantics, roundingMode RM, 2022-04-13T11:18:47,452 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,453 bool *losesInfo); 2022-04-13T11:18:47,453 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,454 opStatus convertToInteger(MutableArrayRef Input, 2022-04-13T11:18:47,454 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,455 unsigned int Width, bool IsSigned, roundingMode RM, 2022-04-13T11:18:47,455 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,466 bool *IsExact) const { 2022-04-13T11:18:47,467 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,467 APFLOAT_DISPATCH_ON_SEMANTICS( 2022-04-13T11:18:47,468 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,469 convertToInteger(Input, Width, IsSigned, RM, IsExact)); 2022-04-13T11:18:47,469 ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,470 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/APFloat.h:29:23: note: in definition of macro ‘APFLOAT_DISPATCH_ON_SEMANTICS’ 2022-04-13T11:18:47,470 return U.Double.METHOD_CALL; \ 2022-04-13T11:18:47,471 ^~~~~~~~~~~ 2022-04-13T11:18:47,471 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/APFloat.h: In member function ‘llvm::APFloatBase::opStatus llvm::APFloat::convertToInteger(llvm::APSInt&, llvm::APFloatBase::roundingMode, bool*) const’: 2022-04-13T11:18:47,472 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/APFloat.h:1108:25: note: parameter passing for argument of type ‘llvm::MutableArrayRef’ changed in GCC 7.1 2022-04-13T11:18:47,472 return U.IEEE.METHOD_CALL; \ 2022-04-13T11:18:47,473 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,473 if (usesLayout(getSemantics())) \ 2022-04-13T11:18:47,474 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,475 return U.Double.METHOD_CALL; \ 2022-04-13T11:18:47,475 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,476 llvm_unreachable("Unexpected semantics"); \ 2022-04-13T11:18:47,487 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,487 } while (false) 2022-04-13T11:18:47,488 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,489 namespace llvm { 2022-04-13T11:18:47,490 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,492 struct fltSemantics; 2022-04-13T11:18:47,492 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,493 class APSInt; 2022-04-13T11:18:47,493 ~~~~~~~~~~~~~ 2022-04-13T11:18:47,494 class StringRef; 2022-04-13T11:18:47,494 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,495 class APFloat; 2022-04-13T11:18:47,495 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,496 class raw_ostream; 2022-04-13T11:18:47,505 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,518 template class Expected; 2022-04-13T11:18:47,518 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,519 template class SmallVectorImpl; 2022-04-13T11:18:47,519 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,520 /// Enum that represents what fraction of the LSB truncated bits of an fp number 2022-04-13T11:18:47,521 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,521 /// represent. 2022-04-13T11:18:47,522 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,522 /// 2022-04-13T11:18:47,523 ~~~ 2022-04-13T11:18:47,523 /// This essentially combines the roles of guard and sticky bits. 2022-04-13T11:18:47,524 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,524 enum lostFraction { // Example of truncated bits: 2022-04-13T11:18:47,525 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,525 lfExactlyZero, // 000000 2022-04-13T11:18:47,525 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,536 lfLessThanHalf, // 0xxxxx x's not all zero 2022-04-13T11:18:47,537 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,537 lfExactlyHalf, // 100000 2022-04-13T11:18:47,538 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,539 lfMoreThanHalf // 1xxxxx x's not all zero 2022-04-13T11:18:47,540 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,540 }; 2022-04-13T11:18:47,541 ~~ 2022-04-13T11:18:47,542 /// A self-contained host- and target-independent arbitrary-precision 2022-04-13T11:18:47,543 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,543 /// floating-point software implementation. 2022-04-13T11:18:47,544 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,544 /// 2022-04-13T11:18:47,545 ~~~ 2022-04-13T11:18:47,545 /// APFloat uses bignum integer arithmetic as provided by static functions in 2022-04-13T11:18:47,545 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,556 /// the APInt class. The library will work with bignum integers whose parts are 2022-04-13T11:18:47,557 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,557 /// any unsigned type at least 16 bits wide, but 64 bits is recommended. 2022-04-13T11:18:47,558 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,558 /// 2022-04-13T11:18:47,559 ~~~ 2022-04-13T11:18:47,559 /// Written for clarity rather than speed, in particular with a view to use in 2022-04-13T11:18:47,560 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,560 /// the front-end of a cross compiler so that target arithmetic can be correctly 2022-04-13T11:18:47,561 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,561 /// performed on the host. Performance should nonetheless be reasonable, 2022-04-13T11:18:47,562 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,562 /// particularly for its intended use. It may be useful as a base 2022-04-13T11:18:47,563 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,564 /// implementation for a run-time library during development of a faster 2022-04-13T11:18:47,564 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,565 /// target-specific one. 2022-04-13T11:18:47,565 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,566 /// 2022-04-13T11:18:47,577 ~~~ 2022-04-13T11:18:47,577 /// All 5 rounding modes in the IEEE-754R draft are handled correctly for all 2022-04-13T11:18:47,578 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,578 /// implemented operations. Currently implemented operations are add, subtract, 2022-04-13T11:18:47,579 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,579 /// multiply, divide, fused-multiply-add, conversion-to-float, 2022-04-13T11:18:47,580 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,581 /// conversion-to-integer and conversion-from-integer. New rounding modes 2022-04-13T11:18:47,581 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,582 /// (e.g. away from zero) can be added with three or four lines of code. 2022-04-13T11:18:47,582 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,583 /// 2022-04-13T11:18:47,583 ~~~ 2022-04-13T11:18:47,584 /// Four formats are built-in: IEEE single precision, double precision, 2022-04-13T11:18:47,584 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,585 /// quadruple precision, and x87 80-bit extended double (when operating with 2022-04-13T11:18:47,585 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,586 /// full extended precision). Adding a new format that obeys IEEE semantics 2022-04-13T11:18:47,596 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,597 /// only requires adding two lines of code: a declaration and definition of the 2022-04-13T11:18:47,597 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,598 /// format. 2022-04-13T11:18:47,599 ~~~~~~~~~~~ 2022-04-13T11:18:47,599 /// 2022-04-13T11:18:47,600 ~~~ 2022-04-13T11:18:47,600 /// All operations return the status of that operation as an exception bit-mask, 2022-04-13T11:18:47,601 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,602 /// so multiple operations can be done consecutively with their results or-ed 2022-04-13T11:18:47,602 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,602 /// together. The returned status can be useful for compiler diagnostics; e.g., 2022-04-13T11:18:47,603 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,604 /// inexact, underflow and overflow can be easily diagnosed on constant folding, 2022-04-13T11:18:47,604 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,604 /// and compiler optimizers can determine what exceptions would be raised by 2022-04-13T11:18:47,605 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,605 /// folding operations and optimize, or perhaps not optimize, accordingly. 2022-04-13T11:18:47,616 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,617 /// 2022-04-13T11:18:47,617 ~~~ 2022-04-13T11:18:47,618 /// At present, underflow tininess is detected after rounding; it should be 2022-04-13T11:18:47,618 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,619 /// straight forward to add support for the before-rounding case too. 2022-04-13T11:18:47,619 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,620 /// 2022-04-13T11:18:47,620 ~~~ 2022-04-13T11:18:47,621 /// The library reads hexadecimal floating point numbers as per C99, and 2022-04-13T11:18:47,621 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,622 /// correctly rounds if necessary according to the specified rounding mode. 2022-04-13T11:18:47,622 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,623 /// Syntax is required to have been validated by the caller. It also converts 2022-04-13T11:18:47,623 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,624 /// floating point numbers to hexadecimal text as per the C99 %a and %A 2022-04-13T11:18:47,624 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,625 /// conversions. The output precision (or alternatively the natural minimal 2022-04-13T11:18:47,625 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,626 /// precision) can be specified; if the requested precision is less than the 2022-04-13T11:18:47,637 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,637 /// natural precision the output is correctly rounded for the specified rounding 2022-04-13T11:18:47,638 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,638 /// mode. 2022-04-13T11:18:47,639 ~~~~~~~~~ 2022-04-13T11:18:47,639 /// 2022-04-13T11:18:47,640 ~~~ 2022-04-13T11:18:47,640 /// It also reads decimal floating point numbers and correctly rounds according 2022-04-13T11:18:47,641 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,642 /// to the specified rounding mode. 2022-04-13T11:18:47,642 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,642 /// 2022-04-13T11:18:47,643 ~~~ 2022-04-13T11:18:47,644 /// Conversion to decimal text is not currently implemented. 2022-04-13T11:18:47,644 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,645 /// 2022-04-13T11:18:47,645 ~~~ 2022-04-13T11:18:47,645 /// Non-zero finite numbers are represented internally as a sign bit, a 16-bit 2022-04-13T11:18:47,646 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,657 /// signed exponent, and the significand as an array of integer parts. After 2022-04-13T11:18:47,657 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,658 /// normalization of a number of precision P the exponent is within the range of 2022-04-13T11:18:47,658 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,658 /// the format, and if the number is not denormal the P-th bit of the 2022-04-13T11:18:47,659 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,659 /// significand is set as an explicit integer bit. For denormals the most 2022-04-13T11:18:47,660 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,661 /// significant bit is shifted right so that the exponent is maintained at the 2022-04-13T11:18:47,661 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,662 /// format's minimum, so that the smallest denormal has just the least 2022-04-13T11:18:47,662 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,663 /// significant bit of the significand set. The sign of zeroes and infinities 2022-04-13T11:18:47,663 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,664 /// is significant; the exponent and significand of such numbers is not stored, 2022-04-13T11:18:47,664 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,665 /// but has a known implicit (deterministic) value: 0 for the significands, 0 2022-04-13T11:18:47,665 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,666 /// for zero exponent, all 1 bits for infinity exponent. For NaNs the sign and 2022-04-13T11:18:47,677 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,677 /// significand are deterministic, although not really meaningful, and preserved 2022-04-13T11:18:47,678 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,678 /// in non-conversion operations. The exponent is implicitly all 1 bits. 2022-04-13T11:18:47,679 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,680 /// 2022-04-13T11:18:47,680 ~~~ 2022-04-13T11:18:47,681 /// APFloat does not provide any exception handling beyond default exception 2022-04-13T11:18:47,681 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,682 /// handling. We represent Signaling NaNs via IEEE-754R 2008 6.2.1 should clause 2022-04-13T11:18:47,682 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,683 /// by encoding Signaling NaNs with the first bit of its trailing significand as 2022-04-13T11:18:47,683 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,684 /// 0. 2022-04-13T11:18:47,684 ~~~~~~ 2022-04-13T11:18:47,685 /// 2022-04-13T11:18:47,685 ~~~ 2022-04-13T11:18:47,694 /// TODO 2022-04-13T11:18:47,695 ~~~~~~~~ 2022-04-13T11:18:47,695 /// ==== 2022-04-13T11:18:47,696 ~~~~~~~~ 2022-04-13T11:18:47,697 /// 2022-04-13T11:18:47,697 ~~~ 2022-04-13T11:18:47,697 /// Some features that may or may not be worth adding: 2022-04-13T11:18:47,698 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,699 /// 2022-04-13T11:18:47,699 ~~~ 2022-04-13T11:18:47,700 /// Binary to decimal conversion (hard). 2022-04-13T11:18:47,700 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,700 /// 2022-04-13T11:18:47,701 ~~~ 2022-04-13T11:18:47,702 /// Optional ability to detect underflow tininess before rounding. 2022-04-13T11:18:47,702 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,703 /// 2022-04-13T11:18:47,703 ~~~ 2022-04-13T11:18:47,704 /// New formats: x87 in single and double precision mode (IEEE apart from 2022-04-13T11:18:47,704 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,705 /// extended exponent range) (hard). 2022-04-13T11:18:47,705 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,706 /// 2022-04-13T11:18:47,716 ~~~ 2022-04-13T11:18:47,717 /// New operations: sqrt, IEEE remainder, C90 fmod, nexttoward. 2022-04-13T11:18:47,717 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,718 /// 2022-04-13T11:18:47,719 ~~~ 2022-04-13T11:18:47,720 // This is the common type definitions shared by APFloat and its internal 2022-04-13T11:18:47,721 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,721 // implementation classes. This struct should not define any non-static data 2022-04-13T11:18:47,722 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,722 // members. 2022-04-13T11:18:47,723 ~~~~~~~~~~~ 2022-04-13T11:18:47,723 struct APFloatBase { 2022-04-13T11:18:47,724 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,724 typedef APInt::WordType integerPart; 2022-04-13T11:18:47,725 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,725 static constexpr unsigned integerPartWidth = APInt::APINT_BITS_PER_WORD; 2022-04-13T11:18:47,726 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,738 /// A signed type to represent a floating point numbers unbiased exponent. 2022-04-13T11:18:47,740 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,741 typedef int32_t ExponentType; 2022-04-13T11:18:47,742 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,743 /// \name Floating Point Semantics. 2022-04-13T11:18:47,744 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,744 /// @{ 2022-04-13T11:18:47,745 ~~~~~~ 2022-04-13T11:18:47,745 enum Semantics { 2022-04-13T11:18:47,746 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,746 S_IEEEhalf, 2022-04-13T11:18:47,747 ~~~~~~~~~~~ 2022-04-13T11:18:47,747 S_BFloat, 2022-04-13T11:18:47,748 ~~~~~~~~~ 2022-04-13T11:18:47,749 S_IEEEsingle, 2022-04-13T11:18:47,749 ~~~~~~~~~~~~~ 2022-04-13T11:18:47,750 S_IEEEdouble, 2022-04-13T11:18:47,750 ~~~~~~~~~~~~~ 2022-04-13T11:18:47,751 S_x87DoubleExtended, 2022-04-13T11:18:47,751 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,752 S_IEEEquad, 2022-04-13T11:18:47,752 ~~~~~~~~~~~ 2022-04-13T11:18:47,753 S_PPCDoubleDouble 2022-04-13T11:18:47,753 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,754 }; 2022-04-13T11:18:47,754 ~~ 2022-04-13T11:18:47,756 static const llvm::fltSemantics &EnumToSemantics(Semantics S); 2022-04-13T11:18:47,760 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,760 static Semantics SemanticsToEnum(const llvm::fltSemantics &Sem); 2022-04-13T11:18:47,761 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,762 static const fltSemantics &IEEEhalf() LLVM_READNONE; 2022-04-13T11:18:47,776 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,777 static const fltSemantics &BFloat() LLVM_READNONE; 2022-04-13T11:18:47,778 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,778 static const fltSemantics &IEEEsingle() LLVM_READNONE; 2022-04-13T11:18:47,779 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,779 static const fltSemantics &IEEEdouble() LLVM_READNONE; 2022-04-13T11:18:47,780 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,780 static const fltSemantics &IEEEquad() LLVM_READNONE; 2022-04-13T11:18:47,781 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,781 static const fltSemantics &PPCDoubleDouble() LLVM_READNONE; 2022-04-13T11:18:47,782 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,782 static const fltSemantics &x87DoubleExtended() LLVM_READNONE; 2022-04-13T11:18:47,783 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,784 /// A Pseudo fltsemantic used to construct APFloats that cannot conflict with 2022-04-13T11:18:47,784 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,785 /// anything real. 2022-04-13T11:18:47,785 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,785 static const fltSemantics &Bogus() LLVM_READNONE; 2022-04-13T11:18:47,796 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,798 /// @} 2022-04-13T11:18:47,798 ~~~~~~ 2022-04-13T11:18:47,800 /// IEEE-754R 5.11: Floating Point Comparison Relations. 2022-04-13T11:18:47,801 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,801 enum cmpResult { 2022-04-13T11:18:47,802 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,802 cmpLessThan, 2022-04-13T11:18:47,803 ~~~~~~~~~~~~ 2022-04-13T11:18:47,803 cmpEqual, 2022-04-13T11:18:47,804 ~~~~~~~~~ 2022-04-13T11:18:47,805 cmpGreaterThan, 2022-04-13T11:18:47,806 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,815 cmpUnordered 2022-04-13T11:18:47,816 ~~~~~~~~~~~~ 2022-04-13T11:18:47,817 }; 2022-04-13T11:18:47,817 ~~ 2022-04-13T11:18:47,818 /// IEEE-754R 4.3: Rounding-direction attributes. 2022-04-13T11:18:47,819 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,819 using roundingMode = llvm::RoundingMode; 2022-04-13T11:18:47,820 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,821 static constexpr roundingMode rmNearestTiesToEven = 2022-04-13T11:18:47,821 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,822 RoundingMode::NearestTiesToEven; 2022-04-13T11:18:47,822 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,823 static constexpr roundingMode rmTowardPositive = RoundingMode::TowardPositive; 2022-04-13T11:18:47,823 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,824 static constexpr roundingMode rmTowardNegative = RoundingMode::TowardNegative; 2022-04-13T11:18:47,824 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,825 static constexpr roundingMode rmTowardZero = RoundingMode::TowardZero; 2022-04-13T11:18:47,825 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,826 static constexpr roundingMode rmNearestTiesToAway = 2022-04-13T11:18:47,827 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,828 RoundingMode::NearestTiesToAway; 2022-04-13T11:18:47,829 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,832 /// IEEE-754R 7: Default exception handling. 2022-04-13T11:18:47,833 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,833 /// 2022-04-13T11:18:47,834 ~~~ 2022-04-13T11:18:47,835 /// opUnderflow or opOverflow are always returned or-ed with opInexact. 2022-04-13T11:18:47,835 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,836 /// 2022-04-13T11:18:47,837 ~~~ 2022-04-13T11:18:47,837 /// APFloat models this behavior specified by IEEE-754: 2022-04-13T11:18:47,838 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,838 /// "For operations producing results in floating-point format, the default 2022-04-13T11:18:47,839 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,839 /// result of an operation that signals the invalid operation exception 2022-04-13T11:18:47,840 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,840 /// shall be a quiet NaN." 2022-04-13T11:18:47,841 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,841 enum opStatus { 2022-04-13T11:18:47,842 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,842 opOK = 0x00, 2022-04-13T11:18:47,843 ~~~~~~~~~~~~ 2022-04-13T11:18:47,843 opInvalidOp = 0x01, 2022-04-13T11:18:47,844 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,844 opDivByZero = 0x02, 2022-04-13T11:18:47,845 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,845 opOverflow = 0x04, 2022-04-13T11:18:47,846 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,846 opUnderflow = 0x08, 2022-04-13T11:18:47,847 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,847 opInexact = 0x10 2022-04-13T11:18:47,848 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,849 }; 2022-04-13T11:18:47,849 ~~ 2022-04-13T11:18:47,851 /// Category of internally-represented number. 2022-04-13T11:18:47,852 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,853 enum fltCategory { 2022-04-13T11:18:47,853 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,854 fcInfinity, 2022-04-13T11:18:47,855 ~~~~~~~~~~~ 2022-04-13T11:18:47,855 fcNaN, 2022-04-13T11:18:47,856 ~~~~~~ 2022-04-13T11:18:47,857 fcNormal, 2022-04-13T11:18:47,858 ~~~~~~~~~ 2022-04-13T11:18:47,858 fcZero 2022-04-13T11:18:47,859 ~~~~~~ 2022-04-13T11:18:47,860 }; 2022-04-13T11:18:47,860 ~~ 2022-04-13T11:18:47,863 /// Convenience enum used to construct an uninitialized APFloat. 2022-04-13T11:18:47,863 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,864 enum uninitializedTag { 2022-04-13T11:18:47,865 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,866 uninitialized 2022-04-13T11:18:47,866 ~~~~~~~~~~~~~ 2022-04-13T11:18:47,867 }; 2022-04-13T11:18:47,868 ~~ 2022-04-13T11:18:47,870 /// Enumeration of \c ilogb error results. 2022-04-13T11:18:47,871 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,872 enum IlogbErrorKinds { 2022-04-13T11:18:47,873 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,873 IEK_Zero = INT_MIN + 1, 2022-04-13T11:18:47,874 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,875 IEK_NaN = INT_MIN, 2022-04-13T11:18:47,876 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,876 IEK_Inf = INT_MAX 2022-04-13T11:18:47,877 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,878 }; 2022-04-13T11:18:47,878 ~~ 2022-04-13T11:18:47,880 static unsigned int semanticsPrecision(const fltSemantics &); 2022-04-13T11:18:47,881 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,882 static ExponentType semanticsMinExponent(const fltSemantics &); 2022-04-13T11:18:47,883 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,883 static ExponentType semanticsMaxExponent(const fltSemantics &); 2022-04-13T11:18:47,884 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,884 static unsigned int semanticsSizeInBits(const fltSemantics &); 2022-04-13T11:18:47,885 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,886 /// Returns the size of the floating point number (in bits) in the given 2022-04-13T11:18:47,887 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,888 /// semantics. 2022-04-13T11:18:47,888 ~~~~~~~~~~~~~~ 2022-04-13T11:18:47,889 static unsigned getSizeInBits(const fltSemantics &Sem); 2022-04-13T11:18:47,890 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,891 }; 2022-04-13T11:18:47,891 ~~ 2022-04-13T11:18:47,894 namespace detail { 2022-04-13T11:18:47,895 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,897 class IEEEFloat final : public APFloatBase { 2022-04-13T11:18:47,898 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,898 public: 2022-04-13T11:18:47,899 ~~~~~~~ 2022-04-13T11:18:47,900 /// \name Constructors 2022-04-13T11:18:47,901 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,901 /// @{ 2022-04-13T11:18:47,902 ~~~~~~ 2022-04-13T11:18:47,904 IEEEFloat(const fltSemantics &); // Default construct to +0.0 2022-04-13T11:18:47,905 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,905 IEEEFloat(const fltSemantics &, integerPart); 2022-04-13T11:18:47,906 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,907 IEEEFloat(const fltSemantics &, uninitializedTag); 2022-04-13T11:18:47,907 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,907 IEEEFloat(const fltSemantics &, const APInt &); 2022-04-13T11:18:47,908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,908 explicit IEEEFloat(double d); 2022-04-13T11:18:47,909 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,909 explicit IEEEFloat(float f); 2022-04-13T11:18:47,910 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,910 IEEEFloat(const IEEEFloat &); 2022-04-13T11:18:47,911 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,911 IEEEFloat(IEEEFloat &&); 2022-04-13T11:18:47,912 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,912 ~IEEEFloat(); 2022-04-13T11:18:47,913 ~~~~~~~~~~~~~ 2022-04-13T11:18:47,914 /// @} 2022-04-13T11:18:47,914 ~~~~~~ 2022-04-13T11:18:47,916 /// Returns whether this instance allocated memory. 2022-04-13T11:18:47,917 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,917 bool needsCleanup() const { return partCount() > 1; } 2022-04-13T11:18:47,918 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,919 /// \name Convenience "constructors" 2022-04-13T11:18:47,920 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,920 /// @{ 2022-04-13T11:18:47,921 ~~~~~~ 2022-04-13T11:18:47,923 /// @} 2022-04-13T11:18:47,923 ~~~~~~ 2022-04-13T11:18:47,925 /// \name Arithmetic 2022-04-13T11:18:47,925 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,926 /// @{ 2022-04-13T11:18:47,927 ~~~~~~ 2022-04-13T11:18:47,929 opStatus add(const IEEEFloat &, roundingMode); 2022-04-13T11:18:47,929 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,930 opStatus subtract(const IEEEFloat &, roundingMode); 2022-04-13T11:18:47,930 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,931 opStatus multiply(const IEEEFloat &, roundingMode); 2022-04-13T11:18:47,932 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,933 opStatus divide(const IEEEFloat &, roundingMode); 2022-04-13T11:18:47,933 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,934 /// IEEE remainder. 2022-04-13T11:18:47,934 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,935 opStatus remainder(const IEEEFloat &); 2022-04-13T11:18:47,935 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,936 /// C fmod, or llvm frem. 2022-04-13T11:18:47,937 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,937 opStatus mod(const IEEEFloat &); 2022-04-13T11:18:47,937 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,938 opStatus fusedMultiplyAdd(const IEEEFloat &, const IEEEFloat &, roundingMode); 2022-04-13T11:18:47,938 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,939 opStatus roundToIntegral(roundingMode); 2022-04-13T11:18:47,939 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,940 /// IEEE-754R 5.3.1: nextUp/nextDown. 2022-04-13T11:18:47,941 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,941 opStatus next(bool nextDown); 2022-04-13T11:18:47,942 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,944 /// @} 2022-04-13T11:18:47,944 ~~~~~~ 2022-04-13T11:18:47,946 /// \name Sign operations. 2022-04-13T11:18:47,946 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,947 /// @{ 2022-04-13T11:18:47,947 ~~~~~~ 2022-04-13T11:18:47,949 void changeSign(); 2022-04-13T11:18:47,950 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,951 /// @} 2022-04-13T11:18:47,951 ~~~~~~ 2022-04-13T11:18:47,953 /// \name Conversions 2022-04-13T11:18:47,954 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,954 /// @{ 2022-04-13T11:18:47,955 ~~~~~~ 2022-04-13T11:18:47,956 opStatus convert(const fltSemantics &, roundingMode, bool *); 2022-04-13T11:18:47,957 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,957 opStatus convertToInteger(MutableArrayRef, unsigned int, bool, 2022-04-13T11:18:47,958 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,958 roundingMode, bool *) const; 2022-04-13T11:18:47,959 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,959 opStatus convertFromAPInt(const APInt &, bool, roundingMode); 2022-04-13T11:18:47,959 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,960 opStatus convertFromSignExtendedInteger(const integerPart *, unsigned int, 2022-04-13T11:18:47,960 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,961 bool, roundingMode); 2022-04-13T11:18:47,961 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,962 opStatus convertFromZeroExtendedInteger(const integerPart *, unsigned int, 2022-04-13T11:18:47,962 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,963 bool, roundingMode); 2022-04-13T11:18:47,963 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,963 Expected convertFromString(StringRef, roundingMode); 2022-04-13T11:18:47,964 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,964 APInt bitcastToAPInt() const; 2022-04-13T11:18:47,965 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,965 double convertToDouble() const; 2022-04-13T11:18:47,966 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,966 float convertToFloat() const; 2022-04-13T11:18:47,967 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,968 /// @} 2022-04-13T11:18:47,969 ~~~~~~ 2022-04-13T11:18:47,970 /// The definition of equality is not straightforward for floating point, so 2022-04-13T11:18:47,970 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,971 /// we won't use operator==. Use one of the following, or write whatever it 2022-04-13T11:18:47,972 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,972 /// is you really mean. 2022-04-13T11:18:47,973 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,973 bool operator==(const IEEEFloat &) const = delete; 2022-04-13T11:18:47,974 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,975 /// IEEE comparison with another floating point number (NaNs compare 2022-04-13T11:18:47,976 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,976 /// unordered, 0==-0). 2022-04-13T11:18:47,977 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,978 cmpResult compare(const IEEEFloat &) const; 2022-04-13T11:18:47,978 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,980 /// Bitwise comparison for equality (QNaNs compare equal, 0!=-0). 2022-04-13T11:18:47,980 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,981 bool bitwiseIsEqual(const IEEEFloat &) const; 2022-04-13T11:18:47,981 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,983 /// Write out a hexadecimal representation of the floating point value to DST, 2022-04-13T11:18:47,983 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,984 /// which must be of sufficient size, in the C99 form [-]0xh.hhhhp[+-]d. 2022-04-13T11:18:47,984 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,985 /// Return the number of characters written, excluding the terminating NUL. 2022-04-13T11:18:47,985 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,986 unsigned int convertToHexString(char *dst, unsigned int hexDigits, 2022-04-13T11:18:47,987 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,987 bool upperCase, roundingMode) const; 2022-04-13T11:18:47,988 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,990 /// \name IEEE-754R 5.7.2 General operations. 2022-04-13T11:18:47,991 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,992 /// @{ 2022-04-13T11:18:47,993 ~~~~~~ 2022-04-13T11:18:47,996 /// IEEE-754R isSignMinus: Returns true if and only if the current value is 2022-04-13T11:18:47,996 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:47,997 /// negative. 2022-04-13T11:18:47,997 ~~~~~~~~~~~~~ 2022-04-13T11:18:47,998 /// 2022-04-13T11:18:47,998 ~~~ 2022-04-13T11:18:47,999 /// This applies to zeros and NaNs as well. 2022-04-13T11:18:48,000 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,000 bool isNegative() const { return sign; } 2022-04-13T11:18:48,001 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,003 /// IEEE-754R isNormal: Returns true if and only if the current value is normal. 2022-04-13T11:18:48,003 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,004 /// 2022-04-13T11:18:48,005 ~~~ 2022-04-13T11:18:48,005 /// This implies that the current value of the float is not zero, subnormal, 2022-04-13T11:18:48,006 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,007 /// infinite, or NaN following the definition of normality from IEEE-754R. 2022-04-13T11:18:48,008 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,009 bool isNormal() const { return !isDenormal() && isFiniteNonZero(); } 2022-04-13T11:18:48,010 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,013 /// Returns true if and only if the current value is zero, subnormal, or 2022-04-13T11:18:48,013 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,014 /// normal. 2022-04-13T11:18:48,015 ~~~~~~~~~~~ 2022-04-13T11:18:48,016 /// 2022-04-13T11:18:48,017 ~~~ 2022-04-13T11:18:48,017 /// This means that the value is not infinite or NaN. 2022-04-13T11:18:48,018 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,019 bool isFinite() const { return !isNaN() && !isInfinity(); } 2022-04-13T11:18:48,020 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,022 /// Returns true if and only if the float is plus or minus zero. 2022-04-13T11:18:48,023 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,024 bool isZero() const { return category == fcZero; } 2022-04-13T11:18:48,024 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,027 /// IEEE-754R isSubnormal(): Returns true if and only if the float is a 2022-04-13T11:18:48,028 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,028 /// denormal. 2022-04-13T11:18:48,029 ~~~~~~~~~~~~~ 2022-04-13T11:18:48,030 bool isDenormal() const; 2022-04-13T11:18:48,030 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,033 /// IEEE-754R isInfinite(): Returns true if and only if the float is infinity. 2022-04-13T11:18:48,034 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,034 bool isInfinity() const { return category == fcInfinity; } 2022-04-13T11:18:48,035 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,037 /// Returns true if and only if the float is a quiet or signaling NaN. 2022-04-13T11:18:48,038 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,038 bool isNaN() const { return category == fcNaN; } 2022-04-13T11:18:48,039 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,041 /// Returns true if and only if the float is a signaling NaN. 2022-04-13T11:18:48,041 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,042 bool isSignaling() const; 2022-04-13T11:18:48,043 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,044 /// @} 2022-04-13T11:18:48,045 ~~~~~~ 2022-04-13T11:18:48,046 /// \name Simple Queries 2022-04-13T11:18:48,047 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,047 /// @{ 2022-04-13T11:18:48,048 ~~~~~~ 2022-04-13T11:18:48,049 fltCategory getCategory() const { return category; } 2022-04-13T11:18:48,050 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,050 const fltSemantics &getSemantics() const { return *semantics; } 2022-04-13T11:18:48,051 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,051 bool isNonZero() const { return category != fcZero; } 2022-04-13T11:18:48,052 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,052 bool isFiniteNonZero() const { return isFinite() && !isZero(); } 2022-04-13T11:18:48,053 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,054 bool isPosZero() const { return isZero() && !isNegative(); } 2022-04-13T11:18:48,054 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,055 bool isNegZero() const { return isZero() && isNegative(); } 2022-04-13T11:18:48,055 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,057 /// Returns true if and only if the number has the smallest possible non-zero 2022-04-13T11:18:48,057 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,058 /// magnitude in the current semantics. 2022-04-13T11:18:48,058 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,059 bool isSmallest() const; 2022-04-13T11:18:48,059 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,060 /// Returns true if and only if the number has the largest possible finite 2022-04-13T11:18:48,061 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,061 /// magnitude in the current semantics. 2022-04-13T11:18:48,062 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,062 bool isLargest() const; 2022-04-13T11:18:48,063 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,064 /// Returns true if and only if the number is an exact integer. 2022-04-13T11:18:48,065 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,065 bool isInteger() const; 2022-04-13T11:18:48,066 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,068 /// @} 2022-04-13T11:18:48,068 ~~~~~~ 2022-04-13T11:18:48,070 IEEEFloat &operator=(const IEEEFloat &); 2022-04-13T11:18:48,071 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,072 IEEEFloat &operator=(IEEEFloat &&); 2022-04-13T11:18:48,072 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,074 /// Overload to compute a hash code for an APFloat value. 2022-04-13T11:18:48,075 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,076 /// 2022-04-13T11:18:48,077 ~~~ 2022-04-13T11:18:48,077 /// Note that the use of hash codes for floating point values is in general 2022-04-13T11:18:48,078 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,079 /// frought with peril. Equality is hard to define for these values. For 2022-04-13T11:18:48,080 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,080 /// example, should negative and positive zero hash to different codes? Are 2022-04-13T11:18:48,081 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,082 /// they equal or not? This hash value implementation specifically 2022-04-13T11:18:48,082 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,083 /// emphasizes producing different codes for different inputs in order to 2022-04-13T11:18:48,084 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,084 /// be used in canonicalization and memoization. As such, equality is 2022-04-13T11:18:48,085 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,085 /// bitwiseIsEqual, and 0 != -0. 2022-04-13T11:18:48,086 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,086 friend hash_code hash_value(const IEEEFloat &Arg); 2022-04-13T11:18:48,087 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,089 /// Converts this value into a decimal string. 2022-04-13T11:18:48,089 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,090 /// 2022-04-13T11:18:48,090 ~~~ 2022-04-13T11:18:48,091 /// \param FormatPrecision The maximum number of digits of 2022-04-13T11:18:48,091 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,092 /// precision to output. If there are fewer digits available, 2022-04-13T11:18:48,092 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,093 /// zero padding will not be used unless the value is 2022-04-13T11:18:48,093 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,094 /// integral and small enough to be expressed in 2022-04-13T11:18:48,094 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,095 /// FormatPrecision digits. 0 means to use the natural 2022-04-13T11:18:48,095 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,096 /// precision of the number. 2022-04-13T11:18:48,096 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,097 /// \param FormatMaxPadding The maximum number of zeros to 2022-04-13T11:18:48,097 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,098 /// consider inserting before falling back to scientific 2022-04-13T11:18:48,098 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,099 /// notation. 0 means to always use scientific notation. 2022-04-13T11:18:48,099 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,100 /// 2022-04-13T11:18:48,101 ~~~ 2022-04-13T11:18:48,101 /// \param TruncateZero Indicate whether to remove the trailing zero in 2022-04-13T11:18:48,102 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,102 /// fraction part or not. Also setting this parameter to false forcing 2022-04-13T11:18:48,103 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,103 /// producing of output more similar to default printf behavior. 2022-04-13T11:18:48,104 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,104 /// Specifically the lower e is used as exponent delimiter and exponent 2022-04-13T11:18:48,105 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,105 /// always contains no less than two digits. 2022-04-13T11:18:48,106 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,106 /// 2022-04-13T11:18:48,107 ~~~ 2022-04-13T11:18:48,107 /// Number Precision MaxPadding Result 2022-04-13T11:18:48,108 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,108 /// ------ --------- ---------- ------ 2022-04-13T11:18:48,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,109 /// 1.01E+4 5 2 10100 2022-04-13T11:18:48,110 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,110 /// 1.01E+4 4 2 1.01E+4 2022-04-13T11:18:48,111 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,111 /// 1.01E+4 5 1 1.01E+4 2022-04-13T11:18:48,111 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,112 /// 1.01E-2 5 2 0.0101 2022-04-13T11:18:48,112 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,113 /// 1.01E-2 4 2 0.0101 2022-04-13T11:18:48,114 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,114 /// 1.01E-2 4 1 1.01E-2 2022-04-13T11:18:48,115 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,115 void toString(SmallVectorImpl &Str, unsigned FormatPrecision = 0, 2022-04-13T11:18:48,116 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,116 unsigned FormatMaxPadding = 3, bool TruncateZero = true) const; 2022-04-13T11:18:48,117 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,118 /// If this value has an exact multiplicative inverse, store it in inv and 2022-04-13T11:18:48,119 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,120 /// return true. 2022-04-13T11:18:48,120 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,121 bool getExactInverse(APFloat *inv) const; 2022-04-13T11:18:48,121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,123 /// Returns the exponent of the internal representation of the APFloat. 2022-04-13T11:18:48,123 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,124 /// 2022-04-13T11:18:48,124 ~~~ 2022-04-13T11:18:48,125 /// Because the radix of APFloat is 2, this is equivalent to floor(log2(x)). 2022-04-13T11:18:48,125 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,126 /// For special APFloat values, this returns special error codes: 2022-04-13T11:18:48,126 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,127 /// 2022-04-13T11:18:48,127 ~~~ 2022-04-13T11:18:48,128 /// NaN -> \c IEK_NaN 2022-04-13T11:18:48,128 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,129 /// 0 -> \c IEK_Zero 2022-04-13T11:18:48,129 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,130 /// Inf -> \c IEK_Inf 2022-04-13T11:18:48,130 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,131 /// 2022-04-13T11:18:48,131 ~~~ 2022-04-13T11:18:48,131 friend int ilogb(const IEEEFloat &Arg); 2022-04-13T11:18:48,132 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,134 /// Returns: X * 2^Exp for integral exponents. 2022-04-13T11:18:48,134 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,135 friend IEEEFloat scalbn(IEEEFloat X, int Exp, roundingMode); 2022-04-13T11:18:48,135 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,137 friend IEEEFloat frexp(const IEEEFloat &X, int &Exp, roundingMode); 2022-04-13T11:18:48,137 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,140 /// \name Special value setters. 2022-04-13T11:18:48,140 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,141 /// @{ 2022-04-13T11:18:48,142 ~~~~~~ 2022-04-13T11:18:48,143 void makeLargest(bool Neg = false); 2022-04-13T11:18:48,144 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,144 void makeSmallest(bool Neg = false); 2022-04-13T11:18:48,145 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,146 void makeNaN(bool SNaN = false, bool Neg = false, 2022-04-13T11:18:48,146 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,147 const APInt *fill = nullptr); 2022-04-13T11:18:48,148 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,148 void makeInf(bool Neg = false); 2022-04-13T11:18:48,149 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,149 void makeZero(bool Neg = false); 2022-04-13T11:18:48,149 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,150 void makeQuiet(); 2022-04-13T11:18:48,151 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,153 /// Returns the smallest (by magnitude) normalized finite number in the given 2022-04-13T11:18:48,153 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,154 /// semantics. 2022-04-13T11:18:48,155 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,155 /// 2022-04-13T11:18:48,156 ~~~ 2022-04-13T11:18:48,156 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:48,157 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,157 void makeSmallestNormalized(bool Negative = false); 2022-04-13T11:18:48,158 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,159 /// @} 2022-04-13T11:18:48,160 ~~~~~~ 2022-04-13T11:18:48,161 cmpResult compareAbsoluteValue(const IEEEFloat &) const; 2022-04-13T11:18:48,162 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,163 private: 2022-04-13T11:18:48,164 ~~~~~~~~ 2022-04-13T11:18:48,164 /// \name Simple Queries 2022-04-13T11:18:48,165 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,165 /// @{ 2022-04-13T11:18:48,166 ~~~~~~ 2022-04-13T11:18:48,167 integerPart *significandParts(); 2022-04-13T11:18:48,168 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,169 const integerPart *significandParts() const; 2022-04-13T11:18:48,169 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,170 unsigned int partCount() const; 2022-04-13T11:18:48,170 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,172 /// @} 2022-04-13T11:18:48,172 ~~~~~~ 2022-04-13T11:18:48,174 /// \name Significand operations. 2022-04-13T11:18:48,174 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,174 /// @{ 2022-04-13T11:18:48,175 ~~~~~~ 2022-04-13T11:18:48,176 integerPart addSignificand(const IEEEFloat &); 2022-04-13T11:18:48,177 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,177 integerPart subtractSignificand(const IEEEFloat &, integerPart); 2022-04-13T11:18:48,178 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,178 lostFraction addOrSubtractSignificand(const IEEEFloat &, bool subtract); 2022-04-13T11:18:48,179 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,179 lostFraction multiplySignificand(const IEEEFloat &, IEEEFloat); 2022-04-13T11:18:48,180 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,180 lostFraction multiplySignificand(const IEEEFloat&); 2022-04-13T11:18:48,181 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,181 lostFraction divideSignificand(const IEEEFloat &); 2022-04-13T11:18:48,182 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,182 void incrementSignificand(); 2022-04-13T11:18:48,183 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,183 void initialize(const fltSemantics *); 2022-04-13T11:18:48,184 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,184 void shiftSignificandLeft(unsigned int); 2022-04-13T11:18:48,185 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,185 lostFraction shiftSignificandRight(unsigned int); 2022-04-13T11:18:48,185 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,186 unsigned int significandLSB() const; 2022-04-13T11:18:48,186 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,187 unsigned int significandMSB() const; 2022-04-13T11:18:48,187 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,188 void zeroSignificand(); 2022-04-13T11:18:48,188 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,189 /// Return true if the significand excluding the integral bit is all ones. 2022-04-13T11:18:48,189 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,190 bool isSignificandAllOnes() const; 2022-04-13T11:18:48,190 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,191 /// Return true if the significand excluding the integral bit is all zeros. 2022-04-13T11:18:48,191 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,192 bool isSignificandAllZeros() const; 2022-04-13T11:18:48,193 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,194 /// @} 2022-04-13T11:18:48,195 ~~~~~~ 2022-04-13T11:18:48,197 /// \name Arithmetic on special values. 2022-04-13T11:18:48,197 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,198 /// @{ 2022-04-13T11:18:48,199 ~~~~~~ 2022-04-13T11:18:48,201 opStatus addOrSubtractSpecials(const IEEEFloat &, bool subtract); 2022-04-13T11:18:48,201 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,202 opStatus divideSpecials(const IEEEFloat &); 2022-04-13T11:18:48,203 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,203 opStatus multiplySpecials(const IEEEFloat &); 2022-04-13T11:18:48,204 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,204 opStatus modSpecials(const IEEEFloat &); 2022-04-13T11:18:48,205 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,206 opStatus remainderSpecials(const IEEEFloat&); 2022-04-13T11:18:48,207 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,209 /// @} 2022-04-13T11:18:48,209 ~~~~~~ 2022-04-13T11:18:48,211 /// \name Miscellany 2022-04-13T11:18:48,212 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,213 /// @{ 2022-04-13T11:18:48,213 ~~~~~~ 2022-04-13T11:18:48,215 bool convertFromStringSpecials(StringRef str); 2022-04-13T11:18:48,216 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,216 opStatus normalize(roundingMode, lostFraction); 2022-04-13T11:18:48,217 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,217 opStatus addOrSubtract(const IEEEFloat &, roundingMode, bool subtract); 2022-04-13T11:18:48,218 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,218 opStatus handleOverflow(roundingMode); 2022-04-13T11:18:48,219 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,219 bool roundAwayFromZero(roundingMode, lostFraction, unsigned int) const; 2022-04-13T11:18:48,220 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,221 opStatus convertToSignExtendedInteger(MutableArrayRef, 2022-04-13T11:18:48,221 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,222 unsigned int, bool, roundingMode, 2022-04-13T11:18:48,222 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,222 bool *) const; 2022-04-13T11:18:48,223 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,224 opStatus convertFromUnsignedParts(const integerPart *, unsigned int, 2022-04-13T11:18:48,224 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,225 roundingMode); 2022-04-13T11:18:48,226 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,226 Expected convertFromHexadecimalString(StringRef, roundingMode); 2022-04-13T11:18:48,227 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,228 Expected convertFromDecimalString(StringRef, roundingMode); 2022-04-13T11:18:48,229 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,229 char *convertNormalToHexString(char *, unsigned int, bool, 2022-04-13T11:18:48,230 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,231 roundingMode) const; 2022-04-13T11:18:48,231 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,232 opStatus roundSignificandWithExponent(const integerPart *, unsigned int, int, 2022-04-13T11:18:48,233 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,234 roundingMode); 2022-04-13T11:18:48,234 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,235 ExponentType exponentNaN() const; 2022-04-13T11:18:48,235 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,236 ExponentType exponentInf() const; 2022-04-13T11:18:48,237 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,237 ExponentType exponentZero() const; 2022-04-13T11:18:48,238 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,239 /// @} 2022-04-13T11:18:48,239 ~~~~~~ 2022-04-13T11:18:48,241 APInt convertHalfAPFloatToAPInt() const; 2022-04-13T11:18:48,241 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,242 APInt convertBFloatAPFloatToAPInt() const; 2022-04-13T11:18:48,242 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,243 APInt convertFloatAPFloatToAPInt() const; 2022-04-13T11:18:48,244 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,244 APInt convertDoubleAPFloatToAPInt() const; 2022-04-13T11:18:48,245 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,245 APInt convertQuadrupleAPFloatToAPInt() const; 2022-04-13T11:18:48,246 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,246 APInt convertF80LongDoubleAPFloatToAPInt() const; 2022-04-13T11:18:48,247 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,248 APInt convertPPCDoubleDoubleAPFloatToAPInt() const; 2022-04-13T11:18:48,248 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,249 void initFromAPInt(const fltSemantics *Sem, const APInt &api); 2022-04-13T11:18:48,249 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,250 void initFromHalfAPInt(const APInt &api); 2022-04-13T11:18:48,250 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,251 void initFromBFloatAPInt(const APInt &api); 2022-04-13T11:18:48,252 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,253 void initFromFloatAPInt(const APInt &api); 2022-04-13T11:18:48,253 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,254 void initFromDoubleAPInt(const APInt &api); 2022-04-13T11:18:48,254 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,255 void initFromQuadrupleAPInt(const APInt &api); 2022-04-13T11:18:48,255 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,256 void initFromF80LongDoubleAPInt(const APInt &api); 2022-04-13T11:18:48,256 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,257 void initFromPPCDoubleDoubleAPInt(const APInt &api); 2022-04-13T11:18:48,258 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,259 void assign(const IEEEFloat &); 2022-04-13T11:18:48,260 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,260 void copySignificand(const IEEEFloat &); 2022-04-13T11:18:48,261 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,262 void freeSignificand(); 2022-04-13T11:18:48,262 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,264 /// Note: this must be the first data member. 2022-04-13T11:18:48,264 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,265 /// The semantics that this value obeys. 2022-04-13T11:18:48,265 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,266 const fltSemantics *semantics; 2022-04-13T11:18:48,267 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,268 /// A binary fraction with an explicit integer bit. 2022-04-13T11:18:48,269 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,269 /// 2022-04-13T11:18:48,270 ~~~ 2022-04-13T11:18:48,270 /// The significand must be at least one bit wider than the target precision. 2022-04-13T11:18:48,271 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,271 union Significand { 2022-04-13T11:18:48,272 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,273 integerPart part; 2022-04-13T11:18:48,273 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,274 integerPart *parts; 2022-04-13T11:18:48,275 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,275 } significand; 2022-04-13T11:18:48,276 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,278 /// The signed unbiased exponent of the value. 2022-04-13T11:18:48,278 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,279 ExponentType exponent; 2022-04-13T11:18:48,279 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,281 /// What kind of floating point number this is. 2022-04-13T11:18:48,281 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,282 /// 2022-04-13T11:18:48,283 ~~~ 2022-04-13T11:18:48,283 /// Only 2 bits are required, but VisualStudio incorrectly sign extends it. 2022-04-13T11:18:48,284 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,285 /// Using the extra bit keeps it from failing under VisualStudio. 2022-04-13T11:18:48,285 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,286 fltCategory category : 3; 2022-04-13T11:18:48,287 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,288 /// Sign bit of the number. 2022-04-13T11:18:48,289 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,289 unsigned int sign : 1; 2022-04-13T11:18:48,290 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,290 }; 2022-04-13T11:18:48,291 ~~ 2022-04-13T11:18:48,292 hash_code hash_value(const IEEEFloat &Arg); 2022-04-13T11:18:48,293 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,293 int ilogb(const IEEEFloat &Arg); 2022-04-13T11:18:48,294 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,294 IEEEFloat scalbn(IEEEFloat X, int Exp, IEEEFloat::roundingMode); 2022-04-13T11:18:48,295 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,295 IEEEFloat frexp(const IEEEFloat &Val, int &Exp, IEEEFloat::roundingMode RM); 2022-04-13T11:18:48,296 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,297 // This mode implements more precise float in terms of two APFloats. 2022-04-13T11:18:48,298 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,298 // The interface and layout is designed for arbitrary underlying semantics, 2022-04-13T11:18:48,299 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,299 // though currently only PPCDoubleDouble semantics are supported, whose 2022-04-13T11:18:48,300 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,300 // corresponding underlying semantics are IEEEdouble. 2022-04-13T11:18:48,301 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,301 class DoubleAPFloat final : public APFloatBase { 2022-04-13T11:18:48,302 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,302 // Note: this must be the first data member. 2022-04-13T11:18:48,303 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,303 const fltSemantics *Semantics; 2022-04-13T11:18:48,303 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,304 std::unique_ptr Floats; 2022-04-13T11:18:48,304 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,306 opStatus addImpl(const APFloat &a, const APFloat &aa, const APFloat &c, 2022-04-13T11:18:48,306 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,307 const APFloat &cc, roundingMode RM); 2022-04-13T11:18:48,307 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,309 opStatus addWithSpecial(const DoubleAPFloat &LHS, const DoubleAPFloat &RHS, 2022-04-13T11:18:48,309 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,310 DoubleAPFloat &Out, roundingMode RM); 2022-04-13T11:18:48,311 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,313 public: 2022-04-13T11:18:48,313 ~~~~~~~ 2022-04-13T11:18:48,314 DoubleAPFloat(const fltSemantics &S); 2022-04-13T11:18:48,314 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,315 DoubleAPFloat(const fltSemantics &S, uninitializedTag); 2022-04-13T11:18:48,315 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,316 DoubleAPFloat(const fltSemantics &S, integerPart); 2022-04-13T11:18:48,316 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,317 DoubleAPFloat(const fltSemantics &S, const APInt &I); 2022-04-13T11:18:48,317 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,318 DoubleAPFloat(const fltSemantics &S, APFloat &&First, APFloat &&Second); 2022-04-13T11:18:48,319 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,319 DoubleAPFloat(const DoubleAPFloat &RHS); 2022-04-13T11:18:48,320 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,321 DoubleAPFloat(DoubleAPFloat &&RHS); 2022-04-13T11:18:48,321 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,323 DoubleAPFloat &operator=(const DoubleAPFloat &RHS); 2022-04-13T11:18:48,323 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,325 DoubleAPFloat &operator=(DoubleAPFloat &&RHS) { 2022-04-13T11:18:48,326 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,326 if (this != &RHS) { 2022-04-13T11:18:48,327 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,328 this->~DoubleAPFloat(); 2022-04-13T11:18:48,328 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,329 new (this) DoubleAPFloat(std::move(RHS)); 2022-04-13T11:18:48,330 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,330 } 2022-04-13T11:18:48,331 ~ 2022-04-13T11:18:48,331 return *this; 2022-04-13T11:18:48,331 ~~~~~~~~~~~~~ 2022-04-13T11:18:48,332 } 2022-04-13T11:18:48,332 ~ 2022-04-13T11:18:48,335 bool needsCleanup() const { return Floats != nullptr; } 2022-04-13T11:18:48,335 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,338 APFloat &getFirst() { return Floats[0]; } 2022-04-13T11:18:48,338 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,339 const APFloat &getFirst() const { return Floats[0]; } 2022-04-13T11:18:48,339 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,339 APFloat &getSecond() { return Floats[1]; } 2022-04-13T11:18:48,340 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,341 const APFloat &getSecond() const { return Floats[1]; } 2022-04-13T11:18:48,341 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,342 opStatus add(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:48,343 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,344 opStatus subtract(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:48,345 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,345 opStatus multiply(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:48,346 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,347 opStatus divide(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:48,347 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,348 opStatus remainder(const DoubleAPFloat &RHS); 2022-04-13T11:18:48,348 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,349 opStatus mod(const DoubleAPFloat &RHS); 2022-04-13T11:18:48,349 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,350 opStatus fusedMultiplyAdd(const DoubleAPFloat &Multiplicand, 2022-04-13T11:18:48,350 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,351 const DoubleAPFloat &Addend, roundingMode RM); 2022-04-13T11:18:48,351 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,352 opStatus roundToIntegral(roundingMode RM); 2022-04-13T11:18:48,352 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,353 void changeSign(); 2022-04-13T11:18:48,353 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,353 cmpResult compareAbsoluteValue(const DoubleAPFloat &RHS) const; 2022-04-13T11:18:48,354 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,355 fltCategory getCategory() const; 2022-04-13T11:18:48,356 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,357 bool isNegative() const; 2022-04-13T11:18:48,357 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,359 void makeInf(bool Neg); 2022-04-13T11:18:48,360 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,360 void makeZero(bool Neg); 2022-04-13T11:18:48,361 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,362 void makeLargest(bool Neg); 2022-04-13T11:18:48,362 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,363 void makeSmallest(bool Neg); 2022-04-13T11:18:48,363 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,363 void makeSmallestNormalized(bool Neg); 2022-04-13T11:18:48,364 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,364 void makeNaN(bool SNaN, bool Neg, const APInt *fill); 2022-04-13T11:18:48,364 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,366 cmpResult compare(const DoubleAPFloat &RHS) const; 2022-04-13T11:18:48,366 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,367 bool bitwiseIsEqual(const DoubleAPFloat &RHS) const; 2022-04-13T11:18:48,367 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,368 APInt bitcastToAPInt() const; 2022-04-13T11:18:48,368 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,369 Expected convertFromString(StringRef, roundingMode); 2022-04-13T11:18:48,369 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,370 opStatus next(bool nextDown); 2022-04-13T11:18:48,370 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,372 opStatus convertToInteger(MutableArrayRef Input, 2022-04-13T11:18:48,372 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,373 unsigned int Width, bool IsSigned, roundingMode RM, 2022-04-13T11:18:48,373 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,374 bool *IsExact) const; 2022-04-13T11:18:48,375 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,376 opStatus convertFromAPInt(const APInt &Input, bool IsSigned, roundingMode RM); 2022-04-13T11:18:48,376 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,377 opStatus convertFromSignExtendedInteger(const integerPart *Input, 2022-04-13T11:18:48,378 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,378 unsigned int InputSize, bool IsSigned, 2022-04-13T11:18:48,379 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,379 roundingMode RM); 2022-04-13T11:18:48,380 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,381 opStatus convertFromZeroExtendedInteger(const integerPart *Input, 2022-04-13T11:18:48,381 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,382 unsigned int InputSize, bool IsSigned, 2022-04-13T11:18:48,383 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,383 roundingMode RM); 2022-04-13T11:18:48,384 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,385 unsigned int convertToHexString(char *DST, unsigned int HexDigits, 2022-04-13T11:18:48,385 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,386 bool UpperCase, roundingMode RM) const; 2022-04-13T11:18:48,387 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,389 bool isDenormal() const; 2022-04-13T11:18:48,389 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,390 bool isSmallest() const; 2022-04-13T11:18:48,390 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,391 bool isLargest() const; 2022-04-13T11:18:48,391 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,392 bool isInteger() const; 2022-04-13T11:18:48,392 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,394 void toString(SmallVectorImpl &Str, unsigned FormatPrecision, 2022-04-13T11:18:48,394 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,395 unsigned FormatMaxPadding, bool TruncateZero = true) const; 2022-04-13T11:18:48,395 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,397 bool getExactInverse(APFloat *inv) const; 2022-04-13T11:18:48,398 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,399 friend DoubleAPFloat scalbn(const DoubleAPFloat &X, int Exp, roundingMode); 2022-04-13T11:18:48,400 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,400 friend DoubleAPFloat frexp(const DoubleAPFloat &X, int &Exp, roundingMode); 2022-04-13T11:18:48,401 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,401 friend hash_code hash_value(const DoubleAPFloat &Arg); 2022-04-13T11:18:48,402 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,402 }; 2022-04-13T11:18:48,403 ~~ 2022-04-13T11:18:48,405 hash_code hash_value(const DoubleAPFloat &Arg); 2022-04-13T11:18:48,405 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,407 } // End detail namespace 2022-04-13T11:18:48,408 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,409 // This is a interface class that is currently forwarding functionalities from 2022-04-13T11:18:48,410 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,411 // detail::IEEEFloat. 2022-04-13T11:18:48,411 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,412 class APFloat : public APFloatBase { 2022-04-13T11:18:48,412 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,412 typedef detail::IEEEFloat IEEEFloat; 2022-04-13T11:18:48,413 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,413 typedef detail::DoubleAPFloat DoubleAPFloat; 2022-04-13T11:18:48,414 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,415 static_assert(std::is_standard_layout::value, ""); 2022-04-13T11:18:48,416 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,417 union Storage { 2022-04-13T11:18:48,418 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,418 const fltSemantics *semantics; 2022-04-13T11:18:48,419 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,420 IEEEFloat IEEE; 2022-04-13T11:18:48,420 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,421 DoubleAPFloat Double; 2022-04-13T11:18:48,421 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,423 explicit Storage(IEEEFloat F, const fltSemantics &S); 2022-04-13T11:18:48,423 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,424 explicit Storage(DoubleAPFloat F, const fltSemantics &S) 2022-04-13T11:18:48,424 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,425 : Double(std::move(F)) { 2022-04-13T11:18:48,426 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,426 assert(&S == &PPCDoubleDouble()); 2022-04-13T11:18:48,427 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,427 } 2022-04-13T11:18:48,428 ~ 2022-04-13T11:18:48,429 template 2022-04-13T11:18:48,430 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,430 Storage(const fltSemantics &Semantics, ArgTypes &&... Args) { 2022-04-13T11:18:48,431 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,431 if (usesLayout(Semantics)) { 2022-04-13T11:18:48,432 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,432 new (&IEEE) IEEEFloat(Semantics, std::forward(Args)...); 2022-04-13T11:18:48,433 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,433 return; 2022-04-13T11:18:48,434 ~~~~~~~ 2022-04-13T11:18:48,434 } 2022-04-13T11:18:48,435 ~ 2022-04-13T11:18:48,435 if (usesLayout(Semantics)) { 2022-04-13T11:18:48,436 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,436 new (&Double) DoubleAPFloat(Semantics, std::forward(Args)...); 2022-04-13T11:18:48,437 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,437 return; 2022-04-13T11:18:48,438 ~~~~~~~ 2022-04-13T11:18:48,438 } 2022-04-13T11:18:48,439 ~ 2022-04-13T11:18:48,439 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,440 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,440 } 2022-04-13T11:18:48,441 ~ 2022-04-13T11:18:48,442 ~Storage() { 2022-04-13T11:18:48,443 ~~~~~~~~~~~~ 2022-04-13T11:18:48,443 if (usesLayout(*semantics)) { 2022-04-13T11:18:48,444 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,444 IEEE.~IEEEFloat(); 2022-04-13T11:18:48,445 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,445 return; 2022-04-13T11:18:48,446 ~~~~~~~ 2022-04-13T11:18:48,446 } 2022-04-13T11:18:48,447 ~ 2022-04-13T11:18:48,447 if (usesLayout(*semantics)) { 2022-04-13T11:18:48,448 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,448 Double.~DoubleAPFloat(); 2022-04-13T11:18:48,449 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,449 return; 2022-04-13T11:18:48,450 ~~~~~~~ 2022-04-13T11:18:48,450 } 2022-04-13T11:18:48,451 ~ 2022-04-13T11:18:48,451 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,452 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,453 } 2022-04-13T11:18:48,453 ~ 2022-04-13T11:18:48,455 Storage(const Storage &RHS) { 2022-04-13T11:18:48,456 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,456 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:48,457 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,458 new (this) IEEEFloat(RHS.IEEE); 2022-04-13T11:18:48,458 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,459 return; 2022-04-13T11:18:48,460 ~~~~~~~ 2022-04-13T11:18:48,460 } 2022-04-13T11:18:48,461 ~ 2022-04-13T11:18:48,461 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:48,462 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,462 new (this) DoubleAPFloat(RHS.Double); 2022-04-13T11:18:48,463 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,463 return; 2022-04-13T11:18:48,464 ~~~~~~~ 2022-04-13T11:18:48,464 } 2022-04-13T11:18:48,465 ~ 2022-04-13T11:18:48,466 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,466 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,467 } 2022-04-13T11:18:48,467 ~ 2022-04-13T11:18:48,469 Storage(Storage &&RHS) { 2022-04-13T11:18:48,469 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,470 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:48,470 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,471 new (this) IEEEFloat(std::move(RHS.IEEE)); 2022-04-13T11:18:48,472 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,472 return; 2022-04-13T11:18:48,473 ~~~~~~~ 2022-04-13T11:18:48,473 } 2022-04-13T11:18:48,474 ~ 2022-04-13T11:18:48,474 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:48,475 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,475 new (this) DoubleAPFloat(std::move(RHS.Double)); 2022-04-13T11:18:48,476 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,477 return; 2022-04-13T11:18:48,477 ~~~~~~~ 2022-04-13T11:18:48,478 } 2022-04-13T11:18:48,478 ~ 2022-04-13T11:18:48,479 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,479 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,480 } 2022-04-13T11:18:48,481 ~ 2022-04-13T11:18:48,482 Storage &operator=(const Storage &RHS) { 2022-04-13T11:18:48,483 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,483 if (usesLayout(*semantics) && 2022-04-13T11:18:48,484 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,484 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:48,485 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,485 IEEE = RHS.IEEE; 2022-04-13T11:18:48,486 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,486 } else if (usesLayout(*semantics) && 2022-04-13T11:18:48,487 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,488 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:48,488 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,489 Double = RHS.Double; 2022-04-13T11:18:48,489 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,490 } else if (this != &RHS) { 2022-04-13T11:18:48,490 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,491 this->~Storage(); 2022-04-13T11:18:48,491 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,492 new (this) Storage(RHS); 2022-04-13T11:18:48,492 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,493 } 2022-04-13T11:18:48,493 ~ 2022-04-13T11:18:48,494 return *this; 2022-04-13T11:18:48,494 ~~~~~~~~~~~~~ 2022-04-13T11:18:48,494 } 2022-04-13T11:18:48,495 ~ 2022-04-13T11:18:48,496 Storage &operator=(Storage &&RHS) { 2022-04-13T11:18:48,497 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,497 if (usesLayout(*semantics) && 2022-04-13T11:18:48,498 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,499 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:48,499 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,500 IEEE = std::move(RHS.IEEE); 2022-04-13T11:18:48,500 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,501 } else if (usesLayout(*semantics) && 2022-04-13T11:18:48,501 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,502 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:48,502 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,503 Double = std::move(RHS.Double); 2022-04-13T11:18:48,503 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,504 } else if (this != &RHS) { 2022-04-13T11:18:48,504 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,505 this->~Storage(); 2022-04-13T11:18:48,505 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,506 new (this) Storage(std::move(RHS)); 2022-04-13T11:18:48,506 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,507 } 2022-04-13T11:18:48,507 ~ 2022-04-13T11:18:48,508 return *this; 2022-04-13T11:18:48,508 ~~~~~~~~~~~~~ 2022-04-13T11:18:48,509 } 2022-04-13T11:18:48,509 ~ 2022-04-13T11:18:48,510 } U; 2022-04-13T11:18:48,510 ~~~~ 2022-04-13T11:18:48,512 template static bool usesLayout(const fltSemantics &Semantics) { 2022-04-13T11:18:48,512 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,513 static_assert(std::is_same::value || 2022-04-13T11:18:48,513 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,514 std::is_same::value, ""); 2022-04-13T11:18:48,514 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,515 if (std::is_same::value) { 2022-04-13T11:18:48,515 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,516 return &Semantics == &PPCDoubleDouble(); 2022-04-13T11:18:48,516 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,517 } 2022-04-13T11:18:48,517 ~ 2022-04-13T11:18:48,518 return &Semantics != &PPCDoubleDouble(); 2022-04-13T11:18:48,518 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,519 } 2022-04-13T11:18:48,520 ~ 2022-04-13T11:18:48,521 IEEEFloat &getIEEE() { 2022-04-13T11:18:48,521 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,522 if (usesLayout(*U.semantics)) 2022-04-13T11:18:48,522 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,523 return U.IEEE; 2022-04-13T11:18:48,523 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,524 if (usesLayout(*U.semantics)) 2022-04-13T11:18:48,524 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,525 return U.Double.getFirst().U.IEEE; 2022-04-13T11:18:48,525 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,526 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,527 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,527 } 2022-04-13T11:18:48,528 ~ 2022-04-13T11:18:48,530 const IEEEFloat &getIEEE() const { 2022-04-13T11:18:48,530 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,531 if (usesLayout(*U.semantics)) 2022-04-13T11:18:48,531 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,532 return U.IEEE; 2022-04-13T11:18:48,532 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,533 if (usesLayout(*U.semantics)) 2022-04-13T11:18:48,533 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,534 return U.Double.getFirst().U.IEEE; 2022-04-13T11:18:48,534 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,535 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,535 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,536 } 2022-04-13T11:18:48,537 ~ 2022-04-13T11:18:48,538 void makeZero(bool Neg) { APFLOAT_DISPATCH_ON_SEMANTICS(makeZero(Neg)); } 2022-04-13T11:18:48,539 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,540 void makeInf(bool Neg) { APFLOAT_DISPATCH_ON_SEMANTICS(makeInf(Neg)); } 2022-04-13T11:18:48,541 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,542 void makeNaN(bool SNaN, bool Neg, const APInt *fill) { 2022-04-13T11:18:48,542 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,543 APFLOAT_DISPATCH_ON_SEMANTICS(makeNaN(SNaN, Neg, fill)); 2022-04-13T11:18:48,543 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,544 } 2022-04-13T11:18:48,544 ~ 2022-04-13T11:18:48,546 void makeLargest(bool Neg) { 2022-04-13T11:18:48,546 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,547 APFLOAT_DISPATCH_ON_SEMANTICS(makeLargest(Neg)); 2022-04-13T11:18:48,547 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,548 } 2022-04-13T11:18:48,548 ~ 2022-04-13T11:18:48,550 void makeSmallest(bool Neg) { 2022-04-13T11:18:48,550 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,550 APFLOAT_DISPATCH_ON_SEMANTICS(makeSmallest(Neg)); 2022-04-13T11:18:48,551 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,551 } 2022-04-13T11:18:48,552 ~ 2022-04-13T11:18:48,553 void makeSmallestNormalized(bool Neg) { 2022-04-13T11:18:48,554 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,554 APFLOAT_DISPATCH_ON_SEMANTICS(makeSmallestNormalized(Neg)); 2022-04-13T11:18:48,555 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,555 } 2022-04-13T11:18:48,556 ~ 2022-04-13T11:18:48,557 // FIXME: This is due to clang 3.3 (or older version) always checks for the 2022-04-13T11:18:48,558 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,558 // default constructor in an array aggregate initialization, even if no 2022-04-13T11:18:48,559 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,560 // elements in the array is default initialized. 2022-04-13T11:18:48,560 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,561 APFloat() : U(IEEEdouble()) { 2022-04-13T11:18:48,561 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,562 llvm_unreachable("This is a workaround for old clang."); 2022-04-13T11:18:48,562 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,563 } 2022-04-13T11:18:48,563 ~ 2022-04-13T11:18:48,565 explicit APFloat(IEEEFloat F, const fltSemantics &S) : U(std::move(F), S) {} 2022-04-13T11:18:48,566 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,567 explicit APFloat(DoubleAPFloat F, const fltSemantics &S) 2022-04-13T11:18:48,567 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,568 : U(std::move(F), S) {} 2022-04-13T11:18:48,568 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,570 cmpResult compareAbsoluteValue(const APFloat &RHS) const { 2022-04-13T11:18:48,570 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,571 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:48,571 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,572 "Should only compare APFloats with the same semantics"); 2022-04-13T11:18:48,572 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,573 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,574 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,574 return U.IEEE.compareAbsoluteValue(RHS.U.IEEE); 2022-04-13T11:18:48,575 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,575 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,576 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,576 return U.Double.compareAbsoluteValue(RHS.U.Double); 2022-04-13T11:18:48,577 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,577 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,578 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,578 } 2022-04-13T11:18:48,579 ~ 2022-04-13T11:18:48,580 public: 2022-04-13T11:18:48,581 ~~~~~~~ 2022-04-13T11:18:48,581 APFloat(const fltSemantics &Semantics) : U(Semantics) {} 2022-04-13T11:18:48,582 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,582 APFloat(const fltSemantics &Semantics, StringRef S); 2022-04-13T11:18:48,583 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,584 APFloat(const fltSemantics &Semantics, integerPart I) : U(Semantics, I) {} 2022-04-13T11:18:48,584 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,585 template ::value>> 2022-04-13T11:18:48,586 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,587 APFloat(const fltSemantics &Semantics, T V) = delete; 2022-04-13T11:18:48,587 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,588 // TODO: Remove this constructor. This isn't faster than the first one. 2022-04-13T11:18:48,588 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,589 APFloat(const fltSemantics &Semantics, uninitializedTag) 2022-04-13T11:18:48,589 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,590 : U(Semantics, uninitialized) {} 2022-04-13T11:18:48,590 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,591 APFloat(const fltSemantics &Semantics, const APInt &I) : U(Semantics, I) {} 2022-04-13T11:18:48,591 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,592 explicit APFloat(double d) : U(IEEEFloat(d), IEEEdouble()) {} 2022-04-13T11:18:48,592 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,593 explicit APFloat(float f) : U(IEEEFloat(f), IEEEsingle()) {} 2022-04-13T11:18:48,593 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,594 APFloat(const APFloat &RHS) = default; 2022-04-13T11:18:48,594 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,595 APFloat(APFloat &&RHS) = default; 2022-04-13T11:18:48,595 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,596 ~APFloat() = default; 2022-04-13T11:18:48,597 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,598 bool needsCleanup() const { APFLOAT_DISPATCH_ON_SEMANTICS(needsCleanup()); } 2022-04-13T11:18:48,599 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,600 /// Factory for Positive and Negative Zero. 2022-04-13T11:18:48,600 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,601 /// 2022-04-13T11:18:48,601 ~~~ 2022-04-13T11:18:48,602 /// \param Negative True iff the number should be negative. 2022-04-13T11:18:48,602 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,603 static APFloat getZero(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:48,603 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,604 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:48,604 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,605 Val.makeZero(Negative); 2022-04-13T11:18:48,605 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,606 return Val; 2022-04-13T11:18:48,606 ~~~~~~~~~~~ 2022-04-13T11:18:48,607 } 2022-04-13T11:18:48,607 ~ 2022-04-13T11:18:48,609 /// Factory for Positive and Negative Infinity. 2022-04-13T11:18:48,609 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,610 /// 2022-04-13T11:18:48,610 ~~~ 2022-04-13T11:18:48,611 /// \param Negative True iff the number should be negative. 2022-04-13T11:18:48,612 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,612 static APFloat getInf(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:48,613 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,613 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:48,614 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,615 Val.makeInf(Negative); 2022-04-13T11:18:48,615 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,616 return Val; 2022-04-13T11:18:48,616 ~~~~~~~~~~~ 2022-04-13T11:18:48,617 } 2022-04-13T11:18:48,618 ~ 2022-04-13T11:18:48,619 /// Factory for NaN values. 2022-04-13T11:18:48,620 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,620 /// 2022-04-13T11:18:48,621 ~~~ 2022-04-13T11:18:48,622 /// \param Negative - True iff the NaN generated should be negative. 2022-04-13T11:18:48,622 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,623 /// \param payload - The unspecified fill bits for creating the NaN, 0 by 2022-04-13T11:18:48,623 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,624 /// default. The value is truncated as necessary. 2022-04-13T11:18:48,625 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,625 static APFloat getNaN(const fltSemantics &Sem, bool Negative = false, 2022-04-13T11:18:48,626 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,626 uint64_t payload = 0) { 2022-04-13T11:18:48,627 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,627 if (payload) { 2022-04-13T11:18:48,628 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,628 APInt intPayload(64, payload); 2022-04-13T11:18:48,629 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,629 return getQNaN(Sem, Negative, &intPayload); 2022-04-13T11:18:48,630 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,630 } else { 2022-04-13T11:18:48,631 ~~~~~~~~ 2022-04-13T11:18:48,631 return getQNaN(Sem, Negative, nullptr); 2022-04-13T11:18:48,632 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,632 } 2022-04-13T11:18:48,633 ~ 2022-04-13T11:18:48,633 } 2022-04-13T11:18:48,634 ~ 2022-04-13T11:18:48,636 /// Factory for QNaN values. 2022-04-13T11:18:48,636 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,637 static APFloat getQNaN(const fltSemantics &Sem, bool Negative = false, 2022-04-13T11:18:48,637 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,638 const APInt *payload = nullptr) { 2022-04-13T11:18:48,638 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,639 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:48,640 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,640 Val.makeNaN(false, Negative, payload); 2022-04-13T11:18:48,641 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,641 return Val; 2022-04-13T11:18:48,642 ~~~~~~~~~~~ 2022-04-13T11:18:48,643 } 2022-04-13T11:18:48,643 ~ 2022-04-13T11:18:48,645 /// Factory for SNaN values. 2022-04-13T11:18:48,646 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,647 static APFloat getSNaN(const fltSemantics &Sem, bool Negative = false, 2022-04-13T11:18:48,647 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,648 const APInt *payload = nullptr) { 2022-04-13T11:18:48,648 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,649 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:48,649 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,650 Val.makeNaN(true, Negative, payload); 2022-04-13T11:18:48,650 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,651 return Val; 2022-04-13T11:18:48,651 ~~~~~~~~~~~ 2022-04-13T11:18:48,652 } 2022-04-13T11:18:48,652 ~ 2022-04-13T11:18:48,654 /// Returns the largest finite number in the given semantics. 2022-04-13T11:18:48,655 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,655 /// 2022-04-13T11:18:48,656 ~~~ 2022-04-13T11:18:48,657 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:48,657 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,658 static APFloat getLargest(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:48,659 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,659 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:48,660 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,660 Val.makeLargest(Negative); 2022-04-13T11:18:48,661 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,661 return Val; 2022-04-13T11:18:48,662 ~~~~~~~~~~~ 2022-04-13T11:18:48,662 } 2022-04-13T11:18:48,663 ~ 2022-04-13T11:18:48,665 /// Returns the smallest (by magnitude) finite number in the given semantics. 2022-04-13T11:18:48,665 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,666 /// Might be denormalized, which implies a relative loss of precision. 2022-04-13T11:18:48,666 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,667 /// 2022-04-13T11:18:48,668 ~~~ 2022-04-13T11:18:48,668 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:48,669 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,669 static APFloat getSmallest(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:48,670 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,670 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:48,671 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,671 Val.makeSmallest(Negative); 2022-04-13T11:18:48,672 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,672 return Val; 2022-04-13T11:18:48,673 ~~~~~~~~~~~ 2022-04-13T11:18:48,673 } 2022-04-13T11:18:48,674 ~ 2022-04-13T11:18:48,675 /// Returns the smallest (by magnitude) normalized finite number in the given 2022-04-13T11:18:48,676 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,687 /// semantics. 2022-04-13T11:18:48,687 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,688 /// 2022-04-13T11:18:48,688 ~~~ 2022-04-13T11:18:48,689 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:48,689 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,690 static APFloat getSmallestNormalized(const fltSemantics &Sem, 2022-04-13T11:18:48,690 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,691 bool Negative = false) { 2022-04-13T11:18:48,691 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,692 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:48,692 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,693 Val.makeSmallestNormalized(Negative); 2022-04-13T11:18:48,694 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,694 return Val; 2022-04-13T11:18:48,695 ~~~~~~~~~~~ 2022-04-13T11:18:48,695 } 2022-04-13T11:18:48,696 ~ 2022-04-13T11:18:48,708 /// Returns a float which is bitcasted from an all one value int. 2022-04-13T11:18:48,708 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,709 /// 2022-04-13T11:18:48,709 ~~~ 2022-04-13T11:18:48,710 /// \param Semantics - type float semantics 2022-04-13T11:18:48,710 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,711 static APFloat getAllOnesValue(const fltSemantics &Semantics); 2022-04-13T11:18:48,711 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,713 /// Used to insert APFloat objects, or objects that contain APFloat objects, 2022-04-13T11:18:48,713 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,714 /// into FoldingSets. 2022-04-13T11:18:48,714 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,715 void Profile(FoldingSetNodeID &NID) const; 2022-04-13T11:18:48,715 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,727 opStatus add(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:48,728 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,728 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:48,729 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,729 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:48,730 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,730 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,731 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,731 return U.IEEE.add(RHS.U.IEEE, RM); 2022-04-13T11:18:48,732 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,732 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,733 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,733 return U.Double.add(RHS.U.Double, RM); 2022-04-13T11:18:48,734 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,734 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,735 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,735 } 2022-04-13T11:18:48,736 ~ 2022-04-13T11:18:48,747 opStatus subtract(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:48,747 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,748 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:48,749 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,750 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:48,750 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,751 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,751 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,752 return U.IEEE.subtract(RHS.U.IEEE, RM); 2022-04-13T11:18:48,752 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,753 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,753 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,754 return U.Double.subtract(RHS.U.Double, RM); 2022-04-13T11:18:48,754 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,755 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,755 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,756 } 2022-04-13T11:18:48,776 ~ 2022-04-13T11:18:48,777 opStatus multiply(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:48,777 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,778 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:48,778 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,779 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:48,780 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,780 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,781 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,781 return U.IEEE.multiply(RHS.U.IEEE, RM); 2022-04-13T11:18:48,782 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,782 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,783 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,783 return U.Double.multiply(RHS.U.Double, RM); 2022-04-13T11:18:48,784 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,784 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,784 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,785 } 2022-04-13T11:18:48,785 ~ 2022-04-13T11:18:48,786 opStatus divide(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:48,787 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,787 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:48,787 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,788 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:48,788 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,789 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,789 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,790 return U.IEEE.divide(RHS.U.IEEE, RM); 2022-04-13T11:18:48,790 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,791 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,791 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,792 return U.Double.divide(RHS.U.Double, RM); 2022-04-13T11:18:48,792 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,793 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,793 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,793 } 2022-04-13T11:18:48,794 ~ 2022-04-13T11:18:48,794 opStatus remainder(const APFloat &RHS) { 2022-04-13T11:18:48,795 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,795 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:48,806 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,807 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:48,807 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,808 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,808 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,809 return U.IEEE.remainder(RHS.U.IEEE); 2022-04-13T11:18:48,809 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,810 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,810 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,811 return U.Double.remainder(RHS.U.Double); 2022-04-13T11:18:48,811 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,812 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,812 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,813 } 2022-04-13T11:18:48,813 ~ 2022-04-13T11:18:48,814 opStatus mod(const APFloat &RHS) { 2022-04-13T11:18:48,814 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,815 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:48,815 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,826 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:48,827 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,827 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,828 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,829 return U.IEEE.mod(RHS.U.IEEE); 2022-04-13T11:18:48,829 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,830 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,830 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,831 return U.Double.mod(RHS.U.Double); 2022-04-13T11:18:48,831 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,832 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,832 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,833 } 2022-04-13T11:18:48,833 ~ 2022-04-13T11:18:48,834 opStatus fusedMultiplyAdd(const APFloat &Multiplicand, const APFloat &Addend, 2022-04-13T11:18:48,834 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,835 roundingMode RM) { 2022-04-13T11:18:48,835 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,856 assert(&getSemantics() == &Multiplicand.getSemantics() && 2022-04-13T11:18:48,857 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,857 "Should only call on APFloats with the same semantics"); 2022-04-13T11:18:48,858 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,859 assert(&getSemantics() == &Addend.getSemantics() && 2022-04-13T11:18:48,859 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,860 "Should only call on APFloats with the same semantics"); 2022-04-13T11:18:48,860 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,861 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,861 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,862 return U.IEEE.fusedMultiplyAdd(Multiplicand.U.IEEE, Addend.U.IEEE, RM); 2022-04-13T11:18:48,863 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,863 if (usesLayout(getSemantics())) 2022-04-13T11:18:48,864 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,864 return U.Double.fusedMultiplyAdd(Multiplicand.U.Double, Addend.U.Double, 2022-04-13T11:18:48,865 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,865 RM); 2022-04-13T11:18:48,866 ~~~~ 2022-04-13T11:18:48,866 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:48,867 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,867 } 2022-04-13T11:18:48,868 ~ 2022-04-13T11:18:48,869 opStatus roundToIntegral(roundingMode RM) { 2022-04-13T11:18:48,869 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,870 APFLOAT_DISPATCH_ON_SEMANTICS(roundToIntegral(RM)); 2022-04-13T11:18:48,870 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,871 } 2022-04-13T11:18:48,871 ~ 2022-04-13T11:18:48,873 // TODO: bool parameters are not readable and a source of bugs. 2022-04-13T11:18:48,873 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,874 // Do something. 2022-04-13T11:18:48,874 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,875 opStatus next(bool nextDown) { 2022-04-13T11:18:48,876 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,876 APFLOAT_DISPATCH_ON_SEMANTICS(next(nextDown)); 2022-04-13T11:18:48,877 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,877 } 2022-04-13T11:18:48,878 ~ 2022-04-13T11:18:48,880 /// Negate an APFloat. 2022-04-13T11:18:48,880 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,881 APFloat operator-() const { 2022-04-13T11:18:48,881 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,882 APFloat Result(*this); 2022-04-13T11:18:48,882 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,883 Result.changeSign(); 2022-04-13T11:18:48,883 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,884 return Result; 2022-04-13T11:18:48,884 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,885 } 2022-04-13T11:18:48,885 ~ 2022-04-13T11:18:48,887 /// Add two APFloats, rounding ties to the nearest even. 2022-04-13T11:18:48,888 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,888 /// No error checking. 2022-04-13T11:18:48,889 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,889 APFloat operator+(const APFloat &RHS) const { 2022-04-13T11:18:48,890 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,890 APFloat Result(*this); 2022-04-13T11:18:48,891 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,891 (void)Result.add(RHS, rmNearestTiesToEven); 2022-04-13T11:18:48,892 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,892 return Result; 2022-04-13T11:18:48,893 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,894 } 2022-04-13T11:18:48,894 ~ 2022-04-13T11:18:48,896 /// Subtract two APFloats, rounding ties to the nearest even. 2022-04-13T11:18:48,897 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,897 /// No error checking. 2022-04-13T11:18:48,898 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,898 APFloat operator-(const APFloat &RHS) const { 2022-04-13T11:18:48,899 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,899 APFloat Result(*this); 2022-04-13T11:18:48,900 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,901 (void)Result.subtract(RHS, rmNearestTiesToEven); 2022-04-13T11:18:48,901 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,902 return Result; 2022-04-13T11:18:48,902 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,903 } 2022-04-13T11:18:48,903 ~ 2022-04-13T11:18:48,905 /// Multiply two APFloats, rounding ties to the nearest even. 2022-04-13T11:18:48,906 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,906 /// No error checking. 2022-04-13T11:18:48,907 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,907 APFloat operator*(const APFloat &RHS) const { 2022-04-13T11:18:48,908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,908 APFloat Result(*this); 2022-04-13T11:18:48,909 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,909 (void)Result.multiply(RHS, rmNearestTiesToEven); 2022-04-13T11:18:48,910 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,910 return Result; 2022-04-13T11:18:48,911 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,911 } 2022-04-13T11:18:48,912 ~ 2022-04-13T11:18:48,913 /// Divide the first APFloat by the second, rounding ties to the nearest even. 2022-04-13T11:18:48,914 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,914 /// No error checking. 2022-04-13T11:18:48,915 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,915 APFloat operator/(const APFloat &RHS) const { 2022-04-13T11:18:48,916 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,916 APFloat Result(*this); 2022-04-13T11:18:48,917 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,917 (void)Result.divide(RHS, rmNearestTiesToEven); 2022-04-13T11:18:48,918 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,918 return Result; 2022-04-13T11:18:48,919 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,919 } 2022-04-13T11:18:48,920 ~ 2022-04-13T11:18:48,921 void changeSign() { APFLOAT_DISPATCH_ON_SEMANTICS(changeSign()); } 2022-04-13T11:18:48,921 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,922 void clearSign() { 2022-04-13T11:18:48,922 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,923 if (isNegative()) 2022-04-13T11:18:48,923 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,924 changeSign(); 2022-04-13T11:18:48,924 ~~~~~~~~~~~~~ 2022-04-13T11:18:48,924 } 2022-04-13T11:18:48,925 ~ 2022-04-13T11:18:48,925 void copySign(const APFloat &RHS) { 2022-04-13T11:18:48,926 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,926 if (isNegative() != RHS.isNegative()) 2022-04-13T11:18:48,927 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,928 changeSign(); 2022-04-13T11:18:48,928 ~~~~~~~~~~~~~ 2022-04-13T11:18:48,929 } 2022-04-13T11:18:48,929 ~ 2022-04-13T11:18:48,931 /// A static helper to produce a copy of an APFloat value with its sign 2022-04-13T11:18:48,932 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,932 /// copied from some other APFloat. 2022-04-13T11:18:48,933 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,933 static APFloat copySign(APFloat Value, const APFloat &Sign) { 2022-04-13T11:18:48,934 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,934 Value.copySign(Sign); 2022-04-13T11:18:48,935 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,936 return Value; 2022-04-13T11:18:48,936 ~~~~~~~~~~~~~ 2022-04-13T11:18:48,937 } 2022-04-13T11:18:48,937 ~ 2022-04-13T11:18:48,939 opStatus convert(const fltSemantics &ToSemantics, roundingMode RM, 2022-04-13T11:18:48,940 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,940 bool *losesInfo); 2022-04-13T11:18:48,941 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,941 opStatus convertToInteger(MutableArrayRef Input, 2022-04-13T11:18:48,942 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,942 unsigned int Width, bool IsSigned, roundingMode RM, 2022-04-13T11:18:48,943 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,944 bool *IsExact) const { 2022-04-13T11:18:48,944 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,945 APFLOAT_DISPATCH_ON_SEMANTICS( 2022-04-13T11:18:48,946 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,946 convertToInteger(Input, Width, IsSigned, RM, IsExact)); 2022-04-13T11:18:48,947 ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,947 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/APFloat.h:27:21: note: in definition of macro ‘APFLOAT_DISPATCH_ON_SEMANTICS’ 2022-04-13T11:18:48,948 return U.IEEE.METHOD_CALL; \ 2022-04-13T11:18:48,949 ^~~~~~~~~~~ 2022-04-13T11:18:48,949 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/APFloat.h:1108:25: note: parameter passing for argument of type ‘llvm::MutableArrayRef’ changed in GCC 7.1 2022-04-13T11:18:48,950 return U.Double.METHOD_CALL; \ 2022-04-13T11:18:48,951 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,951 llvm_unreachable("Unexpected semantics"); \ 2022-04-13T11:18:48,952 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,953 } while (false) 2022-04-13T11:18:48,953 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,955 namespace llvm { 2022-04-13T11:18:48,956 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,958 struct fltSemantics; 2022-04-13T11:18:48,958 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,959 class APSInt; 2022-04-13T11:18:48,959 ~~~~~~~~~~~~~ 2022-04-13T11:18:48,960 class StringRef; 2022-04-13T11:18:48,961 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,962 class APFloat; 2022-04-13T11:18:48,962 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,963 class raw_ostream; 2022-04-13T11:18:48,964 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,965 template class Expected; 2022-04-13T11:18:48,966 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,966 template class SmallVectorImpl; 2022-04-13T11:18:48,967 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,968 /// Enum that represents what fraction of the LSB truncated bits of an fp number 2022-04-13T11:18:48,969 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,969 /// represent. 2022-04-13T11:18:48,970 ~~~~~~~~~~~~~~ 2022-04-13T11:18:48,970 /// 2022-04-13T11:18:48,971 ~~~ 2022-04-13T11:18:48,971 /// This essentially combines the roles of guard and sticky bits. 2022-04-13T11:18:48,972 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,972 enum lostFraction { // Example of truncated bits: 2022-04-13T11:18:48,973 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,973 lfExactlyZero, // 000000 2022-04-13T11:18:48,974 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,974 lfLessThanHalf, // 0xxxxx x's not all zero 2022-04-13T11:18:48,975 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,975 lfExactlyHalf, // 100000 2022-04-13T11:18:48,976 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,976 lfMoreThanHalf // 1xxxxx x's not all zero 2022-04-13T11:18:48,977 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,977 }; 2022-04-13T11:18:48,978 ~~ 2022-04-13T11:18:48,980 /// A self-contained host- and target-independent arbitrary-precision 2022-04-13T11:18:48,980 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,981 /// floating-point software implementation. 2022-04-13T11:18:48,981 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,982 /// 2022-04-13T11:18:48,982 ~~~ 2022-04-13T11:18:48,983 /// APFloat uses bignum integer arithmetic as provided by static functions in 2022-04-13T11:18:48,983 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,984 /// the APInt class. The library will work with bignum integers whose parts are 2022-04-13T11:18:48,985 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,985 /// any unsigned type at least 16 bits wide, but 64 bits is recommended. 2022-04-13T11:18:48,986 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,987 /// 2022-04-13T11:18:48,987 ~~~ 2022-04-13T11:18:48,988 /// Written for clarity rather than speed, in particular with a view to use in 2022-04-13T11:18:48,988 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,989 /// the front-end of a cross compiler so that target arithmetic can be correctly 2022-04-13T11:18:48,989 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,990 /// performed on the host. Performance should nonetheless be reasonable, 2022-04-13T11:18:48,991 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,991 /// particularly for its intended use. It may be useful as a base 2022-04-13T11:18:48,992 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,992 /// implementation for a run-time library during development of a faster 2022-04-13T11:18:48,993 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,993 /// target-specific one. 2022-04-13T11:18:48,994 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,995 /// 2022-04-13T11:18:48,995 ~~~ 2022-04-13T11:18:48,996 /// All 5 rounding modes in the IEEE-754R draft are handled correctly for all 2022-04-13T11:18:48,996 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,997 /// implemented operations. Currently implemented operations are add, subtract, 2022-04-13T11:18:48,997 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,998 /// multiply, divide, fused-multiply-add, conversion-to-float, 2022-04-13T11:18:48,998 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:48,999 /// conversion-to-integer and conversion-from-integer. New rounding modes 2022-04-13T11:18:48,999 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,000 /// (e.g. away from zero) can be added with three or four lines of code. 2022-04-13T11:18:49,001 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,001 /// 2022-04-13T11:18:49,002 ~~~ 2022-04-13T11:18:49,002 /// Four formats are built-in: IEEE single precision, double precision, 2022-04-13T11:18:49,003 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,003 /// quadruple precision, and x87 80-bit extended double (when operating with 2022-04-13T11:18:49,004 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,004 /// full extended precision). Adding a new format that obeys IEEE semantics 2022-04-13T11:18:49,004 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,005 /// only requires adding two lines of code: a declaration and definition of the 2022-04-13T11:18:49,005 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,006 /// format. 2022-04-13T11:18:49,006 ~~~~~~~~~~~ 2022-04-13T11:18:49,007 /// 2022-04-13T11:18:49,007 ~~~ 2022-04-13T11:18:49,008 /// All operations return the status of that operation as an exception bit-mask, 2022-04-13T11:18:49,008 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,009 /// so multiple operations can be done consecutively with their results or-ed 2022-04-13T11:18:49,009 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,010 /// together. The returned status can be useful for compiler diagnostics; e.g., 2022-04-13T11:18:49,010 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,010 /// inexact, underflow and overflow can be easily diagnosed on constant folding, 2022-04-13T11:18:49,011 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,011 /// and compiler optimizers can determine what exceptions would be raised by 2022-04-13T11:18:49,012 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,012 /// folding operations and optimize, or perhaps not optimize, accordingly. 2022-04-13T11:18:49,013 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,013 /// 2022-04-13T11:18:49,014 ~~~ 2022-04-13T11:18:49,014 /// At present, underflow tininess is detected after rounding; it should be 2022-04-13T11:18:49,015 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,015 /// straight forward to add support for the before-rounding case too. 2022-04-13T11:18:49,016 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,016 /// 2022-04-13T11:18:49,017 ~~~ 2022-04-13T11:18:49,018 /// The library reads hexadecimal floating point numbers as per C99, and 2022-04-13T11:18:49,018 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,019 /// correctly rounds if necessary according to the specified rounding mode. 2022-04-13T11:18:49,019 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,020 /// Syntax is required to have been validated by the caller. It also converts 2022-04-13T11:18:49,020 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,021 /// floating point numbers to hexadecimal text as per the C99 %a and %A 2022-04-13T11:18:49,021 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,022 /// conversions. The output precision (or alternatively the natural minimal 2022-04-13T11:18:49,022 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,023 /// precision) can be specified; if the requested precision is less than the 2022-04-13T11:18:49,023 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,024 /// natural precision the output is correctly rounded for the specified rounding 2022-04-13T11:18:49,024 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,025 /// mode. 2022-04-13T11:18:49,025 ~~~~~~~~~ 2022-04-13T11:18:49,026 /// 2022-04-13T11:18:49,026 ~~~ 2022-04-13T11:18:49,027 /// It also reads decimal floating point numbers and correctly rounds according 2022-04-13T11:18:49,027 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,028 /// to the specified rounding mode. 2022-04-13T11:18:49,028 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,029 /// 2022-04-13T11:18:49,029 ~~~ 2022-04-13T11:18:49,030 /// Conversion to decimal text is not currently implemented. 2022-04-13T11:18:49,031 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,031 /// 2022-04-13T11:18:49,032 ~~~ 2022-04-13T11:18:49,032 /// Non-zero finite numbers are represented internally as a sign bit, a 16-bit 2022-04-13T11:18:49,033 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,033 /// signed exponent, and the significand as an array of integer parts. After 2022-04-13T11:18:49,034 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,034 /// normalization of a number of precision P the exponent is within the range of 2022-04-13T11:18:49,035 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,035 /// the format, and if the number is not denormal the P-th bit of the 2022-04-13T11:18:49,036 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,036 /// significand is set as an explicit integer bit. For denormals the most 2022-04-13T11:18:49,037 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,037 /// significant bit is shifted right so that the exponent is maintained at the 2022-04-13T11:18:49,038 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,039 /// format's minimum, so that the smallest denormal has just the least 2022-04-13T11:18:49,039 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,040 /// significant bit of the significand set. The sign of zeroes and infinities 2022-04-13T11:18:49,040 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,041 /// is significant; the exponent and significand of such numbers is not stored, 2022-04-13T11:18:49,041 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,042 /// but has a known implicit (deterministic) value: 0 for the significands, 0 2022-04-13T11:18:49,042 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,043 /// for zero exponent, all 1 bits for infinity exponent. For NaNs the sign and 2022-04-13T11:18:49,043 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,044 /// significand are deterministic, although not really meaningful, and preserved 2022-04-13T11:18:49,045 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,045 /// in non-conversion operations. The exponent is implicitly all 1 bits. 2022-04-13T11:18:49,046 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,046 /// 2022-04-13T11:18:49,047 ~~~ 2022-04-13T11:18:49,047 /// APFloat does not provide any exception handling beyond default exception 2022-04-13T11:18:49,048 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,048 /// handling. We represent Signaling NaNs via IEEE-754R 2008 6.2.1 should clause 2022-04-13T11:18:49,049 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,049 /// by encoding Signaling NaNs with the first bit of its trailing significand as 2022-04-13T11:18:49,050 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,050 /// 0. 2022-04-13T11:18:49,051 ~~~~~~ 2022-04-13T11:18:49,051 /// 2022-04-13T11:18:49,052 ~~~ 2022-04-13T11:18:49,052 /// TODO 2022-04-13T11:18:49,053 ~~~~~~~~ 2022-04-13T11:18:49,053 /// ==== 2022-04-13T11:18:49,054 ~~~~~~~~ 2022-04-13T11:18:49,054 /// 2022-04-13T11:18:49,054 ~~~ 2022-04-13T11:18:49,055 /// Some features that may or may not be worth adding: 2022-04-13T11:18:49,056 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,056 /// 2022-04-13T11:18:49,057 ~~~ 2022-04-13T11:18:49,057 /// Binary to decimal conversion (hard). 2022-04-13T11:18:49,058 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,059 /// 2022-04-13T11:18:49,059 ~~~ 2022-04-13T11:18:49,060 /// Optional ability to detect underflow tininess before rounding. 2022-04-13T11:18:49,060 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,061 /// 2022-04-13T11:18:49,061 ~~~ 2022-04-13T11:18:49,062 /// New formats: x87 in single and double precision mode (IEEE apart from 2022-04-13T11:18:49,062 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,063 /// extended exponent range) (hard). 2022-04-13T11:18:49,063 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,064 /// 2022-04-13T11:18:49,064 ~~~ 2022-04-13T11:18:49,065 /// New operations: sqrt, IEEE remainder, C90 fmod, nexttoward. 2022-04-13T11:18:49,065 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,066 /// 2022-04-13T11:18:49,067 ~~~ 2022-04-13T11:18:49,068 // This is the common type definitions shared by APFloat and its internal 2022-04-13T11:18:49,069 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,069 // implementation classes. This struct should not define any non-static data 2022-04-13T11:18:49,070 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,070 // members. 2022-04-13T11:18:49,070 ~~~~~~~~~~~ 2022-04-13T11:18:49,071 struct APFloatBase { 2022-04-13T11:18:49,071 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,072 typedef APInt::WordType integerPart; 2022-04-13T11:18:49,073 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,073 static constexpr unsigned integerPartWidth = APInt::APINT_BITS_PER_WORD; 2022-04-13T11:18:49,074 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,075 /// A signed type to represent a floating point numbers unbiased exponent. 2022-04-13T11:18:49,076 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,077 typedef int32_t ExponentType; 2022-04-13T11:18:49,077 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,079 /// \name Floating Point Semantics. 2022-04-13T11:18:49,079 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,080 /// @{ 2022-04-13T11:18:49,080 ~~~~~~ 2022-04-13T11:18:49,081 enum Semantics { 2022-04-13T11:18:49,082 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,082 S_IEEEhalf, 2022-04-13T11:18:49,083 ~~~~~~~~~~~ 2022-04-13T11:18:49,083 S_BFloat, 2022-04-13T11:18:49,084 ~~~~~~~~~ 2022-04-13T11:18:49,084 S_IEEEsingle, 2022-04-13T11:18:49,085 ~~~~~~~~~~~~~ 2022-04-13T11:18:49,085 S_IEEEdouble, 2022-04-13T11:18:49,086 ~~~~~~~~~~~~~ 2022-04-13T11:18:49,087 S_x87DoubleExtended, 2022-04-13T11:18:49,087 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,088 S_IEEEquad, 2022-04-13T11:18:49,088 ~~~~~~~~~~~ 2022-04-13T11:18:49,089 S_PPCDoubleDouble 2022-04-13T11:18:49,089 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,089 }; 2022-04-13T11:18:49,090 ~~ 2022-04-13T11:18:49,091 static const llvm::fltSemantics &EnumToSemantics(Semantics S); 2022-04-13T11:18:49,092 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,092 static Semantics SemanticsToEnum(const llvm::fltSemantics &Sem); 2022-04-13T11:18:49,093 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,095 static const fltSemantics &IEEEhalf() LLVM_READNONE; 2022-04-13T11:18:49,095 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,096 static const fltSemantics &BFloat() LLVM_READNONE; 2022-04-13T11:18:49,096 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,096 static const fltSemantics &IEEEsingle() LLVM_READNONE; 2022-04-13T11:18:49,097 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,097 static const fltSemantics &IEEEdouble() LLVM_READNONE; 2022-04-13T11:18:49,098 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,098 static const fltSemantics &IEEEquad() LLVM_READNONE; 2022-04-13T11:18:49,099 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,099 static const fltSemantics &PPCDoubleDouble() LLVM_READNONE; 2022-04-13T11:18:49,099 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,100 static const fltSemantics &x87DoubleExtended() LLVM_READNONE; 2022-04-13T11:18:49,100 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,102 /// A Pseudo fltsemantic used to construct APFloats that cannot conflict with 2022-04-13T11:18:49,102 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,103 /// anything real. 2022-04-13T11:18:49,103 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,103 static const fltSemantics &Bogus() LLVM_READNONE; 2022-04-13T11:18:49,104 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,105 /// @} 2022-04-13T11:18:49,106 ~~~~~~ 2022-04-13T11:18:49,107 /// IEEE-754R 5.11: Floating Point Comparison Relations. 2022-04-13T11:18:49,107 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,108 enum cmpResult { 2022-04-13T11:18:49,108 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,109 cmpLessThan, 2022-04-13T11:18:49,109 ~~~~~~~~~~~~ 2022-04-13T11:18:49,110 cmpEqual, 2022-04-13T11:18:49,110 ~~~~~~~~~ 2022-04-13T11:18:49,111 cmpGreaterThan, 2022-04-13T11:18:49,111 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,112 cmpUnordered 2022-04-13T11:18:49,112 ~~~~~~~~~~~~ 2022-04-13T11:18:49,113 }; 2022-04-13T11:18:49,113 ~~ 2022-04-13T11:18:49,114 /// IEEE-754R 4.3: Rounding-direction attributes. 2022-04-13T11:18:49,115 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,115 using roundingMode = llvm::RoundingMode; 2022-04-13T11:18:49,115 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,117 static constexpr roundingMode rmNearestTiesToEven = 2022-04-13T11:18:49,117 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,117 RoundingMode::NearestTiesToEven; 2022-04-13T11:18:49,118 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,118 static constexpr roundingMode rmTowardPositive = RoundingMode::TowardPositive; 2022-04-13T11:18:49,119 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,119 static constexpr roundingMode rmTowardNegative = RoundingMode::TowardNegative; 2022-04-13T11:18:49,119 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,120 static constexpr roundingMode rmTowardZero = RoundingMode::TowardZero; 2022-04-13T11:18:49,120 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,120 static constexpr roundingMode rmNearestTiesToAway = 2022-04-13T11:18:49,121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,121 RoundingMode::NearestTiesToAway; 2022-04-13T11:18:49,121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,123 /// IEEE-754R 7: Default exception handling. 2022-04-13T11:18:49,123 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,123 /// 2022-04-13T11:18:49,124 ~~~ 2022-04-13T11:18:49,124 /// opUnderflow or opOverflow are always returned or-ed with opInexact. 2022-04-13T11:18:49,125 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,125 /// 2022-04-13T11:18:49,125 ~~~ 2022-04-13T11:18:49,126 /// APFloat models this behavior specified by IEEE-754: 2022-04-13T11:18:49,136 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,137 /// "For operations producing results in floating-point format, the default 2022-04-13T11:18:49,137 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,138 /// result of an operation that signals the invalid operation exception 2022-04-13T11:18:49,138 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,138 /// shall be a quiet NaN." 2022-04-13T11:18:49,139 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,139 enum opStatus { 2022-04-13T11:18:49,140 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,140 opOK = 0x00, 2022-04-13T11:18:49,140 ~~~~~~~~~~~~ 2022-04-13T11:18:49,141 opInvalidOp = 0x01, 2022-04-13T11:18:49,141 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,142 opDivByZero = 0x02, 2022-04-13T11:18:49,142 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,142 opOverflow = 0x04, 2022-04-13T11:18:49,143 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,143 opUnderflow = 0x08, 2022-04-13T11:18:49,144 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,144 opInexact = 0x10 2022-04-13T11:18:49,144 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,145 }; 2022-04-13T11:18:49,145 ~~ 2022-04-13T11:18:49,147 /// Category of internally-represented number. 2022-04-13T11:18:49,147 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,148 enum fltCategory { 2022-04-13T11:18:49,149 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,149 fcInfinity, 2022-04-13T11:18:49,150 ~~~~~~~~~~~ 2022-04-13T11:18:49,150 fcNaN, 2022-04-13T11:18:49,151 ~~~~~~ 2022-04-13T11:18:49,151 fcNormal, 2022-04-13T11:18:49,152 ~~~~~~~~~ 2022-04-13T11:18:49,152 fcZero 2022-04-13T11:18:49,153 ~~~~~~ 2022-04-13T11:18:49,153 }; 2022-04-13T11:18:49,154 ~~ 2022-04-13T11:18:49,155 /// Convenience enum used to construct an uninitialized APFloat. 2022-04-13T11:18:49,156 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,157 enum uninitializedTag { 2022-04-13T11:18:49,157 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,158 uninitialized 2022-04-13T11:18:49,158 ~~~~~~~~~~~~~ 2022-04-13T11:18:49,159 }; 2022-04-13T11:18:49,159 ~~ 2022-04-13T11:18:49,161 /// Enumeration of \c ilogb error results. 2022-04-13T11:18:49,161 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,161 enum IlogbErrorKinds { 2022-04-13T11:18:49,162 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,162 IEK_Zero = INT_MIN + 1, 2022-04-13T11:18:49,163 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,163 IEK_NaN = INT_MIN, 2022-04-13T11:18:49,164 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,164 IEK_Inf = INT_MAX 2022-04-13T11:18:49,165 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,165 }; 2022-04-13T11:18:49,166 ~~ 2022-04-13T11:18:49,167 static unsigned int semanticsPrecision(const fltSemantics &); 2022-04-13T11:18:49,168 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,168 static ExponentType semanticsMinExponent(const fltSemantics &); 2022-04-13T11:18:49,169 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,169 static ExponentType semanticsMaxExponent(const fltSemantics &); 2022-04-13T11:18:49,170 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,171 static unsigned int semanticsSizeInBits(const fltSemantics &); 2022-04-13T11:18:49,173 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,174 /// Returns the size of the floating point number (in bits) in the given 2022-04-13T11:18:49,174 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,175 /// semantics. 2022-04-13T11:18:49,175 ~~~~~~~~~~~~~~ 2022-04-13T11:18:49,176 static unsigned getSizeInBits(const fltSemantics &Sem); 2022-04-13T11:18:49,176 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,177 }; 2022-04-13T11:18:49,177 ~~ 2022-04-13T11:18:49,179 namespace detail { 2022-04-13T11:18:49,179 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,181 class IEEEFloat final : public APFloatBase { 2022-04-13T11:18:49,181 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,182 public: 2022-04-13T11:18:49,182 ~~~~~~~ 2022-04-13T11:18:49,183 /// \name Constructors 2022-04-13T11:18:49,183 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,184 /// @{ 2022-04-13T11:18:49,184 ~~~~~~ 2022-04-13T11:18:49,186 IEEEFloat(const fltSemantics &); // Default construct to +0.0 2022-04-13T11:18:49,187 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,189 IEEEFloat(const fltSemantics &, integerPart); 2022-04-13T11:18:49,191 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,191 IEEEFloat(const fltSemantics &, uninitializedTag); 2022-04-13T11:18:49,192 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,193 IEEEFloat(const fltSemantics &, const APInt &); 2022-04-13T11:18:49,193 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,194 explicit IEEEFloat(double d); 2022-04-13T11:18:49,194 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,195 explicit IEEEFloat(float f); 2022-04-13T11:18:49,195 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,196 IEEEFloat(const IEEEFloat &); 2022-04-13T11:18:49,196 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,197 IEEEFloat(IEEEFloat &&); 2022-04-13T11:18:49,197 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,198 ~IEEEFloat(); 2022-04-13T11:18:49,198 ~~~~~~~~~~~~~ 2022-04-13T11:18:49,200 /// @} 2022-04-13T11:18:49,200 ~~~~~~ 2022-04-13T11:18:49,202 /// Returns whether this instance allocated memory. 2022-04-13T11:18:49,202 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,203 bool needsCleanup() const { return partCount() > 1; } 2022-04-13T11:18:49,203 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,205 /// \name Convenience "constructors" 2022-04-13T11:18:49,205 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,205 /// @{ 2022-04-13T11:18:49,207 ~~~~~~ 2022-04-13T11:18:49,217 /// @} 2022-04-13T11:18:49,217 ~~~~~~ 2022-04-13T11:18:49,219 /// \name Arithmetic 2022-04-13T11:18:49,219 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,220 /// @{ 2022-04-13T11:18:49,220 ~~~~~~ 2022-04-13T11:18:49,222 opStatus add(const IEEEFloat &, roundingMode); 2022-04-13T11:18:49,222 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,223 opStatus subtract(const IEEEFloat &, roundingMode); 2022-04-13T11:18:49,223 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,224 opStatus multiply(const IEEEFloat &, roundingMode); 2022-04-13T11:18:49,224 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,225 opStatus divide(const IEEEFloat &, roundingMode); 2022-04-13T11:18:49,226 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,227 /// IEEE remainder. 2022-04-13T11:18:49,234 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,235 opStatus remainder(const IEEEFloat &); 2022-04-13T11:18:49,236 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,237 /// C fmod, or llvm frem. 2022-04-13T11:18:49,237 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,237 opStatus mod(const IEEEFloat &); 2022-04-13T11:18:49,238 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,238 opStatus fusedMultiplyAdd(const IEEEFloat &, const IEEEFloat &, roundingMode); 2022-04-13T11:18:49,239 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,239 opStatus roundToIntegral(roundingMode); 2022-04-13T11:18:49,240 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,240 /// IEEE-754R 5.3.1: nextUp/nextDown. 2022-04-13T11:18:49,241 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,241 opStatus next(bool nextDown); 2022-04-13T11:18:49,242 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,243 /// @} 2022-04-13T11:18:49,244 ~~~~~~ 2022-04-13T11:18:49,245 /// \name Sign operations. 2022-04-13T11:18:49,246 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,247 /// @{ 2022-04-13T11:18:49,247 ~~~~~~ 2022-04-13T11:18:49,249 void changeSign(); 2022-04-13T11:18:49,249 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,251 /// @} 2022-04-13T11:18:49,251 ~~~~~~ 2022-04-13T11:18:49,253 /// \name Conversions 2022-04-13T11:18:49,253 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,254 /// @{ 2022-04-13T11:18:49,254 ~~~~~~ 2022-04-13T11:18:49,256 opStatus convert(const fltSemantics &, roundingMode, bool *); 2022-04-13T11:18:49,259 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,263 opStatus convertToInteger(MutableArrayRef, unsigned int, bool, 2022-04-13T11:18:49,271 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,272 roundingMode, bool *) const; 2022-04-13T11:18:49,272 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,273 opStatus convertFromAPInt(const APInt &, bool, roundingMode); 2022-04-13T11:18:49,274 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,274 opStatus convertFromSignExtendedInteger(const integerPart *, unsigned int, 2022-04-13T11:18:49,275 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,275 bool, roundingMode); 2022-04-13T11:18:49,276 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,276 opStatus convertFromZeroExtendedInteger(const integerPart *, unsigned int, 2022-04-13T11:18:49,277 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,278 bool, roundingMode); 2022-04-13T11:18:49,278 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,279 Expected convertFromString(StringRef, roundingMode); 2022-04-13T11:18:49,279 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,280 APInt bitcastToAPInt() const; 2022-04-13T11:18:49,280 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,281 double convertToDouble() const; 2022-04-13T11:18:49,281 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,282 float convertToFloat() const; 2022-04-13T11:18:49,283 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,284 /// @} 2022-04-13T11:18:49,285 ~~~~~~ 2022-04-13T11:18:49,305 /// The definition of equality is not straightforward for floating point, so 2022-04-13T11:18:49,305 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,306 /// we won't use operator==. Use one of the following, or write whatever it 2022-04-13T11:18:49,307 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,307 /// is you really mean. 2022-04-13T11:18:49,307 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,308 bool operator==(const IEEEFloat &) const = delete; 2022-04-13T11:18:49,309 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,310 /// IEEE comparison with another floating point number (NaNs compare 2022-04-13T11:18:49,311 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,311 /// unordered, 0==-0). 2022-04-13T11:18:49,312 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,312 cmpResult compare(const IEEEFloat &) const; 2022-04-13T11:18:49,312 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,314 /// Bitwise comparison for equality (QNaNs compare equal, 0!=-0). 2022-04-13T11:18:49,314 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,315 bool bitwiseIsEqual(const IEEEFloat &) const; 2022-04-13T11:18:49,315 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,337 /// Write out a hexadecimal representation of the floating point value to DST, 2022-04-13T11:18:49,337 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,338 /// which must be of sufficient size, in the C99 form [-]0xh.hhhhp[+-]d. 2022-04-13T11:18:49,339 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,339 /// Return the number of characters written, excluding the terminating NUL. 2022-04-13T11:18:49,340 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,340 unsigned int convertToHexString(char *dst, unsigned int hexDigits, 2022-04-13T11:18:49,341 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,341 bool upperCase, roundingMode) const; 2022-04-13T11:18:49,342 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,344 /// \name IEEE-754R 5.7.2 General operations. 2022-04-13T11:18:49,344 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,345 /// @{ 2022-04-13T11:18:49,345 ~~~~~~ 2022-04-13T11:18:49,367 /// IEEE-754R isSignMinus: Returns true if and only if the current value is 2022-04-13T11:18:49,367 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,368 /// negative. 2022-04-13T11:18:49,368 ~~~~~~~~~~~~~ 2022-04-13T11:18:49,369 /// 2022-04-13T11:18:49,369 ~~~ 2022-04-13T11:18:49,370 /// This applies to zeros and NaNs as well. 2022-04-13T11:18:49,370 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,371 bool isNegative() const { return sign; } 2022-04-13T11:18:49,371 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,373 /// IEEE-754R isNormal: Returns true if and only if the current value is normal. 2022-04-13T11:18:49,373 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,373 /// 2022-04-13T11:18:49,374 ~~~ 2022-04-13T11:18:49,374 /// This implies that the current value of the float is not zero, subnormal, 2022-04-13T11:18:49,375 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,376 /// infinite, or NaN following the definition of normality from IEEE-754R. 2022-04-13T11:18:49,396 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,397 bool isNormal() const { return !isDenormal() && isFiniteNonZero(); } 2022-04-13T11:18:49,398 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,399 /// Returns true if and only if the current value is zero, subnormal, or 2022-04-13T11:18:49,400 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,401 /// normal. 2022-04-13T11:18:49,401 ~~~~~~~~~~~ 2022-04-13T11:18:49,402 /// 2022-04-13T11:18:49,402 ~~~ 2022-04-13T11:18:49,402 /// This means that the value is not infinite or NaN. 2022-04-13T11:18:49,403 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,403 bool isFinite() const { return !isNaN() && !isInfinity(); } 2022-04-13T11:18:49,404 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,405 /// Returns true if and only if the float is plus or minus zero. 2022-04-13T11:18:49,406 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,416 bool isZero() const { return category == fcZero; } 2022-04-13T11:18:49,417 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,419 /// IEEE-754R isSubnormal(): Returns true if and only if the float is a 2022-04-13T11:18:49,419 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,420 /// denormal. 2022-04-13T11:18:49,420 ~~~~~~~~~~~~~ 2022-04-13T11:18:49,421 bool isDenormal() const; 2022-04-13T11:18:49,421 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,423 /// IEEE-754R isInfinite(): Returns true if and only if the float is infinity. 2022-04-13T11:18:49,424 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,424 bool isInfinity() const { return category == fcInfinity; } 2022-04-13T11:18:49,425 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,429 /// Returns true if and only if the float is a quiet or signaling NaN. 2022-04-13T11:18:49,430 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,430 bool isNaN() const { return category == fcNaN; } 2022-04-13T11:18:49,431 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,433 /// Returns true if and only if the float is a signaling NaN. 2022-04-13T11:18:49,433 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,434 bool isSignaling() const; 2022-04-13T11:18:49,434 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,436 /// @} 2022-04-13T11:18:49,436 ~~~~~~ 2022-04-13T11:18:49,438 /// \name Simple Queries 2022-04-13T11:18:49,438 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,439 /// @{ 2022-04-13T11:18:49,439 ~~~~~~ 2022-04-13T11:18:49,441 fltCategory getCategory() const { return category; } 2022-04-13T11:18:49,441 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,442 const fltSemantics &getSemantics() const { return *semantics; } 2022-04-13T11:18:49,443 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,443 bool isNonZero() const { return category != fcZero; } 2022-04-13T11:18:49,444 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,444 bool isFiniteNonZero() const { return isFinite() && !isZero(); } 2022-04-13T11:18:49,445 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,445 bool isPosZero() const { return isZero() && !isNegative(); } 2022-04-13T11:18:49,446 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,466 bool isNegZero() const { return isZero() && isNegative(); } 2022-04-13T11:18:49,467 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,469 /// Returns true if and only if the number has the smallest possible non-zero 2022-04-13T11:18:49,469 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,470 /// magnitude in the current semantics. 2022-04-13T11:18:49,470 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,471 bool isSmallest() const; 2022-04-13T11:18:49,471 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,473 /// Returns true if and only if the number has the largest possible finite 2022-04-13T11:18:49,473 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,474 /// magnitude in the current semantics. 2022-04-13T11:18:49,474 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,475 bool isLargest() const; 2022-04-13T11:18:49,476 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,487 /// Returns true if and only if the number is an exact integer. 2022-04-13T11:18:49,488 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,489 bool isInteger() const; 2022-04-13T11:18:49,489 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,490 /// @} 2022-04-13T11:18:49,491 ~~~~~~ 2022-04-13T11:18:49,492 IEEEFloat &operator=(const IEEEFloat &); 2022-04-13T11:18:49,493 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,493 IEEEFloat &operator=(IEEEFloat &&); 2022-04-13T11:18:49,494 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,495 /// Overload to compute a hash code for an APFloat value. 2022-04-13T11:18:49,496 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,503 /// 2022-04-13T11:18:49,503 ~~~ 2022-04-13T11:18:49,504 /// Note that the use of hash codes for floating point values is in general 2022-04-13T11:18:49,504 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,505 /// frought with peril. Equality is hard to define for these values. For 2022-04-13T11:18:49,505 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,506 /// example, should negative and positive zero hash to different codes? Are 2022-04-13T11:18:49,516 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,517 /// they equal or not? This hash value implementation specifically 2022-04-13T11:18:49,518 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,518 /// emphasizes producing different codes for different inputs in order to 2022-04-13T11:18:49,519 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,519 /// be used in canonicalization and memoization. As such, equality is 2022-04-13T11:18:49,520 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,520 /// bitwiseIsEqual, and 0 != -0. 2022-04-13T11:18:49,521 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,521 friend hash_code hash_value(const IEEEFloat &Arg); 2022-04-13T11:18:49,522 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,523 /// Converts this value into a decimal string. 2022-04-13T11:18:49,524 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,524 /// 2022-04-13T11:18:49,525 ~~~ 2022-04-13T11:18:49,525 /// \param FormatPrecision The maximum number of digits of 2022-04-13T11:18:49,525 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,526 /// precision to output. If there are fewer digits available, 2022-04-13T11:18:49,547 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,547 /// zero padding will not be used unless the value is 2022-04-13T11:18:49,548 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,548 /// integral and small enough to be expressed in 2022-04-13T11:18:49,549 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,549 /// FormatPrecision digits. 0 means to use the natural 2022-04-13T11:18:49,550 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,551 /// precision of the number. 2022-04-13T11:18:49,551 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,552 /// \param FormatMaxPadding The maximum number of zeros to 2022-04-13T11:18:49,552 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,553 /// consider inserting before falling back to scientific 2022-04-13T11:18:49,553 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,554 /// notation. 0 means to always use scientific notation. 2022-04-13T11:18:49,554 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,555 /// 2022-04-13T11:18:49,555 ~~~ 2022-04-13T11:18:49,556 /// \param TruncateZero Indicate whether to remove the trailing zero in 2022-04-13T11:18:49,574 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,577 /// fraction part or not. Also setting this parameter to false forcing 2022-04-13T11:18:49,578 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,578 /// producing of output more similar to default printf behavior. 2022-04-13T11:18:49,579 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,580 /// Specifically the lower e is used as exponent delimiter and exponent 2022-04-13T11:18:49,581 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,581 /// always contains no less than two digits. 2022-04-13T11:18:49,582 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,582 /// 2022-04-13T11:18:49,583 ~~~ 2022-04-13T11:18:49,583 /// Number Precision MaxPadding Result 2022-04-13T11:18:49,584 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,584 /// ------ --------- ---------- ------ 2022-04-13T11:18:49,585 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,586 /// 1.01E+4 5 2 10100 2022-04-13T11:18:49,587 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,593 /// 1.01E+4 4 2 1.01E+4 2022-04-13T11:18:49,603 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,604 /// 1.01E+4 5 1 1.01E+4 2022-04-13T11:18:49,605 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,605 /// 1.01E-2 5 2 0.0101 2022-04-13T11:18:49,606 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,607 /// 1.01E-2 4 2 0.0101 2022-04-13T11:18:49,608 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,608 /// 1.01E-2 4 1 1.01E-2 2022-04-13T11:18:49,609 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,609 void toString(SmallVectorImpl &Str, unsigned FormatPrecision = 0, 2022-04-13T11:18:49,610 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,610 unsigned FormatMaxPadding = 3, bool TruncateZero = true) const; 2022-04-13T11:18:49,611 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,612 /// If this value has an exact multiplicative inverse, store it in inv and 2022-04-13T11:18:49,613 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,613 /// return true. 2022-04-13T11:18:49,614 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,614 bool getExactInverse(APFloat *inv) const; 2022-04-13T11:18:49,615 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,627 /// Returns the exponent of the internal representation of the APFloat. 2022-04-13T11:18:49,627 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,628 /// 2022-04-13T11:18:49,628 ~~~ 2022-04-13T11:18:49,629 /// Because the radix of APFloat is 2, this is equivalent to floor(log2(x)). 2022-04-13T11:18:49,629 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,630 /// For special APFloat values, this returns special error codes: 2022-04-13T11:18:49,630 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,631 /// 2022-04-13T11:18:49,631 ~~~ 2022-04-13T11:18:49,632 /// NaN -> \c IEK_NaN 2022-04-13T11:18:49,632 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,633 /// 0 -> \c IEK_Zero 2022-04-13T11:18:49,633 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,633 /// Inf -> \c IEK_Inf 2022-04-13T11:18:49,634 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,634 /// 2022-04-13T11:18:49,635 ~~~ 2022-04-13T11:18:49,635 friend int ilogb(const IEEEFloat &Arg); 2022-04-13T11:18:49,636 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,653 /// Returns: X * 2^Exp for integral exponents. 2022-04-13T11:18:49,654 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,654 friend IEEEFloat scalbn(IEEEFloat X, int Exp, roundingMode); 2022-04-13T11:18:49,655 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,656 friend IEEEFloat frexp(const IEEEFloat &X, int &Exp, roundingMode); 2022-04-13T11:18:49,657 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,659 /// \name Special value setters. 2022-04-13T11:18:49,659 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,660 /// @{ 2022-04-13T11:18:49,660 ~~~~~~ 2022-04-13T11:18:49,662 void makeLargest(bool Neg = false); 2022-04-13T11:18:49,662 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,663 void makeSmallest(bool Neg = false); 2022-04-13T11:18:49,663 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,664 void makeNaN(bool SNaN = false, bool Neg = false, 2022-04-13T11:18:49,664 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,665 const APInt *fill = nullptr); 2022-04-13T11:18:49,665 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,666 void makeInf(bool Neg = false); 2022-04-13T11:18:49,667 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,667 void makeZero(bool Neg = false); 2022-04-13T11:18:49,668 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,668 void makeQuiet(); 2022-04-13T11:18:49,669 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,670 /// Returns the smallest (by magnitude) normalized finite number in the given 2022-04-13T11:18:49,671 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,671 /// semantics. 2022-04-13T11:18:49,672 ~~~~~~~~~~~~~~ 2022-04-13T11:18:49,672 /// 2022-04-13T11:18:49,673 ~~~ 2022-04-13T11:18:49,674 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:49,675 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,675 void makeSmallestNormalized(bool Negative = false); 2022-04-13T11:18:49,675 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,677 /// @} 2022-04-13T11:18:49,678 ~~~~~~ 2022-04-13T11:18:49,679 cmpResult compareAbsoluteValue(const IEEEFloat &) const; 2022-04-13T11:18:49,680 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,681 private: 2022-04-13T11:18:49,682 ~~~~~~~~ 2022-04-13T11:18:49,685 /// \name Simple Queries 2022-04-13T11:18:49,685 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,686 /// @{ 2022-04-13T11:18:49,687 ~~~~~~ 2022-04-13T11:18:49,688 integerPart *significandParts(); 2022-04-13T11:18:49,689 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,689 const integerPart *significandParts() const; 2022-04-13T11:18:49,690 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,691 unsigned int partCount() const; 2022-04-13T11:18:49,691 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,693 /// @} 2022-04-13T11:18:49,693 ~~~~~~ 2022-04-13T11:18:49,695 /// \name Significand operations. 2022-04-13T11:18:49,695 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,696 /// @{ 2022-04-13T11:18:49,714 ~~~~~~ 2022-04-13T11:18:49,716 integerPart addSignificand(const IEEEFloat &); 2022-04-13T11:18:49,716 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,717 integerPart subtractSignificand(const IEEEFloat &, integerPart); 2022-04-13T11:18:49,717 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,718 lostFraction addOrSubtractSignificand(const IEEEFloat &, bool subtract); 2022-04-13T11:18:49,719 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,719 lostFraction multiplySignificand(const IEEEFloat &, IEEEFloat); 2022-04-13T11:18:49,720 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,720 lostFraction multiplySignificand(const IEEEFloat&); 2022-04-13T11:18:49,720 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,721 lostFraction divideSignificand(const IEEEFloat &); 2022-04-13T11:18:49,722 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,722 void incrementSignificand(); 2022-04-13T11:18:49,722 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,723 void initialize(const fltSemantics *); 2022-04-13T11:18:49,724 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,724 void shiftSignificandLeft(unsigned int); 2022-04-13T11:18:49,725 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,725 lostFraction shiftSignificandRight(unsigned int); 2022-04-13T11:18:49,726 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,726 unsigned int significandLSB() const; 2022-04-13T11:18:49,727 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,727 unsigned int significandMSB() const; 2022-04-13T11:18:49,728 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,728 void zeroSignificand(); 2022-04-13T11:18:49,729 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,730 /// Return true if the significand excluding the integral bit is all ones. 2022-04-13T11:18:49,730 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,731 bool isSignificandAllOnes() const; 2022-04-13T11:18:49,731 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,734 /// Return true if the significand excluding the integral bit is all zeros. 2022-04-13T11:18:49,740 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,743 bool isSignificandAllZeros() const; 2022-04-13T11:18:49,744 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,745 /// @} 2022-04-13T11:18:49,746 ~~~~~~ 2022-04-13T11:18:49,758 /// \name Arithmetic on special values. 2022-04-13T11:18:49,759 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,759 /// @{ 2022-04-13T11:18:49,760 ~~~~~~ 2022-04-13T11:18:49,761 opStatus addOrSubtractSpecials(const IEEEFloat &, bool subtract); 2022-04-13T11:18:49,762 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,762 opStatus divideSpecials(const IEEEFloat &); 2022-04-13T11:18:49,763 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,763 opStatus multiplySpecials(const IEEEFloat &); 2022-04-13T11:18:49,764 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,764 opStatus modSpecials(const IEEEFloat &); 2022-04-13T11:18:49,765 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,765 opStatus remainderSpecials(const IEEEFloat&); 2022-04-13T11:18:49,766 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,778 /// @} 2022-04-13T11:18:49,779 ~~~~~~ 2022-04-13T11:18:49,780 /// \name Miscellany 2022-04-13T11:18:49,781 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,781 /// @{ 2022-04-13T11:18:49,782 ~~~~~~ 2022-04-13T11:18:49,784 bool convertFromStringSpecials(StringRef str); 2022-04-13T11:18:49,784 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,785 opStatus normalize(roundingMode, lostFraction); 2022-04-13T11:18:49,785 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,797 opStatus addOrSubtract(const IEEEFloat &, roundingMode, bool subtract); 2022-04-13T11:18:49,801 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,802 opStatus handleOverflow(roundingMode); 2022-04-13T11:18:49,802 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,803 bool roundAwayFromZero(roundingMode, lostFraction, unsigned int) const; 2022-04-13T11:18:49,803 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,804 opStatus convertToSignExtendedInteger(MutableArrayRef, 2022-04-13T11:18:49,805 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,805 unsigned int, bool, roundingMode, 2022-04-13T11:18:49,806 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,810 bool *) const; 2022-04-13T11:18:49,814 ~~~~~~~~~~~~~~ 2022-04-13T11:18:49,815 opStatus convertFromUnsignedParts(const integerPart *, unsigned int, 2022-04-13T11:18:49,815 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,823 roundingMode); 2022-04-13T11:18:49,824 ~~~~~~~~~~~~~~ 2022-04-13T11:18:49,825 Expected convertFromHexadecimalString(StringRef, roundingMode); 2022-04-13T11:18:49,825 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,827 Expected convertFromDecimalString(StringRef, roundingMode); 2022-04-13T11:18:49,828 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,829 char *convertNormalToHexString(char *, unsigned int, bool, 2022-04-13T11:18:49,829 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,830 roundingMode) const; 2022-04-13T11:18:49,830 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,831 opStatus roundSignificandWithExponent(const integerPart *, unsigned int, int, 2022-04-13T11:18:49,831 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,832 roundingMode); 2022-04-13T11:18:49,832 ~~~~~~~~~~~~~~ 2022-04-13T11:18:49,833 ExponentType exponentNaN() const; 2022-04-13T11:18:49,834 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,834 ExponentType exponentInf() const; 2022-04-13T11:18:49,835 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,835 ExponentType exponentZero() const; 2022-04-13T11:18:49,843 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,845 /// @} 2022-04-13T11:18:49,845 ~~~~~~ 2022-04-13T11:18:49,850 APInt convertHalfAPFloatToAPInt() const; 2022-04-13T11:18:49,851 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,851 APInt convertBFloatAPFloatToAPInt() const; 2022-04-13T11:18:49,852 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,852 APInt convertFloatAPFloatToAPInt() const; 2022-04-13T11:18:49,853 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,853 APInt convertDoubleAPFloatToAPInt() const; 2022-04-13T11:18:49,854 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,854 APInt convertQuadrupleAPFloatToAPInt() const; 2022-04-13T11:18:49,855 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,855 APInt convertF80LongDoubleAPFloatToAPInt() const; 2022-04-13T11:18:49,856 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,858 APInt convertPPCDoubleDoubleAPFloatToAPInt() const; 2022-04-13T11:18:49,865 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,868 void initFromAPInt(const fltSemantics *Sem, const APInt &api); 2022-04-13T11:18:49,869 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,869 void initFromHalfAPInt(const APInt &api); 2022-04-13T11:18:49,870 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,870 void initFromBFloatAPInt(const APInt &api); 2022-04-13T11:18:49,871 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,871 void initFromFloatAPInt(const APInt &api); 2022-04-13T11:18:49,872 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,873 void initFromDoubleAPInt(const APInt &api); 2022-04-13T11:18:49,873 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,874 void initFromQuadrupleAPInt(const APInt &api); 2022-04-13T11:18:49,874 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,875 void initFromF80LongDoubleAPInt(const APInt &api); 2022-04-13T11:18:49,875 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,876 void initFromPPCDoubleDoubleAPInt(const APInt &api); 2022-04-13T11:18:49,886 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,888 void assign(const IEEEFloat &); 2022-04-13T11:18:49,889 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,890 void copySignificand(const IEEEFloat &); 2022-04-13T11:18:49,890 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,890 void freeSignificand(); 2022-04-13T11:18:49,891 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,892 /// Note: this must be the first data member. 2022-04-13T11:18:49,893 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,893 /// The semantics that this value obeys. 2022-04-13T11:18:49,894 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,894 const fltSemantics *semantics; 2022-04-13T11:18:49,895 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,904 /// A binary fraction with an explicit integer bit. 2022-04-13T11:18:49,910 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,911 /// 2022-04-13T11:18:49,912 ~~~ 2022-04-13T11:18:49,912 /// The significand must be at least one bit wider than the target precision. 2022-04-13T11:18:49,913 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,913 union Significand { 2022-04-13T11:18:49,914 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,914 integerPart part; 2022-04-13T11:18:49,914 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,915 integerPart *parts; 2022-04-13T11:18:49,915 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,916 } significand; 2022-04-13T11:18:49,921 ~~~~~~~~~~~~~~ 2022-04-13T11:18:49,922 /// The signed unbiased exponent of the value. 2022-04-13T11:18:49,923 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,923 ExponentType exponent; 2022-04-13T11:18:49,924 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,925 /// What kind of floating point number this is. 2022-04-13T11:18:49,925 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,926 /// 2022-04-13T11:18:49,926 ~~~ 2022-04-13T11:18:49,927 /// Only 2 bits are required, but VisualStudio incorrectly sign extends it. 2022-04-13T11:18:49,927 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,928 /// Using the extra bit keeps it from failing under VisualStudio. 2022-04-13T11:18:49,929 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,929 fltCategory category : 3; 2022-04-13T11:18:49,930 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,932 /// Sign bit of the number. 2022-04-13T11:18:49,932 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,932 unsigned int sign : 1; 2022-04-13T11:18:49,933 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,934 }; 2022-04-13T11:18:49,934 ~~ 2022-04-13T11:18:49,936 hash_code hash_value(const IEEEFloat &Arg); 2022-04-13T11:18:49,941 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,948 int ilogb(const IEEEFloat &Arg); 2022-04-13T11:18:49,949 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,950 IEEEFloat scalbn(IEEEFloat X, int Exp, IEEEFloat::roundingMode); 2022-04-13T11:18:49,950 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,951 IEEEFloat frexp(const IEEEFloat &Val, int &Exp, IEEEFloat::roundingMode RM); 2022-04-13T11:18:49,952 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,953 // This mode implements more precise float in terms of two APFloats. 2022-04-13T11:18:49,954 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,954 // The interface and layout is designed for arbitrary underlying semantics, 2022-04-13T11:18:49,955 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,955 // though currently only PPCDoubleDouble semantics are supported, whose 2022-04-13T11:18:49,959 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,970 // corresponding underlying semantics are IEEEdouble. 2022-04-13T11:18:49,970 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,971 class DoubleAPFloat final : public APFloatBase { 2022-04-13T11:18:49,971 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,972 // Note: this must be the first data member. 2022-04-13T11:18:49,973 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,974 const fltSemantics *Semantics; 2022-04-13T11:18:49,974 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,974 std::unique_ptr Floats; 2022-04-13T11:18:49,975 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,986 opStatus addImpl(const APFloat &a, const APFloat &aa, const APFloat &c, 2022-04-13T11:18:49,987 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,988 const APFloat &cc, roundingMode RM); 2022-04-13T11:18:49,988 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,990 opStatus addWithSpecial(const DoubleAPFloat &LHS, const DoubleAPFloat &RHS, 2022-04-13T11:18:49,990 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,991 DoubleAPFloat &Out, roundingMode RM); 2022-04-13T11:18:49,991 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,992 public: 2022-04-13T11:18:49,993 ~~~~~~~ 2022-04-13T11:18:49,993 DoubleAPFloat(const fltSemantics &S); 2022-04-13T11:18:49,994 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,994 DoubleAPFloat(const fltSemantics &S, uninitializedTag); 2022-04-13T11:18:49,995 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:49,996 DoubleAPFloat(const fltSemantics &S, integerPart); 2022-04-13T11:18:50,007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,008 DoubleAPFloat(const fltSemantics &S, const APInt &I); 2022-04-13T11:18:50,009 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,010 DoubleAPFloat(const fltSemantics &S, APFloat &&First, APFloat &&Second); 2022-04-13T11:18:50,011 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,011 DoubleAPFloat(const DoubleAPFloat &RHS); 2022-04-13T11:18:50,012 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,012 DoubleAPFloat(DoubleAPFloat &&RHS); 2022-04-13T11:18:50,013 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,014 DoubleAPFloat &operator=(const DoubleAPFloat &RHS); 2022-04-13T11:18:50,015 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,027 DoubleAPFloat &operator=(DoubleAPFloat &&RHS) { 2022-04-13T11:18:50,027 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,028 if (this != &RHS) { 2022-04-13T11:18:50,029 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,030 this->~DoubleAPFloat(); 2022-04-13T11:18:50,030 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,031 new (this) DoubleAPFloat(std::move(RHS)); 2022-04-13T11:18:50,032 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,032 } 2022-04-13T11:18:50,033 ~ 2022-04-13T11:18:50,033 return *this; 2022-04-13T11:18:50,034 ~~~~~~~~~~~~~ 2022-04-13T11:18:50,034 } 2022-04-13T11:18:50,035 ~ 2022-04-13T11:18:50,043 bool needsCleanup() const { return Floats != nullptr; } 2022-04-13T11:18:50,044 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,045 APFloat &getFirst() { return Floats[0]; } 2022-04-13T11:18:50,046 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,048 const APFloat &getFirst() const { return Floats[0]; } 2022-04-13T11:18:50,049 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,049 APFloat &getSecond() { return Floats[1]; } 2022-04-13T11:18:50,050 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,050 const APFloat &getSecond() const { return Floats[1]; } 2022-04-13T11:18:50,051 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,053 opStatus add(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:50,054 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,055 opStatus subtract(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:50,055 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,057 opStatus multiply(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:50,066 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,067 opStatus divide(const DoubleAPFloat &RHS, roundingMode RM); 2022-04-13T11:18:50,068 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,068 opStatus remainder(const DoubleAPFloat &RHS); 2022-04-13T11:18:50,069 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,070 opStatus mod(const DoubleAPFloat &RHS); 2022-04-13T11:18:50,070 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,070 opStatus fusedMultiplyAdd(const DoubleAPFloat &Multiplicand, 2022-04-13T11:18:50,071 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,071 const DoubleAPFloat &Addend, roundingMode RM); 2022-04-13T11:18:50,072 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,073 opStatus roundToIntegral(roundingMode RM); 2022-04-13T11:18:50,073 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,074 void changeSign(); 2022-04-13T11:18:50,075 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,075 cmpResult compareAbsoluteValue(const DoubleAPFloat &RHS) const; 2022-04-13T11:18:50,076 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,090 fltCategory getCategory() const; 2022-04-13T11:18:50,091 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,091 bool isNegative() const; 2022-04-13T11:18:50,092 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,094 void makeInf(bool Neg); 2022-04-13T11:18:50,094 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,095 void makeZero(bool Neg); 2022-04-13T11:18:50,095 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,096 void makeLargest(bool Neg); 2022-04-13T11:18:50,105 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,109 void makeSmallest(bool Neg); 2022-04-13T11:18:50,121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,122 void makeSmallestNormalized(bool Neg); 2022-04-13T11:18:50,122 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,123 void makeNaN(bool SNaN, bool Neg, const APInt *fill); 2022-04-13T11:18:50,123 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,125 cmpResult compare(const DoubleAPFloat &RHS) const; 2022-04-13T11:18:50,125 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,150 bool bitwiseIsEqual(const DoubleAPFloat &RHS) const; 2022-04-13T11:18:50,151 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,151 APInt bitcastToAPInt() const; 2022-04-13T11:18:50,152 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,152 Expected convertFromString(StringRef, roundingMode); 2022-04-13T11:18:50,153 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,153 opStatus next(bool nextDown); 2022-04-13T11:18:50,154 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,155 opStatus convertToInteger(MutableArrayRef Input, 2022-04-13T11:18:50,166 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,167 unsigned int Width, bool IsSigned, roundingMode RM, 2022-04-13T11:18:50,167 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,168 bool *IsExact) const; 2022-04-13T11:18:50,168 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,169 opStatus convertFromAPInt(const APInt &Input, bool IsSigned, roundingMode RM); 2022-04-13T11:18:50,170 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,170 opStatus convertFromSignExtendedInteger(const integerPart *Input, 2022-04-13T11:18:50,170 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,171 unsigned int InputSize, bool IsSigned, 2022-04-13T11:18:50,172 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,172 roundingMode RM); 2022-04-13T11:18:50,173 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,173 opStatus convertFromZeroExtendedInteger(const integerPart *Input, 2022-04-13T11:18:50,174 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,174 unsigned int InputSize, bool IsSigned, 2022-04-13T11:18:50,175 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,175 roundingMode RM); 2022-04-13T11:18:50,175 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,176 unsigned int convertToHexString(char *DST, unsigned int HexDigits, 2022-04-13T11:18:50,197 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,197 bool UpperCase, roundingMode RM) const; 2022-04-13T11:18:50,198 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,199 bool isDenormal() const; 2022-04-13T11:18:50,200 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,200 bool isSmallest() const; 2022-04-13T11:18:50,201 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,201 bool isLargest() const; 2022-04-13T11:18:50,202 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,202 bool isInteger() const; 2022-04-13T11:18:50,203 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,204 void toString(SmallVectorImpl &Str, unsigned FormatPrecision, 2022-04-13T11:18:50,205 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,205 unsigned FormatMaxPadding, bool TruncateZero = true) const; 2022-04-13T11:18:50,206 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,208 bool getExactInverse(APFloat *inv) const; 2022-04-13T11:18:50,208 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,209 friend DoubleAPFloat scalbn(const DoubleAPFloat &X, int Exp, roundingMode); 2022-04-13T11:18:50,210 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,210 friend DoubleAPFloat frexp(const DoubleAPFloat &X, int &Exp, roundingMode); 2022-04-13T11:18:50,211 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,211 friend hash_code hash_value(const DoubleAPFloat &Arg); 2022-04-13T11:18:50,212 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,212 }; 2022-04-13T11:18:50,213 ~~ 2022-04-13T11:18:50,214 hash_code hash_value(const DoubleAPFloat &Arg); 2022-04-13T11:18:50,214 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,215 } // End detail namespace 2022-04-13T11:18:50,216 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,228 // This is a interface class that is currently forwarding functionalities from 2022-04-13T11:18:50,228 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,229 // detail::IEEEFloat. 2022-04-13T11:18:50,229 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,230 class APFloat : public APFloatBase { 2022-04-13T11:18:50,230 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,230 typedef detail::IEEEFloat IEEEFloat; 2022-04-13T11:18:50,231 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,231 typedef detail::DoubleAPFloat DoubleAPFloat; 2022-04-13T11:18:50,232 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,233 static_assert(std::is_standard_layout::value, ""); 2022-04-13T11:18:50,233 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,235 union Storage { 2022-04-13T11:18:50,235 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,236 const fltSemantics *semantics; 2022-04-13T11:18:50,246 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,247 IEEEFloat IEEE; 2022-04-13T11:18:50,247 ~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,248 DoubleAPFloat Double; 2022-04-13T11:18:50,248 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,250 explicit Storage(IEEEFloat F, const fltSemantics &S); 2022-04-13T11:18:50,250 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,251 explicit Storage(DoubleAPFloat F, const fltSemantics &S) 2022-04-13T11:18:50,251 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,252 : Double(std::move(F)) { 2022-04-13T11:18:50,252 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,252 assert(&S == &PPCDoubleDouble()); 2022-04-13T11:18:50,253 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,253 } 2022-04-13T11:18:50,254 ~ 2022-04-13T11:18:50,255 template 2022-04-13T11:18:50,256 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,266 Storage(const fltSemantics &Semantics, ArgTypes &&... Args) { 2022-04-13T11:18:50,267 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,268 if (usesLayout(Semantics)) { 2022-04-13T11:18:50,268 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,269 new (&IEEE) IEEEFloat(Semantics, std::forward(Args)...); 2022-04-13T11:18:50,269 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,270 return; 2022-04-13T11:18:50,270 ~~~~~~~ 2022-04-13T11:18:50,271 } 2022-04-13T11:18:50,271 ~ 2022-04-13T11:18:50,272 if (usesLayout(Semantics)) { 2022-04-13T11:18:50,272 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,273 new (&Double) DoubleAPFloat(Semantics, std::forward(Args)...); 2022-04-13T11:18:50,274 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,274 return; 2022-04-13T11:18:50,275 ~~~~~~~ 2022-04-13T11:18:50,275 } 2022-04-13T11:18:50,276 ~ 2022-04-13T11:18:50,286 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,287 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,288 } 2022-04-13T11:18:50,288 ~ 2022-04-13T11:18:50,290 ~Storage() { 2022-04-13T11:18:50,290 ~~~~~~~~~~~~ 2022-04-13T11:18:50,291 if (usesLayout(*semantics)) { 2022-04-13T11:18:50,292 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,292 IEEE.~IEEEFloat(); 2022-04-13T11:18:50,293 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,293 return; 2022-04-13T11:18:50,294 ~~~~~~~ 2022-04-13T11:18:50,294 } 2022-04-13T11:18:50,295 ~ 2022-04-13T11:18:50,295 if (usesLayout(*semantics)) { 2022-04-13T11:18:50,296 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,306 Double.~DoubleAPFloat(); 2022-04-13T11:18:50,307 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,308 return; 2022-04-13T11:18:50,308 ~~~~~~~ 2022-04-13T11:18:50,309 } 2022-04-13T11:18:50,309 ~ 2022-04-13T11:18:50,309 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,310 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,311 } 2022-04-13T11:18:50,311 ~ 2022-04-13T11:18:50,313 Storage(const Storage &RHS) { 2022-04-13T11:18:50,313 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,314 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:50,314 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,315 new (this) IEEEFloat(RHS.IEEE); 2022-04-13T11:18:50,315 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,316 return; 2022-04-13T11:18:50,328 ~~~~~~~ 2022-04-13T11:18:50,329 } 2022-04-13T11:18:50,330 ~ 2022-04-13T11:18:50,330 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:50,331 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,331 new (this) DoubleAPFloat(RHS.Double); 2022-04-13T11:18:50,332 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,332 return; 2022-04-13T11:18:50,333 ~~~~~~~ 2022-04-13T11:18:50,333 } 2022-04-13T11:18:50,334 ~ 2022-04-13T11:18:50,334 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,335 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,335 } 2022-04-13T11:18:50,335 ~ 2022-04-13T11:18:50,337 Storage(Storage &&RHS) { 2022-04-13T11:18:50,337 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,338 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:50,338 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,339 new (this) IEEEFloat(std::move(RHS.IEEE)); 2022-04-13T11:18:50,356 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,357 return; 2022-04-13T11:18:50,357 ~~~~~~~ 2022-04-13T11:18:50,358 } 2022-04-13T11:18:50,358 ~ 2022-04-13T11:18:50,358 if (usesLayout(*RHS.semantics)) { 2022-04-13T11:18:50,359 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,359 new (this) DoubleAPFloat(std::move(RHS.Double)); 2022-04-13T11:18:50,360 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,360 return; 2022-04-13T11:18:50,361 ~~~~~~~ 2022-04-13T11:18:50,361 } 2022-04-13T11:18:50,362 ~ 2022-04-13T11:18:50,362 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,363 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,363 } 2022-04-13T11:18:50,364 ~ 2022-04-13T11:18:50,365 Storage &operator=(const Storage &RHS) { 2022-04-13T11:18:50,366 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,376 if (usesLayout(*semantics) && 2022-04-13T11:18:50,377 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,377 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:50,378 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,378 IEEE = RHS.IEEE; 2022-04-13T11:18:50,379 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,379 } else if (usesLayout(*semantics) && 2022-04-13T11:18:50,379 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,380 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:50,380 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,381 Double = RHS.Double; 2022-04-13T11:18:50,381 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,382 } else if (this != &RHS) { 2022-04-13T11:18:50,382 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,383 this->~Storage(); 2022-04-13T11:18:50,383 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,383 new (this) Storage(RHS); 2022-04-13T11:18:50,384 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,384 } 2022-04-13T11:18:50,385 ~ 2022-04-13T11:18:50,385 return *this; 2022-04-13T11:18:50,386 ~~~~~~~~~~~~~ 2022-04-13T11:18:50,397 } 2022-04-13T11:18:50,397 ~ 2022-04-13T11:18:50,398 Storage &operator=(Storage &&RHS) { 2022-04-13T11:18:50,399 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,400 if (usesLayout(*semantics) && 2022-04-13T11:18:50,400 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,401 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:50,402 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,402 IEEE = std::move(RHS.IEEE); 2022-04-13T11:18:50,403 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,403 } else if (usesLayout(*semantics) && 2022-04-13T11:18:50,404 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,404 usesLayout(*RHS.semantics)) { 2022-04-13T11:18:50,405 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,405 Double = std::move(RHS.Double); 2022-04-13T11:18:50,405 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,416 } else if (this != &RHS) { 2022-04-13T11:18:50,417 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,417 this->~Storage(); 2022-04-13T11:18:50,418 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,418 new (this) Storage(std::move(RHS)); 2022-04-13T11:18:50,419 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,419 } 2022-04-13T11:18:50,419 ~ 2022-04-13T11:18:50,420 return *this; 2022-04-13T11:18:50,420 ~~~~~~~~~~~~~ 2022-04-13T11:18:50,421 } 2022-04-13T11:18:50,421 ~ 2022-04-13T11:18:50,422 } U; 2022-04-13T11:18:50,422 ~~~~ 2022-04-13T11:18:50,424 template static bool usesLayout(const fltSemantics &Semantics) { 2022-04-13T11:18:50,424 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,425 static_assert(std::is_same::value || 2022-04-13T11:18:50,425 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,426 std::is_same::value, ""); 2022-04-13T11:18:50,437 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,437 if (std::is_same::value) { 2022-04-13T11:18:50,438 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,438 return &Semantics == &PPCDoubleDouble(); 2022-04-13T11:18:50,439 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,439 } 2022-04-13T11:18:50,440 ~ 2022-04-13T11:18:50,440 return &Semantics != &PPCDoubleDouble(); 2022-04-13T11:18:50,441 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,441 } 2022-04-13T11:18:50,441 ~ 2022-04-13T11:18:50,443 IEEEFloat &getIEEE() { 2022-04-13T11:18:50,443 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,444 if (usesLayout(*U.semantics)) 2022-04-13T11:18:50,444 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,445 return U.IEEE; 2022-04-13T11:18:50,445 ~~~~~~~~~~~~~~ 2022-04-13T11:18:50,446 if (usesLayout(*U.semantics)) 2022-04-13T11:18:50,457 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,457 return U.Double.getFirst().U.IEEE; 2022-04-13T11:18:50,458 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,458 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,459 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,459 } 2022-04-13T11:18:50,459 ~ 2022-04-13T11:18:50,461 const IEEEFloat &getIEEE() const { 2022-04-13T11:18:50,461 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,462 if (usesLayout(*U.semantics)) 2022-04-13T11:18:50,462 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,463 return U.IEEE; 2022-04-13T11:18:50,463 ~~~~~~~~~~~~~~ 2022-04-13T11:18:50,464 if (usesLayout(*U.semantics)) 2022-04-13T11:18:50,464 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,464 return U.Double.getFirst().U.IEEE; 2022-04-13T11:18:50,465 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,465 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,466 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,476 } 2022-04-13T11:18:50,477 ~ 2022-04-13T11:18:50,478 void makeZero(bool Neg) { APFLOAT_DISPATCH_ON_SEMANTICS(makeZero(Neg)); } 2022-04-13T11:18:50,479 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,480 void makeInf(bool Neg) { APFLOAT_DISPATCH_ON_SEMANTICS(makeInf(Neg)); } 2022-04-13T11:18:50,481 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,482 void makeNaN(bool SNaN, bool Neg, const APInt *fill) { 2022-04-13T11:18:50,482 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,483 APFLOAT_DISPATCH_ON_SEMANTICS(makeNaN(SNaN, Neg, fill)); 2022-04-13T11:18:50,483 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,483 } 2022-04-13T11:18:50,484 ~ 2022-04-13T11:18:50,485 void makeLargest(bool Neg) { 2022-04-13T11:18:50,486 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,496 APFLOAT_DISPATCH_ON_SEMANTICS(makeLargest(Neg)); 2022-04-13T11:18:50,497 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,497 } 2022-04-13T11:18:50,498 ~ 2022-04-13T11:18:50,499 void makeSmallest(bool Neg) { 2022-04-13T11:18:50,500 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,500 APFLOAT_DISPATCH_ON_SEMANTICS(makeSmallest(Neg)); 2022-04-13T11:18:50,500 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,501 } 2022-04-13T11:18:50,501 ~ 2022-04-13T11:18:50,503 void makeSmallestNormalized(bool Neg) { 2022-04-13T11:18:50,503 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,503 APFLOAT_DISPATCH_ON_SEMANTICS(makeSmallestNormalized(Neg)); 2022-04-13T11:18:50,504 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,504 } 2022-04-13T11:18:50,505 ~ 2022-04-13T11:18:50,517 // FIXME: This is due to clang 3.3 (or older version) always checks for the 2022-04-13T11:18:50,517 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,518 // default constructor in an array aggregate initialization, even if no 2022-04-13T11:18:50,518 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,519 // elements in the array is default initialized. 2022-04-13T11:18:50,519 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,520 APFloat() : U(IEEEdouble()) { 2022-04-13T11:18:50,520 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,521 llvm_unreachable("This is a workaround for old clang."); 2022-04-13T11:18:50,521 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,522 } 2022-04-13T11:18:50,522 ~ 2022-04-13T11:18:50,523 explicit APFloat(IEEEFloat F, const fltSemantics &S) : U(std::move(F), S) {} 2022-04-13T11:18:50,524 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,524 explicit APFloat(DoubleAPFloat F, const fltSemantics &S) 2022-04-13T11:18:50,524 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,525 : U(std::move(F), S) {} 2022-04-13T11:18:50,525 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,537 cmpResult compareAbsoluteValue(const APFloat &RHS) const { 2022-04-13T11:18:50,537 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,538 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:50,538 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,539 "Should only compare APFloats with the same semantics"); 2022-04-13T11:18:50,539 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,540 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,540 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,540 return U.IEEE.compareAbsoluteValue(RHS.U.IEEE); 2022-04-13T11:18:50,541 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,541 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,542 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,542 return U.Double.compareAbsoluteValue(RHS.U.Double); 2022-04-13T11:18:50,542 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,543 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,543 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,544 } 2022-04-13T11:18:50,544 ~ 2022-04-13T11:18:50,546 public: 2022-04-13T11:18:50,557 ~~~~~~~ 2022-04-13T11:18:50,557 APFloat(const fltSemantics &Semantics) : U(Semantics) {} 2022-04-13T11:18:50,558 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,558 APFloat(const fltSemantics &Semantics, StringRef S); 2022-04-13T11:18:50,559 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,559 APFloat(const fltSemantics &Semantics, integerPart I) : U(Semantics, I) {} 2022-04-13T11:18:50,560 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,560 template ::value>> 2022-04-13T11:18:50,562 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,562 APFloat(const fltSemantics &Semantics, T V) = delete; 2022-04-13T11:18:50,563 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,563 // TODO: Remove this constructor. This isn't faster than the first one. 2022-04-13T11:18:50,564 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,564 APFloat(const fltSemantics &Semantics, uninitializedTag) 2022-04-13T11:18:50,564 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,565 : U(Semantics, uninitialized) {} 2022-04-13T11:18:50,565 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,566 APFloat(const fltSemantics &Semantics, const APInt &I) : U(Semantics, I) {} 2022-04-13T11:18:50,576 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,577 explicit APFloat(double d) : U(IEEEFloat(d), IEEEdouble()) {} 2022-04-13T11:18:50,577 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,578 explicit APFloat(float f) : U(IEEEFloat(f), IEEEsingle()) {} 2022-04-13T11:18:50,578 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,579 APFloat(const APFloat &RHS) = default; 2022-04-13T11:18:50,579 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,579 APFloat(APFloat &&RHS) = default; 2022-04-13T11:18:50,580 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,581 ~APFloat() = default; 2022-04-13T11:18:50,582 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,583 bool needsCleanup() const { APFLOAT_DISPATCH_ON_SEMANTICS(needsCleanup()); } 2022-04-13T11:18:50,583 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,585 /// Factory for Positive and Negative Zero. 2022-04-13T11:18:50,585 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,586 /// 2022-04-13T11:18:50,596 ~~~ 2022-04-13T11:18:50,597 /// \param Negative True iff the number should be negative. 2022-04-13T11:18:50,597 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,598 static APFloat getZero(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:50,598 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,599 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:50,599 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,600 Val.makeZero(Negative); 2022-04-13T11:18:50,600 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,601 return Val; 2022-04-13T11:18:50,601 ~~~~~~~~~~~ 2022-04-13T11:18:50,602 } 2022-04-13T11:18:50,602 ~ 2022-04-13T11:18:50,603 /// Factory for Positive and Negative Infinity. 2022-04-13T11:18:50,604 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,604 /// 2022-04-13T11:18:50,605 ~~~ 2022-04-13T11:18:50,605 /// \param Negative True iff the number should be negative. 2022-04-13T11:18:50,606 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,617 static APFloat getInf(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:50,617 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,618 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:50,618 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,619 Val.makeInf(Negative); 2022-04-13T11:18:50,619 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,620 return Val; 2022-04-13T11:18:50,620 ~~~~~~~~~~~ 2022-04-13T11:18:50,621 } 2022-04-13T11:18:50,621 ~ 2022-04-13T11:18:50,623 /// Factory for NaN values. 2022-04-13T11:18:50,623 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,624 /// 2022-04-13T11:18:50,624 ~~~ 2022-04-13T11:18:50,625 /// \param Negative - True iff the NaN generated should be negative. 2022-04-13T11:18:50,625 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,626 /// \param payload - The unspecified fill bits for creating the NaN, 0 by 2022-04-13T11:18:50,636 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,637 /// default. The value is truncated as necessary. 2022-04-13T11:18:50,637 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,638 static APFloat getNaN(const fltSemantics &Sem, bool Negative = false, 2022-04-13T11:18:50,638 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,638 uint64_t payload = 0) { 2022-04-13T11:18:50,639 ~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,639 if (payload) { 2022-04-13T11:18:50,640 ~~~~~~~~~~~~~~ 2022-04-13T11:18:50,640 APInt intPayload(64, payload); 2022-04-13T11:18:50,641 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,641 return getQNaN(Sem, Negative, &intPayload); 2022-04-13T11:18:50,641 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,642 } else { 2022-04-13T11:18:50,642 ~~~~~~~~ 2022-04-13T11:18:50,643 return getQNaN(Sem, Negative, nullptr); 2022-04-13T11:18:50,643 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,644 } 2022-04-13T11:18:50,644 ~ 2022-04-13T11:18:50,645 } 2022-04-13T11:18:50,646 ~ 2022-04-13T11:18:50,657 /// Factory for QNaN values. 2022-04-13T11:18:50,658 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,658 static APFloat getQNaN(const fltSemantics &Sem, bool Negative = false, 2022-04-13T11:18:50,659 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,659 const APInt *payload = nullptr) { 2022-04-13T11:18:50,660 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,660 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:50,660 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,661 Val.makeNaN(false, Negative, payload); 2022-04-13T11:18:50,661 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,662 return Val; 2022-04-13T11:18:50,662 ~~~~~~~~~~~ 2022-04-13T11:18:50,663 } 2022-04-13T11:18:50,663 ~ 2022-04-13T11:18:50,665 /// Factory for SNaN values. 2022-04-13T11:18:50,665 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,676 static APFloat getSNaN(const fltSemantics &Sem, bool Negative = false, 2022-04-13T11:18:50,677 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,677 const APInt *payload = nullptr) { 2022-04-13T11:18:50,678 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,679 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:50,679 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,680 Val.makeNaN(true, Negative, payload); 2022-04-13T11:18:50,680 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,681 return Val; 2022-04-13T11:18:50,681 ~~~~~~~~~~~ 2022-04-13T11:18:50,681 } 2022-04-13T11:18:50,682 ~ 2022-04-13T11:18:50,683 /// Returns the largest finite number in the given semantics. 2022-04-13T11:18:50,684 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,684 /// 2022-04-13T11:18:50,685 ~~~ 2022-04-13T11:18:50,685 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:50,696 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,697 static APFloat getLargest(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:50,697 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,698 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:50,698 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,699 Val.makeLargest(Negative); 2022-04-13T11:18:50,699 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,700 return Val; 2022-04-13T11:18:50,700 ~~~~~~~~~~~ 2022-04-13T11:18:50,701 } 2022-04-13T11:18:50,701 ~ 2022-04-13T11:18:50,702 /// Returns the smallest (by magnitude) finite number in the given semantics. 2022-04-13T11:18:50,703 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,703 /// Might be denormalized, which implies a relative loss of precision. 2022-04-13T11:18:50,704 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,705 /// 2022-04-13T11:18:50,705 ~~~ 2022-04-13T11:18:50,706 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:50,716 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,717 static APFloat getSmallest(const fltSemantics &Sem, bool Negative = false) { 2022-04-13T11:18:50,718 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,718 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:50,719 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,719 Val.makeSmallest(Negative); 2022-04-13T11:18:50,720 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,720 return Val; 2022-04-13T11:18:50,720 ~~~~~~~~~~~ 2022-04-13T11:18:50,721 } 2022-04-13T11:18:50,721 ~ 2022-04-13T11:18:50,723 /// Returns the smallest (by magnitude) normalized finite number in the given 2022-04-13T11:18:50,723 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,724 /// semantics. 2022-04-13T11:18:50,724 ~~~~~~~~~~~~~~ 2022-04-13T11:18:50,725 /// 2022-04-13T11:18:50,725 ~~~ 2022-04-13T11:18:50,726 /// \param Negative - True iff the number should be negative 2022-04-13T11:18:50,736 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,737 static APFloat getSmallestNormalized(const fltSemantics &Sem, 2022-04-13T11:18:50,738 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,738 bool Negative = false) { 2022-04-13T11:18:50,738 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,739 APFloat Val(Sem, uninitialized); 2022-04-13T11:18:50,739 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,740 Val.makeSmallestNormalized(Negative); 2022-04-13T11:18:50,740 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,740 return Val; 2022-04-13T11:18:50,741 ~~~~~~~~~~~ 2022-04-13T11:18:50,741 } 2022-04-13T11:18:50,742 ~ 2022-04-13T11:18:50,743 /// Returns a float which is bitcasted from an all one value int. 2022-04-13T11:18:50,743 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,744 /// 2022-04-13T11:18:50,744 ~~~ 2022-04-13T11:18:50,745 /// \param Semantics - type float semantics 2022-04-13T11:18:50,745 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,746 static APFloat getAllOnesValue(const fltSemantics &Semantics); 2022-04-13T11:18:50,756 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,758 /// Used to insert APFloat objects, or objects that contain APFloat objects, 2022-04-13T11:18:50,758 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,759 /// into FoldingSets. 2022-04-13T11:18:50,759 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,760 void Profile(FoldingSetNodeID &NID) const; 2022-04-13T11:18:50,760 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,761 opStatus add(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:50,762 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,762 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:50,762 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,763 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:50,763 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,764 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,764 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,765 return U.IEEE.add(RHS.U.IEEE, RM); 2022-04-13T11:18:50,765 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,766 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,777 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,777 return U.Double.add(RHS.U.Double, RM); 2022-04-13T11:18:50,778 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,778 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,778 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,779 } 2022-04-13T11:18:50,779 ~ 2022-04-13T11:18:50,780 opStatus subtract(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:50,780 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,781 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:50,781 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,782 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:50,782 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,783 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,783 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,784 return U.IEEE.subtract(RHS.U.IEEE, RM); 2022-04-13T11:18:50,784 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,785 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,785 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,796 return U.Double.subtract(RHS.U.Double, RM); 2022-04-13T11:18:50,797 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,797 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,798 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,798 } 2022-04-13T11:18:50,799 ~ 2022-04-13T11:18:50,800 opStatus multiply(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:50,800 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,801 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:50,801 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,802 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:50,802 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,803 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,803 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,804 return U.IEEE.multiply(RHS.U.IEEE, RM); 2022-04-13T11:18:50,804 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,805 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,806 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,816 return U.Double.multiply(RHS.U.Double, RM); 2022-04-13T11:18:50,817 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,817 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,818 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,818 } 2022-04-13T11:18:50,819 ~ 2022-04-13T11:18:50,819 opStatus divide(const APFloat &RHS, roundingMode RM) { 2022-04-13T11:18:50,820 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,820 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:50,821 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,821 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:50,822 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,822 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,823 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,823 return U.IEEE.divide(RHS.U.IEEE, RM); 2022-04-13T11:18:50,824 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,824 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,825 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,825 return U.Double.divide(RHS.U.Double, RM); 2022-04-13T11:18:50,826 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,836 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,837 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,838 } 2022-04-13T11:18:50,838 ~ 2022-04-13T11:18:50,839 opStatus remainder(const APFloat &RHS) { 2022-04-13T11:18:50,839 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,840 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:50,840 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,841 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:50,841 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,842 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,842 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,843 return U.IEEE.remainder(RHS.U.IEEE); 2022-04-13T11:18:50,844 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,844 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,845 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,845 return U.Double.remainder(RHS.U.Double); 2022-04-13T11:18:50,846 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,855 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,856 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,856 } 2022-04-13T11:18:50,857 ~ 2022-04-13T11:18:50,857 opStatus mod(const APFloat &RHS) { 2022-04-13T11:18:50,858 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,858 assert(&getSemantics() == &RHS.getSemantics() && 2022-04-13T11:18:50,859 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,859 "Should only call on two APFloats with the same semantics"); 2022-04-13T11:18:50,860 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,860 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,861 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,861 return U.IEEE.mod(RHS.U.IEEE); 2022-04-13T11:18:50,862 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,862 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,863 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,863 return U.Double.mod(RHS.U.Double); 2022-04-13T11:18:50,864 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,864 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,865 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,865 } 2022-04-13T11:18:50,866 ~ 2022-04-13T11:18:50,867 opStatus fusedMultiplyAdd(const APFloat &Multiplicand, const APFloat &Addend, 2022-04-13T11:18:50,868 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,869 roundingMode RM) { 2022-04-13T11:18:50,891 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,892 assert(&getSemantics() == &Multiplicand.getSemantics() && 2022-04-13T11:18:50,892 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,893 "Should only call on APFloats with the same semantics"); 2022-04-13T11:18:50,893 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,894 assert(&getSemantics() == &Addend.getSemantics() && 2022-04-13T11:18:50,894 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,895 "Should only call on APFloats with the same semantics"); 2022-04-13T11:18:50,896 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,898 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,899 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,899 return U.IEEE.fusedMultiplyAdd(Multiplicand.U.IEEE, Addend.U.IEEE, RM); 2022-04-13T11:18:50,900 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,900 if (usesLayout(getSemantics())) 2022-04-13T11:18:50,901 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,901 return U.Double.fusedMultiplyAdd(Multiplicand.U.Double, Addend.U.Double, 2022-04-13T11:18:50,902 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,902 RM); 2022-04-13T11:18:50,903 ~~~~ 2022-04-13T11:18:50,903 llvm_unreachable("Unexpected semantics"); 2022-04-13T11:18:50,904 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,904 } 2022-04-13T11:18:50,905 ~ 2022-04-13T11:18:50,905 opStatus roundToIntegral(roundingMode RM) { 2022-04-13T11:18:50,906 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,916 APFLOAT_DISPATCH_ON_SEMANTICS(roundToIntegral(RM)); 2022-04-13T11:18:50,917 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,918 } 2022-04-13T11:18:50,918 ~ 2022-04-13T11:18:50,920 // TODO: bool parameters are not readable and a source of bugs. 2022-04-13T11:18:50,920 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,920 // Do something. 2022-04-13T11:18:50,921 ~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,921 opStatus next(bool nextDown) { 2022-04-13T11:18:50,922 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,923 APFLOAT_DISPATCH_ON_SEMANTICS(next(nextDown)); 2022-04-13T11:18:50,923 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,924 } 2022-04-13T11:18:50,924 ~ 2022-04-13T11:18:50,926 /// Negate an APFloat. 2022-04-13T11:18:50,933 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,934 APFloat operator-() const { 2022-04-13T11:18:50,935 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,935 APFloat Result(*this); 2022-04-13T11:18:50,936 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,937 Result.changeSign(); 2022-04-13T11:18:50,937 ~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,938 return Result; 2022-04-13T11:18:50,938 ~~~~~~~~~~~~~~ 2022-04-13T11:18:50,939 } 2022-04-13T11:18:50,939 ~ 2022-04-13T11:18:50,941 /// Add two APFloats, rounding ties to the nearest even. 2022-04-13T11:18:50,941 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,942 /// No error checking. 2022-04-13T11:18:50,942 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,943 APFloat operator+(const APFloat &RHS) const { 2022-04-13T11:18:50,943 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,943 APFloat Result(*this); 2022-04-13T11:18:50,944 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,944 (void)Result.add(RHS, rmNearestTiesToEven); 2022-04-13T11:18:50,945 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,945 return Result; 2022-04-13T11:18:50,946 ~~~~~~~~~~~~~~ 2022-04-13T11:18:50,975 } 2022-04-13T11:18:50,976 ~ 2022-04-13T11:18:50,978 /// Subtract two APFloats, rounding ties to the nearest even. 2022-04-13T11:18:50,978 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,979 /// No error checking. 2022-04-13T11:18:50,979 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,980 APFloat operator-(const APFloat &RHS) const { 2022-04-13T11:18:50,980 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,980 APFloat Result(*this); 2022-04-13T11:18:50,981 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,981 (void)Result.subtract(RHS, rmNearestTiesToEven); 2022-04-13T11:18:50,982 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:50,982 return Result; 2022-04-13T11:18:50,983 ~~~~~~~~~~~~~~ 2022-04-13T11:18:50,984 } 2022-04-13T11:18:50,984 ~ 2022-04-13T11:18:50,986 /// Multiply two APFloats, rounding ties to the nearest even. 2022-04-13T11:18:51,006 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,007 /// No error checking. 2022-04-13T11:18:51,008 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,008 APFloat operator*(const APFloat &RHS) const { 2022-04-13T11:18:51,009 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,009 APFloat Result(*this); 2022-04-13T11:18:51,010 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,010 (void)Result.multiply(RHS, rmNearestTiesToEven); 2022-04-13T11:18:51,011 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,011 return Result; 2022-04-13T11:18:51,012 ~~~~~~~~~~~~~~ 2022-04-13T11:18:51,012 } 2022-04-13T11:18:51,013 ~ 2022-04-13T11:18:51,014 /// Divide the first APFloat by the second, rounding ties to the nearest even. 2022-04-13T11:18:51,015 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,015 /// No error checking. 2022-04-13T11:18:51,016 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,054 APFloat operator/(const APFloat &RHS) const { 2022-04-13T11:18:51,054 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,055 APFloat Result(*this); 2022-04-13T11:18:51,055 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,056 (void)Result.divide(RHS, rmNearestTiesToEven); 2022-04-13T11:18:51,067 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,067 return Result; 2022-04-13T11:18:51,068 ~~~~~~~~~~~~~~ 2022-04-13T11:18:51,068 } 2022-04-13T11:18:51,069 ~ 2022-04-13T11:18:51,070 void changeSign() { APFLOAT_DISPATCH_ON_SEMANTICS(changeSign()); } 2022-04-13T11:18:51,070 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,071 void clearSign() { 2022-04-13T11:18:51,071 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,072 if (isNegative()) 2022-04-13T11:18:51,072 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,073 changeSign(); 2022-04-13T11:18:51,073 ~~~~~~~~~~~~~ 2022-04-13T11:18:51,074 } 2022-04-13T11:18:51,074 ~ 2022-04-13T11:18:51,074 void copySign(const APFloat &RHS) { 2022-04-13T11:18:51,075 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,075 if (isNegative() != RHS.isNegative()) 2022-04-13T11:18:51,076 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,079 changeSign(); 2022-04-13T11:18:51,080 ~~~~~~~~~~~~~ 2022-04-13T11:18:51,080 } 2022-04-13T11:18:51,081 ~ 2022-04-13T11:18:51,082 /// A static helper to produce a copy of an APFloat value with its sign 2022-04-13T11:18:51,083 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,083 /// copied from some other APFloat. 2022-04-13T11:18:51,084 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,084 static APFloat copySign(APFloat Value, const APFloat &Sign) { 2022-04-13T11:18:51,085 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,089 Value.copySign(Sign); 2022-04-13T11:18:51,102 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,103 return Value; 2022-04-13T11:18:51,103 ~~~~~~~~~~~~~ 2022-04-13T11:18:51,104 } 2022-04-13T11:18:51,105 ~ 2022-04-13T11:18:51,118 opStatus convert(const fltSemantics &ToSemantics, roundingMode RM, 2022-04-13T11:18:51,118 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,119 bool *losesInfo); 2022-04-13T11:18:51,119 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,120 opStatus convertToInteger(MutableArrayRef Input, 2022-04-13T11:18:51,121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,121 unsigned int Width, bool IsSigned, roundingMode RM, 2022-04-13T11:18:51,122 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,122 bool *IsExact) const { 2022-04-13T11:18:51,123 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,124 APFLOAT_DISPATCH_ON_SEMANTICS( 2022-04-13T11:18:51,124 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,125 convertToInteger(Input, Width, IsSigned, RM, IsExact)); 2022-04-13T11:18:51,125 ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:18:51,126 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/APFloat.h:29:23: note: in definition of macro ‘APFLOAT_DISPATCH_ON_SEMANTICS’ 2022-04-13T11:18:51,127 return U.Double.METHOD_CALL; \ 2022-04-13T11:18:51,127 ^~~~~~~~~~~ 2022-04-13T11:18:51,128 [28/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BranchProbability.cpp.o 2022-04-13T11:18:51,128 [29/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/COM.cpp.o 2022-04-13T11:18:51,129 [30/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamWriter.cpp.o 2022-04-13T11:18:51,129 [31/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/circular_raw_ostream.cpp.o 2022-04-13T11:18:58,679 [32/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Chrono.cpp.o 2022-04-13T11:18:59,097 [33/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o 2022-04-13T11:19:01,613 [34/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Compression.cpp.o 2022-04-13T11:19:02,676 [35/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CachePruning.cpp.o 2022-04-13T11:19:03,978 [36/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertUTF.cpp.o 2022-04-13T11:19:04,250 [37/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CRC.cpp.o 2022-04-13T11:19:09,785 [38/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertUTFWrapper.cpp.o 2022-04-13T11:19:10,121 [39/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CodeGenCoverage.cpp.o 2022-04-13T11:19:12,459 [40/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Debug.cpp.o 2022-04-13T11:19:14,413 [41/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CrashRecoveryContext.cpp.o 2022-04-13T11:19:17,850 [42/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DivisionByConstantInfo.cpp.o 2022-04-13T11:19:18,888 [43/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DataExtractor.cpp.o 2022-04-13T11:19:22,039 [44/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DeltaAlgorithm.cpp.o 2022-04-13T11:19:24,709 [45/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DJB.cpp.o 2022-04-13T11:19:28,628 [46/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DebugCounter.cpp.o 2022-04-13T11:19:28,977 [47/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ELFAttributes.cpp.o 2022-04-13T11:19:29,241 [48/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ExtensibleRTTI.cpp.o 2022-04-13T11:19:31,759 [49/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DAGDeltaAlgorithm.cpp.o 2022-04-13T11:19:40,996 [50/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Error.cpp.o 2022-04-13T11:19:43,948 [51/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.o 2022-04-13T11:19:44,320 [52/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ELFAttributeParser.cpp.o 2022-04-13T11:19:45,920 [53/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileCollector.cpp.o 2022-04-13T11:19:46,879 [54/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileUtilities.cpp.o 2022-04-13T11:19:53,390 [55/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CommandLine.cpp.o 2022-04-13T11:19:53,986 [56/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileOutputBuffer.cpp.o 2022-04-13T11:19:54,284 [57/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FormattedStream.cpp.o 2022-04-13T11:19:55,355 [58/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FoldingSet.cpp.o 2022-04-13T11:19:56,527 [59/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FormatVariadic.cpp.o 2022-04-13T11:19:57,975 [60/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Hashing.cpp.o 2022-04-13T11:20:01,102 [61/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/InstructionCost.cpp.o 2022-04-13T11:20:01,630 [62/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/InitLLVM.cpp.o 2022-04-13T11:20:01,899 [63/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntEqClasses.cpp.o 2022-04-13T11:20:02,714 [64/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GlobPattern.cpp.o 2022-04-13T11:20:07,033 [65/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntervalMap.cpp.o 2022-04-13T11:20:08,422 [66/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GraphWriter.cpp.o 2022-04-13T11:20:09,523 [67/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LEB128.cpp.o 2022-04-13T11:20:11,951 [68/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Locale.cpp.o 2022-04-13T11:20:14,867 [69/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LineIterator.cpp.o 2022-04-13T11:20:20,404 [70/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LowLevelType.cpp.o 2022-04-13T11:20:21,611 [71/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MathExtras.cpp.o 2022-04-13T11:20:22,458 [72/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemAlloc.cpp.o 2022-04-13T11:20:24,634 [73/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ManagedStatic.cpp.o 2022-04-13T11:20:26,401 [74/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/KnownBits.cpp.o 2022-04-13T11:20:27,198 [75/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LockFileManager.cpp.o 2022-04-13T11:20:29,994 [76/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemoryBufferRef.cpp.o 2022-04-13T11:20:31,924 [77/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MSP430Attributes.cpp.o 2022-04-13T11:20:36,986 [78/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MD5.cpp.o 2022-04-13T11:20:39,375 [79/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemoryBuffer.cpp.o 2022-04-13T11:20:39,594 [80/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/JSON.cpp.o 2022-04-13T11:20:42,358 [81/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/NativeFormatting.cpp.o 2022-04-13T11:20:44,479 [82/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MSP430AttributeParser.cpp.o 2022-04-13T11:20:46,264 [83/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Optional.cpp.o 2022-04-13T11:20:46,844 [84/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/OptimizedStructLayout.cpp.o 2022-04-13T11:20:46,845 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/OptimizedStructLayout.cpp: In function ‘std::pair llvm::performOptimizedStructLayout(llvm::MutableArrayRef)’: 2022-04-13T11:20:46,846 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/OptimizedStructLayout.cpp:42:1: note: parameter passing for argument of type ‘llvm::MutableArrayRef’ changed in GCC 7.1 2022-04-13T11:20:46,846 llvm::performOptimizedStructLayout(MutableArrayRef Fields) { 2022-04-13T11:20:46,847 ^~~~ 2022-04-13T11:20:52,800 [85/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PrettyStackTrace.cpp.o 2022-04-13T11:20:53,525 [86/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Regex.cpp.o 2022-04-13T11:20:54,847 [87/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o 2022-04-13T11:20:59,754 [88/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RISCVAttributes.cpp.o 2022-04-13T11:21:00,103 [89/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.o 2022-04-13T11:21:01,340 [90/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RandomNumberGenerator.cpp.o 2022-04-13T11:21:06,850 [91/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RISCVAttributeParser.cpp.o 2022-04-13T11:21:07,667 [92/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SHA1.cpp.o 2022-04-13T11:21:11,256 [93/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signposts.cpp.o 2022-04-13T11:21:11,687 [94/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ScaledNumber.cpp.o 2022-04-13T11:21:11,751 [95/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ItaniumManglingCanonicalizer.cpp.o 2022-04-13T11:21:16,889 [96/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SmallPtrSet.cpp.o 2022-04-13T11:21:19,430 [97/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SmallVector.cpp.o 2022-04-13T11:21:28,326 [98/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RISCVISAInfo.cpp.o 2022-04-13T11:21:29,339 [99/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ScopedPrinter.cpp.o 2022-04-13T11:21:29,340 In file included from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/ScopedPrinter.cpp:1: 2022-04-13T11:21:29,340 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::JSONScopedPrinter::printFlagsImpl(llvm::StringRef, llvm::HexNumber, llvm::ArrayRef)’: 2022-04-13T11:21:29,341 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:673:8: note: parameter passing for argument of type ‘llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,342 void printFlagsImpl(StringRef Label, HexNumber Value, 2022-04-13T11:21:29,344 ^~~~~~~~~~~~~~ 2022-04-13T11:21:29,345 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::JSONScopedPrinter::printFlagsImpl(llvm::StringRef, llvm::HexNumber, llvm::ArrayRef)’: 2022-04-13T11:21:29,348 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:688:8: note: parameter passing for argument of type ‘llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,349 void printFlagsImpl(StringRef Label, HexNumber Value, 2022-04-13T11:21:29,350 ^~~~~~~~~~~~~~ 2022-04-13T11:21:29,351 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::JSONScopedPrinter::printList(llvm::StringRef, llvm::ArrayRef)’: 2022-04-13T11:21:29,353 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:630:8: note: parameter passing for argument of type ‘const llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,357 void printList(StringRef Label, const ArrayRef List) override { 2022-04-13T11:21:29,367 ^~~~~~~~~ 2022-04-13T11:21:29,367 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:630:8: note: parameter passing for argument of type ‘const llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,368 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::JSONScopedPrinter::printHexListImpl(llvm::StringRef, llvm::ArrayRef)’: 2022-04-13T11:21:29,369 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:707:8: note: parameter passing for argument of type ‘const llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,370 void printHexListImpl(StringRef Label, 2022-04-13T11:21:29,371 ^~~~~~~~~~~~~~~~ 2022-04-13T11:21:29,372 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::JSONScopedPrinter::printList(llvm::StringRef, llvm::ArrayRef)’: 2022-04-13T11:21:29,372 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:614:8: note: parameter passing for argument of type ‘const llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,373 void printList(StringRef Label, const ArrayRef List) override { 2022-04-13T11:21:29,374 ^~~~~~~~~ 2022-04-13T11:21:29,374 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::JSONScopedPrinter::printList(llvm::StringRef, llvm::ArrayRef)’: 2022-04-13T11:21:29,375 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:598:8: note: parameter passing for argument of type ‘const llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,393 void printList(StringRef Label, const ArrayRef List) override { 2022-04-13T11:21:29,395 ^~~~~~~~~ 2022-04-13T11:21:29,397 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::ScopedPrinter::printList(llvm::StringRef, llvm::ArrayRef)’: 2022-04-13T11:21:29,399 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:307:16: note: parameter passing for argument of type ‘const llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,403 virtual void printList(StringRef Label, const ArrayRef List) { 2022-04-13T11:21:29,404 ^~~~~~~~~ 2022-04-13T11:21:29,405 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::ScopedPrinter::printList(llvm::StringRef, llvm::ArrayRef)’: 2022-04-13T11:21:29,406 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:288:16: note: parameter passing for argument of type ‘const llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,406 virtual void printList(StringRef Label, const ArrayRef List) { 2022-04-13T11:21:29,407 ^~~~~~~~~ 2022-04-13T11:21:29,407 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::ScopedPrinter::printList(llvm::StringRef, llvm::ArrayRef)’: 2022-04-13T11:21:29,407 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:269:16: note: parameter passing for argument of type ‘const llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,408 virtual void printList(StringRef Label, const ArrayRef List) { 2022-04-13T11:21:29,409 ^~~~~~~~~ 2022-04-13T11:21:29,409 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::ScopedPrinter::printFlagsImpl(llvm::StringRef, llvm::HexNumber, llvm::ArrayRef)’: 2022-04-13T11:21:29,410 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:431:16: note: parameter passing for argument of type ‘llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,410 virtual void printFlagsImpl(StringRef Label, HexNumber Value, 2022-04-13T11:21:29,411 ^~~~~~~~~~~~~~ 2022-04-13T11:21:29,411 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::ScopedPrinter::printFlagsImpl(llvm::StringRef, llvm::HexNumber, llvm::ArrayRef)’: 2022-04-13T11:21:29,412 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:439:16: note: parameter passing for argument of type ‘llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,412 virtual void printFlagsImpl(StringRef Label, HexNumber Value, 2022-04-13T11:21:29,413 ^~~~~~~~~~~~~~ 2022-04-13T11:21:29,413 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h: In member function ‘virtual void llvm::ScopedPrinter::printHexListImpl(llvm::StringRef, llvm::ArrayRef)’: 2022-04-13T11:21:29,414 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/ScopedPrinter.h:455:16: note: parameter passing for argument of type ‘const llvm::ArrayRef’ changed in GCC 7.1 2022-04-13T11:21:29,415 virtual void printHexListImpl(StringRef Label, 2022-04-13T11:21:29,415 ^~~~~~~~~~~~~~~~ 2022-04-13T11:21:32,511 [100/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SHA256.cpp.o 2022-04-13T11:21:34,382 [101/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SourceMgr.cpp.o 2022-04-13T11:21:36,734 [102/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringMap.cpp.o 2022-04-13T11:21:38,891 [103/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringExtras.cpp.o 2022-04-13T11:21:39,615 [104/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Statistic.cpp.o 2022-04-13T11:21:42,249 [105/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringSaver.cpp.o 2022-04-13T11:21:43,930 [106/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SpecialCaseList.cpp.o 2022-04-13T11:21:46,946 [107/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SystemUtils.cpp.o 2022-04-13T11:21:49,329 [108/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SymbolRemappingReader.cpp.o 2022-04-13T11:21:53,290 [109/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SuffixTree.cpp.o 2022-04-13T11:21:54,886 [110/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringRef.cpp.o 2022-04-13T11:21:57,109 [111/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TarWriter.cpp.o 2022-04-13T11:21:58,593 [112/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TargetParser.cpp.o 2022-04-13T11:22:00,704 [113/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.o 2022-04-13T11:22:06,886 [114/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ToolOutputFile.cpp.o 2022-04-13T11:22:07,126 [115/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TrigramIndex.cpp.o 2022-04-13T11:22:13,847 [116/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Twine.cpp.o 2022-04-13T11:22:15,024 [117/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TypeSize.cpp.o 2022-04-13T11:22:15,857 [118/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Unicode.cpp.o 2022-04-13T11:22:15,971 [119/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/UnicodeCaseFold.cpp.o 2022-04-13T11:22:19,584 [120/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TimeProfiler.cpp.o 2022-04-13T11:22:19,585 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:22:19,585 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/SmallVector.h:19, 2022-04-13T11:22:19,586 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Error.h:17, 2022-04-13T11:22:19,587 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TimeProfiler.h:12, 2022-04-13T11:22:19,587 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/TimeProfiler.cpp:13: 2022-04-13T11:22:19,588 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter >]’: 2022-04-13T11:22:19,589 /usr/include/c++/8/bits/stl_algo.h:1821:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,589 __unguarded_linear_insert(_RandomAccessIterator __last, 2022-04-13T11:22:19,590 ^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,590 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]’: 2022-04-13T11:22:19,591 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,592 __insertion_sort(_RandomAccessIterator __first, 2022-04-13T11:22:19,592 ^~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,593 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,594 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,594 In file included from /usr/include/c++/8/bits/stl_algo.h:61, 2022-04-13T11:22:19,595 from /usr/include/c++/8/algorithm:62, 2022-04-13T11:22:19,595 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/SmallVector.h:19, 2022-04-13T11:22:19,595 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Error.h:17, 2022-04-13T11:22:19,606 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TimeProfiler.h:12, 2022-04-13T11:22:19,607 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/TimeProfiler.cpp:13: 2022-04-13T11:22:19,607 /usr/include/c++/8/bits/stl_heap.h: In function ‘void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >; _Distance = int; _Tp = std::pair, std::pair > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]’: 2022-04-13T11:22:19,608 /usr/include/c++/8/bits/stl_heap.h:214:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,609 __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, 2022-04-13T11:22:19,609 ^~~~~~~~~~~~~ 2022-04-13T11:22:19,610 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:22:19,610 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:22:19,611 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringExtras.h:18, 2022-04-13T11:22:19,611 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Error.h:18, 2022-04-13T11:22:19,612 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TimeProfiler.h:12, 2022-04-13T11:22:19,613 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/TimeProfiler.cpp:13: 2022-04-13T11:22:19,613 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::__cxx11::basic_string, std::allocator >, const std::pair > >&}; _Tp = std::pair, std::pair > > >; _Alloc = std::allocator, std::pair > > > >]’: 2022-04-13T11:22:19,614 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector, std::pair > > > >::iterator’ {aka ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’} changed in GCC 7.1 2022-04-13T11:22:19,615 vector<_Tp, _Alloc>:: 2022-04-13T11:22:19,615 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,616 In file included from /usr/include/c++/8/bits/stl_algo.h:61, 2022-04-13T11:22:19,626 from /usr/include/c++/8/algorithm:62, 2022-04-13T11:22:19,627 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/SmallVector.h:19, 2022-04-13T11:22:19,628 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Error.h:17, 2022-04-13T11:22:19,628 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TimeProfiler.h:12, 2022-04-13T11:22:19,629 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/TimeProfiler.cpp:13: 2022-04-13T11:22:19,630 /usr/include/c++/8/bits/stl_heap.h: In function ‘void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]’: 2022-04-13T11:22:19,630 /usr/include/c++/8/bits/stl_heap.h:326:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,631 __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 2022-04-13T11:22:19,632 ^~~~~~~~~~~ 2022-04-13T11:22:19,633 /usr/include/c++/8/bits/stl_heap.h:326:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,634 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:22:19,635 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/SmallVector.h:19, 2022-04-13T11:22:19,635 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Error.h:17, 2022-04-13T11:22:19,636 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TimeProfiler.h:12, 2022-04-13T11:22:19,637 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/TimeProfiler.cpp:13: 2022-04-13T11:22:19,637 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter >]’: 2022-04-13T11:22:19,638 /usr/include/c++/8/bits/stl_algo.h:1940:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,638 __introsort_loop(_RandomAccessIterator __first, 2022-04-13T11:22:19,639 ^~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,639 /usr/include/c++/8/bits/stl_algo.h:1940:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,640 /usr/include/c++/8/bits/stl_algo.h:1954:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,641 std::__introsort_loop(__cut, __last, __depth_limit, __comp); 2022-04-13T11:22:19,641 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,642 /usr/include/c++/8/bits/stl_algo.h:1672:23: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,643 std::__make_heap(__first, __middle, __comp); 2022-04-13T11:22:19,643 ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,644 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:22:19,645 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:22:19,645 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringExtras.h:18, 2022-04-13T11:22:19,646 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Error.h:18, 2022-04-13T11:22:19,646 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TimeProfiler.h:12, 2022-04-13T11:22:19,647 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/TimeProfiler.cpp:13: 2022-04-13T11:22:19,647 /usr/include/c++/8/bits/vector.tcc: In member function ‘void llvm::TimeTraceProfiler::write(llvm::raw_pwrite_stream&)’: 2022-04-13T11:22:19,648 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,648 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:22:19,649 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,649 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:22:19,650 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/SmallVector.h:19, 2022-04-13T11:22:19,651 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Error.h:17, 2022-04-13T11:22:19,651 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TimeProfiler.h:12, 2022-04-13T11:22:19,652 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/TimeProfiler.cpp:13: 2022-04-13T11:22:19,652 /usr/include/c++/8/bits/stl_algo.h:1968:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,653 std::__introsort_loop(__first, __last, 2022-04-13T11:22:19,653 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,654 std::__lg(__last - __first) * 2, 2022-04-13T11:22:19,654 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,655 __comp); 2022-04-13T11:22:19,655 ~~~~~~~ 2022-04-13T11:22:19,656 /usr/include/c++/8/bits/stl_algo.h:1885:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,657 std::__insertion_sort(__first, __first + int(_S_threshold), __comp); 2022-04-13T11:22:19,658 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:19,658 /usr/include/c++/8/bits/stl_algo.h:1890:23: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator, std::pair > > >*, std::vector, std::pair > > > > >’ changed in GCC 7.1 2022-04-13T11:22:19,659 std::__insertion_sort(__first, __last, __comp); 2022-04-13T11:22:19,659 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:22,385 [121/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VersionTuple.cpp.o 2022-04-13T11:22:25,843 [122/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Triple.cpp.o 2022-04-13T11:22:28,852 [123/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Timer.cpp.o 2022-04-13T11:22:28,853 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:22:28,854 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringRef.h:16, 2022-04-13T11:22:28,854 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMapEntry.h:20, 2022-04-13T11:22:28,855 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMap.h:17, 2022-04-13T11:22:28,855 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Timer.h:12, 2022-04-13T11:22:28,856 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/Timer.cpp:13: 2022-04-13T11:22:28,857 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’: 2022-04-13T11:22:28,857 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:22:28,858 __insertion_sort(_RandomAccessIterator __first, 2022-04-13T11:22:28,858 ^~~~~~~~~~~~~~~~ 2022-04-13T11:22:28,859 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:22:28,860 In file included from /usr/include/c++/8/bits/stl_algo.h:61, 2022-04-13T11:22:28,860 from /usr/include/c++/8/algorithm:62, 2022-04-13T11:22:28,861 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringRef.h:16, 2022-04-13T11:22:28,861 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMapEntry.h:20, 2022-04-13T11:22:28,862 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMap.h:17, 2022-04-13T11:22:28,862 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Timer.h:12, 2022-04-13T11:22:28,863 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/Timer.cpp:13: 2022-04-13T11:22:28,864 /usr/include/c++/8/bits/stl_heap.h: In function ‘void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = int; _Tp = llvm::TimerGroup::PrintRecord; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’: 2022-04-13T11:22:28,864 /usr/include/c++/8/bits/stl_heap.h:214:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:22:28,865 __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, 2022-04-13T11:22:28,865 ^~~~~~~~~~~~~ 2022-04-13T11:22:28,866 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:22:28,866 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringRef.h:16, 2022-04-13T11:22:28,867 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMapEntry.h:20, 2022-04-13T11:22:28,868 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMap.h:17, 2022-04-13T11:22:28,870 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/Timer.h:12, 2022-04-13T11:22:28,871 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/Support/Timer.cpp:13: 2022-04-13T11:22:28,872 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’: 2022-04-13T11:22:28,872 /usr/include/c++/8/bits/stl_algo.h:1940:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:22:28,873 __introsort_loop(_RandomAccessIterator __first, 2022-04-13T11:22:28,873 ^~~~~~~~~~~~~~~~ 2022-04-13T11:22:28,874 /usr/include/c++/8/bits/stl_algo.h:1940:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:22:28,875 /usr/include/c++/8/bits/stl_algo.h:1954:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:22:28,875 std::__introsort_loop(__cut, __last, __depth_limit, __comp); 2022-04-13T11:22:28,876 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:28,876 /usr/include/c++/8/bits/stl_algo.h: In member function ‘void llvm::TimerGroup::PrintQueuedTimers(llvm::raw_ostream&)’: 2022-04-13T11:22:28,877 /usr/include/c++/8/bits/stl_algo.h:1968:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:22:28,877 std::__introsort_loop(__first, __last, 2022-04-13T11:22:28,878 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 2022-04-13T11:22:28,878 std::__lg(__last - __first) * 2, 2022-04-13T11:22:28,879 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:28,879 __comp); 2022-04-13T11:22:28,880 ~~~~~~~ 2022-04-13T11:22:28,881 /usr/include/c++/8/bits/stl_algo.h:1885:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:22:28,881 std::__insertion_sort(__first, __first + int(_S_threshold), __comp); 2022-04-13T11:22:28,882 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:28,882 /usr/include/c++/8/bits/stl_algo.h:1890:23: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:22:28,883 std::__insertion_sort(__first, __last, __comp); 2022-04-13T11:22:28,883 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:22:32,172 [124/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/X86TargetParser.cpp.o 2022-04-13T11:22:32,285 [125/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/WithColor.cpp.o 2022-04-13T11:22:36,539 [126/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_os_ostream.cpp.o 2022-04-13T11:22:37,065 [127/611] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regerror.c.o 2022-04-13T11:22:39,752 [128/611] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regcomp.c.o 2022-04-13T11:22:40,143 [129/611] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regfree.c.o 2022-04-13T11:22:40,525 [130/611] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regstrlcpy.c.o 2022-04-13T11:22:45,805 [131/611] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regexec.c.o 2022-04-13T11:22:47,739 [132/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/xxhash.cpp.o 2022-04-13T11:22:48,215 [133/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Atomic.cpp.o 2022-04-13T11:22:54,175 [134/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Z3Solver.cpp.o 2022-04-13T11:22:55,245 [135/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/YAMLTraits.cpp.o 2022-04-13T11:22:57,407 [136/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DynamicLibrary.cpp.o 2022-04-13T11:22:58,811 [137/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/YAMLParser.cpp.o 2022-04-13T11:23:00,036 [138/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Errno.cpp.o 2022-04-13T11:23:01,112 [139/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_ostream.cpp.o 2022-04-13T11:23:13,127 [140/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Host.cpp.o 2022-04-13T11:23:13,559 [141/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Memory.cpp.o 2022-04-13T11:23:13,819 [142/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Process.cpp.o 2022-04-13T11:23:15,714 [143/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualFileSystem.cpp.o 2022-04-13T11:23:21,976 [144/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ThreadLocal.cpp.o 2022-04-13T11:23:22,050 [145/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RWMutex.cpp.o 2022-04-13T11:23:22,412 [146/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Valgrind.cpp.o 2022-04-13T11:23:22,618 [147/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Watchdog.cpp.o 2022-04-13T11:23:24,242 [148/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Program.cpp.o 2022-04-13T11:23:26,968 [149/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.o 2022-04-13T11:23:37,142 [150/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Error.cpp.o 2022-04-13T11:23:37,492 [151/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Path.cpp.o 2022-04-13T11:23:40,156 [152/611] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o 2022-04-13T11:23:42,586 [153/611] Linking CXX static library lib/libLLVMSupport.a 2022-04-13T11:23:46,949 [154/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/DetailedRecordsBackend.cpp.o 2022-04-13T11:23:50,626 [155/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Main.cpp.o 2022-04-13T11:23:53,790 [156/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackend.cpp.o 2022-04-13T11:23:53,854 [157/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackendSkeleton.cpp.o 2022-04-13T11:23:54,510 [158/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringMatcher.cpp.o 2022-04-13T11:23:59,346 [159/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/JSONBackend.cpp.o 2022-04-13T11:24:16,397 [160/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGLexer.cpp.o 2022-04-13T11:24:38,023 [161/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Record.cpp.o 2022-04-13T11:24:38,024 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:24:38,025 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:24:38,025 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/TableGen/Record.h:17, 2022-04-13T11:24:38,026 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/lib/TableGen/Record.cpp:13: 2022-04-13T11:24:38,027 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int}; _Tp = long long int; _Alloc = std::allocator]’: 2022-04-13T11:24:38,027 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:24:38,028 vector<_Tp, _Alloc>:: 2022-04-13T11:24:38,028 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:24:38,029 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:24:38,029 /usr/include/c++/8/bits/vector.tcc: In member function ‘std::vector llvm::Record::getValueAsListOfInts(llvm::StringRef) const’: 2022-04-13T11:24:38,030 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:24:38,030 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:24:38,031 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:24:40,277 [162/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/SetTheory.cpp.o 2022-04-13T11:24:42,211 [163/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterInst.cpp.o 2022-04-13T11:24:53,204 [164/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/Attributes.cpp.o 2022-04-13T11:25:00,969 [165/611] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGParser.cpp.o 2022-04-13T11:25:01,461 [166/611] Linking CXX static library lib/libLLVMTableGen.a 2022-04-13T11:25:02,532 [167/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeBeadsGen.cpp.o 2022-04-13T11:25:05,929 [168/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CallingConvEmitter.cpp.o 2022-04-13T11:25:09,482 [169/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o 2022-04-13T11:25:22,629 [170/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenHwModes.cpp.o 2022-04-13T11:25:31,649 [171/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmMatcherEmitter.cpp.o 2022-04-13T11:25:38,781 [172/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeEmitterGen.cpp.o 2022-04-13T11:25:48,700 [173/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenMapTable.cpp.o 2022-04-13T11:25:49,158 [174/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenInstruction.cpp.o 2022-04-13T11:25:49,158 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:25:49,159 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:25:49,159 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/BitVector.h:17, 2022-04-13T11:25:49,160 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.h:16, 2022-04-13T11:25:49,161 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.cpp:13: 2022-04-13T11:25:49,161 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const llvm::CodeGenInstAlias::ResultOperand&}; _Tp = llvm::CodeGenInstAlias::ResultOperand; _Alloc = std::allocator]’: 2022-04-13T11:25:49,162 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:25:49,162 vector<_Tp, _Alloc>:: 2022-04-13T11:25:49,163 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:25:49,163 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::__cxx11::basic_string, std::allocator >, llvm::Record*&}; _Tp = llvm::CodeGenInstAlias::ResultOperand; _Alloc = std::allocator]’: 2022-04-13T11:25:49,164 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:25:49,165 In file included from /usr/include/c++/8/vector:64, 2022-04-13T11:25:49,165 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:25:49,166 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/BitVector.h:17, 2022-04-13T11:25:49,166 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.h:16, 2022-04-13T11:25:49,167 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.cpp:13: 2022-04-13T11:25:49,167 /usr/include/c++/8/bits/stl_vector.h: In constructor ‘llvm::CodeGenInstAlias::CodeGenInstAlias(llvm::Record*, llvm::CodeGenTarget&)’: 2022-04-13T11:25:49,169 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:25:49,169 _M_realloc_insert(end(), __x); 2022-04-13T11:25:49,170 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:25:49,171 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:25:49,171 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:25:49,172 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/BitVector.h:17, 2022-04-13T11:25:49,172 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.h:16, 2022-04-13T11:25:49,173 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.cpp:13: 2022-04-13T11:25:49,173 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:25:49,174 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:25:49,174 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:25:49,175 In file included from /usr/include/c++/8/vector:64, 2022-04-13T11:25:49,175 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:25:49,176 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/BitVector.h:17, 2022-04-13T11:25:49,183 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.h:16, 2022-04-13T11:25:49,185 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.cpp:13: 2022-04-13T11:25:49,185 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:25:49,186 _M_realloc_insert(end(), __x); 2022-04-13T11:25:49,189 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:26:30,505 [175/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o 2022-04-13T11:26:32,810 [176/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelEmitter.cpp.o 2022-04-13T11:26:34,369 [177/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenTarget.cpp.o 2022-04-13T11:26:34,370 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:26:34,370 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringRef.h:16, 2022-04-13T11:26:34,371 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMapEntry.h:20, 2022-04-13T11:26:34,371 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMap.h:17, 2022-04-13T11:26:34,372 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h:14, 2022-04-13T11:26:34,373 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.h:19, 2022-04-13T11:26:34,373 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.cpp:16: 2022-04-13T11:26:34,374 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Val_less_iter]’: 2022-04-13T11:26:34,374 /usr/include/c++/8/bits/stl_algo.h:1821:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,375 __unguarded_linear_insert(_RandomAccessIterator __last, 2022-04-13T11:26:34,375 ^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,376 In file included from /usr/include/c++/8/bits/stl_algo.h:61, 2022-04-13T11:26:34,376 from /usr/include/c++/8/algorithm:62, 2022-04-13T11:26:34,377 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringRef.h:16, 2022-04-13T11:26:34,378 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMapEntry.h:20, 2022-04-13T11:26:34,378 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMap.h:17, 2022-04-13T11:26:34,379 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h:14, 2022-04-13T11:26:34,379 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.h:19, 2022-04-13T11:26:34,380 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.cpp:16: 2022-04-13T11:26:34,381 /usr/include/c++/8/bits/stl_heap.h: In function ‘void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Distance = int; _Tp = llvm::CodeGenIntrinsic::ArgAttribute; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’: 2022-04-13T11:26:34,381 /usr/include/c++/8/bits/stl_heap.h:214:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,382 __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, 2022-04-13T11:26:34,382 ^~~~~~~~~~~~~ 2022-04-13T11:26:34,383 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:26:34,383 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringRef.h:16, 2022-04-13T11:26:34,384 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMapEntry.h:20, 2022-04-13T11:26:34,385 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMap.h:17, 2022-04-13T11:26:34,385 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h:14, 2022-04-13T11:26:34,386 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.h:19, 2022-04-13T11:26:34,387 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.cpp:16: 2022-04-13T11:26:34,388 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’: 2022-04-13T11:26:34,389 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,389 __insertion_sort(_RandomAccessIterator __first, 2022-04-13T11:26:34,390 ^~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,390 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,391 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,391 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:26:34,392 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h:18, 2022-04-13T11:26:34,392 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.h:19, 2022-04-13T11:26:34,393 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.cpp:16: 2022-04-13T11:26:34,394 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {unsigned int&, llvm::CodeGenIntrinsic::ArgAttrKind, int}; _Tp = llvm::CodeGenIntrinsic::ArgAttribute; _Alloc = std::allocator]’: 2022-04-13T11:26:34,394 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:26:34,395 vector<_Tp, _Alloc>:: 2022-04-13T11:26:34,395 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,396 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {unsigned int&, llvm::CodeGenIntrinsic::ArgAttrKind, int}; _Tp = llvm::CodeGenIntrinsic::ArgAttribute; _Alloc = std::allocator]’: 2022-04-13T11:26:34,399 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,404 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:26:34,405 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,406 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {unsigned int&, llvm::CodeGenIntrinsic::ArgAttrKind, long long unsigned int&}; _Tp = llvm::CodeGenIntrinsic::ArgAttribute; _Alloc = std::allocator]’: 2022-04-13T11:26:34,406 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:26:34,407 vector<_Tp, _Alloc>:: 2022-04-13T11:26:34,408 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,408 /usr/include/c++/8/bits/vector.tcc: In member function ‘void llvm::CodeGenIntrinsic::setProperty(llvm::Record*)’: 2022-04-13T11:26:34,409 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,410 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:26:34,410 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,411 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:26:34,411 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringRef.h:16, 2022-04-13T11:26:34,412 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMapEntry.h:20, 2022-04-13T11:26:34,413 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/StringMap.h:17, 2022-04-13T11:26:34,413 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h:14, 2022-04-13T11:26:34,414 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.h:19, 2022-04-13T11:26:34,415 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.cpp:16: 2022-04-13T11:26:34,415 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’: 2022-04-13T11:26:34,416 /usr/include/c++/8/bits/stl_algo.h:1940:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,417 __introsort_loop(_RandomAccessIterator __first, 2022-04-13T11:26:34,417 ^~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,418 /usr/include/c++/8/bits/stl_algo.h:1940:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,419 /usr/include/c++/8/bits/stl_algo.h:1954:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,419 std::__introsort_loop(__cut, __last, __depth_limit, __comp); 2022-04-13T11:26:34,420 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,420 /usr/include/c++/8/bits/stl_algo.h: In constructor ‘llvm::CodeGenIntrinsic::CodeGenIntrinsic(llvm::Record*, std::vector)’: 2022-04-13T11:26:34,421 /usr/include/c++/8/bits/stl_algo.h:1968:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,422 std::__introsort_loop(__first, __last, 2022-04-13T11:26:34,422 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,423 std::__lg(__last - __first) * 2, 2022-04-13T11:26:34,423 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,424 __comp); 2022-04-13T11:26:34,425 ~~~~~~~ 2022-04-13T11:26:34,425 /usr/include/c++/8/bits/stl_algo.h:1885:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,426 std::__insertion_sort(__first, __first + int(_S_threshold), __comp); 2022-04-13T11:26:34,426 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:26:34,427 /usr/include/c++/8/bits/stl_algo.h:1890:23: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:34,428 std::__insertion_sort(__first, __last, __comp); 2022-04-13T11:26:34,428 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:26:50,091 [178/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenSchedule.cpp.o 2022-04-13T11:26:50,092 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:26:50,093 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:26:50,093 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/TableGen/Record.h:17, 2022-04-13T11:26:50,094 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenSchedule.h:22, 2022-04-13T11:26:50,094 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenSchedule.cpp:14: 2022-04-13T11:26:50,095 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const llvm::APInt&, const llvm::APInt&, const llvm::Record*&}; _Tp = llvm::PredicateInfo; _Alloc = std::allocator]’: 2022-04-13T11:26:50,096 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:26:50,096 vector<_Tp, _Alloc>:: 2022-04-13T11:26:50,097 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:26:50,097 /usr/include/c++/8/bits/vector.tcc: In member function ‘void llvm::OpcodeInfo::addPredicateForProcModel(const llvm::APInt&, const llvm::APInt&, const llvm::Record*)’: 2022-04-13T11:26:50,098 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:26:50,099 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:26:50,099 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:27:01,117 [179/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o 2022-04-13T11:27:05,845 [180/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcher.cpp.o 2022-04-13T11:27:09,544 [181/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o 2022-04-13T11:27:10,830 [182/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherGen.cpp.o 2022-04-13T11:27:22,000 [183/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenRegisters.cpp.o 2022-04-13T11:27:22,000 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenRegisters.cpp: In member function ‘void llvm::CodeGenRegBank::inferMatchingSuperRegClass(llvm::CodeGenRegisterClass*, std::__cxx11::list::iterator)’: 2022-04-13T11:27:22,001 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenRegisters.cpp:2240:6: note: parameter passing for argument of type ‘std::__cxx11::list::iterator’ {aka ‘std::_List_iterator’} changed in GCC 7.1 2022-04-13T11:27:22,001 void CodeGenRegBank::inferMatchingSuperRegClass(CodeGenRegisterClass *RC, 2022-04-13T11:27:22,002 ^~~~~~~~~~~~~~ 2022-04-13T11:27:32,077 [184/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DisassemblerEmitter.cpp.o 2022-04-13T11:27:33,051 [185/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/ExegesisEmitter.cpp.o 2022-04-13T11:27:38,171 [186/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o 2022-04-13T11:27:38,172 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:27:38,172 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:27:38,173 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/TableGen/Record.h:17, 2022-04-13T11:27:38,173 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenSchedule.h:22, 2022-04-13T11:27:38,174 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/DFAPacketizerEmitter.cpp:17: 2022-04-13T11:27:38,174 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const llvm::SmallVector&}; _Tp = llvm::SmallVector; _Alloc = std::allocator >]’: 2022-04-13T11:27:38,175 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ {aka ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’} changed in GCC 7.1 2022-04-13T11:27:38,175 vector<_Tp, _Alloc>:: 2022-04-13T11:27:38,176 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:27:38,176 In file included from /usr/include/c++/8/vector:64, 2022-04-13T11:27:38,177 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:27:38,178 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/TableGen/Record.h:17, 2022-04-13T11:27:38,178 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenSchedule.h:22, 2022-04-13T11:27:38,179 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/DFAPacketizerEmitter.cpp:17: 2022-04-13T11:27:38,179 /usr/include/c++/8/bits/stl_vector.h: In member function ‘void {anonymous}::DFAPacketizerEmitter::createScheduleClasses(unsigned int, const RecVec&)’: 2022-04-13T11:27:38,180 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 2022-04-13T11:27:38,180 _M_realloc_insert(end(), __x); 2022-04-13T11:27:38,181 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:27:41,988 [187/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DirectiveEmitter.cpp.o 2022-04-13T11:27:47,509 [188/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAEmitter.cpp.o 2022-04-13T11:27:47,509 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:27:47,510 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/UniqueVector.h:15, 2022-04-13T11:27:47,511 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/DFAEmitter.h:21, 2022-04-13T11:27:47,512 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/DFAEmitter.cpp:23: 2022-04-13T11:27:47,513 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator]’: 2022-04-13T11:27:47,513 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:27:47,514 vector<_Tp, _Alloc>:: 2022-04-13T11:27:47,514 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:27:47,515 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const llvm::SmallVector&}; _Tp = llvm::SmallVector; _Alloc = std::allocator >]’: 2022-04-13T11:27:47,515 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ {aka ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’} changed in GCC 7.1 2022-04-13T11:27:47,516 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector, std::allocator > >::iterator’ {aka ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’} changed in GCC 7.1 2022-04-13T11:27:47,517 In file included from /usr/include/c++/8/vector:64, 2022-04-13T11:27:47,518 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/UniqueVector.h:15, 2022-04-13T11:27:47,518 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/DFAEmitter.h:21, 2022-04-13T11:27:47,519 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/DFAEmitter.cpp:23: 2022-04-13T11:27:47,519 /usr/include/c++/8/bits/stl_vector.h: In member function ‘void llvm::DfaEmitter::addTransition(llvm::DfaEmitter::state_type, llvm::DfaEmitter::state_type, llvm::DfaEmitter::action_type)’: 2022-04-13T11:27:47,520 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:27:47,520 _M_realloc_insert(end(), __x); 2022-04-13T11:27:47,521 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:27:47,522 /usr/include/c++/8/bits/stl_vector.h: In member function ‘void llvm::DfaEmitter::visitDfaState(const DfaState&)’: 2022-04-13T11:27:47,522 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 2022-04-13T11:27:47,523 _M_realloc_insert(end(), __x); 2022-04-13T11:27:47,523 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:27:47,524 /usr/include/c++/8/bits/stl_vector.h: In member function ‘void llvm::DfaEmitter::constructDfa()’: 2022-04-13T11:27:47,524 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >’ changed in GCC 7.1 2022-04-13T11:27:47,525 _M_realloc_insert(end(), __x); 2022-04-13T11:27:47,525 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:28:05,651 [189/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/InfoByHwMode.cpp.o 2022-04-13T11:28:22,078 [190/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/FastISelEmitter.cpp.o 2022-04-13T11:28:37,999 [191/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/GICombinerEmitter.cpp.o 2022-04-13T11:28:38,728 [192/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/InstrDocsEmitter.cpp.o 2022-04-13T11:28:48,673 [193/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o 2022-04-13T11:28:48,673 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:28:48,674 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:28:48,675 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/BitVector.h:17, 2022-04-13T11:28:48,675 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.h:16, 2022-04-13T11:28:48,676 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp:14: 2022-04-13T11:28:48,677 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator]’: 2022-04-13T11:28:48,677 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector >::iterator’ {aka ‘__gnu_cxx::__normal_iterator > >’} changed in GCC 7.1 2022-04-13T11:28:48,678 vector<_Tp, _Alloc>:: 2022-04-13T11:28:48,679 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:28:48,679 In file included from /usr/include/c++/8/vector:64, 2022-04-13T11:28:48,680 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:28:48,681 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/BitVector.h:17, 2022-04-13T11:28:48,681 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenInstruction.h:16, 2022-04-13T11:28:48,682 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp:14: 2022-04-13T11:28:48,682 /usr/include/c++/8/bits/stl_vector.h: In member function ‘unsigned int {anonymous}::FilterChooser::getIslands(std::vector >&, std::vector >&, std::vector >&, const insn_t&) const’: 2022-04-13T11:28:48,683 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator > >’ changed in GCC 7.1 2022-04-13T11:28:48,683 _M_realloc_insert(end(), __x); 2022-04-13T11:28:48,684 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:28:48,684 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator > >’ changed in GCC 7.1 2022-04-13T11:28:48,685 _M_realloc_insert(end(), __x); 2022-04-13T11:28:48,685 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:28:51,030 [194/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/InstrInfoEmitter.cpp.o 2022-04-13T11:28:51,798 [195/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptEmitter.cpp.o 2022-04-13T11:29:04,521 [196/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptRSTEmitter.cpp.o 2022-04-13T11:29:08,647 [197/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/IntrinsicEmitter.cpp.o 2022-04-13T11:29:09,431 [198/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptParserEmitter.cpp.o 2022-04-13T11:29:17,003 [199/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/PredicateExpander.cpp.o 2022-04-13T11:29:25,502 [200/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o 2022-04-13T11:29:29,118 [201/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SDNodeProperties.cpp.o 2022-04-13T11:29:39,350 [202/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/RegisterBankEmitter.cpp.o 2022-04-13T11:29:57,095 [203/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SubtargetFeatureInfo.cpp.o 2022-04-13T11:29:57,096 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:29:57,097 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:29:57,097 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/TableGen/Record.h:17, 2022-04-13T11:29:57,098 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/SubtargetFeatureInfo.h:12, 2022-04-13T11:29:57,099 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/SubtargetFeatureInfo.cpp:9: 2022-04-13T11:29:57,099 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {llvm::Record*&, llvm::SubtargetFeatureInfo}; _Tp = std::pair; _Alloc = std::allocator >]’: 2022-04-13T11:29:57,100 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector >::iterator’ {aka ‘__gnu_cxx::__normal_iterator*, std::vector > >’} changed in GCC 7.1 2022-04-13T11:29:57,100 vector<_Tp, _Alloc>:: 2022-04-13T11:29:57,101 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:29:57,101 /usr/include/c++/8/bits/vector.tcc: In static member function ‘static std::vector > llvm::SubtargetFeatureInfo::getAll(const llvm::RecordKeeper&)’: 2022-04-13T11:29:57,102 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator*, std::vector > >’ changed in GCC 7.1 2022-04-13T11:29:57,102 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:29:57,103 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:30:06,119 [204/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CompressInstEmitter.cpp.o 2022-04-13T11:30:06,794 [205/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/Types.cpp.o 2022-04-13T11:30:19,076 [206/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SearchableTableEmitter.cpp.o 2022-04-13T11:30:20,385 [207/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/TableGen.cpp.o 2022-04-13T11:30:34,727 [208/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SubtargetEmitter.cpp.o 2022-04-13T11:30:34,728 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:30:34,729 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h:18, 2022-04-13T11:30:34,729 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.h:19, 2022-04-13T11:30:34,730 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/SubtargetEmitter.cpp:13: 2022-04-13T11:30:34,730 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long int&}; _Tp = long long int; _Alloc = std::allocator]’: 2022-04-13T11:30:34,731 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector >::iterator’ {aka ‘__gnu_cxx::__normal_iterator > >’} changed in GCC 7.1 2022-04-13T11:30:34,732 vector<_Tp, _Alloc>:: 2022-04-13T11:30:34,732 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:30:34,733 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_fill_insert(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = long long int; _Alloc = std::allocator]’: 2022-04-13T11:30:34,734 /usr/include/c++/8/bits/vector.tcc:478:5: note: parameter passing for argument of type ‘std::vector >::iterator’ {aka ‘__gnu_cxx::__normal_iterator > >’} changed in GCC 7.1 2022-04-13T11:30:34,734 vector<_Tp, _Alloc>:: 2022-04-13T11:30:34,735 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:30:34,735 In file included from /usr/include/c++/8/vector:64, 2022-04-13T11:30:34,736 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h:18, 2022-04-13T11:30:34,736 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.h:19, 2022-04-13T11:30:34,737 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/SubtargetEmitter.cpp:13: 2022-04-13T11:30:34,738 /usr/include/c++/8/bits/stl_vector.h: In member function ‘void {anonymous}::SubtargetEmitter::GenSchedClassTables(const llvm::CodeGenProcModel&, {anonymous}::SubtargetEmitter::SchedClassTables&)’: 2022-04-13T11:30:34,738 /usr/include/c++/8/bits/stl_vector.h:847:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator > >’ changed in GCC 7.1 2022-04-13T11:30:34,739 _M_fill_insert(end(), __new_size - size(), __x); 2022-04-13T11:30:34,740 ^~~~~~~~~~~~~~ 2022-04-13T11:30:34,740 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator > >’ changed in GCC 7.1 2022-04-13T11:30:34,741 _M_realloc_insert(end(), __x); 2022-04-13T11:30:34,741 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:30:34,741 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator > >’ changed in GCC 7.1 2022-04-13T11:30:34,742 _M_realloc_insert(end(), __x); 2022-04-13T11:30:34,743 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:30:35,546 [209/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86ModRMFilters.cpp.o 2022-04-13T11:30:38,228 [210/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/RegisterInfoEmitter.cpp.o 2022-04-13T11:30:38,228 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:30:38,229 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h:18, 2022-04-13T11:30:38,230 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/InfoByHwMode.h:17, 2022-04-13T11:30:38,230 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenRegisters.h:17, 2022-04-13T11:30:38,231 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/RegisterInfoEmitter.cpp:15: 2022-04-13T11:30:38,232 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int}; _Tp = long long int; _Alloc = std::allocator]’: 2022-04-13T11:30:38,232 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector >::iterator’ {aka ‘__gnu_cxx::__normal_iterator > >’} changed in GCC 7.1 2022-04-13T11:30:38,233 vector<_Tp, _Alloc>:: 2022-04-13T11:30:38,233 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:30:38,234 /usr/include/c++/8/bits/vector.tcc: In function ‘void {anonymous}::RegisterInfoEmitter::EmitRegMappingTables(llvm::raw_ostream&, const std::deque&, bool)’: 2022-04-13T11:30:38,235 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator > >’ changed in GCC 7.1 2022-04-13T11:30:38,235 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:30:38,236 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:30:46,547 [211/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86DisassemblerTables.cpp.o 2022-04-13T11:30:47,247 [212/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86EVEX2VEXTablesEmitter.cpp.o 2022-04-13T11:30:53,392 [213/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o 2022-04-13T11:31:00,704 [214/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CTagsEmitter.cpp.o 2022-04-13T11:31:00,832 [215/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/WebAssemblyDisassemblerEmitter.cpp.o 2022-04-13T11:31:01,216 [216/611] Building CXX object utils/TableGen/GlobalISel/CMakeFiles/LLVMTableGenGlobalISel.dir/CodeExpander.cpp.o 2022-04-13T11:31:05,512 [217/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/GlobalISelEmitter.cpp.o 2022-04-13T11:31:05,513 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:31:05,513 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:31:05,514 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TypeSize.h:18, 2022-04-13T11:31:05,514 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/MachineValueType.h:21, 2022-04-13T11:31:05,515 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h:17, 2022-04-13T11:31:05,516 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h:17, 2022-04-13T11:31:05,516 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:32: 2022-04-13T11:31:05,517 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const {anonymous}::MatchTableRecord&}; _Tp = {anonymous}::MatchTableRecord; _Alloc = std::allocator<{anonymous}::MatchTableRecord>]’: 2022-04-13T11:31:05,517 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector<{anonymous}::MatchTableRecord>::iterator’ {aka ‘__gnu_cxx::__normal_iterator<{anonymous}::MatchTableRecord*, std::vector<{anonymous}::MatchTableRecord> >’} changed in GCC 7.1 2022-04-13T11:31:05,518 vector<_Tp, _Alloc>:: 2022-04-13T11:31:05,518 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,519 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector<{anonymous}::MatchTableRecord>::iterator’ {aka ‘__gnu_cxx::__normal_iterator<{anonymous}::MatchTableRecord*, std::vector<{anonymous}::MatchTableRecord> >’} changed in GCC 7.1 2022-04-13T11:31:05,520 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:31:05,520 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/Hashing.h:51, 2022-04-13T11:31:05,521 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12, 2022-04-13T11:31:05,521 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TypeSize.h:18, 2022-04-13T11:31:05,521 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/MachineValueType.h:21, 2022-04-13T11:31:05,522 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h:17, 2022-04-13T11:31:05,523 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h:17, 2022-04-13T11:31:05,523 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:32: 2022-04-13T11:31:05,524 /usr/include/c++/8/bits/stl_algo.h: In function ‘_RandomAccessIterator std::_V2::__rotate(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >]’: 2022-04-13T11:31:05,524 /usr/include/c++/8/bits/stl_algo.h:1328:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,525 __rotate(_RandomAccessIterator __first, 2022-04-13T11:31:05,526 ^~~~~~~~ 2022-04-13T11:31:05,545 /usr/include/c++/8/bits/stl_algo.h:1328:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,546 /usr/include/c++/8/bits/stl_algo.h:1328:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,546 /usr/include/c++/8/bits/stl_algo.h:1328:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,547 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >; _Compare = __gnu_cxx::__ops::_Val_less_iter]’: 2022-04-13T11:31:05,548 /usr/include/c++/8/bits/stl_algo.h:1821:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,548 __unguarded_linear_insert(_RandomAccessIterator __last, 2022-04-13T11:31:05,549 ^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,549 In file included from /usr/include/c++/8/bits/stl_algo.h:61, 2022-04-13T11:31:05,550 from /usr/include/c++/8/algorithm:62, 2022-04-13T11:31:05,550 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/Hashing.h:51, 2022-04-13T11:31:05,551 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12, 2022-04-13T11:31:05,552 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TypeSize.h:18, 2022-04-13T11:31:05,552 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/MachineValueType.h:21, 2022-04-13T11:31:05,553 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h:17, 2022-04-13T11:31:05,553 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h:17, 2022-04-13T11:31:05,554 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:32: 2022-04-13T11:31:05,555 /usr/include/c++/8/bits/stl_heap.h: In function ‘void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >; _Distance = int; _Tp = {anonymous}::LLTCodeGen; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’: 2022-04-13T11:31:05,555 /usr/include/c++/8/bits/stl_heap.h:214:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,576 __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, 2022-04-13T11:31:05,577 ^~~~~~~~~~~~~ 2022-04-13T11:31:05,577 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:31:05,578 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/Hashing.h:51, 2022-04-13T11:31:05,578 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12, 2022-04-13T11:31:05,579 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TypeSize.h:18, 2022-04-13T11:31:05,580 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/MachineValueType.h:21, 2022-04-13T11:31:05,580 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h:17, 2022-04-13T11:31:05,581 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h:17, 2022-04-13T11:31:05,581 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:32: 2022-04-13T11:31:05,582 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’: 2022-04-13T11:31:05,582 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,583 __insertion_sort(_RandomAccessIterator __first, 2022-04-13T11:31:05,583 ^~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,584 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,584 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’: 2022-04-13T11:31:05,585 /usr/include/c++/8/bits/stl_algo.h:1940:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,585 __introsort_loop(_RandomAccessIterator __first, 2022-04-13T11:31:05,586 ^~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,607 /usr/include/c++/8/bits/stl_algo.h:1940:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,608 /usr/include/c++/8/bits/stl_algo.h:1954:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,608 std::__introsort_loop(__cut, __last, __depth_limit, __comp); 2022-04-13T11:31:05,609 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,609 In file included from /usr/include/c++/8/vector:64, 2022-04-13T11:31:05,610 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:31:05,610 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TypeSize.h:18, 2022-04-13T11:31:05,611 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/MachineValueType.h:21, 2022-04-13T11:31:05,611 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h:17, 2022-04-13T11:31:05,612 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h:17, 2022-04-13T11:31:05,612 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:32: 2022-04-13T11:31:05,613 /usr/include/c++/8/bits/stl_vector.h: In member function ‘void {anonymous}::MatchTable::push_back(const {anonymous}::MatchTableRecord&)’: 2022-04-13T11:31:05,614 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::MatchTableRecord*, std::vector<{anonymous}::MatchTableRecord> >’ changed in GCC 7.1 2022-04-13T11:31:05,614 _M_realloc_insert(end(), __x); 2022-04-13T11:31:05,615 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,615 /usr/include/c++/8/bits/stl_vector.h: In function ‘void {anonymous}::MatchTable::push_back(const {anonymous}::MatchTableRecord&)’: 2022-04-13T11:31:05,636 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::MatchTableRecord*, std::vector<{anonymous}::MatchTableRecord> >’ changed in GCC 7.1 2022-04-13T11:31:05,637 _M_realloc_insert(end(), __x); 2022-04-13T11:31:05,638 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,639 /usr/include/c++/8/bits/stl_vector.h: In function ‘void {anonymous}::MatchTable::push_back(const {anonymous}::MatchTableRecord&)’: 2022-04-13T11:31:05,639 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::MatchTableRecord*, std::vector<{anonymous}::MatchTableRecord> >’ changed in GCC 7.1 2022-04-13T11:31:05,640 _M_realloc_insert(end(), __x); 2022-04-13T11:31:05,640 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,641 /usr/include/c++/8/bits/stl_vector.h: In function ‘void {anonymous}::MatchTable::push_back(const {anonymous}::MatchTableRecord&)’: 2022-04-13T11:31:05,641 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::MatchTableRecord*, std::vector<{anonymous}::MatchTableRecord> >’ changed in GCC 7.1 2022-04-13T11:31:05,642 _M_realloc_insert(end(), __x); 2022-04-13T11:31:05,642 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,643 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp: In function ‘{anonymous}::MatchTable {anonymous}::GlobalISelEmitter::buildMatchTable(llvm::MutableArrayRef<{anonymous}::RuleMatcher>, bool, bool)’: 2022-04-13T11:31:05,644 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:5541:1: note: parameter passing for argument of type ‘llvm::MutableArrayRef<{anonymous}::RuleMatcher>’ changed in GCC 7.1 2022-04-13T11:31:05,644 GlobalISelEmitter::buildMatchTable(MutableArrayRef Rules, 2022-04-13T11:31:05,645 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,645 In file included from /usr/include/c++/8/vector:64, 2022-04-13T11:31:05,660 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:31:05,665 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TypeSize.h:18, 2022-04-13T11:31:05,666 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/MachineValueType.h:21, 2022-04-13T11:31:05,684 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h:17, 2022-04-13T11:31:05,685 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h:17, 2022-04-13T11:31:05,686 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:32: 2022-04-13T11:31:05,686 /usr/include/c++/8/bits/stl_vector.h: In function ‘virtual void {anonymous}::SwitchMatcher::emit({anonymous}::MatchTable&)’: 2022-04-13T11:31:05,687 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::MatchTableRecord*, std::vector<{anonymous}::MatchTableRecord> >’ changed in GCC 7.1 2022-04-13T11:31:05,687 _M_realloc_insert(end(), __x); 2022-04-13T11:31:05,688 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,688 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:31:05,689 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/Hashing.h:51, 2022-04-13T11:31:05,689 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12, 2022-04-13T11:31:05,690 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TypeSize.h:18, 2022-04-13T11:31:05,690 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/MachineValueType.h:21, 2022-04-13T11:31:05,691 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h:17, 2022-04-13T11:31:05,691 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h:17, 2022-04-13T11:31:05,692 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:32: 2022-04-13T11:31:05,692 /usr/include/c++/8/bits/stl_algo.h: In function ‘_OutputIterator std::__move_merge(_InputIterator, _InputIterator, _InputIterator, _InputIterator, _OutputIterator, _Compare) [with _InputIterator = __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >; _OutputIterator = {anonymous}::RuleMatcher*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<{anonymous}::GlobalISelEmitter::run(llvm::raw_ostream&):: >]’: 2022-04-13T11:31:05,693 /usr/include/c++/8/bits/stl_algo.h:2639:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,693 __move_merge(_InputIterator __first1, _InputIterator __last1, 2022-04-13T11:31:05,694 ^~~~~~~~~~~~ 2022-04-13T11:31:05,694 /usr/include/c++/8/bits/stl_algo.h:2639:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,695 /usr/include/c++/8/bits/stl_algo.h:2639:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,695 /usr/include/c++/8/bits/stl_algo.h:2639:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,696 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<{anonymous}::GlobalISelEmitter::run(llvm::raw_ostream&):: >]’: 2022-04-13T11:31:05,717 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,717 __insertion_sort(_RandomAccessIterator __first, 2022-04-13T11:31:05,718 ^~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,718 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,719 /usr/include/c++/8/bits/stl_algo.h:1840:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,719 /usr/include/c++/8/bits/stl_algo.h: In function ‘_OutputIterator std::__move_merge(_InputIterator, _InputIterator, _InputIterator, _InputIterator, _OutputIterator, _Compare) [with _InputIterator = {anonymous}::RuleMatcher*; _OutputIterator = __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<{anonymous}::GlobalISelEmitter::run(llvm::raw_ostream&):: >]’: 2022-04-13T11:31:05,720 /usr/include/c++/8/bits/stl_algo.h:2639:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,720 __move_merge(_InputIterator __first1, _InputIterator __last1, 2022-04-13T11:31:05,721 ^~~~~~~~~~~~ 2022-04-13T11:31:05,722 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__merge_sort_with_buffer(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >; _Pointer = {anonymous}::RuleMatcher*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<{anonymous}::GlobalISelEmitter::run(llvm::raw_ostream&):: >]’: 2022-04-13T11:31:05,722 /usr/include/c++/8/bits/stl_algo.h:2705:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,723 __merge_sort_with_buffer(_RandomAccessIterator __first, 2022-04-13T11:31:05,723 ^~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,724 /usr/include/c++/8/bits/stl_algo.h:2705:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,724 /usr/include/c++/8/bits/stl_algo.h:2695:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,725 std::__insertion_sort(__first, __first + __chunk_size, __comp); 2022-04-13T11:31:05,726 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,736 /usr/include/c++/8/bits/stl_algo.h:2698:28: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,737 std::__insertion_sort(__first, __last, __comp); 2022-04-13T11:31:05,738 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,738 /usr/include/c++/8/bits/stl_algo.h:2674:32: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,739 __result = std::__move_merge(__first, __first + __step_size, 2022-04-13T11:31:05,739 ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,740 __first + __step_size, 2022-04-13T11:31:05,740 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,741 __first + __two_step, 2022-04-13T11:31:05,742 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,742 __result, __comp); 2022-04-13T11:31:05,743 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,743 /usr/include/c++/8/bits/stl_algo.h:2674:32: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,744 /usr/include/c++/8/bits/stl_algo.h:2682:24: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,744 std::__move_merge(__first, __first + __step_size, 2022-04-13T11:31:05,745 ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,756 __first + __step_size, __last, __result, __comp); 2022-04-13T11:31:05,757 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,759 /usr/include/c++/8/bits/stl_algo.h:2682:24: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,760 /usr/include/c++/8/bits/stl_algo.h:2674:32: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,760 __result = std::__move_merge(__first, __first + __step_size, 2022-04-13T11:31:05,761 ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,762 __first + __step_size, 2022-04-13T11:31:05,763 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,764 __first + __two_step, 2022-04-13T11:31:05,764 ~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,765 __result, __comp); 2022-04-13T11:31:05,766 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,767 /usr/include/c++/8/bits/stl_algo.h:2682:24: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,767 std::__move_merge(__first, __first + __step_size, 2022-04-13T11:31:05,768 ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,768 __first + __step_size, __last, __result, __comp); 2022-04-13T11:31:05,769 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,770 /usr/include/c++/8/bits/stl_algo.h:2682:24: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,770 /usr/include/c++/8/bits/stl_algo.h:2698:28: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,771 std::__insertion_sort(__first, __last, __comp); 2022-04-13T11:31:05,771 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,772 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__merge_adaptive(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >; _Distance = int; _Pointer = {anonymous}::RuleMatcher*; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<{anonymous}::GlobalISelEmitter::run(llvm::raw_ostream&):: >]’: 2022-04-13T11:31:05,773 /usr/include/c++/8/bits/stl_algo.h:2415:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,773 __merge_adaptive(_BidirectionalIterator __first, 2022-04-13T11:31:05,774 ^~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,775 /usr/include/c++/8/bits/stl_algo.h:2415:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,775 /usr/include/c++/8/bits/stl_algo.h:2415:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,796 /usr/include/c++/8/bits/stl_algo.h:2415:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,797 /usr/include/c++/8/bits/stl_algo.h:1443:27: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,798 return std::__rotate(__first, __middle, __last, 2022-04-13T11:31:05,798 ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,799 std::__iterator_category(__first)); 2022-04-13T11:31:05,800 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,800 /usr/include/c++/8/bits/stl_algo.h:2463:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,801 std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, 2022-04-13T11:31:05,802 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,802 __len22, __buffer, __buffer_size, __comp); 2022-04-13T11:31:05,803 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,804 /usr/include/c++/8/bits/stl_algo.h:2465:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,804 std::__merge_adaptive(__new_middle, __second_cut, __last, 2022-04-13T11:31:05,805 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,805 __len1 - __len11, 2022-04-13T11:31:05,806 ~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,812 __len2 - __len22, __buffer, 2022-04-13T11:31:05,813 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,813 __buffer_size, __comp); 2022-04-13T11:31:05,814 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,814 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__stable_sort_adaptive(_RandomAccessIterator, _RandomAccessIterator, _Pointer, _Distance, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >; _Pointer = {anonymous}::RuleMatcher*; _Distance = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<{anonymous}::GlobalISelEmitter::run(llvm::raw_ostream&):: >]’: 2022-04-13T11:31:05,815 /usr/include/c++/8/bits/stl_algo.h:2732:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,816 __stable_sort_adaptive(_RandomAccessIterator __first, 2022-04-13T11:31:05,816 ^~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,817 /usr/include/c++/8/bits/stl_algo.h:2732:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,817 /usr/include/c++/8/bits/stl_algo.h:2732:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,818 /usr/include/c++/8/bits/stl_algo.h:2741:31: note: parameter passing for argument of type ‘const __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,818 std::__stable_sort_adaptive(__first, __middle, __buffer, 2022-04-13T11:31:05,819 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,819 __buffer_size, __comp); 2022-04-13T11:31:05,819 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,820 /usr/include/c++/8/bits/stl_algo.h:2743:31: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,820 std::__stable_sort_adaptive(__middle, __last, __buffer, 2022-04-13T11:31:05,821 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,821 __buffer_size, __comp); 2022-04-13T11:31:05,822 ~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,822 /usr/include/c++/8/bits/stl_algo.h:2748:33: note: parameter passing for argument of type ‘const __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,823 std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); 2022-04-13T11:31:05,823 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,823 /usr/include/c++/8/bits/stl_algo.h:2749:33: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,824 std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); 2022-04-13T11:31:05,824 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,825 /usr/include/c++/8/bits/stl_algo.h:2751:28: note: parameter passing for argument of type ‘const __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,826 std::__merge_adaptive(__first, __middle, __last, 2022-04-13T11:31:05,838 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,838 _Distance(__middle - __first), 2022-04-13T11:31:05,839 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,839 _Distance(__last - __middle), 2022-04-13T11:31:05,840 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,840 __buffer, __buffer_size, 2022-04-13T11:31:05,840 ~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,841 __comp); 2022-04-13T11:31:05,841 ~~~~~~~ 2022-04-13T11:31:05,842 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__merge_without_buffer(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >; _Distance = int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<{anonymous}::GlobalISelEmitter::run(llvm::raw_ostream&):: >]’: 2022-04-13T11:31:05,842 /usr/include/c++/8/bits/stl_algo.h:2476:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,842 __merge_without_buffer(_BidirectionalIterator __first, 2022-04-13T11:31:05,843 ^~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,843 /usr/include/c++/8/bits/stl_algo.h:2476:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,844 /usr/include/c++/8/bits/stl_algo.h:2476:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,845 /usr/include/c++/8/bits/stl_algo.h:1443:27: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,845 return std::__rotate(__first, __middle, __last, 2022-04-13T11:31:05,846 ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,859 std::__iterator_category(__first)); 2022-04-13T11:31:05,859 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,860 /usr/include/c++/8/bits/stl_algo.h:2518:34: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,861 std::__merge_without_buffer(__first, __first_cut, __new_middle, 2022-04-13T11:31:05,865 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,884 __len11, __len22, __comp); 2022-04-13T11:31:05,885 ~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,886 /usr/include/c++/8/bits/stl_algo.h:2520:34: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,886 std::__merge_without_buffer(__new_middle, __second_cut, __last, 2022-04-13T11:31:05,887 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,887 __len1 - __len11, __len2 - __len22, __comp); 2022-04-13T11:31:05,888 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,889 /usr/include/c++/8/bits/stl_algo.h: In function ‘void std::__inplace_stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<{anonymous}::GlobalISelEmitter::run(llvm::raw_ostream&):: >]’: 2022-04-13T11:31:05,889 /usr/include/c++/8/bits/stl_algo.h:2761:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,890 __inplace_stable_sort(_RandomAccessIterator __first, 2022-04-13T11:31:05,890 ^~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,891 /usr/include/c++/8/bits/stl_algo.h:2761:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,891 /usr/include/c++/8/bits/stl_algo.h:2766:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,892 std::__insertion_sort(__first, __last, __comp); 2022-04-13T11:31:05,893 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,893 /usr/include/c++/8/bits/stl_algo.h:2770:33: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,894 std::__inplace_stable_sort(__first, __middle, __comp); 2022-04-13T11:31:05,894 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,895 /usr/include/c++/8/bits/stl_algo.h:2771:33: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,896 std::__inplace_stable_sort(__middle, __last, __comp); 2022-04-13T11:31:05,896 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,897 /usr/include/c++/8/bits/stl_algo.h:2772:34: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,897 std::__merge_without_buffer(__first, __middle, __last, 2022-04-13T11:31:05,898 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,899 __middle - __first, 2022-04-13T11:31:05,899 ~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,900 __last - __middle, 2022-04-13T11:31:05,901 ~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,901 __comp); 2022-04-13T11:31:05,902 ~~~~~~~ 2022-04-13T11:31:05,902 In file included from /usr/include/c++/8/map:60, 2022-04-13T11:31:05,903 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenHwModes.h:16, 2022-04-13T11:31:05,904 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenTarget.h:19, 2022-04-13T11:31:05,904 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h:18, 2022-04-13T11:31:05,905 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:32: 2022-04-13T11:31:05,905 /usr/include/c++/8/bits/stl_tree.h: In member function ‘std::pair std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = llvm::Record*; _Val = std::pair; _KeyOfValue = std::_Select1st >; _Compare = llvm::LessRecordByID; _Alloc = std::allocator >]’: 2022-04-13T11:31:05,926 /usr/include/c++/8/bits/stl_tree.h:2146:5: note: parameter passing for argument of type ‘std::_Rb_tree, std::_Select1st >, llvm::LessRecordByID, std::allocator > >::const_iterator’ {aka ‘std::_Rb_tree_const_iterator >’} changed in GCC 7.1 2022-04-13T11:31:05,927 _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 2022-04-13T11:31:05,928 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,928 In file included from /usr/include/c++/8/algorithm:62, 2022-04-13T11:31:05,929 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/Hashing.h:51, 2022-04-13T11:31:05,930 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12, 2022-04-13T11:31:05,930 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/TypeSize.h:18, 2022-04-13T11:31:05,931 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/MachineValueType.h:21, 2022-04-13T11:31:05,931 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenIntrinsics.h:17, 2022-04-13T11:31:05,932 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/CodeGenDAGPatterns.h:17, 2022-04-13T11:31:05,932 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:32: 2022-04-13T11:31:05,933 /usr/include/c++/8/bits/stl_algo.h: In member function ‘void {anonymous}::GlobalISelEmitter::run(llvm::raw_ostream&)’: 2022-04-13T11:31:05,933 /usr/include/c++/8/bits/stl_algo.h:1968:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,934 std::__introsort_loop(__first, __last, 2022-04-13T11:31:05,935 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,936 std::__lg(__last - __first) * 2, 2022-04-13T11:31:05,936 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,937 __comp); 2022-04-13T11:31:05,937 ~~~~~~~ 2022-04-13T11:31:05,938 /usr/include/c++/8/bits/stl_algo.h:1885:25: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,938 std::__insertion_sort(__first, __first + int(_S_threshold), __comp); 2022-04-13T11:31:05,939 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,939 /usr/include/c++/8/bits/stl_algo.h:1890:23: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::LLTCodeGen*, std::vector<{anonymous}::LLTCodeGen> >’ changed in GCC 7.1 2022-04-13T11:31:05,940 std::__insertion_sort(__first, __last, __comp); 2022-04-13T11:31:05,940 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,941 /usr/include/c++/8/bits/stl_algo.h:5004:28: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,941 std::__inplace_stable_sort(__first, __last, __comp); 2022-04-13T11:31:05,942 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,942 /usr/include/c++/8/bits/stl_algo.h:5006:29: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<{anonymous}::RuleMatcher*, std::vector<{anonymous}::RuleMatcher, std::allocator<{anonymous}::RuleMatcher> > >’ changed in GCC 7.1 2022-04-13T11:31:05,943 std::__stable_sort_adaptive(__first, __last, __buf.begin(), 2022-04-13T11:31:05,943 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,944 _DistanceType(__buf.size()), __comp); 2022-04-13T11:31:05,944 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2022-04-13T11:31:05,945 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/utils/TableGen/GlobalISelEmitter.cpp:5916:66: note: parameter passing for argument of type ‘llvm::MutableArrayRef<{anonymous}::RuleMatcher>’ changed in GCC 7.1 2022-04-13T11:31:05,946 buildMatchTable(Rules, OptimizeMatchTable, GenerateCoverage); 2022-04-13T11:31:05,956 ^ 2022-04-13T11:31:05,957 [218/611] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86RecognizableInstr.cpp.o 2022-04-13T11:31:09,989 [219/611] Building CXX object utils/TableGen/GlobalISel/CMakeFiles/LLVMTableGenGlobalISel.dir/GIMatchDagEdge.cpp.o 2022-04-13T11:31:15,402 [220/611] Building CXX object utils/TableGen/GlobalISel/CMakeFiles/LLVMTableGenGlobalISel.dir/GIMatchDag.cpp.o 2022-04-13T11:31:15,926 [221/611] Building CXX object utils/TableGen/GlobalISel/CMakeFiles/LLVMTableGenGlobalISel.dir/GIMatchDagOperands.cpp.o 2022-04-13T11:31:19,263 [222/611] Building CXX object utils/TableGen/GlobalISel/CMakeFiles/LLVMTableGenGlobalISel.dir/GIMatchDagInstr.cpp.o 2022-04-13T11:31:29,421 [223/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTNodesEmitter.cpp.o 2022-04-13T11:31:32,090 [224/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentCommandInfoEmitter.cpp.o 2022-04-13T11:31:33,274 [225/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ASTTableGen.cpp.o 2022-04-13T11:31:47,115 [226/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTPropertiesEmitter.cpp.o 2022-04-13T11:31:55,276 [227/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpcodesEmitter.cpp.o 2022-04-13T11:31:59,716 [228/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp.o 2022-04-13T11:32:03,562 [229/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOptionDocEmitter.cpp.o 2022-04-13T11:32:07,284 [230/611] Building CXX object utils/TableGen/GlobalISel/CMakeFiles/LLVMTableGenGlobalISel.dir/GIMatchTree.cpp.o 2022-04-13T11:32:07,582 [231/611] Linking CXX static library lib/libLLVMTableGenGlobalISel.a 2022-04-13T11:32:09,430 [232/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLTagsEmitter.cpp.o 2022-04-13T11:32:13,060 [233/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDataCollectorsEmitter.cpp.o 2022-04-13T11:32:13,081 [234/611] Linking CXX executable bin/llvm-tblgen 2022-04-13T11:32:13,210 [235/611] Building OMP.h.inc... 2022-04-13T11:32:13,446 [236/611] Building OMP.inc... 2022-04-13T11:32:18,444 [237/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDiagnosticsEmitter.cpp.o 2022-04-13T11:32:25,198 [238/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpenCLBuiltinEmitter.cpp.o 2022-04-13T11:32:25,199 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:32:25,199 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/MapVector.h:27, 2022-04-13T11:32:25,200 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp:18: 2022-04-13T11:32:25,200 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long int}; _Tp = long long int; _Alloc = std::allocator]’: 2022-04-13T11:32:25,201 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:32:25,202 vector<_Tp, _Alloc>:: 2022-04-13T11:32:25,202 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:32:25,203 /usr/include/c++/8/bits/vector.tcc: In member function ‘void {anonymous}::OpenCLBuiltinFileEmitterBase::getTypeLists(llvm::Record*, {anonymous}::OpenCLBuiltinFileEmitterBase::TypeFlags&, std::vector >&, std::vector&) const’: 2022-04-13T11:32:25,203 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:32:25,204 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:32:25,205 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:32:30,788 [239/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangTypeNodesEmitter.cpp.o 2022-04-13T11:32:30,893 [240/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSACheckersEmitter.cpp.o 2022-04-13T11:32:39,325 [241/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSyntaxEmitter.cpp.o 2022-04-13T11:33:04,157 [242/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/TableGen.cpp.o 2022-04-13T11:33:08,918 [243/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/RISCVVEmitter.cpp.o 2022-04-13T11:33:09,613 [244/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/SveEmitter.cpp.o 2022-04-13T11:33:17,986 [245/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/MveEmitter.cpp.o 2022-04-13T11:33:23,130 [246/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/NeonEmitter.cpp.o 2022-04-13T11:33:31,617 [247/611] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangAttrEmitter.cpp.o 2022-04-13T11:33:33,379 [248/611] Linking CXX executable bin/clang-tblgen 2022-04-13T11:33:33,459 [249/611] Copying clang's hvx_hexagon_protos.h... 2022-04-13T11:33:33,467 [250/611] Copying clang's immintrin.h... 2022-04-13T11:33:33,470 [251/611] Copying clang's htmxlintrin.h... 2022-04-13T11:33:33,473 [252/611] Copying clang's ia32intrin.h... 2022-04-13T11:33:33,498 [253/611] Copying clang's htmintrin.h... 2022-04-13T11:33:33,517 [254/611] Copying clang's hexagon_types.h... 2022-04-13T11:33:33,605 [255/611] Building StmtNodes.inc... 2022-04-13T11:33:33,666 [256/611] Building Attrs.inc... 2022-04-13T11:33:33,706 [257/611] Building AttrTextNodeDump.inc... 2022-04-13T11:33:33,734 [258/611] Building AttrImpl.inc... 2022-04-13T11:33:33,738 [259/611] Building AbstractBasicReader.inc... 2022-04-13T11:33:33,753 [260/611] Building AttrNodeTraverse.inc... 2022-04-13T11:33:33,768 [261/611] Building TypeNodes.inc... 2022-04-13T11:33:33,804 [262/611] Building DeclNodes.inc... 2022-04-13T11:33:33,813 [263/611] Building AbstractTypeReader.inc... 2022-04-13T11:33:33,828 [264/611] Building CommentCommandList.inc... 2022-04-13T11:33:33,841 [265/611] Building AbstractBasicWriter.inc... 2022-04-13T11:33:33,864 [266/611] Building CommentNodes.inc... 2022-04-13T11:33:33,870 [267/611] Building AbstractTypeWriter.inc... 2022-04-13T11:33:33,873 [268/611] Building CommentHTMLTags.inc... 2022-04-13T11:33:33,877 [269/611] Building AttrVisitor.inc... 2022-04-13T11:33:33,908 [270/611] Building StmtDataCollectors.inc... 2022-04-13T11:33:33,937 [271/611] Building CommentHTMLTagsProperties.inc... 2022-04-13T11:33:33,948 [272/611] Building CommentHTMLNamedCharacterReferences.inc... 2022-04-13T11:33:33,977 [273/611] Building CommentCommandInfo.inc... 2022-04-13T11:33:34,351 [274/611] Building DiagnosticCommentKinds.inc... 2022-04-13T11:33:34,389 [275/611] Building DiagnosticASTKinds.inc... 2022-04-13T11:33:34,622 [276/611] Building DiagnosticAnalysisKinds.inc... 2022-04-13T11:33:34,677 [277/611] Building DiagnosticCrossTUKinds.inc... 2022-04-13T11:33:34,728 [278/611] Building DiagnosticCommonKinds.inc... 2022-04-13T11:33:34,821 [279/611] Building DiagnosticDriverKinds.inc... 2022-04-13T11:33:34,941 [280/611] Building DiagnosticLexKinds.inc... 2022-04-13T11:33:35,282 [281/611] Building riscv_vector_builtin_cg.inc... 2022-04-13T11:33:35,336 [282/611] Building DiagnosticRefactoringKinds.inc... 2022-04-13T11:33:35,412 [283/611] Building DiagnosticSemaKinds.inc... 2022-04-13T11:33:35,415 [284/611] Building DiagnosticParseKinds.inc... 2022-04-13T11:33:35,534 [285/611] Building AttrList.inc... 2022-04-13T11:33:35,615 [286/611] Building DiagnosticGroups.inc... 2022-04-13T11:33:35,656 [287/611] Building AttrSubMatchRulesList.inc... 2022-04-13T11:33:35,667 [288/611] Building arm_fp16.inc... 2022-04-13T11:33:35,678 [289/611] Building DiagnosticFrontendKinds.inc... 2022-04-13T11:33:35,765 [290/611] Building AttrHasAttributeImpl.inc... 2022-04-13T11:33:35,798 [291/611] Building DiagnosticIndexName.inc... 2022-04-13T11:33:36,097 [292/611] Building arm_mve_builtin_sema.inc... 2022-04-13T11:33:36,107 [293/611] Building arm_neon.inc... 2022-04-13T11:33:36,155 [294/611] Building DiagnosticSerializationKinds.inc... 2022-04-13T11:33:36,262 [295/611] Building arm_sve_typeflags.inc... 2022-04-13T11:33:36,283 [296/611] Building arm_mve_builtin_aliases.inc... 2022-04-13T11:33:36,329 [297/611] Building arm_mve_builtins.inc... 2022-04-13T11:33:36,476 [298/611] Building arm_cde_builtin_cg.inc... 2022-04-13T11:33:36,481 [299/611] Building arm_mve_builtin_cg.inc... 2022-04-13T11:33:36,511 [300/611] Building arm_cde_builtins.inc... 2022-04-13T11:33:36,551 [301/611] Building arm_cde_builtin_sema.inc... 2022-04-13T11:33:36,613 [302/611] Building arm_cde_builtin_aliases.inc... 2022-04-13T11:33:36,674 [303/611] Building AttrParserStringSwitches.inc... 2022-04-13T11:33:36,786 [304/611] Building AttrParsedAttrList.inc... 2022-04-13T11:33:36,873 [305/611] Building AttrSubMatchRulesParserStringSwitches.inc... 2022-04-13T11:33:37,020 [306/611] Building AttrTemplateInstantiate.inc... 2022-04-13T11:33:37,197 [307/611] Building AttrSpellingListIndex.inc... 2022-04-13T11:33:37,215 [308/611] Building AttrParsedAttrKinds.inc... 2022-04-13T11:33:37,447 [309/611] Building AttrParsedAttrImpl.inc... 2022-04-13T11:33:37,458 [310/611] Building riscv_vector_builtins.inc... 2022-04-13T11:33:37,521 [311/611] Building Checkers.inc... 2022-04-13T11:33:37,546 [312/611] Building AttrPCHWrite.inc... 2022-04-13T11:33:37,569 [313/611] Building Nodes.inc... 2022-04-13T11:33:37,598 [314/611] Building AttrPCHRead.inc... 2022-04-13T11:33:37,636 [315/611] Copying clang's __clang_cuda_device_functions.h... 2022-04-13T11:33:37,649 [316/611] Building NodeClasses.inc... 2022-04-13T11:33:37,652 [317/611] Copying clang's __clang_cuda_libdevice_declares.h... 2022-04-13T11:33:37,696 [318/611] Copying clang's __clang_cuda_math.h... 2022-04-13T11:33:37,760 [319/611] Copying clang's __clang_cuda_cmath.h... 2022-04-13T11:33:37,768 [320/611] Copying clang's __clang_cuda_complex_builtins.h... 2022-04-13T11:33:37,786 [321/611] Copying clang's __clang_cuda_intrinsics.h... 2022-04-13T11:33:37,814 [322/611] Copying clang's __clang_cuda_builtin_vars.h... 2022-04-13T11:33:37,879 [323/611] Copying clang's __clang_cuda_math_forward_declares.h... 2022-04-13T11:33:37,902 [324/611] Copying clang's __clang_cuda_runtime_wrapper.h... 2022-04-13T11:33:37,917 [325/611] Copying clang's __clang_cuda_texture_intrinsics.h... 2022-04-13T11:33:37,923 [326/611] Building arm_sve_builtins.inc... 2022-04-13T11:33:37,948 [327/611] Copying clang's __clang_hip_cmath.h... 2022-04-13T11:33:37,972 [328/611] Copying clang's __clang_hip_runtime_wrapper.h... 2022-04-13T11:33:38,001 [329/611] Copying clang's __stddef_max_align_t.h... 2022-04-13T11:33:38,017 [330/611] Copying clang's avx512vpopcntdqintrin.h... 2022-04-13T11:33:38,045 [331/611] Copying clang's __clang_hip_libdevice_declares.h... 2022-04-13T11:33:38,073 [332/611] Copying clang's __clang_hip_math.h... 2022-04-13T11:33:38,080 [333/611] Copying clang's __wmmintrin_aes.h... 2022-04-13T11:33:38,087 [334/611] Copying clang's __wmmintrin_pclmul.h... 2022-04-13T11:33:38,138 [335/611] Copying clang's ammintrin.h... 2022-04-13T11:33:38,158 [336/611] Copying clang's adxintrin.h... 2022-04-13T11:33:38,187 [337/611] Building arm_sve_builtin_cg.inc... 2022-04-13T11:33:38,216 [338/611] Copying clang's amxintrin.h... 2022-04-13T11:33:38,223 [339/611] Copying clang's altivec.h... 2022-04-13T11:33:38,238 [340/611] Copying clang's arm64intr.h... 2022-04-13T11:33:38,261 [341/611] Copying clang's arm_cmse.h... 2022-04-13T11:33:38,270 [342/611] Copying clang's arm_acle.h... 2022-04-13T11:33:38,312 [343/611] Copying clang's arm_neon_sve_bridge.h... 2022-04-13T11:33:38,318 [344/611] Copying clang's armintr.h... 2022-04-13T11:33:38,338 [345/611] Copying clang's avx2intrin.h... 2022-04-13T11:33:38,346 [346/611] Copying clang's avx512bitalgintrin.h... 2022-04-13T11:33:38,350 [347/611] Building arm_sve_sema_rangechecks.inc... 2022-04-13T11:33:38,364 [348/611] Copying clang's avx512bf16intrin.h... 2022-04-13T11:33:38,386 [349/611] Copying clang's avx512bwintrin.h... 2022-04-13T11:33:38,393 [350/611] Copying clang's avx512cdintrin.h... 2022-04-13T11:33:38,430 [351/611] Copying clang's avx512dqintrin.h... 2022-04-13T11:33:38,438 [352/611] Copying clang's avx512erintrin.h... 2022-04-13T11:33:38,474 [353/611] Copying clang's avx512fintrin.h... 2022-04-13T11:33:38,482 [354/611] Copying clang's avx512fp16intrin.h... 2022-04-13T11:33:38,513 [355/611] Copying clang's avx512ifmaintrin.h... 2022-04-13T11:33:38,522 [356/611] Copying clang's avx512ifmavlintrin.h... 2022-04-13T11:33:38,538 [357/611] Copying clang's avx512vbmi2intrin.h... 2022-04-13T11:33:38,548 [358/611] Copying clang's avx512pfintrin.h... 2022-04-13T11:33:38,572 [359/611] Copying clang's avx512vbmiintrin.h... 2022-04-13T11:33:38,580 [360/611] Copying clang's avx512vbmivlintrin.h... 2022-04-13T11:33:38,600 [361/611] Copying clang's avx512vlbf16intrin.h... 2022-04-13T11:33:38,641 [362/611] Copying clang's avx512vlbitalgintrin.h... 2022-04-13T11:33:38,643 [363/611] Copying clang's avx512vlbwintrin.h... 2022-04-13T11:33:38,665 [364/611] Copying clang's avx512vlcdintrin.h... 2022-04-13T11:33:38,686 [365/611] Copying clang's avx512vldqintrin.h... 2022-04-13T11:33:38,696 [366/611] Copying clang's avx512vlfp16intrin.h... 2022-04-13T11:33:38,745 [367/611] Copying clang's avx512vlvbmi2intrin.h... 2022-04-13T11:33:38,750 [368/611] Copying clang's avx512vlintrin.h... 2022-04-13T11:33:38,752 [369/611] Copying clang's avx512vlvp2intersectintrin.h... 2022-04-13T11:33:38,784 [370/611] Copying clang's avx512vnniintrin.h... 2022-04-13T11:33:38,803 [371/611] Copying clang's avx512vlvnniintrin.h... 2022-04-13T11:33:38,811 [372/611] Copying clang's avx512vpopcntdqvlintrin.h... 2022-04-13T11:33:38,844 [373/611] Copying clang's avxintrin.h... 2022-04-13T11:33:38,853 [374/611] Copying clang's avx512vp2intersectintrin.h... 2022-04-13T11:33:38,869 [375/611] Copying clang's bmiintrin.h... 2022-04-13T11:33:38,877 [376/611] Copying clang's avxvnniintrin.h... 2022-04-13T11:33:38,923 [377/611] Copying clang's builtins.h... 2022-04-13T11:33:38,934 [378/611] Copying clang's cetintrin.h... 2022-04-13T11:33:38,942 [379/611] Copying clang's cldemoteintrin.h... 2022-04-13T11:33:38,950 [380/611] Copying clang's bmi2intrin.h... 2022-04-13T11:33:38,965 [381/611] Copying clang's cet.h... 2022-04-13T11:33:38,993 [382/611] Copying clang's clwbintrin.h... 2022-04-13T11:33:39,005 [383/611] Copying clang's clflushoptintrin.h... 2022-04-13T11:33:39,034 [384/611] Copying clang's clzerointrin.h... 2022-04-13T11:33:39,052 [385/611] Copying clang's cpuid.h... 2022-04-13T11:33:39,055 [386/611] Copying clang's crc32intrin.h... 2022-04-13T11:33:39,069 [387/611] Copying clang's cuda_wrappers/algorithm... 2022-04-13T11:33:39,111 [388/611] Copying clang's cuda_wrappers/new... 2022-04-13T11:33:39,113 [389/611] Copying clang's cuda_wrappers/complex... 2022-04-13T11:33:39,121 [390/611] Copying clang's emmintrin.h... 2022-04-13T11:33:39,155 [391/611] Copying clang's enqcmdintrin.h... 2022-04-13T11:33:39,167 [392/611] Copying clang's float.h... 2022-04-13T11:33:39,176 [393/611] Copying clang's f16cintrin.h... 2022-04-13T11:33:39,204 [394/611] Copying clang's fma4intrin.h... 2022-04-13T11:33:39,209 [395/611] Copying clang's fmaintrin.h... 2022-04-13T11:33:39,224 [396/611] Copying clang's fxsrintrin.h... 2022-04-13T11:33:39,263 [397/611] Copying clang's hresetintrin.h... 2022-04-13T11:33:39,279 [398/611] Copying clang's intrin.h... 2022-04-13T11:33:39,292 [399/611] Copying clang's hexagon_circ_brev_intrinsics.h... 2022-04-13T11:33:39,319 [400/611] Copying clang's gfniintrin.h... 2022-04-13T11:33:39,329 [401/611] Copying clang's inttypes.h... 2022-04-13T11:33:39,353 [402/611] Copying clang's invpcidintrin.h... 2022-04-13T11:33:39,363 [403/611] Copying clang's hexagon_protos.h... 2022-04-13T11:33:39,382 [404/611] Copying clang's keylockerintrin.h... 2022-04-13T11:33:39,405 [405/611] Copying clang's iso646.h... 2022-04-13T11:33:39,422 [406/611] Copying clang's limits.h... 2022-04-13T11:33:39,446 [407/611] Copying clang's lzcntintrin.h... 2022-04-13T11:33:39,461 [408/611] Copying clang's mm3dnow.h... 2022-04-13T11:33:39,484 [409/611] Copying clang's mmintrin.h... 2022-04-13T11:33:39,491 [410/611] Copying clang's lwpintrin.h... 2022-04-13T11:33:39,493 [411/611] Copying clang's mm_malloc.h... 2022-04-13T11:33:39,539 [412/611] Copying clang's module.modulemap... 2022-04-13T11:33:39,552 [413/611] Copying clang's msa.h... 2022-04-13T11:33:39,565 [414/611] Copying clang's movdirintrin.h... 2022-04-13T11:33:39,569 [415/611] Copying clang's nmmintrin.h... 2022-04-13T11:33:39,575 [416/611] Copying clang's mwaitxintrin.h... 2022-04-13T11:33:39,621 [417/611] Copying clang's openmp_wrappers/complex... 2022-04-13T11:33:39,685 [418/611] Copying clang's opencl-c.h... 2022-04-13T11:33:39,689 [419/611] Copying clang's openmp_wrappers/cmath... 2022-04-13T11:33:39,693 [420/611] Copying clang's opencl-c-base.h... 2022-04-13T11:33:39,702 [421/611] Copying clang's openmp_wrappers/__clang_openmp_device_functions.h... 2022-04-13T11:33:39,721 [422/611] Copying clang's openmp_wrappers/complex_cmath.h... 2022-04-13T11:33:39,744 [423/611] Copying clang's openmp_wrappers/math.h... 2022-04-13T11:33:39,747 [424/611] Copying clang's openmp_wrappers/complex.h... 2022-04-13T11:33:39,772 [425/611] Copying clang's pconfigintrin.h... 2022-04-13T11:33:39,781 [426/611] Copying clang's openmp_wrappers/new... 2022-04-13T11:33:39,831 [427/611] Copying clang's pmmintrin.h... 2022-04-13T11:33:39,839 [428/611] Copying clang's pkuintrin.h... 2022-04-13T11:33:39,844 [429/611] Copying clang's ppc_wrappers/emmintrin.h... 2022-04-13T11:33:39,852 [430/611] Copying clang's ppc_wrappers/mm_malloc.h... 2022-04-13T11:33:39,860 [431/611] Copying clang's popcntintrin.h... 2022-04-13T11:33:39,896 [432/611] Copying clang's ppc_wrappers/mmintrin.h... 2022-04-13T11:33:39,920 [433/611] Copying clang's ppc_wrappers/xmmintrin.h... 2022-04-13T11:33:39,938 [434/611] Copying clang's ppc_wrappers/smmintrin.h... 2022-04-13T11:33:39,948 [435/611] Copying clang's ppc_wrappers/pmmintrin.h... 2022-04-13T11:33:39,968 [436/611] Copying clang's prfchwintrin.h... 2022-04-13T11:33:39,988 [437/611] Copying clang's ppc_wrappers/tmmintrin.h... 2022-04-13T11:33:39,991 [438/611] Copying clang's ptwriteintrin.h... 2022-04-13T11:33:40,013 [439/611] Copying clang's rdseedintrin.h... 2022-04-13T11:33:40,041 [440/611] Copying clang's rtmintrin.h... 2022-04-13T11:33:40,045 [441/611] Copying clang's serializeintrin.h... 2022-04-13T11:33:40,085 [442/611] Copying clang's s390intrin.h... 2022-04-13T11:33:40,092 [443/611] Copying clang's sgxintrin.h... 2022-04-13T11:33:40,108 [444/611] Copying clang's smmintrin.h... 2022-04-13T11:33:40,145 [445/611] Copying clang's stdarg.h... 2022-04-13T11:33:40,148 [446/611] Copying clang's stdalign.h... 2022-04-13T11:33:40,157 [447/611] Copying clang's shaintrin.h... 2022-04-13T11:33:40,177 [448/611] Copying clang's stdatomic.h... 2022-04-13T11:33:40,202 [449/611] Copying clang's stdbool.h... 2022-04-13T11:33:40,205 [450/611] Copying clang's stddef.h... 2022-04-13T11:33:40,219 [451/611] Copying clang's stdint.h... 2022-04-13T11:33:40,255 [452/611] Copying clang's stdnoreturn.h... 2022-04-13T11:33:40,268 [453/611] Copying clang's tbmintrin.h... 2022-04-13T11:33:40,289 [454/611] Copying clang's tsxldtrkintrin.h... 2022-04-13T11:33:40,305 [455/611] Copying clang's tgmath.h... 2022-04-13T11:33:40,310 [456/611] Copying clang's tmmintrin.h... 2022-04-13T11:33:40,322 [457/611] Copying clang's uintrintrin.h... 2022-04-13T11:33:40,364 [458/611] Copying clang's varargs.h... 2022-04-13T11:33:40,389 [459/611] Copying clang's unwind.h... 2022-04-13T11:33:40,402 [460/611] Copying clang's vadefs.h... 2022-04-13T11:33:40,405 [461/611] Copying clang's vaesintrin.h... 2022-04-13T11:33:40,415 [462/611] Copying clang's vpclmulqdqintrin.h... 2022-04-13T11:33:40,444 [463/611] Copying clang's vecintrin.h... 2022-04-13T11:33:40,487 [464/611] Copying clang's wbnoinvdintrin.h... 2022-04-13T11:33:40,497 [465/611] Copying clang's x86gprintrin.h... 2022-04-13T11:33:40,533 [466/611] Copying clang's wasm_simd128.h... 2022-04-13T11:33:40,548 [467/611] Copying clang's waitpkgintrin.h... 2022-04-13T11:33:40,559 [468/611] Copying clang's wmmintrin.h... 2022-04-13T11:33:40,567 [469/611] Copying clang's x86intrin.h... 2022-04-13T11:33:40,570 [470/611] Copying clang's xmmintrin.h... 2022-04-13T11:33:40,620 [471/611] Copying clang's xsaveoptintrin.h... 2022-04-13T11:33:40,631 [472/611] Copying clang's xopintrin.h... 2022-04-13T11:33:40,650 [473/611] Copying clang's xsavecintrin.h... 2022-04-13T11:33:40,671 [474/611] Copying clang's xsaveintrin.h... 2022-04-13T11:33:40,681 [475/611] Copying clang's xsavesintrin.h... 2022-04-13T11:33:40,690 [476/611] Copying clang's xtestintrin.h... 2022-04-13T11:33:40,698 [477/611] Building arm_bf16.h... 2022-04-13T11:33:40,772 [478/611] Building arm_fp16.h... 2022-04-13T11:33:40,781 [479/611] Building arm_cde.h... 2022-04-13T11:33:40,805 [480/611] Copying clang's arm_bf16.h... 2022-04-13T11:33:40,840 [481/611] Copying clang's arm_fp16.h... 2022-04-13T11:33:40,880 [482/611] Copying clang's arm_cde.h... 2022-04-13T11:33:41,030 [483/611] Generating VCSVersion.inc 2022-04-13T11:33:41,347 [484/611] Building arm_mve.h... 2022-04-13T11:33:41,500 [485/611] Copying clang's arm_mve.h... 2022-04-13T11:33:41,601 [486/611] Building arm_sve.h... 2022-04-13T11:33:41,753 [487/611] Copying clang's arm_sve.h... 2022-04-13T11:33:42,772 [488/611] Building riscv_vector.h... 2022-04-13T11:33:43,266 [489/611] Copying clang's riscv_vector.h... 2022-04-13T11:33:44,696 [490/611] Building arm_neon.h... 2022-04-13T11:33:44,986 [491/611] Copying clang's arm_neon.h... 2022-04-13T11:33:46,491 [492/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/CLWarnings.cpp.o 2022-04-13T11:33:48,519 [493/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/CharInfo.cpp.o 2022-04-13T11:33:53,900 [494/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Cuda.cpp.o 2022-04-13T11:33:56,406 [495/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/CodeGenOptions.cpp.o 2022-04-13T11:34:01,951 [496/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/DiagnosticOptions.cpp.o 2022-04-13T11:34:02,347 [497/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Builtins.cpp.o 2022-04-13T11:34:03,105 [498/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/ExpressionTraits.cpp.o 2022-04-13T11:34:03,846 [499/611] Building CXX object tools/clang/lib/Tooling/Core/CMakeFiles/obj.clangToolingCore.dir/Diagnostic.cpp.o 2022-04-13T11:34:18,623 [500/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/FileEntry.cpp.o 2022-04-13T11:34:22,653 [501/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/DarwinSDKInfo.cpp.o 2022-04-13T11:34:32,020 [502/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Diagnostic.cpp.o 2022-04-13T11:34:33,370 [503/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/FileSystemStatCache.cpp.o 2022-04-13T11:34:39,791 [504/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/LangStandards.cpp.o 2022-04-13T11:34:40,582 [505/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/FileManager.cpp.o 2022-04-13T11:34:44,322 [506/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/DiagnosticIDs.cpp.o 2022-04-13T11:34:46,243 [507/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/LangOptions.cpp.o 2022-04-13T11:34:47,957 [508/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/ObjCRuntime.cpp.o 2022-04-13T11:34:48,196 [509/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/OperatorPrecedence.cpp.o 2022-04-13T11:34:56,791 [510/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/IdentifierTable.cpp.o 2022-04-13T11:35:05,813 [511/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/OpenMPKinds.cpp.o 2022-04-13T11:35:10,148 [512/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/OpenCLOptions.cpp.o 2022-04-13T11:35:11,414 [513/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/ProfileList.cpp.o 2022-04-13T11:35:19,728 [514/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Module.cpp.o 2022-04-13T11:35:20,167 [515/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/SanitizerSpecialCaseList.cpp.o 2022-04-13T11:35:20,168 In file included from /usr/include/c++/8/vector:69, 2022-04-13T11:35:20,169 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:25, 2022-04-13T11:35:20,169 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/llvm/include/llvm/Support/HashBuilder.h:18, 2022-04-13T11:35:20,170 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/clang/include/clang/Basic/Sanitizers.h:19, 2022-04-13T11:35:20,170 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/clang/include/clang/Basic/SanitizerSpecialCaseList.h:18, 2022-04-13T11:35:20,171 from /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build/llvm-project/clang/lib/Basic/SanitizerSpecialCaseList.cpp:13: 2022-04-13T11:35:20,171 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {clang::SanitizerMask&, llvm::StringMap, llvm::MallocAllocator>&}; _Tp = clang::SanitizerSpecialCaseList::SanitizerSection; _Alloc = std::allocator]’: 2022-04-13T11:35:20,172 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector::iterator’ {aka ‘__gnu_cxx::__normal_iterator >’} changed in GCC 7.1 2022-04-13T11:35:20,172 vector<_Tp, _Alloc>:: 2022-04-13T11:35:20,173 ^~~~~~~~~~~~~~~~~~~ 2022-04-13T11:35:20,173 /usr/include/c++/8/bits/vector.tcc: In member function ‘void clang::SanitizerSpecialCaseList::createSanitizerSections()’: 2022-04-13T11:35:20,174 /usr/include/c++/8/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator >’ changed in GCC 7.1 2022-04-13T11:35:20,175 _M_realloc_insert(end(), std::forward<_Args>(__args)...); 2022-04-13T11:35:20,175 ^~~~~~~~~~~~~~~~~ 2022-04-13T11:35:20,504 [516/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/NoSanitizeList.cpp.o 2022-04-13T11:35:26,534 [517/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Stack.cpp.o 2022-04-13T11:35:26,562 [518/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Sanitizers.cpp.o 2022-04-13T11:35:27,339 [519/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/SourceLocation.cpp.o 2022-04-13T11:35:38,759 [520/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TargetID.cpp.o 2022-04-13T11:35:58,609 [521/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TargetInfo.cpp.o 2022-04-13T11:36:08,890 [522/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AArch64.cpp.o 2022-04-13T11:36:13,620 [523/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AMDGPU.cpp.o 2022-04-13T11:36:18,800 [524/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/SourceManager.cpp.o 2022-04-13T11:36:20,402 [525/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/ARC.cpp.o 2022-04-13T11:36:37,868 [526/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Attributes.cpp.o 2022-04-13T11:36:37,981 [527/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AVR.cpp.o 2022-04-13T11:36:39,328 [528/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/BPF.cpp.o 2022-04-13T11:36:50,310 [529/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Hexagon.cpp.o 2022-04-13T11:36:53,778 [530/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/ARM.cpp.o 2022-04-13T11:36:57,169 [531/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets.cpp.o 2022-04-13T11:36:57,914 [532/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Lanai.cpp.o 2022-04-13T11:37:01,220 [533/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Le64.cpp.o 2022-04-13T11:37:05,213 [534/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/M68k.cpp.o 2022-04-13T11:37:12,692 [535/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/MSP430.cpp.o 2022-04-13T11:37:17,830 [536/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/OSTargets.cpp.o 2022-04-13T11:37:21,377 [537/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/PNaCl.cpp.o 2022-04-13T11:37:21,540 [538/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/NVPTX.cpp.o 2022-04-13T11:37:32,642 [539/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Mips.cpp.o 2022-04-13T11:37:39,547 [540/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/SPIR.cpp.o 2022-04-13T11:37:42,834 [541/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/PPC.cpp.o 2022-04-13T11:37:48,467 [542/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Sparc.cpp.o 2022-04-13T11:37:48,502 [543/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/SystemZ.cpp.o 2022-04-13T11:37:50,355 [544/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/RISCV.cpp.o 2022-04-13T11:37:52,899 [545/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/TCE.cpp.o 2022-04-13T11:37:54,737 [546/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TokenKinds.cpp.o 2022-04-13T11:37:55,706 [547/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TypeTraits.cpp.o 2022-04-13T11:37:59,746 [548/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Version.cpp.o 2022-04-13T11:38:02,331 [549/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/VE.cpp.o 2022-04-13T11:38:08,466 [550/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/XRayInstr.cpp.o 2022-04-13T11:38:09,600 [551/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Warnings.cpp.o 2022-04-13T11:38:09,679 [552/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/WebAssembly.cpp.o 2022-04-13T11:38:11,741 [553/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/XCore.cpp.o 2022-04-13T11:38:25,172 [554/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/XRayLists.cpp.o 2022-04-13T11:38:27,989 [555/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/HeaderMap.cpp.o 2022-04-13T11:38:28,996 [556/611] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/X86.cpp.o 2022-04-13T11:38:29,466 [557/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/DependencyDirectivesSourceMinimizer.cpp.o 2022-04-13T11:38:31,293 [558/611] Linking CXX static library lib/libclangBasic.a 2022-04-13T11:38:55,488 [559/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/InitHeaderSearch.cpp.o 2022-04-13T11:39:02,175 [560/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/MacroArgs.cpp.o 2022-04-13T11:39:05,205 [561/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/MacroInfo.cpp.o 2022-04-13T11:39:17,125 [562/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/HeaderSearch.cpp.o 2022-04-13T11:39:28,248 [563/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Lexer.cpp.o 2022-04-13T11:39:28,870 [564/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPCallbacks.cpp.o 2022-04-13T11:39:29,049 [565/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/LiteralSupport.cpp.o 2022-04-13T11:39:33,116 [566/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPConditionalDirectiveRecord.cpp.o 2022-04-13T11:39:38,653 [567/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPCaching.cpp.o 2022-04-13T11:40:24,405 [568/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPExpressions.cpp.o 2022-04-13T11:40:27,253 [569/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPLexerChange.cpp.o 2022-04-13T11:40:31,043 [570/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/ModuleMap.cpp.o 2022-04-13T11:40:35,891 [571/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPMacroExpansion.cpp.o 2022-04-13T11:40:38,030 [572/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPDirectives.cpp.o 2022-04-13T11:40:43,750 [573/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Pragma.cpp.o 2022-04-13T11:40:49,425 [574/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/ScratchBuffer.cpp.o 2022-04-13T11:40:51,375 [575/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PreprocessingRecord.cpp.o 2022-04-13T11:40:57,684 [576/611] Building CXX object tools/clang/lib/Rewrite/CMakeFiles/obj.clangRewrite.dir/DeltaTree.cpp.o 2022-04-13T11:41:02,356 [577/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PreprocessorLexer.cpp.o 2022-04-13T11:41:07,340 [578/611] Building CXX object tools/clang/lib/Rewrite/CMakeFiles/obj.clangRewrite.dir/RewriteRope.cpp.o 2022-04-13T11:41:10,877 [579/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenConcatenation.cpp.o 2022-04-13T11:41:26,546 [580/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Preprocessor.cpp.o 2022-04-13T11:41:27,572 [581/611] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenLexer.cpp.o 2022-04-13T11:41:28,327 [582/611] Linking CXX static library lib/libclangLex.a 2022-04-13T11:41:33,456 [583/611] Building CXX object tools/clang/lib/Rewrite/CMakeFiles/obj.clangRewrite.dir/HTMLRewrite.cpp.o 2022-04-13T11:41:37,969 [584/611] Building CXX object tools/clang/lib/Rewrite/CMakeFiles/obj.clangRewrite.dir/Rewriter.cpp.o 2022-04-13T11:41:40,722 [585/611] Building CXX object tools/clang/lib/Rewrite/CMakeFiles/obj.clangRewrite.dir/TokenRewriter.cpp.o 2022-04-13T11:41:41,003 [586/611] Linking CXX static library lib/libclangRewrite.a 2022-04-13T11:41:41,904 [587/611] Building CXX object tools/clang/lib/Tooling/Inclusions/CMakeFiles/obj.clangToolingInclusions.dir/IncludeStyle.cpp.o 2022-04-13T11:42:01,695 [588/611] Building CXX object tools/clang/lib/Tooling/Core/CMakeFiles/obj.clangToolingCore.dir/Replacement.cpp.o 2022-04-13T11:42:01,963 [589/611] Linking CXX static library lib/libclangToolingCore.a 2022-04-13T11:42:05,721 [590/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/AffectedRangeManager.cpp.o 2022-04-13T11:42:13,953 [591/611] Building CXX object tools/clang/lib/Tooling/Inclusions/CMakeFiles/obj.clangToolingInclusions.dir/HeaderIncludes.cpp.o 2022-04-13T11:42:14,240 [592/611] Linking CXX static library lib/libclangToolingInclusions.a 2022-04-13T11:42:24,254 [593/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/BreakableToken.cpp.o 2022-04-13T11:42:24,664 [594/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/DefinitionBlockSeparator.cpp.o 2022-04-13T11:42:42,542 [595/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/FormatToken.cpp.o 2022-04-13T11:42:51,170 [596/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/ContinuationIndenter.cpp.o 2022-04-13T11:43:03,773 [597/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/NamespaceEndCommentsFixer.cpp.o 2022-04-13T11:43:10,615 [598/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/MacroExpander.cpp.o 2022-04-13T11:43:14,088 [599/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/FormatTokenLexer.cpp.o 2022-04-13T11:43:39,954 [600/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/QualifierAlignmentFixer.cpp.o 2022-04-13T11:43:47,651 [601/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/Format.cpp.o 2022-04-13T11:43:54,365 [602/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/SortJavaScriptImports.cpp.o 2022-04-13T11:43:55,161 [603/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/TokenAnalyzer.cpp.o 2022-04-13T11:44:12,425 [604/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UnwrappedLineFormatter.cpp.o 2022-04-13T11:44:20,875 [605/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/TokenAnnotator.cpp.o 2022-04-13T11:44:29,059 [606/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UsingDeclarationsSorter.cpp.o 2022-04-13T11:44:32,999 [607/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UnwrappedLineParser.cpp.o 2022-04-13T11:44:38,630 [608/611] Building CXX object tools/clang/tools/clang-format/CMakeFiles/clang-format.dir/ClangFormat.cpp.o 2022-04-13T11:44:43,684 [609/611] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/WhitespaceManager.cpp.o 2022-04-13T11:44:44,058 [610/611] Linking CXX static library lib/libclangFormat.a 2022-04-13T11:44:47,436 [611/611] Linking CXX executable bin/clang-format 2022-04-13T11:44:47,576 [7/10] No install step for 'build-clang-format' 2022-04-13T11:44:47,668 [8/10] Completed 'build-clang-format' 2022-04-13T11:44:47,871 [9/10] Stripping clang-format executable for size reduction 2022-04-13T11:44:47,872 [9/10] Install the project... 2022-04-13T11:44:47,907 -- Install configuration: "Release" 2022-04-13T11:44:47,913 -- Installing: /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-install/clang_format/data/bin/clang-format 2022-04-13T11:44:48,036 -- Installing: /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-install/clang_format/data/bin/clang-format-diff.py 2022-04-13T11:44:48,042 -- Installing: /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-install/clang_format/data/bin/git-clang-format 2022-04-13T11:44:48,165 -------------------------------------------------------------------------------- 2022-04-13T11:44:48,165 -- Trying "Ninja" generator 2022-04-13T11:44:48,165 -------------------------------- 2022-04-13T11:44:48,166 --------------------------- 2022-04-13T11:44:48,166 ---------------------- 2022-04-13T11:44:48,167 ----------------- 2022-04-13T11:44:48,167 ------------ 2022-04-13T11:44:48,168 ------- 2022-04-13T11:44:48,168 -- 2022-04-13T11:44:48,169 -- 2022-04-13T11:44:48,169 ------- 2022-04-13T11:44:48,169 ------------ 2022-04-13T11:44:48,170 ----------------- 2022-04-13T11:44:48,170 ---------------------- 2022-04-13T11:44:48,170 --------------------------- 2022-04-13T11:44:48,171 -------------------------------- 2022-04-13T11:44:48,171 -- Trying "Ninja" generator - success 2022-04-13T11:44:48,171 -------------------------------------------------------------------------------- 2022-04-13T11:44:48,172 Configuring Project 2022-04-13T11:44:48,172 Working directory: 2022-04-13T11:44:48,173 /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-build 2022-04-13T11:44:48,173 Command: 2022-04-13T11:44:48,173 cmake /tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6 -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-wheel-skhixgrw/clang-format_8fbd5ec75ca74f9b80b672b994835ac6/_skbuild/linux-armv7l-3.7/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 -DPYTHON_VERSION_STRING:STRING=3.7.3 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.7m -DPYTHON_LIBRARY:FILEPATH=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/local/lib/python3.7/dist-packages/skbuild/resources/cmake -DCMAKE_BUILD_TYPE:STRING=Release 2022-04-13T11:44:48,174 copying clang_format/__init__.py -> _skbuild/linux-armv7l-3.7/cmake-install/clang_format/__init__.py 2022-04-13T11:44:48,175 running bdist_wheel 2022-04-13T11:44:48,176 running build 2022-04-13T11:44:48,177 running build_py 2022-04-13T11:44:48,177 creating _skbuild/linux-armv7l-3.7/setuptools/lib.linux-armv7l-3.7 2022-04-13T11:44:48,178 creating _skbuild/linux-armv7l-3.7/setuptools/lib.linux-armv7l-3.7/clang_format 2022-04-13T11:44:48,179 copying _skbuild/linux-armv7l-3.7/cmake-install/clang_format/__init__.py -> _skbuild/linux-armv7l-3.7/setuptools/lib.linux-armv7l-3.7/clang_format 2022-04-13T11:44:48,185 creating _skbuild/linux-armv7l-3.7/setuptools/lib.linux-armv7l-3.7/clang_format/data 2022-04-13T11:44:48,186 creating _skbuild/linux-armv7l-3.7/setuptools/lib.linux-armv7l-3.7/clang_format/data/bin 2022-04-13T11:44:48,188 copying _skbuild/linux-armv7l-3.7/cmake-install/clang_format/data/bin/clang-format -> _skbuild/linux-armv7l-3.7/setuptools/lib.linux-armv7l-3.7/clang_format/data/bin 2022-04-13T11:44:48,309 copying _skbuild/linux-armv7l-3.7/cmake-install/clang_format/data/bin/clang-format-diff.py -> _skbuild/linux-armv7l-3.7/setuptools/lib.linux-armv7l-3.7/clang_format/data/bin 2022-04-13T11:44:48,313 copying _skbuild/linux-armv7l-3.7/cmake-install/clang_format/data/bin/git-clang-format -> _skbuild/linux-armv7l-3.7/setuptools/lib.linux-armv7l-3.7/clang_format/data/bin 2022-04-13T11:44:48,321 running build_ext 2022-04-13T11:44:48,323 running install 2022-04-13T11:44:48,393 running install_lib 2022-04-13T11:44:48,396 creating _skbuild/linux-armv7l-3.7/setuptools/bdist.linux-armv7l 2022-04-13T11:44:48,398 creating _skbuild/linux-armv7l-3.7/setuptools/bdist.linux-armv7l/wheel 2022-04-13T11:44:48,401 creating _skbuild/linux-armv7l-3.7/setuptools/bdist.linux-armv7l/wheel/clang_format 2022-04-13T11:44:48,405 creating _skbuild/linux-armv7l-3.7/setuptools/bdist.linux-armv7l/wheel/clang_format/data 2022-04-13T11:44:48,409 creating _skbuild/linux-armv7l-3.7/setuptools/bdist.linux-armv7l/wheel/clang_format/data/bin 2022-04-13T11:44:48,537 running install_egg_info 2022-04-13T11:44:48,564 running egg_info 2022-04-13T11:44:48,600 writing manifest file 'clang_format.egg-info/SOURCES.txt' 2022-04-13T11:44:48,602 Copying clang_format.egg-info to _skbuild/linux-armv7l-3.7/setuptools/bdist.linux-armv7l/wheel/clang_format-14.0.1-py3.7.egg-info 2022-04-13T11:44:48,626 running install_scripts 2022-04-13T11:44:50,610 Building wheel for clang-format (pyproject.toml): finished with status 'done' 2022-04-13T11:44:50,694 Created wheel for clang-format: filename=clang_format-14.0.1-py2.py3-none-linux_armv7l.whl size=1069467 sha256=0f68c57457a16064e4a5fec3129cbe51149caf2fd571356634cc983fde897521 2022-04-13T11:44:50,696 Stored in directory: /tmp/pip-ephem-wheel-cache-2r747zu6/wheels/41/56/b7/ef4621b723ffc2ebca8cdfd4ebdf15f9992d2baf3d8cb22153 2022-04-13T11:44:50,720 Successfully built clang-format 2022-04-13T11:44:50,831 Removed build tracker: '/tmp/pip-req-tracker-ivm89ck_'