* .version, doc/sdccman.lyx: bumped sdcc version to 2.8.3
[fw/sdcc] / doc / sdccman.lyx
index 17698189cfe09ca5bc18508694579ccbea527e58..b9cce32389dd33adc4ef9bf3c3b17d9d68ee8944 100644 (file)
@@ -104,7 +104,7 @@ SDCC Compiler User Guide
 \begin_layout Date
 
 \size normal
-SDCC 2.8.1
+SDCC 2.8.3
 \size footnotesize
 
 \newline
@@ -1158,6 +1158,14 @@ b = !b; /* toggles b */
 In previous versions, both forms would have toggled the bit.
 \end_layout
 
+\begin_layout Itemize
+in older versions, the preprocessor was always called with -std=c99 regardless
+ of the --std-xxx setting.
+ This is no longer true, and can cause compilation failures on code built
+ with --std-c89 but using c99 preprocessor features, such as one-line (//)
+ comments
+\end_layout
+
 \begin_layout Standard
 
 \emph on
@@ -8028,6 +8036,7 @@ linkOption[,linkOption]
 
 \end_inset
 
+
 \begin_inset LatexCommand \label{lyx:-Wl option}
 
 \end_inset
@@ -10834,6 +10843,7 @@ status collapsed
 
 \end_inset
 
+
 \begin_inset LatexCommand \label{lyx:-codeseg}
 
 \end_inset
@@ -13213,6 +13223,31 @@ The xdata storage class declares a variable that can reside anywhere in
 \end_inset
 
 
+\end_layout
+
+\begin_layout Section
+Other SDCC language extensions
+\begin_inset LatexCommand \index{Other SDCC language extensions}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Binary constants
+\end_layout
+
+\begin_layout Standard
+SDCC supports the use of binary constants, such as 0b01100010.
+ This feature is only enabled when the compiler is invoked using --std-sdccxx.
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+
 \end_layout
 
 \begin_layout Section
@@ -24498,21 +24533,35 @@ The PIC16 port adds support for Microchip
 \end_layout
 
 \begin_layout Standard
-18F: 2220, 2221, 2320, 2321, 2331, 2431, 2455, 24j10, 2525, 2550, 25j10,
- 2620
+18F: 2220, 2221, 2320, 2321, 2331, 2420, 2423, 2431, 2455, 2480, 24j10
+\end_layout
+
+\begin_layout Standard
+18F: 2520, 2523, 2525, 2550, 2580, 2585, 25j10, 2620, 2680, 2682, 2685
 \end_layout
 
 \begin_layout Standard
-18F: 4220, 4221, 4320, 4321, 4331, 4431, 4455, 44j10, 4520, 4525, 4550,
- 45j10, 4620
+18F: 4220, 4221, 4320, 4321, 4331, 4420, 4423, 4431, 4455, 4480, 44j10
 \end_layout
 
 \begin_layout Standard
-18F: 6520, 6620, 6680, 6720
+18F: 4520, 4523, 4525, 4550, 4580, 4585, 45j10, 4620, 4680, 4682, 4685
 \end_layout
 
 \begin_layout Standard
-18F: 8520, 8620, 8680, 8720
+18F: 6520, 6585, 6620, 6680, 6720
+\end_layout
+
+\begin_layout Standard
+18F: 8520, 8585, 8620, 8680, 8720
+\end_layout
+
+\begin_layout Standard
+A list of supported devices is also available via '
+\family typewriter
+sdcc -mpic16 -plist
+\family default
+'.
 \end_layout
 
 \begin_layout Subsection
@@ -24773,7 +24822,7 @@ status collapsed
 
 \end_inset
 
--optimize-goto Try to use (conditional) BRA instead of GOTO.
+-no-optimize-goto Do not use (conditional) BRA instead of GOTO.
 \end_layout
 
 \begin_layout Description
@@ -26260,6 +26309,15 @@ Add DEVICE to
 Note: No 18f prefix here!
 \end_layout
 
+\begin_layout Enumerate
+Set up the I/O library by doing 
+\series bold
+one
+\series default
+ of the following:
+\end_layout
+
+\begin_deeper
 \begin_layout Enumerate
 Adjust 
 \family typewriter
@@ -26282,6 +26340,17 @@ usart
 .
 \end_layout
 
+\begin_layout Enumerate
+Adjust 
+\family typewriter
+/path/to/sdcc/device/include/pic16/adc.h
+\newline
+
+\family default
+Add the new devices to the correct ADC style class.
+\end_layout
+
+\end_deeper
 \begin_layout Enumerate
 Edit 
 \family typewriter
@@ -26304,16 +26373,16 @@ at the right place (keep it sorted).
 \begin_layout Enumerate
 Edit 
 \family typewriter
-/path/to/sdcc/src/pic16/devices.inc
+/path/to/sdcc/device/include/pic16devices.txt
+\newline
+
 \family default
-.
- Copy and modify an existing entry and insert it at the correct place (keep
- the file sorted).
- The file is hardly documented, look at the entries for the 18f2221...
+Copy and modify an existing entry or create a new one and insert it at the
+ correct place (keep the file sorted).
 \end_layout
 
 \begin_layout Enumerate
-Recompile SDCC, including the pic16 libraries.
+Recompile the pic16 libraries.
 \end_layout
 
 \begin_layout Subsection