SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
GCC 4.8, State of the Onion

                       Dodji Seketeli <dodji@redhat.com>

              Distro Recipes Conference - April 2013 - Paris, France




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion          1/23
Breakup of the talk




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   2/23
GCC Development Plan




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   3/23
GCC Development Plan




     2 phases in the development time line of GCC




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
GCC Development Plan




     2 phases in the development time line of GCC
             Phase 1: New features; at least 6 months




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
GCC Development Plan




     2 phases in the development time line of GCC
             Phase 1: New features; at least 6 months
             Phase 2: Stabilization; the time it takes.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
GCC Development Plan




     2 phases in the development time line of GCC
             Phase 1: New features; at least 6 months
             Phase 2: Stabilization; the time it takes.
     GCC 4.7 released in March 2012




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
GCC Development Plan




     2 phases in the development time line of GCC
             Phase 1: New features; at least 6 months
             Phase 2: Stabilization; the time it takes.
     GCC 4.7 released in March 2012
     GCC 4.8 released in March 2013




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   4/23
Diagnostics changes




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   5/23
-fdiagnostics-show-caret Option




Displays source code in diagnostic messages
t.cc:4:19: fatal error: foo: No such file or directory
#include <foo>
             ^
compilation terminated.



This option is on by default in in 4.8!




 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   6/23
-Wsizeof-pointer-memaccess Option




Warns about the suspicious use of memory access function of the
C library, like in:
memset (ptr, 0, sizeof (ptr));



This option is turned on by -Wall




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     7/23
-ftrack-macro-location Option




     First appeared in 4.7 as an unstable tech preview.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   8/23
-ftrack-macro-location Option




     First appeared in 4.7 as an unstable tech preview.
     Ironed out, stabilized and set by default in 4.8




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   8/23
-ftrack-macro-location Option



Once upon a time, an error in the expansion of a macro was pain
(in the bottom of the back) to diagnose:
============> test.c <==============
     1 #define SHIFT(OP0, OP1) 
     2 OP0 << OP1
     3
     4 int
     5 main ()
     6 {
     7   return SHIFT (1, 1.1);
     8 }
==========================

===============> Error Diagnostics <=============
test.c: In function ’int main()’:
test.c:7:10: error: invalid operands of types ’int’ and ’double’ to binary ’operator<<’
===============================================




 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion                            9/23
Option -ftrack-macro-location


Now, with this option, combined with -fdiagnostics-show-caret our
back is relieved:

============> test.c <==============
     1 #define SHIFT(OP0, OP1) 
     2 OP0 << OP1
     3
     4 int
     5 main ()
     6 {
     7   return SHIFT (1, 1.1);
     8 }
==========================

==========> Ce que le compilateur nous dira maintenant <========
test.c: In function ’main’:
test.c:2:6: error: invalid operands to binary << (have ’int’ and ’double’)
  OP0 << OP1
      ^
test.c:7:10: note: in expansion of macro ’SHIFT’
   return SHIFT (1, 1.1);
          ^
=================================================




 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion               10/23
Changes in langage support




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   11/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.
     Better support for the memory model of C++11.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.
     Better support for the memory model of C++11.
             Support of C++11              atomic operators.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.
     Better support for the memory model of C++11.
             Support of C++11              atomic operators.
     Thread variable - key word thread local
         thread_local int i;




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11


     New version 7 of ABI introduced. But for now, version 2 of
     the ABI remains the default.
     Better support for the memory model of C++11.
             Support of C++11              atomic operators.
     Thread variable - key word thread local
         thread_local int i;
     Generalized attributes
         struct [[gnu::packed]] a_type_of_5_bytes
         {
            char premier;
            int second;
         };

Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion     12/23
C++11




     Alignment Expressions;




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   13/23
C++11




     Alignment Expressions;

  struct alignas (a_type_of_5_bytes) another_type
  {
    char c;
    int i;
  };




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   13/23
C++11




     Inherited Constructors




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   14/23
C++11




     Inherited Constructors
 struct A
 {
   A(int);
   A(const char*);
 };

 struct B : public A
 {
   using A::A; // <-- all constructors of B are generated here
 };

B b0("coucou"); // OK
B b1(10); // OK, too.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion    14/23
Other languages




Support of Fortran and Go was greatly improved too.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   15/23
Optimizations and Middle End changes




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   16/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.
     Better scalability on very big functions.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.
     Better scalability on very big functions.
     Better LTO support.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.
     Better scalability on very big functions.
     Better LTO support.
     Address Sanitizer: New fast memory error detector on intel
     and ppc GNU/Linux and intel/Darwin. -fsanitize=address.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      17/23
General optimizer improvements



     DWARF 4 is now default debug info format. GDB 7.5,
     Valgrind 3.8.0 and elfutils 0.154 were updated accordingly.
     New -Og : faster compilation, good debugging experience,
     reasonable speed. Better than -0O.
     Better scalability on very big functions.
     Better LTO support.
     Address Sanitizer: New fast memory error detector on intel
     and ppc GNU/Linux and intel/Darwin. -fsanitize=address.
     Thread Sanitizer: Data race memory error detector, on x86-64
     GNU/Linux. -fsanitize=thread.



Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion       17/23
processor support




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   18/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.
     Better support for AVR




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.
     Better support for AVR
     In x86 land




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.
     Better support for AVR
     In x86 land
             Support for new Broadwell architecture.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   19/23
CPUs support



     AArch64, aka ARM 64. Just added for Cortex-A53 and
     Cortex-A57 processors -mcpu=cortex-a53 and
     -mcpu=cortex-a57.
     Better code generation for several existing ARM chips,
     including better auto-vectorization.
     Better support for AVR
     In x86 land
             Support for new Broadwell architecture.
             New built-in functions to detect CPU type at runtime:
              builtin cpu is(”westmere”); and
              builtin cpu supports(”sse”);



Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion        19/23
x86 CPU Support, continued


     Function Multi-versioning in G++: Create multiple versions of
     a function, each one targeting a specific processor or ISA.
     Example:
            __attribute__ ((target ("default")))
          int foo(void)
          {
             return 1;
          }

          __attribute__ ((target ("sse4.2")))
          int foo(void)
          {
            return 2;
          }

          int main (void)
          {
            int (*p) = &foo;
            assert ((*p)() == foo());
            return 0;
          }




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion        20/23
x86 CPU Support, continued


     Function Multi-versioning in G++: Create multiple versions of
     a function, each one targeting a specific processor or ISA.
     Example:
            __attribute__ ((target ("default")))
          int foo(void)
          {
             return 1;
          }

          __attribute__ ((target ("sse4.2")))
          int foo(void)
          {
            return 2;
          }

          int main (void)
          {
            int (*p) = &foo;
            assert ((*p)() == foo());
            return 0;
          }

     AMD Steamroller and Jaguar Core. -march=bdver3 and
     -march=btver2.
Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion        20/23
Architecture Change




GCC Development Plan


Significant Changes in 4.8
   Diagnostic
   Language support
   Optimizations and Middle End
   Processors
   Architecture Change




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   21/23
Architecture Changes



GCC is now implemented in C++03.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion   22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.
     Get better abstraction in a easier manner.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.
     Get better abstraction in a easier manner.
     Strong typing implies more errors detected at compile time.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.
     Get better abstraction in a easier manner.
     Strong typing implies more errors detected at compile time.
     And compile time of the compiler didn’t increase! Quite the
     opposite.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Architecture Changes



GCC is now implemented in C++03.
This allows:
     Doing the language change progressively. Now one could ever
     re-write those millions lines of code out there overnight.
     Get better abstraction in a easier manner.
     Strong typing implies more errors detected at compile time.
     And compile time of the compiler didn’t increase! Quite the
     opposite.
A subset of C++ was chose, to avoid the Oil Refinery syndrome.
Code review is still the better quality insurance tool.



Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion      22/23
Merci !




http://gcc.gnu.org - Drink the Cool Aid.
http://gcc.gnu.org/git - Code source repository
git clone git://gcc.gnu.org/git/gcc.git - git the sources!
http://news.gmane.org/gmane.comp.gcc.devel - Trolling, err,
discussions, sorry.
http://gcc.gnu.org/contribute.html - How to contribute. Yes, you!
gcc-patches@gcc.gnu.org - Where to send patches. Yes, you again.




Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion       23/23

Mais conteúdo relacionado

Mais procurados

Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugincudma
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerSherif Mousa
 
Embedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformEmbedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformSZ Lin
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)Chris Simmonds
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionSherif Mousa
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded LinuxSherif Mousa
 
Linux day 2016 Yocto Project
Linux day 2016 Yocto ProjectLinux day 2016 Yocto Project
Linux day 2016 Yocto ProjectMarco Cavallini
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016Chris Simmonds
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysisxulioc
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...SZ Lin
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practiceChris Simmonds
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em PortuguêsOtavio Salvador
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introductionYi-Hsiu Hsu
 
Kernel Recipes 2013 - Conditional boot
Kernel Recipes 2013 - Conditional bootKernel Recipes 2013 - Conditional boot
Kernel Recipes 2013 - Conditional bootAnne Nicolas
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Projectrossburton
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux BasicsMarc Leeman
 
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Anne Nicolas
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Chris Simmonds
 

Mais procurados (20)

Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Embedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformEmbedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 Platform
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
 
Linux day 2016 Yocto Project
Linux day 2016 Yocto ProjectLinux day 2016 Yocto Project
Linux day 2016 Yocto Project
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysis
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practice
 
Embedded Linux On A R M
Embedded  Linux On  A R MEmbedded  Linux On  A R M
Embedded Linux On A R M
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em Português
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
Kernel Recipes 2013 - Conditional boot
Kernel Recipes 2013 - Conditional bootKernel Recipes 2013 - Conditional boot
Kernel Recipes 2013 - Conditional boot
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
 
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
 

Destaque

Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorKernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorAnne Nicolas
 
Kernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBIKernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBIAnne Nicolas
 
HyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forumsHyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forumsAnne Nicolas
 
Kernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panelKernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panelAnne Nicolas
 
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...Anne Nicolas
 
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 -  New hwmon device registration API - Jean DelvareKernel Recipes 2016 -  New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 - New hwmon device registration API - Jean DelvareAnne Nicolas
 

Destaque (6)

Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generatorKernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
Kernel Recipes 2013 - Crosstool-NG, a cross-toolchain generator
 
Kernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBIKernel Recipes 2013 - Persistent logs using UBI
Kernel Recipes 2013 - Persistent logs using UBI
 
HyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forumsHyperKitty, or how to get the best from mailing lists and forums
HyperKitty, or how to get the best from mailing lists and forums
 
Kernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panelKernel Recipes 2013 - Make your own LED panel
Kernel Recipes 2013 - Make your own LED panel
 
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
Kernel Recipes 2013 - kconfig-frontends, a packaging of the kconfig parser an...
 
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 -  New hwmon device registration API - Jean DelvareKernel Recipes 2016 -  New hwmon device registration API - Jean Delvare
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
 

Semelhante a Distro Recipes 2013: What&rsquo;s new in gcc 4.8?

Android studio 4.0 new features preview
Android studio 4.0 new features previewAndroid studio 4.0 new features preview
Android studio 4.0 new features previewConcetto Labs
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 
What's cool in the new and updated OSGi specs
What's cool in the new and updated OSGi specsWhat's cool in the new and updated OSGi specs
What's cool in the new and updated OSGi specsCarsten Ziegeler
 
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...mfrancis
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfuzair
 
Microsoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New UpdateMicrosoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New UpdateAdam John
 
CISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentCISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentBrad Rippe
 
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?GlobalLogic Ukraine
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Mender.io
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityWeaveworks
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18Xiaoli Liang
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Bram Adams
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDBChris Simmonds
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016ManageIQ
 
NYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaNYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaMichael Bryzek
 
Spring Boot with Kotlin, Kofu and Coroutines
 Spring Boot with Kotlin, Kofu and Coroutines Spring Boot with Kotlin, Kofu and Coroutines
Spring Boot with Kotlin, Kofu and CoroutinesVMware Tanzu
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made EasyAlon Fliess
 

Semelhante a Distro Recipes 2013: What&rsquo;s new in gcc 4.8? (20)

Android studio 4.0 new features preview
Android studio 4.0 new features previewAndroid studio 4.0 new features preview
Android studio 4.0 new features preview
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
What's cool in the new and updated OSGi specs
What's cool in the new and updated OSGi specsWhat's cool in the new and updated OSGi specs
What's cool in the new and updated OSGi specs
 
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - David Bo...
 
D8 Dexer
D8 Dexer D8 Dexer
D8 Dexer
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
 
Microsoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New UpdateMicrosoft .NET 6 -What's All About The New Update
Microsoft .NET 6 -What's All About The New Update
 
CISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentCISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 Development
 
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
 
NYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaNYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing delta
 
Spring Boot with Kotlin, Kofu and Coroutines
 Spring Boot with Kotlin, Kofu and Coroutines Spring Boot with Kotlin, Kofu and Coroutines
Spring Boot with Kotlin, Kofu and Coroutines
 
How to Build & Use OpenCL on OpenCV & Android NDK
How to Build & Use OpenCL on OpenCV & Android NDKHow to Build & Use OpenCL on OpenCV & Android NDK
How to Build & Use OpenCL on OpenCV & Android NDK
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made Easy
 

Mais de Anne Nicolas

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIAnne Nicolas
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Anne Nicolas
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataAnne Nicolas
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Anne Nicolas
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialAnne Nicolas
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconAnne Nicolas
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureAnne Nicolas
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationAnne Nicolas
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPAnne Nicolas
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Anne Nicolas
 

Mais de Anne Nicolas (20)

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Distro Recipes 2013: What&rsquo;s new in gcc 4.8?

  • 1. GCC 4.8, State of the Onion Dodji Seketeli <dodji@redhat.com> Distro Recipes Conference - April 2013 - Paris, France Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 1/23
  • 2. Breakup of the talk GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 2/23
  • 3. GCC Development Plan GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 3/23
  • 4. GCC Development Plan 2 phases in the development time line of GCC Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 5. GCC Development Plan 2 phases in the development time line of GCC Phase 1: New features; at least 6 months Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 6. GCC Development Plan 2 phases in the development time line of GCC Phase 1: New features; at least 6 months Phase 2: Stabilization; the time it takes. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 7. GCC Development Plan 2 phases in the development time line of GCC Phase 1: New features; at least 6 months Phase 2: Stabilization; the time it takes. GCC 4.7 released in March 2012 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 8. GCC Development Plan 2 phases in the development time line of GCC Phase 1: New features; at least 6 months Phase 2: Stabilization; the time it takes. GCC 4.7 released in March 2012 GCC 4.8 released in March 2013 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 4/23
  • 9. Diagnostics changes GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 5/23
  • 10. -fdiagnostics-show-caret Option Displays source code in diagnostic messages t.cc:4:19: fatal error: foo: No such file or directory #include <foo> ^ compilation terminated. This option is on by default in in 4.8! Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 6/23
  • 11. -Wsizeof-pointer-memaccess Option Warns about the suspicious use of memory access function of the C library, like in: memset (ptr, 0, sizeof (ptr)); This option is turned on by -Wall Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 7/23
  • 12. -ftrack-macro-location Option First appeared in 4.7 as an unstable tech preview. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 8/23
  • 13. -ftrack-macro-location Option First appeared in 4.7 as an unstable tech preview. Ironed out, stabilized and set by default in 4.8 Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 8/23
  • 14. -ftrack-macro-location Option Once upon a time, an error in the expansion of a macro was pain (in the bottom of the back) to diagnose: ============> test.c <============== 1 #define SHIFT(OP0, OP1) 2 OP0 << OP1 3 4 int 5 main () 6 { 7 return SHIFT (1, 1.1); 8 } ========================== ===============> Error Diagnostics <============= test.c: In function ’int main()’: test.c:7:10: error: invalid operands of types ’int’ and ’double’ to binary ’operator<<’ =============================================== Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 9/23
  • 15. Option -ftrack-macro-location Now, with this option, combined with -fdiagnostics-show-caret our back is relieved: ============> test.c <============== 1 #define SHIFT(OP0, OP1) 2 OP0 << OP1 3 4 int 5 main () 6 { 7 return SHIFT (1, 1.1); 8 } ========================== ==========> Ce que le compilateur nous dira maintenant <======== test.c: In function ’main’: test.c:2:6: error: invalid operands to binary << (have ’int’ and ’double’) OP0 << OP1 ^ test.c:7:10: note: in expansion of macro ’SHIFT’ return SHIFT (1, 1.1); ^ ================================================= Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 10/23
  • 16. Changes in langage support GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 11/23
  • 17. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 18. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Better support for the memory model of C++11. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 19. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Better support for the memory model of C++11. Support of C++11 atomic operators. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 20. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Better support for the memory model of C++11. Support of C++11 atomic operators. Thread variable - key word thread local thread_local int i; Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 21. C++11 New version 7 of ABI introduced. But for now, version 2 of the ABI remains the default. Better support for the memory model of C++11. Support of C++11 atomic operators. Thread variable - key word thread local thread_local int i; Generalized attributes struct [[gnu::packed]] a_type_of_5_bytes { char premier; int second; }; Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 12/23
  • 22. C++11 Alignment Expressions; Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 13/23
  • 23. C++11 Alignment Expressions; struct alignas (a_type_of_5_bytes) another_type { char c; int i; }; Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 13/23
  • 24. C++11 Inherited Constructors Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 14/23
  • 25. C++11 Inherited Constructors struct A { A(int); A(const char*); }; struct B : public A { using A::A; // <-- all constructors of B are generated here }; B b0("coucou"); // OK B b1(10); // OK, too. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 14/23
  • 26. Other languages Support of Fortran and Go was greatly improved too. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 15/23
  • 27. Optimizations and Middle End changes GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 16/23
  • 28. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 29. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 30. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Better scalability on very big functions. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 31. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Better scalability on very big functions. Better LTO support. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 32. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Better scalability on very big functions. Better LTO support. Address Sanitizer: New fast memory error detector on intel and ppc GNU/Linux and intel/Darwin. -fsanitize=address. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 33. General optimizer improvements DWARF 4 is now default debug info format. GDB 7.5, Valgrind 3.8.0 and elfutils 0.154 were updated accordingly. New -Og : faster compilation, good debugging experience, reasonable speed. Better than -0O. Better scalability on very big functions. Better LTO support. Address Sanitizer: New fast memory error detector on intel and ppc GNU/Linux and intel/Darwin. -fsanitize=address. Thread Sanitizer: Data race memory error detector, on x86-64 GNU/Linux. -fsanitize=thread. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 17/23
  • 34. processor support GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 18/23
  • 35. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 36. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 37. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Better support for AVR Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 38. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Better support for AVR In x86 land Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 39. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Better support for AVR In x86 land Support for new Broadwell architecture. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 40. CPUs support AArch64, aka ARM 64. Just added for Cortex-A53 and Cortex-A57 processors -mcpu=cortex-a53 and -mcpu=cortex-a57. Better code generation for several existing ARM chips, including better auto-vectorization. Better support for AVR In x86 land Support for new Broadwell architecture. New built-in functions to detect CPU type at runtime: builtin cpu is(”westmere”); and builtin cpu supports(”sse”); Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 19/23
  • 41. x86 CPU Support, continued Function Multi-versioning in G++: Create multiple versions of a function, each one targeting a specific processor or ISA. Example: __attribute__ ((target ("default"))) int foo(void) { return 1; } __attribute__ ((target ("sse4.2"))) int foo(void) { return 2; } int main (void) { int (*p) = &foo; assert ((*p)() == foo()); return 0; } Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 20/23
  • 42. x86 CPU Support, continued Function Multi-versioning in G++: Create multiple versions of a function, each one targeting a specific processor or ISA. Example: __attribute__ ((target ("default"))) int foo(void) { return 1; } __attribute__ ((target ("sse4.2"))) int foo(void) { return 2; } int main (void) { int (*p) = &foo; assert ((*p)() == foo()); return 0; } AMD Steamroller and Jaguar Core. -march=bdver3 and -march=btver2. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 20/23
  • 43. Architecture Change GCC Development Plan Significant Changes in 4.8 Diagnostic Language support Optimizations and Middle End Processors Architecture Change Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 21/23
  • 44. Architecture Changes GCC is now implemented in C++03. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 45. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 46. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Get better abstraction in a easier manner. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 47. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Get better abstraction in a easier manner. Strong typing implies more errors detected at compile time. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 48. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Get better abstraction in a easier manner. Strong typing implies more errors detected at compile time. And compile time of the compiler didn’t increase! Quite the opposite. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 49. Architecture Changes GCC is now implemented in C++03. This allows: Doing the language change progressively. Now one could ever re-write those millions lines of code out there overnight. Get better abstraction in a easier manner. Strong typing implies more errors detected at compile time. And compile time of the compiler didn’t increase! Quite the opposite. A subset of C++ was chose, to avoid the Oil Refinery syndrome. Code review is still the better quality insurance tool. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 22/23
  • 50. Merci ! http://gcc.gnu.org - Drink the Cool Aid. http://gcc.gnu.org/git - Code source repository git clone git://gcc.gnu.org/git/gcc.git - git the sources! http://news.gmane.org/gmane.comp.gcc.devel - Trolling, err, discussions, sorry. http://gcc.gnu.org/contribute.html - How to contribute. Yes, you! gcc-patches@gcc.gnu.org - Where to send patches. Yes, you again. Dodji Seketeli <dodji@redhat.com> GCC 4.8, State of the Onion 23/23