[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