Talk:Clang

Goal

 * Is it valid to say that Clang's goal is to replace GCC, period? It has different design goals. Comparison with pros and cons listed is even provided on CLangs site. — Preceding unsigned comment added by 82.131.68.81 (talk) 17:52, 7 April 2013 (UTC)

Untitled

 * I don't think it is valid to mark this as "Apple's fronted". yes, apple sponsors most of the development now but the code is open source and once version 1.0 is released I believe a wider community will be gathered.


 * I have reworded it to avoid the possessive implication. While Apple does sponsor a large part of the development, there are several non-Apple contributors as well.  #75.168.182.194 (talk) 06:11, 18 December 2007 (UTC)


 * The article says the C support is complete. this is not true, there are still many bugs and missing features (va_arg missing on amd64 etc.) which results in clang not being able to compile many common C apps. I am also not sure why is clang "low" on importance, I believe it has a bright future, possibly replacing gcc as "the free C-family compiler" —Preceding unsigned comment added by 89.173.82.36 (talk) 21:45, 26 October 2008 (UTC)

And did Apple really want to? I can see how its useful to them, even more so if it's basing itself more on bsd/bsd licence rather than linux/gpl. I don't really get the point, they use gcc from non gpl programs in an accepted way, yet I read "but Apple is heavily funding Clang now because the GNU people put them in their sights wrt GCC. GNU played rough and got one over on NeXT (with GCC), but it's obvious that that lesson has been learned. Apple won't even allow any use of GPLv3 code, let alone integration into their system. This is what happens when you act anti-socially." so im confused. 217.43.34.130 (talk) 12:18, 21 July 2009 (UTC)


 * Is it just me or is the English word 'clang', and not ? KMeyer (talk) 02:36, 17 October 2009 (UTC)


 * The article seems correct for me because I can imagine a fake word clayng that I wouldn't pronounce like clang. Googling found some brief mentions of [æŋ] becoming [eɪŋ] in parts of North America, which could be a possibility. —Mrwojo (talk) 03:43, 17 October 2009 (UTC)


 * ACK. perhaps my dialect is just weird (I'm a North American speaker of English). KMeyer (talk) 04:09, 17 October 2009 (UTC)


 * It seems strange that the Background section doesn't mention gcc's change of license (GPL2->GPL3) as a main reason for Apple dropping gcc. —Preceding unsigned comment added by 83.114.82.27 (talk) 20:16, 8 May 2011 (UTC)


 * GPL3 also the reason for the BSDs moving to clang, for example FreeBSD has GPL3 versions of gcc in its ports system, but its base system is built with a GPL2 version from 2007. — Preceding unsigned comment added by 87.194.105.247 (talk) 18:31, 29 May 2011 (UTC)

Google uses Clang
A Google programmer has posted an interesting article about how Google uses and improves Clang for their C++ code. See either the LLVM blog or Google's Engineering Tools blog. They use Clang "to provide accurate and helpful warnings and diagnostics to engineers". They add warnings to Clang (ie., enhance it to detect "dangerous and potentially buggy constructs") and customize some of those warnings. They use these enhancements to systematically scan their entire code base:
 * When other teams at Google respond to production bugs, our team will often begin working to enable any Clang diagnostics that might have caught the bug. Within one week of production issues, we can sweep the entire code base using these diagnostics to fix any latent bugs.

See also the three-part series on the LLVM blog entitled "What Every C Programmer Should Know About Undefined Behavior".

Should we mention Google's use of Clang in the article? (Any mention would need to be brief.) CWC 10:56, 3 June 2011 (UTC)

diffing the IF?
The Overview sections contains: "Changes to the compiler can be checked by diffing the IF.", yet IF is nowhere cited what it stands for. Can anybody knowledgable explain what IF is? Thanks, 194.246.123.103 (talk) 21:10, 23 July 2011 (UTC)

performance
...runtime performance of clang/LLVM output is sometimes worse than GCC's. GCC's compilation speeds are really slow, but runtime performance of binaries is generally (9/10 itw cases) better by 10+%. Phoronix this tests can back me up. "sometimes" suggests that it's like that in <50% cases. I'd suggest replacing it with "mostly" or "generally" (with reasonable defaults such as "-O2" or even "-mntune=native" flags). — Preceding unsigned comment added by 94.112.108.225 (talk) 18:51, 13 April 2012 (UTC)
 * Can you post a link to such survey? I then would update the article. 1exec1 (talk) 20:27, 23 April 2012 (UTC)

incremental compiling
In article this is mentioned several times, but as of now (Aug '12) there is no incremental compilation option (standalone server instance, nor IDE support, not counting proprietary X code). I guess article should reflect this more, to me it sounds like failed design goal (my POV, not developer's ofc). — Preceding unsigned comment added by 94.112.108.225 (talk) 13:14, 12 August 2012 (UTC)

PlayStation 4
Can we have a table with all of the supported OSes/products that use clang? like, how do we include the fact that the PS4 uses clang because I think it's pretty notable. Bumblebritches57 (talk) 20:11, 6 January 2014 (UTC)

Swift Programming Language
Should Swift be added as one of the languages? My understanding is Swift is also compiled via clang on LLVM.

Pacoup (talk) 18:11, 6 June 2014 (UTC)


 * Yes, Swift is supported by Clang, but I'm pretty sure it only works because Apple added a compatibility layer to all the function calls, etc allowing it to work seamlessly, I don't believe it's actually compiled to Objective-C, and further, I don't believe the Playstation 4 even supports Objective-C. Bumblebritches57 (talk) 19:15, 15 July 2014 (UTC)


 * The Swift compiler and the Clang compiler are separate projects (the Swift compiler uses Clang for its interoperability with Objective-C, but Clang is not used to compile Swift code). — Preceding unsigned comment added by 2620:0:1000:330B:88D8:40D7:4779:E213 (talk) 20:37, 25 November 2015 (UTC)

Sourcing issues
It seems that most of the references for this article are to unreliable sources such as blogs, and/or to sources directly connected with Clang. It would be great if these could be replaced or supplemented with reliable secondary or tertiary sources. In cases where this is not possible, some material may need to be removed from the article. —Psychonaut (talk) 10:54, 4 February 2015 (UTC)


 * Primary sources such as official blogs may be used for facts but should not be used for opinions. We should strive for third party sources, but just because a fact is mostly covered by primary sources does not mean it needs to be removed. Though yes, opinions and the like need 3rd party sources. PaleAqua (talk) 19:49, 17 February 2015 (UTC)

Microsoft now in the ring
Microsoft has forked clang (https://github.com/Microsoft/clang) and apparently intends to make it available as a backend in VS2015 (http://arstechnica.com/information-technology/2014/11/visual-studio-2015-goes-even-more-cross-platform-with-clang-android-emulator/). This information should probably make it into the article at some point, but I don't have time to edit it in now. I'll leave this comment here in case someone else wants to take it on. GrandOpener (talk) 10:28, 12 June 2015 (UTC)

External links modified
Hello fellow Wikipedians,

I have just added archive links to 1 one external link on Clang. Please take a moment to review my edit. If necessary, add after the link to keep me from modifying it. Alternatively, you can add to keep me off the page altogether. I made the following changes:
 * Added archive https://web.archive.org/20110218013535/http://weblogs.java.net:80/blog/simonis/archive/2011/02/10/compiling-hotspot-vm-clang to http://weblogs.java.net/blog/simonis/archive/2011/02/10/compiling-hotspot-vm-clang

When you have finished reviewing my changes, please set the checked parameter below to true to let others know.

Cheers.—cyberbot II  Talk to my owner :Online 04:54, 23 February 2016 (UTC)

Performance Of Compilation vs. Generated Binary
In the "Performance and GCC compatibility" section, the second paragraph seems to start out talking about compile time, while the last two sentences talk about performance of the generated code. This seems misleading and that the ideas of those two sentences should be merged into the third paragraph, talking about performance of the generated binaries.

JoshGilkerson (talk) 20:30, 29 August 2016 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 1 one external link on Clang. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20110130065354/http://lists.cs.uiuc.edu:80/pipermail/cfe-dev/2011-January/013013.html to http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-January/013013.html

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ).

Cheers.— InternetArchiveBot  (Report bug) 17:59, 25 November 2016 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 4 external links on Clang. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20111004073001/http://lists.trolltech.com/qt4-preview-feedback/2005-02/msg00691.html to http://lists.trolltech.com/qt4-preview-feedback/2005-02/msg00691.html
 * Added archive https://web.archive.org/web/20150907044958/http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/011711.html to http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/011711.html
 * Corrected formatting/usage for http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-January/013013.html
 * Added archive https://web.archive.org/web/20070817044507/http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-July/009817.html to http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-July/009817.html

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 19:44, 8 August 2017 (UTC)

Update the license in infobox and firefox status
It seems license its license has been updated to Apache 2.0 license after this commit, and AFAIK firefox is already complied by using Clang.—— Wizard leave a comment 14:22, 1 February 2019 (UTC)

Image showing clang command lines in a terminal
Is it a mistake in the article or does that XCode thing really have a subpath xxx...xxx/usr/bin/gcc that's actually an alias for clang? If i were to choose a representative image, it probably wouldn't be that one because it's rather confusing. Bohan (talk) 04:07, 2 February 2020 (UTC)
 * Yes, I agree. It is a very bad image for this, not only too much redundant text for what it is trying to show, it also seems to be using an executable called gcc, which I want to believe is not Clang. BernardoSulzbach (talk) 22:24, 2 February 2020 (UTC)

A Commons file used on this page or its Wikidata item has been nominated for deletion
The following Wikimedia Commons file used on this page or its Wikidata item has been nominated for deletion: Participate in the deletion discussion at the. —Community Tech bot (talk) 21:53, 31 July 2021 (UTC)
 * LLVM New Logo.png