Open-source code compilers are monitored via this sub-channel for a variety of programming environments.
Clang is a C, Objective-C, and C++ compiler front-end to LLVM.
Compiler-RT is the LLVM library providing low-level target-specific hooks for code generation and other runtime components.
DragonEgg is a GCC plug-in that uses LLVM as a back-end.
GCC, the GNU Compiler Collection that is the Free Software Foundation open-source compiler for C, C++, Fortran, Java, ADA, and other languages.
HHVM, the HipHop Virtual Machine, is Facebook's virtual machine, run-time, and JIT compiler for PHP.
LDC is an LLVM-based compiler front-end for the D programming language.
LLVM is an innovative open-source compiler infrastructure that's widely used for various purposes
The Perl Programming Language.
PHP is one of the most popular web server languages.
PyPy is an alternative implementation of Python that focuses upon speed and other abilities.
This Month's Activity
- libgo: reduce overhead for memory/block/mutex profiling
GCC - ian: Revise the gccgo version of memory/block/mutex profiling to reduce runtime overhead.
- libgo: drop Solaris 10 support
GCC - ian: Based on patch by Rainer Orth.
- Remove Profile Mode, deprecated since GCC 7.1
GCC - redi: The Profile Mode extension is not used by anybody, nor maintained by anybody.
- Remove array_allocator extension, deprecated since 4.9.0
GCC - redi: This type is not a conforming allocator, because it cannot be reliably rebound to allocate for a different type.
- fortran: C++ support for generating C prototypes
GCC - jb: When generating C prototypes for Fortran procedures with the-fc-prototypes and -fc-prototypes-external options, print a snippet defining macros for complex types, and add C++ support by suppressing mangling.
- Improve API docs for and
GCC - redi: - include/bits/shared_ptr.h: Improve docs.
- Add params for jump-table expansion params (PR middle-end/90340).
GCC - marxin: 2019-05-10 Martin Liska
- doc/invoke.texi: New params.
- params.def (PARAM_JUMP_TABLE_MAX_GROWTH_RATIO_FOR_SIZE): New.
- [PR89221] Continue to default to '--disable-frame-pointer' for x86 GNU systems
GCC - tschwinge: The recent trunk r270914 for PR89221 "--enable-frame-pointer does not work as intended" fixed a scripting defect in the x86 '--enable-frame-pointer' handling.
This has the side effect that, for example, for '--target=i686-gnu' this is now enabled by default: 'USE_IX86_FRAME_POINTER=1' is added to 'tm_defines'.
- compiler: avoid copy for string(byte) conversion used in string comparison
GCC - ian: If a string(byte) conversion is used immediately in a string comparison, we don't need to copy the backing store of the byte slice, as the string comparison doesn't hold any reference to it.
- compiler: don't add pointer twice to value method of direct interface type
GCC - ian: For a direct interface type T with a value method M, its pointer type (*T)'s method table includes a stub method of M which takes a (*T) as the receiver instead of a T.