Knowledge (XXG)

Clang

Source 📝

1222: 47: 3062: 154: 110: 584: 2072:
Binaries from LLVM-GCC and Clang both struggled to compete with GCC 4.5.0 in the timed HMMer benchmark of a Pfam database search. LLVM-GCC and Clang were about 23% slower(...)Though LLVM / Clang isn't the performance champion at this point, both components continue to be under very active development
574:
support. Flang is LLVM's Fortran frontend. It is often referred to as "LLVM Flang" to differentiate itself from "Classic Flang" – these are two separate and independent Fortran compilers. "LLVM Flang" is under active development. Development versions of Flang were in progress as of October 2023
517:
that is key to the overall compile process, which has the side effect of translating the code tree into a form that looks unlike the original source code. If an error is found during or after the fold step, it can be difficult to translate that back into one location in the original source. Besides,
641:
While Clang has historically been faster than GCC at compiling, the output quality has lagged behind. As of 2014, performance of Clang-compiled programs lagged behind performance of the GCC-compiled program, sometimes by large factors (up to 5.5x), replicating earlier reports of slower performance.
545:
Clang compiles only C-like languages, such as C, C++, Objective-C, and Objective-C++. In many cases, Clang can replace GCC as needed, with no other effects on the toolchain as a whole. It supports most of the commonly used GCC options. A Fortran project, Flang was in-progress in 2022. However, for
529:
Clang retains more information during the compiling process than GCC, and preserves the overall form of the original code, making it easier to map errors back into the original source. Clang's error reports are more detailed, specific, and machine-readable, so IDEs can index the compiler's output.
646:
Comparisons in November 2016 between GCC 4.8.2 versus clang 3.4, on a large harness of test files shows that GCC outperforms clang by approximately 17% on well-optimized source code. Test results are code-specific, and unoptimized C source code can reverse such differences. The two compilers thus
637:
libraries more than twice as fast as GCC, while using about one-sixth GCC's memory and disk space. By 2011, Clang seemed to retain this advantage in compiler performance. As of mid-2014, Clang still consistently compiles faster than GCC in a mixed compile time and program performance benchmark.
462:'s front end. The GCC source code, however, is large and somewhat cumbersome; as one long-time GCC developer put it referring to LLVM, "Trying to make the hippo dance is not really a lot of fun". Besides, Apple software uses 2948: 657:
In 2023, another comparison conducted four years later revealed that programs compiled using Clang now match the performance of those compiled with GCC. On average, Clang 16 surpasses GCC 13 by 6%.
931:
Clang 3.5 can rebuild 94.3% of the Debian archive. The percentage of failures has dropped by 1.2% per release since January 2013, mainly due to increased compatibility with GCC flags.
2389: 485:
For these reasons, Apple developed Clang, a new compiler front end which supports C, Objective-C and C++. In July 2007, the project received the approval for becoming open-source.
2153: 2037:
While the overall GCC compatibility is excellent and the compile times are impressive, the performance of the generated code is still lacking behind a recent GCC version.
501:. One of Clang's main goals is to provide a library-based architecture, so that the compiler could interoperate with other tools that interact with source code, such as 654:
has shown that programs generated by Clang 10 has achieved 96% of the performance of GCC 10 over 41 different benchmarks (while winning 22 and losing 19 out of them).
2497: 2123: 2940: 2019: 1923: 2058: 3082: 2717: 2577: 2202: 1424: 3102: 2600: 2974: 2861: 2550: 3097: 3092: 2256: 2686: 1704: 2439: 2411: 742:
Code generation for C and Objective-C reach production quality. Support for C++ and Objective-C++ still incomplete. Clang C++ can parse GCC 4.2
3107: 2747: 2335: 3028: 3001: 2918: 2831: 2804: 2466: 1847: 606:, some of which are purely for compatibility. For example, even though Clang implements atomic intrinsics which correspond exactly with C11 1227: 2891: 2777: 2664: 638:
However, by 2019, Clang is significantly slower at compiling the Linux Kernel than GCC while remaining slightly faster at compiling LLVM.
2385: 2093: 451:(GPU) that do not support certain features, was one of the first uses of LLVM. This enabled Apple to support OpenGL on computers using 1640:
Clang is a subproject of the LLVM Project, but has its own mailing lists because the communities have people with different interests.
502: 467: 24: 2145: 2362: 1740: 2309: 1480: 1273: 2284: 1538: 1235: 2633: 2230: 1813: 1774: 1897: 633:
and increase compiling speed compared to other compilers, such as GCC. In October 2007, they report that Clang compiled the
530:
Modular design of the compiler can offer source code indexing, syntax checking, and other features normally associated with
1965: 1572: 1351: 531: 362: 1512: 1390: 3077: 2493: 619: 133: 2119: 403:
Clang 17, the latest major version of Clang as of October 2023, has full support for all published C++ standards up to
2023: 669:
provides a C interface, providing a relatively small API. Exposed functionality includes: parsing source code into an
523: 479: 101: 1627: 2050: 1659: 940: 889: 547: 471: 415:
standard. Since v16.0.0, Clang compiles C++ using the GNU++17 dialect by default, which includes features from the
46: 2713: 1992: 815: 711: 651: 2573: 2198: 1919: 3087: 2607: 755: 448: 293: 31: 1597: 767: 2970: 1091: 518:
vendors using the GCC stack within IDEs must use separate tools to index the code, to provide features like
459: 348: 340: 1416: 615: 3112: 2853: 2546: 1551:
In addition to the language extensions listed here, Clang aims to support a broad range of GCC extensions.
896: 599: 595: 397: 344: 2690: 2523: 2252: 1712: 2443: 2417: 1681: 1204: 1193: 1182: 1171: 1160: 1149: 1126: 1103: 1071: 1048: 1037: 1014: 979: 956: 818: 670: 290: 2739: 1876: 466:, which is a low priority for GCC developers. As such, GCC does not integrate smoothly into Apple's 1295: 1245: 519: 513:
workflow; integrating it with other tools is not always easy. For instance, GCC uses a step called
336: 214: 2470: 2331: 1446: 109: 3024: 2997: 2914: 2827: 2800: 1839: 603: 567: 506: 366: 309: 286: 231: 219: 186: 2883: 2769: 673:, loading ASTs, traversing the AST, associating source locations with elements within the AST. 642:
Both compilers have evolved to increase their performance since then, with the gap narrowing:
607: 583: 358: 2176: 2089: 630: 539: 369: 262: 226: 174: 1265: 2660: 1880: 1321: 1240: 474:, requires developers who distribute extensions or modified versions of GCC to make their 305: 2413:
Clang builds a working Linux Kernel (Boots to RL5 with SMP, networking and X, self hosts)
806:
standard, with a few of the draft's new features supported in Clang development version.
1727: 493:
Clang works in tandem with LLVM. The combination of Clang and LLVM provides most of the
153: 19:
This article is about the compiler. For the phenomenon of rhyming word association, see
3061: 2358: 498: 2305: 1534: 1472: 3071: 2637: 2278: 1002: 723: 62: 2224: 1800: 1893: 1766: 892: 791: 634: 385: 320: 2941:"LLVM 9 Releases With Official RISC-V Target Support, Asm Goto, Clang 9, And More" 1959: 1566: 743: 2199:"[Announce] clang/llvm can compile booting FreeBSD kernel on i386/amd64" 1343: 944: 623: 475: 463: 301: 1502: 1382: 1363: 1217: 535: 428: 373: 69: 57: 746:
and generate working code for non-trivial programs, and can compile itself.
510: 494: 452: 377: 179: 1619: 681:
This table presents only significant steps and releases in Clang history.
2054: 1655: 431:
made extensive use of LLVM in several commercial products, including the
20: 920: 908: 803: 416: 412: 408: 404: 1986: 1137: 1114: 1087: 1059: 1025: 990: 967: 877: 865: 854: 779: 708: 571: 432: 332: 207: 191: 142: 1507: 1075: 842: 830: 563: 440: 381: 361:
and has been a subproject of LLVM 2.6 and later. As with LLVM, it is
316: 312: 203: 2177:"LLVM Clang 16 vs. GCC 13 Compiler Performance On Intel Raptor Lake" 2073:
and there will hopefully be more news to report in the coming months
2120:"LLVM Clang Achieves ~96% The Performance Of GCC On Intel Ice Lake" 1809: 1736: 1593: 297: 167: 582: 436: 393: 199: 195: 2884:"Firefox Beta 63.0beta, See All New Features, Updates and Fixes" 588: 444: 389: 355: 328: 324: 1945: 602:
and options. Clang implements many GNU language extensions and
550:, LLVM remains dependent on GCC or another compiler front end. 2519: 1894:"Clang: Utility and Applications: Library Based Architecture" 1988:
Clang - Features and Goals: Fast compiles and Low Memory Use
1423:, LLVM Developer Group, § Copyright, License, and Patents, 447:
that converts OpenGL calls into more fundamental calls for
277: 274: 1873: 3055: 2770:"NDK Revision History | Android NDK | Android Developers" 243: 2801:"switch the default compiler on amd64 and i386 to clang" 1961:
Clang can often be used as a drop-in replacement for GCC
1946:"Welcome to Flang's documentation — the Flang Compiler" 833:
cross-platform build system, but GCC is still default.
626:. In practice, Clang is a drop-in replacement for GCC. 2090:"GCC 4.9 VS. LLVM Clang 3.5 Linux Compiler Benchmarks" 734:
Clang 1.0 released, with LLVM 2.6 for the first time.
542:, as it directly represents the original source code. 2547:"FreeBSD Quarterly Status Report January–March, 2012" 1503:"C++ Heterogeneous-Compute Interface for Portability" 1411: 1409: 1407: 268: 455:
chipsets, increasing performance on those machines.
271: 2661:"Clang is C++11 feature complete as of *just now*!" 2084: 2082: 699:Clang front-end released under open-source licence 265: 238: 225: 213: 185: 173: 163: 132: 100: 78: 68: 56: 347:and unofficial language extensions. It includes a 2998:"Switch the default compiler on powerpc to clang" 2915:"Switch the default compiler on octeon to clang" 2146:"Clang vs GCC - which produces better binaries?" 802:Preliminary work completed to support the draft 2854:"Clang is now used to build Chrome for Windows" 2828:"Switch the default compiler on armv7 to clang" 2051:"Benchmarking LLVM & Clang Against GCC 4.5" 575:and could be downloaded from the LLVM Project. 538:is also more suitable for supporting automated 614:intrinsics for compatibility with GCC and the 3025:"Make clang the default compiler on loongson" 2113: 2111: 1705:"mkspecs and patches for LLVM compile of Qt4" 1650: 1648: 1568:Clang - Features and Goals: GCC Compatibility 470:(IDE). Finally, GCC's license agreement, the 8: 1874:clang: a C language family frontend for LLVM 1561: 1559: 1272:. LLVM Developer Group. September 27, 2007. 458:The LLVM project originally intended to use 39: 2740:"NDK Revision History | Android Developers" 770:successfully, and passed nearly all tests. 505:(IDE). In contrast, GCC works in a compile- 411:, and has initial support for the upcoming 3060: 2494:"Rebuild of the Debian archive with clang" 2013: 2011: 2009: 888:Clang/LLVM can compile a working modified 790:Clang/LLVM can compile a working modified 684: 472:GNU General Public License (GPL) version 3 152: 108: 45: 38: 2386:"FreeBSD Status Reports April–June, 2010" 1794: 1792: 1620:"Getting Involved with the Clang Project" 1377: 1375: 1373: 1350:. LLVM Developer Group. August 27, 2021. 1086:Clang becomes the only C compiler in the 2687:"[llvm-project] Revision 194194" 2601:"LLVMLinux: Compiling Android with LLVM" 2574:"Heads Up: Clang now the default on x86" 2308:. LLVM Project Blog. December 24, 2009. 2092:. OpenBenchmarking.org. April 14, 2014. 1867: 1865: 419:standard and conforming GNU extensions. 2667:from the original on September 24, 2019 2465:Sonnenberger, Jörg (January 19, 2012). 2334:. LLVM Project Blog. February 4, 2010. 1354:from the original on September 12, 2021 1257: 864:Clang/LLVM announced to replace GCC in 829:Clang becomes an optional component in 622:(ABI) compatibility with GCC-generated 2951:from the original on December 28, 2019 2553:from the original on February 18, 2018 2526:from the original on December 17, 2009 1920:"FLANG: NVIDIA Brings Fortran To LLVM" 1541:from the original on February 24, 2014 1447:"simply wonder pronunciation of Clang" 1427:from the original on November 13, 2012 1393:from the original on November 11, 2020 1276:from the original on November 17, 2016 943:(and later only compiler supported by 3031:from the original on January 13, 2021 2807:from the original on October 25, 2018 2714:"Rebuild of Debian using Clang 3.5.0" 2229:, Wiki.freebsd.org, August 24, 2012, 2126:from the original on January 15, 2021 2118:Michael Larabel (December 23, 2019). 2096:from the original on October 23, 2017 2061:from the original on November 2, 2016 2020:"Compiling the HotSpot VM with Clang" 2018:Simonis, Volker (February 10, 2011). 1765:Zadeck, Kenneth (November 19, 2005). 782:, but default compiler is still GCC. 7: 2599:Webster, Behan (February 18, 2013). 2440:"New C++0x feature support in Clang" 2438:Gregor, Douglas (January 26, 2011). 2197:Divacky, Roman (February 25, 2009). 1228:Free and open-source software portal 778:Clang/LLVM becomes integral part of 3023:Hankala, Visa (December 21, 2020). 2977:from the original on March 10, 2020 2894:from the original on April 19, 2021 2826:Kettenis, Mark (January 19, 2018). 2580:from the original on April 30, 2018 2416:, Lists.cs.uiuc.edu, archived from 2365:from the original on April 26, 2012 2338:from the original on April 26, 2012 2312:from the original on April 26, 2012 2287:from the original on April 30, 2018 2259:from the original on April 30, 2018 2233:from the original on April 30, 2018 1995:from the original on April 27, 2018 1900:from the original on April 27, 2018 1850:from the original on March 26, 2020 1777:from the original on March 10, 2016 1767:"Re: LLVM/GCC Integration Proposal" 1630:from the original on April 27, 2018 1600:from the original on April 30, 2018 1575:from the original on April 27, 2018 1483:from the original on March 26, 2016 939:Clang becomes default compiler for 841:Clang 3.0 can rebuild 91.2% of the 503:integrated development environments 351:, and several code analysis tools. 3083:C (programming language) compilers 3004:from the original on April 8, 2022 2921:from the original on April 8, 2022 2864:from the original on March 5, 2018 2834:from the original on April 8, 2022 2780:from the original on April 5, 2019 2750:from the original on March 6, 2018 2632:Tinti, Vinicius (March 17, 2013). 2572:Davis, Brooks (November 5, 2012). 2392:from the original on June 24, 2018 2306:"Clang can compile LLVM and Clang" 1819:from the original on April 3, 2019 1515:from the original on June 27, 2020 1445:Christopher, Eric (July 3, 2008). 1136:Clang becomes default compiler in 1113:Clang becomes default compiler in 1058:Clang becomes default compiler in 989:Clang becomes default compiler in 966:Clang becomes default compiler in 876:Clang becomes default compiler in 853:Clang becomes default compiler in 618:(libstdc++). Clang also maintains 594:Clang is compatible with GCC. Its 468:integrated development environment 354:Clang operates in tandem with the 25:World Domination (Band-Maid album) 14: 3103:Software using the Apache license 2156:from the original on June 1, 2017 1926:from the original on May 20, 2017 1703:Treat, Adam (February 19, 2005). 1662:from the original on July 4, 2013 1656:"C++ and C++'0x Support in Clang" 1090:base system, with the removal of 722:Clang/LLVM can compile a working 707:Clang/LLVM can compile a working 629:Clang's developers aim to reduce 579:Performance and GCC compatibility 2996:Kettenis, Mark (April 2, 2020). 2720:from the original on May 1, 2018 2520:"Official Minix 3 website: News" 2500:from the original on May 1, 2018 2205:from the original on May 1, 2018 2175:Michael Larabel (May 11, 2023). 1968:from the original on May 8, 2020 1838:Lattner, Chris (July 11, 2007). 1746:from the original on May 8, 2016 1220: 261: 3098:Software using the NCSA license 3093:Free compilers and interpreters 2332:"Clang Successfully Self-Hosts" 1840:"New LLVM C front-end: "clang"" 1729:LLVM for OpenGL and other stuff 1726:Lattner, Chris (May 25, 2007). 766:Clang latest version built the 2913:Hankala, Visa (July 1, 2019). 2799:Nagy, Robert (July 26, 2017). 2545:Gerzo, Daniel (May 12, 2012). 2442:(Mailing list). Archived from 1799:Naroff, Steve (May 25, 2007). 1711:(Mailing list). Archived from 407:, implements most features of 343:(GCC), supporting most of its 23:. For the Band-Maid song, see 1: 3108:Static program analysis tools 2357:Gregor, Doug (May 20, 2010). 1236:AMD Optimizing C/C++ Compiler 532:rapid application development 363:free and open-source software 2971:"FreeBSD svn commit r358454" 1682:"Clang 17.0.1 Release Notes" 814:Clang can compile a working 620:application binary interface 2467:"Status of NetBSD and LLVM" 2226:Building FreeBSD with Clang 1535:"Clang Language Extensions" 1024:Clang is now used to build 1001:Clang is now used to build 610:, it also implements GCC's 524:intelligent code completion 480:permissive software license 372:. Its contributors include 3129: 1879:November 12, 2017, at the 29: 18: 546:other languages, such as 449:graphics processing units 128: 96: 44: 1810:LLVM Developers' Meeting 1737:LLVM Developers' Meeting 1626:, LLVM Developer Group, 1389:, LLVM Developer Group, 1348:llvm – llvm-project repo 1266:"LLVM 2.1 Release Notes" 647:seem broadly comparable. 32:C (programming language) 30:Not to be confused with 2359:"Clang++ Builds Boost!" 1594:"Clang Static Analyzer" 1417:"LLVM Developer Policy" 1322:"LLVM 19.1.0 Released!" 650:Comparisons in 2019 on 341:GNU Compiler Collection 82:September 26, 2007 2947:. September 26, 2019. 2253:"llvm/clang once more" 596:command-line interface 591: 497:for replacing the GCC 482:doesn't require this. 478:available, but LLVM's 84:; 16 years ago 2973:. February 29, 2020. 2744:developer.android.com 2473:on September 21, 2016 2361:. LLVM Project Blog. 598:shares many of GCC's 586: 291:programming languages 115:; 31 days ago 2693:on November 18, 2018 2634:"LLVMLinux: Nexus 7" 2420:on September 7, 2015 2026:on February 18, 2011 1802:New LLVM C Front-end 1709:Qt4-preview-feedback 880:10.x on amd64/i386. 819:Java virtual machine 616:C++ Standard Library 234:with LLVM Exceptions 74:LLVM Developer Group 3078:Apple Inc. software 2659:Du Toit, Stefanus. 2446:on January 30, 2011 1715:on October 4, 2011. 1246:Portable C Compiler 970:6.2 on amd64/i386. 768:Boost C++ libraries 604:compiler intrinsics 520:syntax highlighting 337:drop-in replacement 310:software frameworks 41: 2774:Android Developers 2712:Ledru, Sylvestre. 2492:Ledru, Sylvestre. 2057:. April 21, 2010. 1571:, April 15, 2013, 1067:19 September 2019 1033:19 September 2018 923:feature complete. 911:feature complete. 592: 568:The Portland Group 443:code compiler for 287:compiler front end 220:Compiler front end 58:Original author(s) 16:Compiler front-end 2860:. March 5, 2018. 2283:, DragonFly BSD, 2150:stackoverflow.com 1477:LLVM Project Blog 1324:. August 17, 2024 1302:. August 17, 2024 1210: 1209: 1200:9 September 2023 1178:6 September 2022 1140:6.9 on mips64el. 1083:29 February 2020 1021:5 September 2018 975:7 September 2017 928:11 September 2014 359:compiler back end 254: 253: 3120: 3064: 3059: 3058: 3056:Official website 3041: 3040: 3038: 3036: 3027:(Mailing list). 3020: 3014: 3013: 3011: 3009: 3000:(Mailing list). 2993: 2987: 2986: 2984: 2982: 2967: 2961: 2960: 2958: 2956: 2937: 2931: 2930: 2928: 2926: 2917:(Mailing list). 2910: 2904: 2903: 2901: 2899: 2880: 2874: 2873: 2871: 2869: 2850: 2844: 2843: 2841: 2839: 2830:(Mailing list). 2823: 2817: 2816: 2814: 2812: 2803:(Mailing list). 2796: 2790: 2789: 2787: 2785: 2766: 2760: 2759: 2757: 2755: 2736: 2730: 2729: 2727: 2725: 2709: 2703: 2702: 2700: 2698: 2689:. Archived from 2683: 2677: 2676: 2674: 2672: 2656: 2650: 2649: 2647: 2645: 2640:on June 11, 2014 2636:. Archived from 2629: 2623: 2622: 2620: 2618: 2612: 2606:. Archived from 2605: 2596: 2590: 2589: 2587: 2585: 2576:(Mailing list). 2569: 2563: 2562: 2560: 2558: 2549:(Mailing list). 2542: 2536: 2535: 2533: 2531: 2516: 2510: 2509: 2507: 2505: 2489: 2483: 2482: 2480: 2478: 2469:. Archived from 2462: 2456: 2455: 2453: 2451: 2435: 2429: 2428: 2427: 2425: 2408: 2402: 2401: 2399: 2397: 2381: 2375: 2374: 2372: 2370: 2354: 2348: 2347: 2345: 2343: 2328: 2322: 2321: 2319: 2317: 2302: 2296: 2295: 2294: 2292: 2275: 2269: 2268: 2266: 2264: 2248: 2242: 2241: 2240: 2238: 2221: 2215: 2214: 2212: 2210: 2194: 2188: 2187: 2185: 2183: 2172: 2166: 2165: 2163: 2161: 2142: 2136: 2135: 2133: 2131: 2115: 2106: 2105: 2103: 2101: 2086: 2077: 2076: 2068: 2066: 2047: 2041: 2040: 2033: 2031: 2022:. Archived from 2015: 2004: 2003: 2002: 2000: 1991:, October 2007, 1983: 1977: 1976: 1975: 1973: 1956: 1950: 1949: 1942: 1936: 1935: 1933: 1931: 1916: 1910: 1909: 1907: 1905: 1890: 1884: 1869: 1860: 1859: 1857: 1855: 1846:(Mailing list). 1835: 1829: 1828: 1826: 1824: 1818: 1807: 1796: 1787: 1786: 1784: 1782: 1773:(Mailing list). 1762: 1756: 1755: 1753: 1751: 1745: 1734: 1723: 1717: 1716: 1700: 1694: 1693: 1691: 1689: 1678: 1672: 1671: 1669: 1667: 1652: 1643: 1642: 1637: 1635: 1616: 1610: 1609: 1607: 1605: 1590: 1584: 1583: 1582: 1580: 1563: 1554: 1553: 1548: 1546: 1531: 1525: 1524: 1522: 1520: 1499: 1493: 1492: 1490: 1488: 1479:. May 22, 2015. 1473:"OpenMP Support" 1469: 1463: 1462: 1460: 1458: 1442: 1436: 1435: 1434: 1432: 1413: 1402: 1401: 1400: 1398: 1379: 1368: 1367: 1361: 1359: 1340: 1334: 1333: 1331: 1329: 1318: 1312: 1311: 1309: 1307: 1292: 1286: 1285: 1283: 1281: 1262: 1230: 1225: 1224: 1223: 1133:21 December 2020 1122:12 October 2020 1117:6.7 on powerpc. 1078:target support. 885:18 February 2013 850:29 February 2012 838:29 February 2012 811:10 February 2011 704:25 February 2009 685: 668: 631:memory footprint 613: 587:Clang compiling 540:code refactoring 370:software license 284: 283: 280: 279: 276: 273: 270: 267: 250: 247: 245: 175:Operating system 156: 151: 148: 146: 144: 123: 121: 116: 113:/ 17 August 2024 112: 92: 90: 85: 49: 42: 3128: 3127: 3123: 3122: 3121: 3119: 3118: 3117: 3068: 3067: 3054: 3053: 3050: 3045: 3044: 3034: 3032: 3022: 3021: 3017: 3007: 3005: 2995: 2994: 2990: 2980: 2978: 2969: 2968: 2964: 2954: 2952: 2939: 2938: 2934: 2924: 2922: 2912: 2911: 2907: 2897: 2895: 2888:www.mozilla.org 2882: 2881: 2877: 2867: 2865: 2852: 2851: 2847: 2837: 2835: 2825: 2824: 2820: 2810: 2808: 2798: 2797: 2793: 2783: 2781: 2768: 2767: 2763: 2753: 2751: 2738: 2737: 2733: 2723: 2721: 2711: 2710: 2706: 2696: 2694: 2685: 2684: 2680: 2670: 2668: 2658: 2657: 2653: 2643: 2641: 2631: 2630: 2626: 2616: 2614: 2613:on May 12, 2014 2610: 2603: 2598: 2597: 2593: 2583: 2581: 2571: 2570: 2566: 2556: 2554: 2544: 2543: 2539: 2529: 2527: 2518: 2517: 2513: 2503: 2501: 2491: 2490: 2486: 2476: 2474: 2464: 2463: 2459: 2449: 2447: 2437: 2436: 2432: 2423: 2421: 2410: 2409: 2405: 2395: 2393: 2383: 2382: 2378: 2368: 2366: 2356: 2355: 2351: 2341: 2339: 2330: 2329: 2325: 2315: 2313: 2304: 2303: 2299: 2290: 2288: 2277: 2276: 2272: 2262: 2260: 2251:Hornung, Alex. 2250: 2249: 2245: 2236: 2234: 2223: 2222: 2218: 2208: 2206: 2196: 2195: 2191: 2181: 2179: 2174: 2173: 2169: 2159: 2157: 2144: 2143: 2139: 2129: 2127: 2117: 2116: 2109: 2099: 2097: 2088: 2087: 2080: 2064: 2062: 2049: 2048: 2044: 2029: 2027: 2017: 2016: 2007: 1998: 1996: 1985: 1984: 1980: 1971: 1969: 1958: 1957: 1953: 1944: 1943: 1939: 1929: 1927: 1918: 1917: 1913: 1903: 1901: 1892: 1891: 1887: 1881:Wayback Machine 1870: 1863: 1853: 1851: 1837: 1836: 1832: 1822: 1820: 1816: 1805: 1798: 1797: 1790: 1780: 1778: 1771:GCC development 1764: 1763: 1759: 1749: 1747: 1743: 1732: 1725: 1724: 1720: 1702: 1701: 1697: 1687: 1685: 1680: 1679: 1675: 1665: 1663: 1654: 1653: 1646: 1633: 1631: 1618: 1617: 1613: 1603: 1601: 1592: 1591: 1587: 1578: 1576: 1565: 1564: 1557: 1544: 1542: 1533: 1532: 1528: 1518: 1516: 1501: 1500: 1496: 1486: 1484: 1471: 1470: 1466: 1456: 1454: 1444: 1443: 1439: 1430: 1428: 1415: 1414: 1405: 1396: 1394: 1381: 1380: 1371: 1357: 1355: 1342: 1341: 1337: 1327: 1325: 1320: 1319: 1315: 1305: 1303: 1294: 1293: 1289: 1279: 1277: 1264: 1263: 1259: 1254: 1241:LLDB (debugger) 1226: 1221: 1219: 1216: 1211: 1156:4 October 2021 1062:6.6 on mips64. 986:19 January 2018 916:6 November 2013 873:5 November 2012 826:19 January 2012 787:25 October 2010 751:2 February 2010 731:23 October 2009 679: 666: 664: 611: 581: 556: 554:Flang - Fortran 491: 425: 349:static analyzer 345:compiling flags 335:. It acts as a 264: 260: 242: 159: 141: 124: 119: 117: 114: 88: 86: 83: 79:Initial release 52: 35: 28: 17: 12: 11: 5: 3126: 3124: 3116: 3115: 3110: 3105: 3100: 3095: 3090: 3085: 3080: 3070: 3069: 3066: 3065: 3049: 3048:External links 3046: 3043: 3042: 3015: 2988: 2962: 2932: 2905: 2875: 2845: 2818: 2791: 2761: 2731: 2704: 2678: 2651: 2624: 2591: 2564: 2537: 2511: 2484: 2457: 2430: 2403: 2376: 2349: 2323: 2297: 2270: 2243: 2216: 2189: 2167: 2137: 2107: 2078: 2042: 2005: 1978: 1951: 1937: 1911: 1885: 1861: 1830: 1788: 1757: 1718: 1695: 1673: 1644: 1624:clang.llvm.org 1611: 1585: 1555: 1526: 1494: 1464: 1453:(Mailing list) 1437: 1403: 1369: 1335: 1313: 1287: 1256: 1255: 1253: 1250: 1249: 1248: 1243: 1238: 1232: 1231: 1215: 1212: 1208: 1207: 1201: 1197: 1196: 1190: 1189:17 March 2023 1186: 1185: 1179: 1175: 1174: 1168: 1167:25 March 2022 1164: 1163: 1157: 1153: 1152: 1146: 1145:14 April 2021 1142: 1141: 1134: 1130: 1129: 1123: 1119: 1118: 1111: 1107: 1106: 1100: 1099:24 March 2020 1096: 1095: 1084: 1080: 1079: 1074:with official 1068: 1064: 1063: 1056: 1052: 1051: 1045: 1044:20 March 2019 1041: 1040: 1034: 1030: 1029: 1022: 1018: 1017: 1011: 1007: 1006: 999: 995: 994: 987: 983: 982: 976: 972: 971: 964: 960: 959: 953: 952:13 March 2017 949: 948: 937: 933: 932: 929: 925: 924: 917: 913: 912: 905: 901: 900: 886: 882: 881: 874: 870: 869: 862: 858: 857: 851: 847: 846: 839: 835: 834: 827: 823: 822: 812: 808: 807: 800: 796: 795: 788: 784: 783: 776: 772: 771: 764: 760: 759: 752: 748: 747: 740: 736: 735: 732: 728: 727: 720: 716: 715: 705: 701: 700: 697: 693: 692: 689: 683: 678: 677:Status history 675: 663: 660: 659: 658: 655: 652:Intel Ice Lake 648: 580: 577: 555: 552: 490: 487: 424: 421: 252: 251: 240: 236: 235: 229: 223: 222: 217: 211: 210: 189: 183: 182: 177: 171: 170: 165: 161: 160: 158: 157: 138: 136: 130: 129: 126: 125: 120:17 August 2024 106: 104: 102:Stable release 98: 97: 94: 93: 80: 76: 75: 72: 66: 65: 60: 54: 53: 50: 15: 13: 10: 9: 6: 4: 3: 2: 3125: 3114: 3113:2007 software 3111: 3109: 3106: 3104: 3101: 3099: 3096: 3094: 3091: 3089: 3088:C++ compilers 3086: 3084: 3081: 3079: 3076: 3075: 3073: 3063: 3057: 3052: 3051: 3047: 3030: 3026: 3019: 3016: 3003: 2999: 2992: 2989: 2976: 2972: 2966: 2963: 2955:September 26, 2950: 2946: 2942: 2936: 2933: 2920: 2916: 2909: 2906: 2893: 2889: 2885: 2879: 2876: 2863: 2859: 2858:blog.llvm.org 2855: 2849: 2846: 2833: 2829: 2822: 2819: 2811:September 30, 2806: 2802: 2795: 2792: 2779: 2775: 2771: 2765: 2762: 2749: 2745: 2741: 2735: 2732: 2719: 2715: 2708: 2705: 2692: 2688: 2682: 2679: 2666: 2662: 2655: 2652: 2639: 2635: 2628: 2625: 2609: 2602: 2595: 2592: 2579: 2575: 2568: 2565: 2552: 2548: 2541: 2538: 2525: 2521: 2515: 2512: 2499: 2495: 2488: 2485: 2472: 2468: 2461: 2458: 2445: 2441: 2434: 2431: 2424:September 18, 2419: 2415: 2414: 2407: 2404: 2391: 2387: 2384:Davis, Brad. 2380: 2377: 2364: 2360: 2353: 2350: 2337: 2333: 2327: 2324: 2311: 2307: 2301: 2298: 2291:September 18, 2286: 2282: 2281: 2274: 2271: 2258: 2254: 2247: 2244: 2237:September 18, 2232: 2228: 2227: 2220: 2217: 2204: 2200: 2193: 2190: 2178: 2171: 2168: 2155: 2151: 2147: 2141: 2138: 2125: 2121: 2114: 2112: 2108: 2095: 2091: 2085: 2083: 2079: 2075: 2074: 2060: 2056: 2052: 2046: 2043: 2039: 2038: 2025: 2021: 2014: 2012: 2010: 2006: 1994: 1990: 1989: 1982: 1979: 1967: 1963: 1962: 1955: 1952: 1947: 1941: 1938: 1925: 1921: 1915: 1912: 1899: 1895: 1889: 1886: 1883: 1882: 1878: 1875: 1868: 1866: 1862: 1849: 1845: 1841: 1834: 1831: 1815: 1811: 1804: 1803: 1795: 1793: 1789: 1776: 1772: 1768: 1761: 1758: 1742: 1738: 1731: 1730: 1722: 1719: 1714: 1710: 1706: 1699: 1696: 1683: 1677: 1674: 1661: 1657: 1651: 1649: 1645: 1641: 1634:September 18, 1629: 1625: 1621: 1615: 1612: 1599: 1595: 1589: 1586: 1574: 1570: 1569: 1562: 1560: 1556: 1552: 1540: 1536: 1530: 1527: 1514: 1510: 1509: 1504: 1498: 1495: 1482: 1478: 1474: 1468: 1465: 1457:September 22, 1452: 1448: 1441: 1438: 1431:September 12, 1426: 1422: 1418: 1412: 1410: 1408: 1404: 1397:September 24, 1392: 1388: 1384: 1383:"LICENSE.TXT" 1378: 1376: 1374: 1370: 1365: 1358:September 12, 1353: 1349: 1345: 1339: 1336: 1323: 1317: 1314: 1301: 1297: 1296:"LLVM 19.1.0" 1291: 1288: 1275: 1271: 1267: 1261: 1258: 1251: 1247: 1244: 1242: 1239: 1237: 1234: 1233: 1229: 1218: 1213: 1206: 1203:Clang 17.0.1 1202: 1199: 1198: 1195: 1192:Clang 16.0.0 1191: 1188: 1187: 1184: 1181:Clang 15.0.0 1180: 1177: 1176: 1173: 1170:Clang 14.0.0 1169: 1166: 1165: 1162: 1159:Clang 13.0.0 1158: 1155: 1154: 1151: 1148:Clang 12.0.0 1147: 1144: 1143: 1139: 1135: 1132: 1131: 1128: 1125:Clang 11.0.0 1124: 1121: 1120: 1116: 1112: 1109: 1108: 1105: 1102:Clang 10.0.0 1101: 1098: 1097: 1093: 1089: 1085: 1082: 1081: 1077: 1073: 1069: 1066: 1065: 1061: 1057: 1054: 1053: 1050: 1046: 1043: 1042: 1039: 1035: 1032: 1031: 1028:for Windows. 1027: 1023: 1020: 1019: 1016: 1012: 1010:8 March 2018 1009: 1008: 1005:for Windows. 1004: 1003:Google Chrome 1000: 998:5 March 2018 997: 996: 992: 988: 985: 984: 981: 977: 974: 973: 969: 965: 962: 961: 958: 954: 951: 950: 946: 942: 938: 936:October 2016 935: 934: 930: 927: 926: 922: 918: 915: 914: 910: 906: 904:19 April 2013 903: 902: 898: 894: 891: 887: 884: 883: 879: 875: 872: 871: 867: 863: 860: 859: 856: 852: 849: 848: 844: 840: 837: 836: 832: 828: 825: 824: 820: 817: 813: 810: 809: 805: 801: 798: 797: 793: 789: 786: 785: 781: 777: 774: 773: 769: 765: 762: 761: 757: 753: 750: 749: 745: 741: 739:December 2009 738: 737: 733: 730: 729: 725: 724:DragonFly BSD 721: 719:16 March 2009 718: 717: 713: 710: 706: 703: 702: 698: 695: 694: 690: 687: 686: 682: 676: 674: 672: 661: 656: 653: 649: 645: 644: 643: 639: 636: 632: 627: 625: 621: 617: 609: 605: 601: 597: 590: 585: 578: 576: 573: 569: 565: 561: 553: 551: 549: 543: 541: 537: 534:systems. The 533: 527: 525: 521: 516: 512: 508: 504: 500: 496: 488: 486: 483: 481: 477: 473: 469: 465: 461: 456: 454: 450: 446: 442: 438: 434: 430: 422: 420: 418: 414: 410: 406: 401: 399: 395: 391: 387: 383: 379: 375: 371: 368: 364: 360: 357: 352: 350: 346: 342: 338: 334: 330: 326: 322: 318: 314: 311: 307: 306:Objective-C++ 303: 299: 295: 292: 288: 282: 258: 249: 241: 237: 233: 230: 228: 224: 221: 218: 216: 212: 209: 205: 201: 197: 193: 190: 188: 184: 181: 178: 176: 172: 169: 166: 162: 155: 150: 149:/llvm-project 140: 139: 137: 135: 131: 127: 111: 105: 103: 99: 95: 81: 77: 73: 71: 67: 64: 63:Chris Lattner 61: 59: 55: 48: 43: 37: 33: 26: 22: 3033:. Retrieved 3018: 3006:. Retrieved 2991: 2979:. Retrieved 2965: 2953:. Retrieved 2944: 2935: 2923:. Retrieved 2908: 2896:. Retrieved 2887: 2878: 2866:. Retrieved 2857: 2848: 2836:. Retrieved 2821: 2809:. Retrieved 2794: 2782:. Retrieved 2773: 2764: 2752:. Retrieved 2743: 2734: 2722:. Retrieved 2707: 2695:. Retrieved 2691:the original 2681: 2669:. Retrieved 2654: 2642:. Retrieved 2638:the original 2627: 2615:. Retrieved 2608:the original 2594: 2582:. Retrieved 2567: 2555:. Retrieved 2540: 2528:. Retrieved 2514: 2502:. Retrieved 2487: 2477:February 26, 2475:. Retrieved 2471:the original 2460: 2448:. Retrieved 2444:the original 2433: 2422:, retrieved 2418:the original 2412: 2406: 2394:. Retrieved 2379: 2367:. Retrieved 2352: 2340:. Retrieved 2326: 2316:December 31, 2314:. Retrieved 2300: 2289:, retrieved 2279: 2273: 2261:. Retrieved 2246: 2235:, retrieved 2225: 2219: 2207:. Retrieved 2192: 2180:. Retrieved 2170: 2158:. Retrieved 2149: 2140: 2128:. Retrieved 2098:. Retrieved 2071: 2070: 2065:February 13, 2063:. Retrieved 2045: 2036: 2035: 2030:February 13, 2028:. Retrieved 2024:the original 1997:, retrieved 1987: 1981: 1970:, retrieved 1964:, May 2020, 1960: 1954: 1940: 1928:. Retrieved 1914: 1902:. Retrieved 1888: 1872: 1871:Clang team, 1852:. Retrieved 1843: 1833: 1821:. Retrieved 1801: 1779:. Retrieved 1770: 1760: 1748:. Retrieved 1728: 1721: 1713:the original 1708: 1698: 1686:. Retrieved 1676: 1664:. Retrieved 1639: 1632:, retrieved 1623: 1614: 1604:September 3, 1602:. Retrieved 1588: 1577:, retrieved 1567: 1550: 1543:. Retrieved 1529: 1519:February 18, 1517:. Retrieved 1506: 1497: 1485:. Retrieved 1476: 1467: 1455:. Retrieved 1450: 1440: 1429:, retrieved 1420: 1395:, retrieved 1386: 1362:– via 1356:. Retrieved 1347: 1338: 1326:. Retrieved 1316: 1304:. Retrieved 1299: 1290: 1278:. Retrieved 1269: 1260: 1110:2 April 2020 1070:Clang 9.0.0 1047:Clang 8.0.0 1036:Clang 7.0.0 1013:Clang 6.0.0 993:6.3 on arm. 978:Clang 5.0.0 963:26 July 2017 955:Clang 4.0.0 893:Linux Kernel 799:January 2011 792:Linux kernel 775:10 June 2010 756:self-hosting 696:11 July 2007 680: 665: 640: 628: 593: 559: 557: 544: 528: 514: 492: 484: 457: 426: 402: 353: 321:RenderScript 256: 255: 107:19.1.0  70:Developer(s) 51:Clang 13.0.1 36: 2584:November 7, 2530:December 7, 2450:January 29, 2342:February 5, 2130:January 14, 1688:October 25, 1545:November 8, 1055:1 July 2019 945:Android NDK 861:12 May 2012 763:20 May 2010 691:Highlights 624:object code 562:project by 476:source code 464:Objective-C 302:Objective-C 3072:Categories 3035:January 1, 3008:August 27, 2925:August 27, 2838:August 27, 2160:October 1, 1364:GitHub.com 1344:"Releases" 1328:August 17, 1306:August 17, 1252:References 536:parse tree 429:Apple Inc. 423:Background 367:Apache 2.0 365:under the 308:, and the 232:Apache 2.0 164:Written in 134:Repository 89:2007-09-26 2945:riscv.org 2898:March 18, 2784:April 30, 2724:April 30, 2697:April 30, 2671:April 20, 2504:April 30, 2396:April 30, 2263:April 30, 2209:April 30, 2182:April 24, 1999:April 30, 1904:April 30, 1854:March 26, 1823:April 30, 1750:April 30, 1666:March 12, 1579:April 30, 1487:March 28, 1280:April 30, 919:Clang is 907:Clang is 845:archive. 744:libstdc++ 662:Interface 495:toolchain 453:Intel GMA 427:In 2005, 378:Microsoft 180:Unix-like 3029:Archived 3002:Archived 2981:March 7, 2975:Archived 2949:Archived 2919:Archived 2892:Archived 2868:April 7, 2862:Archived 2832:Archived 2805:Archived 2778:Archived 2754:March 6, 2748:Archived 2718:Archived 2665:Archived 2578:Archived 2551:Archived 2524:Archived 2498:Archived 2390:Archived 2363:Archived 2336:Archived 2310:Archived 2285:archived 2257:Archived 2231:archived 2203:Archived 2154:Archived 2124:Archived 2100:June 25, 2094:Archived 2059:Archived 2055:Phoronix 1993:archived 1966:archived 1924:Archived 1898:Archived 1877:Archived 1848:Archived 1814:Archived 1806:(Slides) 1781:July 25, 1775:Archived 1741:Archived 1733:(Slides) 1660:Archived 1658:. LLVM. 1628:archived 1598:Archived 1596:. LLVM. 1573:archived 1539:Archived 1513:Archived 1481:Archived 1425:archived 1421:llvm.org 1391:archived 1387:llvm.org 1352:Archived 1274:Archived 1270:llvm.org 1214:See also 1205:released 1194:released 1183:released 1172:released 1161:released 1150:released 1127:released 1104:released 1072:released 1049:released 1038:released 1015:released 980:released 957:released 726:kernel. 667:libclang 612:__sync_* 439:3.1. An 339:for the 289:for the 187:Platform 21:Clanging 2644:May 11, 2617:May 11, 2557:May 14, 2369:May 21, 1930:May 18, 1844:cfe-dev 1451:LLVMdev 1138:OpenBSD 1115:OpenBSD 1088:FreeBSD 1060:OpenBSD 1026:Firefox 991:OpenBSD 968:OpenBSD 941:Android 897:Nexus 7 890:Android 878:FreeBSD 866:FreeBSD 855:MINIX 3 816:HotSpot 780:FreeBSD 709:FreeBSD 608:atomics 572:Fortran 433:iOS SDK 285:) is a 239:Website 227:License 208:ppc64le 192:AArch64 118: ( 87: ( 1972:May 9, 1684:. LLVM 1508:GitHub 1300:GitHub 1076:RISC-V 843:Debian 831:NetBSD 754:Clang 712:kernel 635:Carbon 564:Nvidia 489:Design 441:OpenGL 396:, and 382:Google 331:, and 317:OpenCL 313:OpenMP 204:x86-64 143:github 2611:(PDF) 2604:(PDF) 2280:Clang 1817:(PDF) 1744:(PDF) 921:C++14 909:C++11 804:C++0x 688:Date 600:flags 570:adds 560:Flang 511:debug 499:stack 437:Xcode 417:C++17 413:C++23 409:C++20 405:C++17 394:Intel 374:Apple 257:Clang 246:.llvm 244:clang 200:IA-32 196:ARMv7 147:/llvm 40:Clang 3037:2021 3010:2020 2983:2020 2957:2019 2927:2020 2900:2020 2870:2018 2840:2020 2813:2017 2786:2018 2756:2018 2726:2018 2699:2018 2673:2013 2646:2013 2619:2013 2586:2012 2559:2012 2532:2012 2506:2018 2479:2014 2452:2011 2426:2012 2398:2018 2371:2010 2344:2010 2318:2009 2293:2012 2265:2018 2239:2012 2211:2018 2184:2024 2162:2018 2132:2021 2102:2014 2067:2011 2032:2011 2001:2018 1974:2020 1932:2017 1906:2018 1856:2020 1825:2018 1783:2016 1752:2018 1690:2023 1668:2023 1636:2012 1606:2009 1581:2018 1547:2017 1521:2020 1489:2016 1459:2015 1433:2021 1399:2019 1360:2021 1330:2024 1308:2024 1282:2018 895:for 589:htop 566:and 558:The 522:and 515:fold 507:link 445:OS X 435:and 390:Sony 356:LLVM 329:SYCL 325:CUDA 248:.org 215:Type 145:.com 1092:GCC 947:). 671:AST 548:Ada 460:GCC 398:AMD 386:ARM 333:HIP 298:C++ 168:C++ 3074:: 2943:. 2890:. 2886:. 2856:. 2776:. 2772:. 2746:. 2742:. 2716:. 2663:. 2522:. 2496:. 2388:. 2255:. 2201:. 2152:. 2148:. 2122:. 2110:^ 2081:^ 2069:. 2053:. 2034:. 2008:^ 1922:. 1896:. 1864:^ 1842:. 1812:. 1808:. 1791:^ 1769:. 1739:. 1735:. 1707:. 1647:^ 1638:, 1622:, 1558:^ 1549:. 1537:. 1511:. 1505:. 1475:. 1449:. 1419:, 1406:^ 1385:, 1372:^ 1346:. 1298:. 1268:. 1094:. 899:. 868:. 821:. 794:. 758:. 714:. 526:. 400:. 392:, 388:, 384:, 380:, 376:, 327:, 323:, 319:, 315:, 304:, 300:, 296:, 275:eɪ 206:, 202:, 198:, 194:, 3039:. 3012:. 2985:. 2959:. 2929:. 2902:. 2872:. 2842:. 2815:. 2788:. 2758:. 2728:. 2701:. 2675:. 2648:. 2621:. 2588:. 2561:. 2534:. 2508:. 2481:. 2454:. 2400:. 2373:. 2346:. 2320:. 2267:. 2213:. 2186:. 2164:. 2134:. 2104:. 1948:. 1934:. 1908:. 1858:. 1827:. 1785:. 1754:. 1692:. 1670:. 1608:. 1523:. 1491:. 1461:. 1366:. 1332:. 1310:. 1284:. 509:- 294:C 281:/ 278:ŋ 272:l 269:k 266:ˈ 263:/ 259:( 122:) 91:) 34:. 27:.

Index

Clanging
World Domination (Band-Maid album)
C (programming language)

Original author(s)
Chris Lattner
Developer(s)
Stable release
Edit this on Wikidata
Repository
github.com/llvm/llvm-project
Edit this at Wikidata
C++
Operating system
Unix-like
Platform
AArch64
ARMv7
IA-32
x86-64
ppc64le
Type
Compiler front end
License
Apache 2.0
clang.llvm.org
/ˈklŋ/
compiler front end
programming languages
C

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.