?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

\relax 
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\select@language{english}
\@writefile{toc}{\select@language{english}}
\@writefile{lof}{\select@language{english}}
\@writefile{lot}{\select@language{english}}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{7}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}About SDCC}{7}{section.1.1}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}SDCC Suite Licenses}{8}{section.1.2}}
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Documentation}{9}{section.1.3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Typographic conventions}{9}{section.1.4}}
\newlabel{sec:Compatibility-with-previous}{{1.5}{9}{Compatibility with previous versions\index {Compatibility with previous versions}}{section.1.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.5}Compatibility with previous versions}{9}{section.1.5}}
\@writefile{toc}{\contentsline {section}{\numberline {1.6}System Requirements}{11}{section.1.6}}
\@writefile{toc}{\contentsline {section}{\numberline {1.7}Other Resources}{11}{section.1.7}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Installing SDCC}{12}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Configure Options}{12}{section.2.1}}
\newlabel{subsec:Install-paths}{{2.2}{14}{Install paths\index {Install paths}}{section.2.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Install paths}{14}{section.2.2}}
\newlabel{subsec:Search-Paths}{{2.3}{15}{Search Paths\index {Search path}}{section.2.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Search Paths}{15}{section.2.3}}
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Building SDCC}{17}{section.2.4}}
\newlabel{subsec:Building-SDCC-on-Linux}{{2.4.1}{17}{Building SDCC on Linux}{subsection.2.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Building SDCC on Linux}{17}{subsection.2.4.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}Building SDCC on Mac OS X}{18}{subsection.2.4.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Cross compiling SDCC on Linux for Windows}{18}{subsection.2.4.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.4}Building SDCC using Cygwin and Mingw32}{18}{subsection.2.4.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.5}Building SDCC Using Microsoft Visual C++ 2010 (MSVC)}{19}{subsection.2.4.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.6}Windows Install Using a ZIP Package}{20}{subsection.2.4.6}}
\newlabel{subsec:Windows-Install}{{2.4.7}{20}{Windows Install Using the Setup Program}{subsection.2.4.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.7}Windows Install Using the Setup Program}{20}{subsection.2.4.7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.8}VPATH feature}{20}{subsection.2.4.8}}
\@writefile{toc}{\contentsline {section}{\numberline {2.5}Building the Documentation}{21}{section.2.5}}
\@writefile{toc}{\contentsline {section}{\numberline {2.6}Reading the Documentation}{21}{section.2.6}}
\newlabel{sec:Testing-the-SDCC}{{2.7}{21}{Testing the SDCC Compiler}{section.2.7}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.7}Testing the SDCC Compiler}{21}{section.2.7}}
\newlabel{subsec:Install-Trouble-shooting}{{2.8}{22}{Install Trouble-shooting\index {Install trouble-shooting}}{section.2.8}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.8}Install Trouble-shooting}{22}{section.2.8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8.1}If SDCC does not build correctly}{22}{subsection.2.8.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8.2}What the ''./configure'' does}{22}{subsection.2.8.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8.3}What the ''make'' does}{22}{subsection.2.8.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8.4}What the ''make install'' command does.}{22}{subsection.2.8.4}}
\@writefile{toc}{\contentsline {section}{\numberline {2.9}Components of SDCC}{23}{section.2.9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.1}sdcc - The Compiler}{24}{subsection.2.9.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.2}sdcpp - The C-Preprocessor}{24}{subsection.2.9.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.3}sdas, sdld - The Assemblers and Linkage Editors}{24}{subsection.2.9.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.4}s51, sz80, shc08, sstm8 - The Simulators}{24}{subsection.2.9.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.5}sdcdb - Source Level Debugger}{24}{subsection.2.9.5}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Using SDCC}{25}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{subsec:Standard-Compliance}{{3.1}{25}{Standard-Compliance\index {Standard-compliance}}{section.3.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Standard-Compliance}{25}{section.3.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}ISO C90 and ANSI C89}{25}{subsection.3.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}ISO C95}{26}{subsection.3.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}ISO C99}{26}{subsection.3.1.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}ISO C11 and ISO C17}{26}{subsection.3.1.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}ISO C2X}{26}{subsection.3.1.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.6}Embedded C}{26}{subsection.3.1.6}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Compiling}{26}{section.3.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Single Source File Projects}{26}{subsection.3.2.1}}
\newlabel{1@xvr}{{}{26}{Single Source File Projects}{subsection.3.2.1}{}}
\newlabel{1@vr}{{}{26}{Single Source File Projects}{subsection.3.2.1}{}}
\newlabel{OMF file}{{3.2.1}{27}{Single Source File Projects}{subsection.3.2.1}{}}
\newlabel{subsec:Postprocessing-the-Intel}{{3.2.2}{27}{Postprocessing the Intel Hex\index {Intel hex format} file}{subsection.3.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Postprocessing the Intel Hex file}{27}{subsection.3.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Projects with Multiple Source Files}{27}{subsection.3.2.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Projects with Additional Libraries}{28}{subsection.3.2.4}}
\newlabel{subsec:Using-sdar-to}{{3.2.5}{28}{Using sdar to Create and Manage Libraries\index {sdar}}{subsection.3.2.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Using sdar to Create and Manage Libraries}{28}{subsection.3.2.5}}
\newlabel{sec:Command-Line-Options}{{3.3}{28}{Command Line Options\index {Command Line Options}}{section.3.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Command Line Options}{28}{section.3.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Processor Selection Options}{28}{subsection.3.3.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Preprocessor Options}{29}{subsection.3.3.2}}
\newlabel{lyx:-pedantic-parse-number}{{3.3.2}{29}{Preprocessor Options\index {Options preprocessor}\index {Preprocessor!Options}\index {sdcpp (preprocessor)}}{subsection.3.3.2}{}}
\newlabel{2@xvr}{{}{29}{Preprocessor Options\index {Options preprocessor}\index {Preprocessor!Options}\index {sdcpp (preprocessor)}}{subsection.3.3.2}{}}
\newlabel{2@vr}{{}{29}{Preprocessor Options\index {Options preprocessor}\index {Preprocessor!Options}\index {sdcpp (preprocessor)}}{subsection.3.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Optimization Options}{29}{subsection.3.3.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}Other Options}{30}{subsection.3.3.4}}
\newlabel{lyx:--callee-saves-function1=00005B,function2=00005D=00005B,function3=00005D...}{{3.3.4}{31}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{3@xvr}{{}{31}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{3@vr}{{}{31}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{lyx:--less-pedantic}{{3.3.4}{32}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{4@xvr}{{}{32}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{4@vr}{{}{32}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{lyx:-codeseg}{{3.3.4}{32}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{lyx:more-pedantic-SPLINT}{{3.3.4}{32}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{lyx:--use-non-free}{{3.3.4}{32}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.5}Linker Options}{33}{subsection.3.3.5}}
\newlabel{lyx:-Wl option}{{3.3.5}{33}{Linker Options\index {Options linker}\index {Linker options}}{subsection.3.3.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.6}MCS51 Options}{34}{subsection.3.3.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.7}DS390 / DS400 Options}{34}{subsection.3.3.7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.8}Options common to all z80-related ports (z80, z180, r2k, r3ka, gbz80, tlcs90, ez80\_z80)}{35}{subsection.3.3.8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.9}Z80 Options (apply to z80, z180, r2k, r3ka, tlcs90, ez80\_z80)}{35}{subsection.3.3.9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.10}GBZ80 Options}{35}{subsection.3.3.10}}
\newlabel{subsec:Intermediate-Dump-Options}{{3.3.11}{35}{Intermediate Dump Options\index {Options intermediate dump}\index {Intermediate dump options}}{subsection.3.3.11}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.11}Intermediate Dump Options}{35}{subsection.3.3.11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.12}Redirecting output on Windows Shells}{35}{subsection.3.3.12}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Environment variables}{36}{section.3.4}}
\@writefile{toc}{\contentsline {section}{\numberline {3.5}SDCC Language Extensions}{36}{section.3.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}MCS51/DS390 intrinsic named address spaces}{36}{subsection.3.5.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.1}\_\_data / \_\_near}{36}{subsubsection.3.5.1.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.2}\_\_xdata / \_\_far}{37}{subsubsection.3.5.1.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.3}\_\_idata}{37}{subsubsection.3.5.1.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.4}\_\_pdata}{37}{subsubsection.3.5.1.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.5}\_\_code}{37}{subsubsection.3.5.1.5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.6}\_\_bit}{38}{subsubsection.3.5.1.6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.7}\_\_sfr / \_\_sfr16 / \_\_sfr32 / \_\_sbit}{38}{subsubsection.3.5.1.7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.8}Pointers to MCS51/DS390 intrinsic named address spaces}{38}{subsubsection.3.5.1.8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.9}Notes on MCS51 memory layout}{39}{subsubsection.3.5.1.9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}Z80/Z180/eZ80 intrinsic named address spaces}{40}{subsection.3.5.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.1}\_\_sfr (in/out to 8-bit addresses)}{40}{subsubsection.3.5.2.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.2}\_\_banked \_\_sfr (in/out to 16-bit addresses)}{40}{subsubsection.3.5.2.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.3}\_\_sfr (in0/out0 to 8 bit addresses on Z180/HD64180)}{40}{subsubsection.3.5.2.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.3}HC08/S08 intrinsic named address spaces}{40}{subsection.3.5.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3.1}\_\_data }{40}{subsubsection.3.5.3.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3.2}\_\_xdata }{40}{subsubsection.3.5.3.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.4}PDK14/PDK15 intrinsic named address spaces}{40}{subsection.3.5.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4.1}\_\_sfr}{40}{subsubsection.3.5.4.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4.2}\_\_sfr16}{41}{subsubsection.3.5.4.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.5}Non-intrinsic named address spaces}{41}{subsection.3.5.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.6}Absolute Addressing}{41}{subsection.3.5.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.7}Preserved register specification}{42}{subsection.3.5.7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.8}Binary constants}{43}{subsection.3.5.8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.9}Returning void}{43}{subsection.3.5.9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.10}Omitting promotion on arguments of vararg function (does not apply to pdk14, pdk15)}{43}{subsection.3.5.10}}
\newlabel{sec:Parameters-and-Local-Variables}{{3.6}{43}{Parameters\index {Parameters}\index {function parameter} and Local Variables\index {local variables}}{section.3.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.6}Parameters and Local Variables}{43}{section.3.6}}
\newlabel{subsec:Overlaying}{{3.7}{43}{Overlaying\index {Overlaying}}{section.3.7}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.7}Overlaying}{43}{section.3.7}}
\newlabel{subsec:Interrupt-Service-Routines}{{3.8}{44}{Interrupt Service Routines}{section.3.8}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.8}Interrupt Service Routines}{44}{section.3.8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.1}General Information}{44}{subsection.3.8.1}}
\newlabel{subsec:Common-interrupt-pitfall-volatile}{{3.8.1.1}{44}{Common interrupt pitfall: variable not declared \emph {volatile}}{subsubsection.3.8.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1.1}Common interrupt pitfall: variable not declared \emph  {volatile}}{44}{subsubsection.3.8.1.1}}
\newlabel{subsec:Common-interrupt-pitfall-non-atomic}{{3.8.1.2}{44}{Common interrupt pitfall: \emph {non-atomic access}}{subsubsection.3.8.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1.2}Common interrupt pitfall: \emph  {non-atomic access}}{44}{subsubsection.3.8.1.2}}
\newlabel{subsec:Common-interrupt-pitfall-stack-overflow}{{3.8.1.3}{45}{Common interrupt pitfall: \emph {stack overflow}}{subsubsection.3.8.1.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1.3}Common interrupt pitfall: \emph  {stack overflow}}{45}{subsubsection.3.8.1.3}}
\newlabel{subsec:Common-interrupt-pitfall-non-reentrant}{{3.8.1.4}{45}{Common interrupt pitfall: \emph {use of non-reentrant functions}}{subsubsection.3.8.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1.4}Common interrupt pitfall: \emph  {use of non-reentrant functions}}{45}{subsubsection.3.8.1.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.2}MCS51/DS390 Interrupt Service Routines}{45}{subsection.3.8.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.3}HC08 Interrupt Service Routines}{46}{subsection.3.8.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.4}Z80 and Z180 Interrupt Service Routines}{46}{subsection.3.8.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.5}Rabbit 2000, 3000, 3000A and 4000 Interrupt Service Routines}{46}{subsection.3.8.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.6}GBZ80 and TLCS-90 Interrupt Service Routines}{46}{subsection.3.8.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.7}STM8 Interrupt Service Routines}{46}{subsection.3.8.7}}
\@writefile{toc}{\contentsline {section}{\numberline {3.9}Enabling and Disabling Interrupts}{47}{section.3.9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.9.1}Critical Functions and Critical Statements}{47}{subsection.3.9.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.9.2}Enabling and Disabling Interrupts directly}{47}{subsection.3.9.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.9.3}Semaphore locking (mcs51/ds390)}{48}{subsection.3.9.3}}
\newlabel{subsec:Functions-using-private-banks}{{3.10}{48}{Functions using private register banks (mcs51/ds390)}{section.3.10}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.10}Functions using private register banks (mcs51/ds390)}{48}{section.3.10}}
\newlabel{sec:Inline-Assembler-Code}{{3.11}{48}{Inline Assembler Code\index {Assembler routines}}{section.3.11}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.11}Inline Assembler Code}{48}{section.3.11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.1}Inline Assembler Code Formats}{48}{subsection.3.11.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.11.1.1}Old \_\_asm ... \_\_endasm; Format}{48}{subsubsection.3.11.1.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.11.1.2}New \_\_asm\_\_ (''inline\_assembler\_code'') Format}{49}{subsubsection.3.11.1.2}}
\newlabel{subsec:A-Step-by Assembler Introduction}{{3.11.2}{49}{A Step by Step Introduction}{subsection.3.11.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.2}A Step by Step Introduction}{49}{subsection.3.11.2}}
\newlabel{subsec:Naked-Functions}{{3.11.3}{51}{Naked Functions\index {Naked functions}}{subsection.3.11.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.3}Naked Functions}{51}{subsection.3.11.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.4}Use of Labels within Inline Assembler}{52}{subsection.3.11.4}}
\@writefile{toc}{\contentsline {section}{\numberline {3.12}Support routines for integer multiplicative operators}{52}{section.3.12}}
\@writefile{toc}{\contentsline {section}{\numberline {3.13}Floating Point Support}{53}{section.3.13}}
\@writefile{toc}{\contentsline {section}{\numberline {3.14}Library Routines}{53}{section.3.14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.1}Compiler support routines (\_gptrget, \_mulint etc.)}{53}{subsection.3.14.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.2}Stdclib functions (puts, printf, strcat etc.)}{53}{subsection.3.14.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.14.2.1}<stdio.h>}{53}{subsubsection.3.14.2.1}}
\@writefile{toc}{\contentsline {paragraph}{getchar(), putchar()}{53}{section*.2}}
\gdef \LT@i {\LT@entry 
    {1}{76.89238pt}\LT@entry 
    {2}{69.34967pt}\LT@entry 
    {1}{67.33434pt}\LT@entry 
    {1}{58.18327pt}\LT@entry 
    {2}{69.34967pt}\LT@entry 
    {1}{67.33434pt}\LT@entry 
    {2}{77.24966pt}}
\@writefile{toc}{\contentsline {paragraph}{printf()}{54}{section*.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.14.2.2}<malloc.h>}{55}{subsubsection.3.14.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.3}Math functions (sinf, powf, sqrtf etc.)}{55}{subsection.3.14.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.14.3.1}<math.h>}{55}{subsubsection.3.14.3.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.4}Other libraries}{55}{subsection.3.14.4}}
\@writefile{toc}{\contentsline {section}{\numberline {3.15}Memory Models}{55}{section.3.15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.15.1}MCS51 Memory Models}{55}{subsection.3.15.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.1.1}Small, Medium, Large and Huge}{55}{subsubsection.3.15.1.1}}
\newlabel{subsec:External-Stack}{{3.15.1.2}{56}{External Stack\index {stack}\index {External stack (mcs51)}}{subsubsection.3.15.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.1.2}External Stack}{56}{subsubsection.3.15.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.15.2}DS390 Memory Model}{56}{subsection.3.15.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.15.3}STM8 Memory Models}{56}{subsection.3.15.3}}
\newlabel{sec:Pragmas}{{3.16}{57}{Pragmas\index {Pragmas}}{section.3.16}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.16}Pragmas}{57}{section.3.16}}
\newlabel{5@xvr}{{}{57}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{5@vr}{{}{57}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{ite:callee_saves-function1=00005B,function2=00005B,function3...=00005D=00005D--}{{3.16}{57}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{6@xvr}{{}{57}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{6@vr}{{}{57}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{ite:less_pedantic}{{3.16}{57}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{7@xvr}{{}{57}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{7@vr}{{}{57}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{ite:pedantic_parse_number}{{3.16}{58}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{8@xvr}{{}{58}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{8@vr}{{}{58}{Pragmas\index {Pragmas}}{section.3.16}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.17}Defines Created by the Compiler}{60}{section.3.17}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Notes on supported Processors}{61}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{subsec:MCS51-variants}{{4.1}{61}{MCS51 variants\index {MCS51 variants}}{section.4.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}MCS51 variants}{61}{section.4.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}pdata access by SFR}{61}{subsection.4.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Other Features available by SFR}{61}{subsection.4.1.2}}
\newlabel{subsec:Bankswitching}{{4.1.3}{61}{Bankswitching}{subsection.4.1.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Bankswitching}{61}{subsection.4.1.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.1}Hardware}{62}{subsubsection.4.1.3.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.2}Software}{62}{subsubsection.4.1.3.2}}
\newlabel{subsec:MCS51-Startup-Code}{{4.1.4}{62}{MCS51/DS390 Startup Code}{subsection.4.1.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}MCS51/DS390 Startup Code}{62}{subsection.4.1.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.5}Interfacing with Assembler Code}{65}{subsection.4.1.5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.5.1}Global Registers used for Parameter Passing}{65}{subsubsection.4.1.5.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.5.2}Register usage}{65}{subsubsection.4.1.5.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.5.3}Assembler Routine (non-reentrant)}{65}{subsubsection.4.1.5.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.5.4}Assembler Routine (reentrant)}{66}{subsubsection.4.1.5.4}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}DS400 port}{67}{section.4.2}}
\@writefile{toc}{\contentsline {section}{\numberline {4.3}The Z80, Z180, Rabbit 2000/3000, Rabbit 3000A, GBZ80, eZ80 and TLCS-90 ports}{67}{section.4.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Startup Code}{67}{subsection.4.3.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}Complex instructions}{67}{subsection.4.3.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.3}Calling conventions}{67}{subsection.4.3.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.4}Small-C calling convention}{67}{subsection.4.3.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.5}Unsafe reads}{68}{subsection.4.3.5}}
\@writefile{toc}{\contentsline {section}{\numberline {4.4}The HC08 and S08 ports}{68}{section.4.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}Startup Code}{68}{subsection.4.4.1}}
\@writefile{toc}{\contentsline {section}{\numberline {4.5}The STM8 port}{68}{section.4.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}Calling convention}{68}{subsection.4.5.1}}
\@writefile{toc}{\contentsline {section}{\numberline {4.6}The PIC14 port}{68}{section.4.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.1}PIC Code Pages and Memory Banks}{69}{subsection.4.6.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.2}Adding New Devices to the Port }{70}{subsection.4.6.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.3}Interrupt Code}{70}{subsection.4.6.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.4}Configuration Bits}{70}{subsection.4.6.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.5}Linking and Assembling}{70}{subsection.4.6.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.6}Command-Line Options}{71}{subsection.4.6.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.7}Environment Variables}{71}{subsection.4.6.7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.8}The Library}{71}{subsection.4.6.8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.1}Enhanced cores}{72}{subsubsection.4.6.8.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.2}Accessing bits of special function registers}{72}{subsubsection.4.6.8.2}}
\newlabel{subsec:Naming-of-special}{{4.6.8.3}{72}{Naming of special function registers}{subsubsection.4.6.8.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.3}Naming of special function registers}{72}{subsubsection.4.6.8.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.4}error: missing definition for symbol ``\_\_gptrget1''}{72}{subsubsection.4.6.8.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.5}Processor mismatch in file ``XXX''.}{72}{subsubsection.4.6.8.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.9}Known Bugs}{72}{subsection.4.6.9}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.9.1}Function arguments}{72}{subsubsection.4.6.9.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.9.2}Regression tests fail}{72}{subsubsection.4.6.9.2}}
\@writefile{toc}{\contentsline {section}{\numberline {4.7}The PIC16 port}{73}{section.4.7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.1}Global Options}{74}{subsection.4.7.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.2}Port Specific Options}{74}{subsection.4.7.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.1}Code Generation Options}{75}{subsubsection.4.7.2.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.2}Optimization Options}{75}{subsubsection.4.7.2.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.3}Assembling Options}{75}{subsubsection.4.7.2.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.4}Linking Options}{75}{subsubsection.4.7.2.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.5}Debugging Options}{76}{subsubsection.4.7.2.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.3}Environment Variables}{76}{subsection.4.7.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.4}Preprocessor Macros}{76}{subsection.4.7.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.5}Directories}{76}{subsection.4.7.5}}
\newlabel{subsec:PIC16_Pragmas}{{4.7.6}{77}{Pragmas}{subsection.4.7.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.6}Pragmas}{77}{subsection.4.7.6}}
\newlabel{subsec:PIC16_Header-Files-and-Libraries}{{4.7.7}{78}{Header Files and Libraries}{subsection.4.7.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.7}Header Files and Libraries}{78}{subsection.4.7.7}}
\newlabel{subsec:PIC16_Header-Files}{{4.7.8}{79}{Header Files}{subsection.4.7.8}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.8}Header Files}{79}{subsection.4.7.8}}
\newlabel{subsec:pic16Libraries}{{4.7.9}{79}{Libraries}{subsection.4.7.9}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.9}Libraries}{79}{subsection.4.7.9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.10}Adding New Devices to the Port}{79}{subsection.4.7.10}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.11}Memory Models}{80}{subsection.4.7.11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.12}Stack}{80}{subsection.4.7.12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.13}Functions}{81}{subsection.4.7.13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.14}Function return values}{81}{subsection.4.7.14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.15}Interrupts}{82}{subsection.4.7.15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.16}Generic Pointers}{82}{subsection.4.7.16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.17}Configuration Bits}{83}{subsection.4.7.17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.18}PIC16 C Libraries}{83}{subsection.4.7.18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.18.1}Standard I/O Streams}{83}{subsubsection.4.7.18.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.18.2}Printing functions}{84}{subsubsection.4.7.18.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.18.3}Signals}{84}{subsubsection.4.7.18.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.19}PIC16 Port \IeC {\textendash } Tips}{85}{subsection.4.7.19}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.19.1}Stack size}{85}{subsubsection.4.7.19.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.20}Known Bugs}{86}{subsection.4.7.20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.20.1}Extended Instruction Set}{86}{subsubsection.4.7.20.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.20.2}Regression Tests}{86}{subsubsection.4.7.20.2}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Debugging}{87}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{cha:Debugging-with-SDCDB}{{5.1}{88}{Debugging with SDCDB\index {SDCDB (debugger)}}{section.5.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}Debugging with SDCDB }{88}{section.5.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Compiling for Debugging}{88}{subsection.5.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}How the Debugger Works}{88}{subsection.5.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}Starting the Debugger SDCDB}{88}{subsection.5.1.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.4}SDCDB Command Line Options}{89}{subsection.5.1.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.5}SDCDB Debugger Commands}{89}{subsection.5.1.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.6}Interfacing SDCDB with DDD}{91}{subsection.5.1.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.7}Interfacing SDCDB with XEmacs}{91}{subsection.5.1.7}}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}TIPS}{93}{chapter.6}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{type promotion}{{6}{93}{TIPS}{chapter.6}{}}
\newlabel{sec:Porting-code-to-other-compilers}{{6.1}{94}{Porting code from or to other compilers}{section.6.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Porting code from or to other compilers}{94}{section.6.1}}
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Tools included in the distribution}{94}{section.6.2}}
\@writefile{toc}{\contentsline {section}{\numberline {6.3}Documentation included in the distribution}{95}{section.6.3}}
\@writefile{toc}{\contentsline {section}{\numberline {6.4}Communication online at SourceForge}{96}{section.6.4}}
\newlabel{sec:Related-open-source-tools}{{6.5}{96}{Related open source tools\index {Related tools}}{section.6.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6.5}Related open source tools}{96}{section.6.5}}
\@writefile{toc}{\contentsline {section}{\numberline {6.6}Related documentation / recommended reading}{97}{section.6.6}}
\@writefile{toc}{\contentsline {section}{\numberline {6.7}Application notes specifically for SDCC}{97}{section.6.7}}
\@writefile{toc}{\contentsline {section}{\numberline {6.8}Some Questions}{98}{section.6.8}}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Support}{99}{chapter.7}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {7.1}Reporting Bugs}{99}{section.7.1}}
\newlabel{subsec:Requesting-Features}{{7.2}{100}{Requesting Features\index {Feature request}\index {Requesting features}\index {Communication!Feature request}}{section.7.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.2}Requesting Features}{100}{section.7.2}}
\@writefile{toc}{\contentsline {section}{\numberline {7.3}Submitting patches}{100}{section.7.3}}
\@writefile{toc}{\contentsline {section}{\numberline {7.4}Getting Help}{100}{section.7.4}}
\@writefile{toc}{\contentsline {section}{\numberline {7.5}ChangeLog}{100}{section.7.5}}
\@writefile{toc}{\contentsline {section}{\numberline {7.6}Subversion Source Code Repository}{100}{section.7.6}}
\@writefile{toc}{\contentsline {section}{\numberline {7.7}Release policy}{100}{section.7.7}}
\newlabel{sec:Quality-control}{{7.8}{100}{Quality control\index {Quality control}}{section.7.8}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.8}Quality control}{100}{section.7.8}}
\@writefile{toc}{\contentsline {section}{\numberline {7.9}Examples}{101}{section.7.9}}
\@writefile{toc}{\contentsline {section}{\numberline {7.10}Use of SDCC in Education}{101}{section.7.10}}
\@writefile{toc}{\contentsline {chapter}{\numberline {8}SDCC Technical Data}{102}{chapter.8}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {8.1}Optimizations}{102}{section.8.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.1}Sub-expression Elimination}{102}{subsection.8.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.2}Dead-Code Elimination}{102}{subsection.8.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.3}Copy-Propagation}{103}{subsection.8.1.3}}
\newlabel{subsec:Loop-Optimizations}{{8.1.4}{103}{Loop Optimizations\index {Loop optimization}}{subsection.8.1.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.4}Loop Optimizations}{103}{subsection.8.1.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.5}Loop Reversing}{104}{subsection.8.1.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.6}Algebraic Simplifications}{104}{subsection.8.1.6}}
\newlabel{subsec:'switch'-Statements}{{8.1.7}{104}{'switch' Statements\index {switch statement}}{subsection.8.1.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.7}'switch' Statements}{104}{subsection.8.1.7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.8}Bit-shifting Operations.}{106}{subsection.8.1.8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.9}Bit-rotation}{106}{subsection.8.1.9}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.10}Nibble and Byte Swapping}{106}{subsection.8.1.10}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.11}Highest Order Bit / Any Order Bit}{107}{subsection.8.1.11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.12}Higher Order Byte / Higher Order Word}{108}{subsection.8.1.12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.13}Placement of Bank-Selection Instructions}{108}{subsection.8.1.13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.14}Lifetime-Optimal Speculative Partial Redundancy Elimination}{109}{subsection.8.1.14}}
\newlabel{subsec:Register-Allocation}{{8.1.15}{109}{Register Allocation\index {Register-Allocation}}{subsection.8.1.15}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.15}Register Allocation}{109}{subsection.8.1.15}}
\newlabel{subsec:Peephole-Optimizer}{{8.1.16}{109}{Peephole Optimizer\index {Peephole optimizer}}{subsection.8.1.16}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.16}Peephole Optimizer}{109}{subsection.8.1.16}}
\@writefile{toc}{\contentsline {section}{\numberline {8.2}Cyclomatic Complexity}{111}{section.8.2}}
\@writefile{toc}{\contentsline {section}{\numberline {8.3}Retargetting for other Processors}{111}{section.8.3}}
\@writefile{toc}{\contentsline {chapter}{\numberline {9}Compiler internals}{113}{chapter.9}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{subsec:The-anatomy-of}{{9.1}{113}{The anatomy of the compiler}{section.9.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {9.1}The anatomy of the compiler}{113}{section.9.1}}
\gdef \LT@ii {\LT@entry 
    {1}{72.31685pt}\LT@entry 
    {1}{71.91685pt}\LT@entry 
    {1}{113.11761pt}\LT@entry 
    {1}{195.51913pt}}
\@writefile{toc}{\contentsline {section}{\numberline {9.2}A few words about basic block successors, predecessors and dominators}{119}{section.9.2}}
\@writefile{toc}{\contentsline {chapter}{\numberline {10}Acknowledgments}{120}{chapter.10}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}