[FE training-materials-updates] Toolchains: Clang compiler as an alternative to gcc

Michael Opdenacker michael.opdenacker at free-electrons.com
Mon Nov 6 17:25:04 CET 2017


Repository : git://git.free-electrons.com/training-materials.git
On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=810a1300decaac63d4c0e4d4e54a36d73318b17a

>---------------------------------------------------------------

commit 810a1300decaac63d4c0e4d4e54a36d73318b17a
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Mon Nov 6 17:25:04 2017 +0100

    Toolchains: Clang compiler as an alternative to gcc
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


>---------------------------------------------------------------

810a1300decaac63d4c0e4d4e54a36d73318b17a
 slides/sysdev-toolchains-definition/components.dia | 80 ++++++++++++++--------
 .../sysdev-toolchains-definition.tex               |  6 +-
 2 files changed, 55 insertions(+), 31 deletions(-)

diff --git a/slides/sysdev-toolchains-definition/components.dia b/slides/sysdev-toolchains-definition/components.dia
index f9a4a6e..666a455 100644
--- a/slides/sysdev-toolchains-definition/components.dia
+++ b/slides/sysdev-toolchains-definition/components.dia
@@ -2,10 +2,10 @@
 <dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
   <dia:diagramdata>
     <dia:attribute name="background">
-      <dia:color val="#ffffff"/>
+      <dia:color val="#ffffffff"/>
     </dia:attribute>
     <dia:attribute name="pagebreak">
-      <dia:color val="#000099"/>
+      <dia:color val="#000099ff"/>
     </dia:attribute>
     <dia:attribute name="paper">
       <dia:composite type="paper">
@@ -37,6 +37,9 @@
     </dia:attribute>
     <dia:attribute name="grid">
       <dia:composite type="grid">
+        <dia:attribute name="dynamic">
+          <dia:boolean val="true"/>
+        </dia:attribute>
         <dia:attribute name="width_x">
           <dia:real val="0.5"/>
         </dia:attribute>
@@ -53,7 +56,7 @@
       </dia:composite>
     </dia:attribute>
     <dia:attribute name="color">
-      <dia:color val="#d8e5e5"/>
+      <dia:color val="#d8e5e5ff"/>
     </dia:attribute>
     <dia:attribute name="guides">
       <dia:composite type="guides">
@@ -61,8 +64,27 @@
         <dia:attribute name="vguides"/>
       </dia:composite>
     </dia:attribute>
+    <dia:attribute name="display">
+      <dia:composite type="display">
+        <dia:attribute name="antialiased">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+        <dia:attribute name="snap-to-grid">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+        <dia:attribute name="snap-to-object">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="show-grid">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="show-connection-points">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+      </dia:composite>
+    </dia:attribute>
   </dia:diagramdata>
-  <dia:layer name="Arrière-plan" visible="true" active="true">
+  <dia:layer name="Arrière-plan" visible="true" connectable="true" active="true">
     <dia:object type="Standard - Box" version="0" id="O0">
       <dia:attribute name="obj_pos">
         <dia:point val="17,5"/>
@@ -83,10 +105,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#5cacff"/>
+        <dia:color val="#5cacffff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#add8e6"/>
+        <dia:color val="#add8e6ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -97,7 +119,7 @@
         <dia:point val="31,22.5"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="31,21.5825;44.71,22.735"/>
+        <dia:rectangle val="31,21.36;42.425,22.8075"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -114,7 +136,7 @@
             <dia:point val="31,22.5"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -145,10 +167,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#a34804"/>
+        <dia:color val="#a34804ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#ffd192"/>
+        <dia:color val="#ffd192ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -174,10 +196,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#a34804"/>
+        <dia:color val="#a34804ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#ffd192"/>
+        <dia:color val="#ffd192ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -203,10 +225,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#a34804"/>
+        <dia:color val="#a34804ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#ffd192"/>
+        <dia:color val="#ffd192ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -232,10 +254,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#a34804"/>
+        <dia:color val="#a34804ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#ffd192"/>
+        <dia:color val="#ffd192ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -261,10 +283,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#a34804"/>
+        <dia:color val="#a34804ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#ffd192"/>
+        <dia:color val="#ffd192ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -275,7 +297,7 @@
         <dia:point val="22.355,8.1575"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="22.355,7.24;26.01,8.3925"/>
+        <dia:rectangle val="22.355,7.0175;25.475,8.465"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -292,7 +314,7 @@
             <dia:point val="22.355,8.1575"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -308,7 +330,7 @@
         <dia:point val="20.65,13.2"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="20.65,12.2825;28.3225,13.435"/>
+        <dia:rectangle val="20.65,12.06;27.395,13.5075"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -325,7 +347,7 @@
             <dia:point val="20.65,13.2"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -341,7 +363,7 @@
         <dia:point val="24.05,17.75"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="20.4137,16.8325;27.6862,19.2197"/>
+        <dia:rectangle val="21.0025,16.61;27.0975,19.2922"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -359,7 +381,7 @@
             <dia:point val="24.05,17.75"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -375,7 +397,7 @@
         <dia:point val="34.27,8.2775"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="34.27,7.36;41.6775,8.5125"/>
+        <dia:rectangle val="34.27,7.1375;40.3275,8.585"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -392,7 +414,7 @@
             <dia:point val="34.27,8.2775"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -408,12 +430,12 @@
         <dia:point val="34.35,13.15"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="34.35,12.2325;41.11,13.385"/>
+        <dia:rectangle val="34.35,11.9738;41.4787,13.5299"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#GCC compiler#</dia:string>
+            <dia:string>#C/C++ compiler#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="Latin Modern Sans" style="0" name="Courier"/>
@@ -425,7 +447,7 @@
             <dia:point val="34.35,13.15"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
diff --git a/slides/sysdev-toolchains-definition/sysdev-toolchains-definition.tex b/slides/sysdev-toolchains-definition/sysdev-toolchains-definition.tex
index 5546242..02c92cb 100644
--- a/slides/sysdev-toolchains-definition/sysdev-toolchains-definition.tex
+++ b/slides/sysdev-toolchains-definition/sysdev-toolchains-definition.tex
@@ -143,17 +143,19 @@ struct stat {
 \end{frame}
 
 \begin{frame}
-  \frametitle{GCC}
+  \frametitle{C compiler}
   \begin{columns}
     \column{0.8\textwidth}
     \begin{itemize}
     \item GNU Compiler Collection, the famous free software compiler
     \item Can compile C, C++, Ada, Fortran, Java, Objective-C,
-      Objective-C++, and generate code for a large number of CPU
+      Objective-C++, Go, etc. Can generate code for a large number of CPU
       architectures, including ARM, AVR, Blackfin, CRIS, FRV, M32, MIPS,
       MN10300, PowerPC, SH, v850, x86, x86\_64, IA64, Xtensa, etc.
     \item \url{http://gcc.gnu.org/}
     \item Available under the GPL license, libraries under the LGPL.
+    \item Alternative: Clang / LLVM compiler (http://clang.llvm.org/)
+      getting increasingly popular and able to compile most programs.
     \end{itemize}
     \column{0.2\textwidth}
     \includegraphics[width=0.7\textwidth]{slides/sysdev-toolchains-definition/gcc.png}




More information about the training-materials-updates mailing list