GCC, the GNU Compiler Collection that is the Free Software Foundation open-source compiler for C, C++, Fortran, Java, ADA, and other languages.
- [patch1/2][arm][PR90317]: fix sha1 patterns
ktkachov: This patch fixes:
1) Ice message thrown when using the crypto_sha1h intrinsic due to incompatible mode used for zero_extend.
- Add parens around constraint in .
jason: C++20 concepts require parens around atomic constraints that are not primary-expressions.
- runtime: expose the g variable
ian: Currently, getg is implemented in C, which loads the thread-local g variable.
- rs6000: Shut up -Wformat-diag somewhat
segher: We currently get lot of build warnings like /home/segher/src/gcc/gcc/config/rs6000/rs6000-c.c:7039:12: warning: misspelled term 'builtin function' in format; use 'built-in function' instead [-Wformat-diag] 7039 | error ("builtin function %qs not supported in this compiler " | ^~~~~~~~~~~~~~~~
That would print something like builtin function '__builtin_example' not supported in this compiler
Changing that to "built-in" as suggested only makes this worse.
- Support multiple operand counts for .md @ patterns
rsandifo: This patch extends the support for "@..." pattern names so that the patterns can have different numbers of operands.
- Add hint if the fallthrough target of current BB isn't the one placed closely next
linkw: Add hint if the fallthrough target of current BB isn't the one placed closely next.
- Define std::atomic_ref and std::atomic for C++20
redi: This adds the new atomic types from C++2a, as proposed by P0019 and P0020.
- i386: Add AVX512 unaligned intrinsics
hjl: __m512i _mm512_loadu_epi64( void * sa);
void _mm512_storeu_epi64(void * d, __m512i a); __m512i _mm512_loadu_epi32( void * sa);
void _mm512_storeu_epi32(void * d, __m512i a);
void _mm256_storeu_epi64(void * d, __m256i a);
void _mm_storeu_epi64(void * d, __m128i a);
void _mm256_storeu_epi32(void * d, __m256i a);
void _mm_storeu_epi32(void * d, __m128i a);
Tested on x86-64.
2019-07-11 Sunil K Pandey
- config/i386/avx512fintrin.h (_mm512_loadu_epi64): New.
- [Ada] Refactor ownership pointer checking in SPARK as a generic
pmderodat: Ownership checking as done in SPARK should be applied only to SPARK code, which requires GNATprove knowledge of the SPARK_Mode boundary.
- [Ada] GNAT.Sockets: support ICMP, IGMP and RAW IP protocol levels
pmderodat: 2019-07-11 Dmitriy Anisimkov
Most Popular In The Past Month
- Add zstd support for LTO bytecode compression
marxin: 2019-07-03 Martin Liska
- Makefile.in: Define ZSTD_LIB.
- common.opt: Adjust compression level to support also zstd levels.
- config.in: Regenerate.
- configure: Likewise.
- configure.ac: Add --with-zstd and --with-zstd-include options and detect ZSTD.
- doc/install.texi: Mention zstd dependency.
- gcc.c: Print supported LTO compression algorithms.
- lto-compress.c (lto_normalized_zstd_level): Likewise.
- [PATCH, rs6000] Split up rs6000.c
seurer: The source file rs6000.c has grown to unreasonable size and is being split up into several smaller source files.
- [Ada] Add contracts to Ada.Text_IO for SPARK
pmderodat: This change removes the warnings returned when using Ada.Text_IO library in SPARK.
- Enable full GFortran library for AMD GCN
ams: 2019-06-25 Kwok Cheung Yeung Andrew Stubbs
- Create GCN-specific gthreads
ams: 2019-06-25 Kwok Cheung Yeung Andrew Stubbs
- config.gcc (thread_file): Set to gcn for AMD GCN.
- config/gcn/gcn.c (gcn_emutls_var_init): New function.
- Darwin, add a missed file change
iains: From the last commit.
- rs6000: Remove duplicated code
segher: A large portion of the code moved from rs6000.c (to rs6000-logue.c) was accidentally retained.
- Remove quite obvious dead assignments
marxin: 2019-06-27 Martin Liska
- asan.c (asan_emit_allocas_unpoison): Remove obviously dead assignments.
- bt-load.c (move_btr_def): Likewise.
- builtins.c (expand_builtin_apply_args_1): Likewise.
- [Ada] Implement GNAT.Graphs
pmderodat: This patch introduces new unit GNAT.Graphs which currently provides a directed graph abstraction.
-- Source --
with Ada.Text_IO; use Ada.Text_IO; with GNAT; use GNAT; with GNAT.Graphs; use GNAT.Graphs; with GNAT.Sets; use GNAT.Sets;
procedure Operations is type Vertex_Id is (No_V, VA, VB, VC, VD, VE, VF, VG, VH, VX, VY, VZ); No_Vertex_Id : constant Vertex_Id := No_V;
function Hash_Vertex (V : Vertex_Id) return Bucket_Range_Type;
type Edge_Id is (No_E, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E97, E98, E99); No_Edge_Id : constant Edge_Id := No_E;
function Hash_Edge (E : Edge_Id) return Bucket_Range_Type;
package ES is new Membership_Set (Element_Type => Edge_Id, "=" => "=", Hash => Hash_Edge);
package DG is new Directed_Graph (Vertex_Id => Vertex_Id, No_Vertex => No_Vertex_Id, Hash_Vertex => Hash_Vertex, Same_Vertex => "=", Edge_Id => Edge_Id, No_Edge => No_Edge_Id, Hash_Edge => Hash_Edge, Same_Edge => "="); use DG;
package VS is new Membership_Set (Element_Type => Vertex_Id, "=" => "=", Hash => Hash_Vertex);
-- Local subprograms --
procedure Check_Belongs_To_Component (R : String; G : Instance;
V : Vertex_Id; Exp_Comp : Component_Id);-- Verify that vertex V of graph G belongs to component Exp_Comp.
- [Ada] New algorithm for Elaboration order v4.0
pmderodat: This patch introduces several changes to the new elaboration order mechanism:
- The concept of "strong" and "weak" edges is introduced.