LLVM Weekly - #42, Oct 20th 2014 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/42>. Welcome to the forty-second issue of LLVM Weekly, a weekly newsletter (published every Monday) covering developments in LLVM, Clang, and related projects. LLVM Weekly is brought to you by [Alex Bradbury](http://asbradbury.org). Subscribe to future issues at <http://llvmweekly.org> and pass it on to anyone else you think may be interested. Please send any tips or feedback to <asb at asbradbury.org>, or @llvmweekly or @asbradbury on Twitter. If you're local to London, you may be interested to know that I'll be talking about [lowRISC](http://www.lowrisc.org) at the [Open Source Hardware User Group on Thursday](http://oshug.org/event/36). ## News and articles from around the web ELLCC, the LLVM-based cross-compilation toolchain [now has pre-built binaries for all LLVM tools](http://article.gmane.org/gmane.comp.compilers.clang.devel/39439). Eli Bendersky's repository of examples for using LLVM and Clang as libraries and for building new passes aren't new, but they are incredibly useful for newcomers to LLVM/Clang and I haven't featured them before. If you want to build something using LLVM or Clang, the [llvm-clang-samples repos](https://github.com/eliben/llvm-clang-samples) is one of the best places to start. ## On the mailing lists * If you enjoy bikeshedding, I have the perfect thread for you. [Should LLVM change its naming convention for variables](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77786)? There actually seems to be a lot of consensus that the current approach of using capitalized variable names is weird. * Richard Smith has proposed [switching the default C language mode from gnu99 to gnu11](http://article.gmane.org/gmane.comp.compilers.clang.devel/39379). GNU trunk has just switched from gnu89 by default to gnu11. There seems to be almost universal support for gnu11 by default. * Junio Cezar writes to the mailing list [to share his experiments on time taken in various LLVM passes](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77757). His webpage has [plots of time taken in each stage for csmith-generated programs](http://homepages.dcc.ufmg.br/~juniocezar/llvm/). Hal Finkel had some [suggestions on improving the analysis](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77758). * Bill Wendling is [stepping down as LLVM release manager](http://article.gmane.org/gmane.comp.compilers.clang.devel/39357). He nominated Tom Stellard and Hans Wennborg as his replacements, who have been accepted by unanimous agreement. * Chandler Carruth [suggests making DataLayout non-optional](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77997). ## LLVM commits * Go LLVM bindings have been committed. [r219976](http://reviews.llvm.org/rL219976). * Invoking patchpoint intrinsics is now supported. [r220055](http://reviews.llvm.org/rL220055). * LLVM gained a workaround for a Cortex-A53 erratum. [r219603](http://reviews.llvm.org/rL219603). * Basic support for ARM Cortex-A17 was added. [r219606](http://reviews.llvm.org/rL219606). * The C API has been extended with the LLVMWriteBitcodeToMemoryBuffer function. [r219643](http://reviews.llvm.org/rL219643). * NumOperands has been moved from User to Value. On 64-bit host architectures this reduces `sizeof(User)` and subclasses by 8. [r219845](http://reviews.llvm.org/rL219845). * The LLVMParseCommandLineOptions was added to the C API. [r219975](http://reviews.llvm.org/rL219975). ## Clang commits * Constant expressions can now be used in pragma loop hints. [r219589](http://reviews.llvm.org/rL219589). * The libclang API gained a function to retrieve the storage class of a declaration. [r219809](http://reviews.llvm.org/rL219809). * With the `-fsanitize-address-field-padding` flag, Clang can insert poisoned paddings between fields in C++ classes to allow AddressSanitizer to find intra-object overflow bugs. [r219961](http://reviews.llvm.org/rL219961). ## Other project commits * lldb now supports a gdb-style batch mode. [r219654](http://reviews.llvm.org/rL219654).