From ee9eacf3b7b9aa14076d34b19ca133b61a549917 Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Mon, 29 Nov 2021 10:20:15 +0100
Subject: [PATCH] [useman] proof-read new Standard Library section and add
 Changelog

---
 doc/userman/user-changes.tex |  5 +++++
 doc/userman/user-sources.tex | 16 +++++++++-------
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/doc/userman/user-changes.tex b/doc/userman/user-changes.tex
index bef69332908..9a37650c699 100644
--- a/doc/userman/user-changes.tex
+++ b/doc/userman/user-changes.tex
@@ -3,6 +3,11 @@
 This chapter summarizes the changes in this documentation between each \FramaC
 release. First we list changes of the last release.
 
+\section*{24.0 (Chromium)}
+\begin{itemize}
+\item \textbf{Standard library (libc):} Section added
+\end{itemize}
+
 \section*{23.0 (Vanadium)}
 
 \begin{itemize}
diff --git a/doc/userman/user-sources.tex b/doc/userman/user-sources.tex
index 16722ff85a6..a93678e60ec 100644
--- a/doc/userman/user-sources.tex
+++ b/doc/userman/user-sources.tex
@@ -418,7 +418,10 @@ indicate the option needed to allow the file to be parsed:
 
 \FramaC bundles a C standard library in order to help parse and analyze code
 that relies on the functions specified in the ISO C standard.
-Such library is provided on a best-effort basis, and it is part of the
+Furthermore, In order to simplify parsing of code using common open-source libraries,
+\FramaC's standard library also includes some POSIX and non-POSIX headers which
+are not part of ISO C.
+Such libraries are provided on a best-effort basis, and they are part of the
 {\em trusted computing base}: to ensure its correctness, the specifications
 must be ultimately proofread by the user.
 
@@ -431,8 +434,11 @@ By default, \FramaC's preprocessing will include the headers of its own standard
 library, instead of those installed in the user's machine. This avoids issues
 with non-portable, compiler-specific features.
 Option \optiondef{-}{frama-c-stdlib} (set by default)
-adds \texttt{-I\$FRAMAC\_SHARE/libc} to the preprocessor command, and also
-\texttt{-nostdinc} if \optionuse{-}{cpp-frama-c-compliant} is set.
+adds \texttt{-I\$FRAMAC\_SHARE/libc} to the preprocessor command, as well as
+GCC-specific option \texttt{-nostdinc}. If the latter is not recognized by
+your preprocessor,
+\optionuse{-}{no-cpp-frama-c-compliant} can be given to \FramaC
+(see section~\ref{sec:preprocessing}).
 
 The use of \FramaC's standard library contains a few caveats:
 \begin{itemize}
@@ -452,10 +458,6 @@ The use of \FramaC's standard library contains a few caveats:
   inclusion of such headers and/or definitions in \FramaC's standard library.
 \end{itemize}
 
-In order to simplify parsing of code using common open-source libraries,
-\FramaC's standard library also includes some POSIX and non-POSIX headers which
-are not part of ISO C.
-
 Note that, while \FramaC's library intends to offer maximum portability, some
 definitions such as numeric constants require actual values to be defined.
 For pragmatic reasons, such definitions are most often based on the values
-- 
GitLab