Index: doc/LaTeXmacros/common.tex
===================================================================
--- doc/LaTeXmacros/common.tex	(revision 9799ec895018b6521379a30bde094fce6d31bf69)
+++ doc/LaTeXmacros/common.tex	(revision aea71684e6fdc8b8f2abddf24378fdf621bdd40b)
@@ -11,6 +11,6 @@
 %% Created On       : Sat Apr  9 10:06:17 2016
 %% Last Modified By : Peter A. Buhr
-%% Last Modified On : Mon Aug  1 09:11:20 2016
-%% Update Count     : 225
+%% Last Modified On : Tue Aug  2 17:02:02 2016
+%% Update Count     : 228
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -40,5 +40,5 @@
 \newcommand{\CC}{\rm C\kern-.1em\hbox{+\kern-.25em+}\xspace} % CC symbolic name
 \newcommand{\CCeleven}{\rm C\kern-.1em\hbox{+\kern-.25em+}11\xspace} % C++11 symbolic name
-\def\c11{ISO/IEC C}						% C11 name (cannot have numbers in latex command name)
+\newcommand{\Celeven}{C11\xspace}		% C11 symbolic name
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Index: doc/user/user.tex
===================================================================
--- doc/user/user.tex	(revision 9799ec895018b6521379a30bde094fce6d31bf69)
+++ doc/user/user.tex	(revision aea71684e6fdc8b8f2abddf24378fdf621bdd40b)
@@ -11,6 +11,6 @@
 %% Created On       : Wed Apr  6 14:53:29 2016
 %% Last Modified By : Peter A. Buhr
-%% Last Modified On : Mon Aug  1 09:11:24 2016
-%% Update Count     : 1271
+%% Last Modified On : Tue Aug  2 17:39:02 2016
+%% Update Count     : 1286
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -226,4 +226,5 @@
 
 \section{Interoperability}
+\label{s:Interoperability}
 
 \CFA is designed to integrate well with existing C programs and libraries.
@@ -314,4 +315,9 @@
 The \CFA compilation message is printed at the beginning of a compilation.
 \textbf{This option is the default.}
+
+\item
+\Indexc{-no-include-std}\index{compilation option!-no-include-std@©-no-include-std©}
+Do not supply ©extern "C"© wrappers for \Celeven standard include files (see~\VRef{s:StandardHeaders}).
+\textbf{This option is \emph{not} the default.}
 \end{description}
 
@@ -4363,7 +4369,50 @@
 
 
-\section{New Keywowrds}
-
-©catch©, ©catchResume©, ©choose©, \quad ©disable©, ©dtype©, \quad ©enable©, \quad ©fallthrough©, ©fallthru©, ©finally©, ©forall©, ©ftype©, \quad ©lvalue©, \quad ©otype©, \quad ©throw©, ©throwResume©, ©trait©, ©try©
+\section{New Keywords}
+\label{s:NewKeywords}
+
+\begin{quote2}
+\begin{tabular}{ll}
+©catch©			& ©lvalue©		\\
+©catchResume©	&				\\
+©choose©		& ©otype©		\\
+				&				\\
+©disable©		& ©throw©		\\
+©dtype©			& ©throwResume©	\\
+				& ©trait©		\\
+©enable©		& ©try©			\\
+				&				\\
+©fallthrough©					\\
+©fallthru©						\\
+©finally©						\\
+©forall©						\\
+©ftype©							\\
+\end{tabular}
+\end{quote2}
+
+
+\section{Standard Headers}
+\label{s:StandardHeaders}
+
+C prescribes the following standard header-files:
+\begin{quote2}
+\begin{minipage}{\linewidth}
+\begin{tabular}{lll}
+assert.h	& math.h		& stdlib.h		\\
+complex.h	& setjmp.h		& stdnoreturn.h	\\
+ctype.h		& signal.h		& string.h		\\
+errno.h		& stdalign.h	& tgmath.h		\\
+fenv.h		& stdarg.h		& threads.h		\\
+float.h		& stdatomic.h	& time.h		\\
+inttypes.h	& stdbool.h		& uchar.h		\\
+iso646.h	& stddef.h		& wchar.h		\\
+limits.h	& stdint.h		& wctype.h		\\
+locale.h	& stdio.h		& unistd.h\footnote{\CFA extension}
+\end{tabular}
+\end{minipage}
+\end{quote2}
+For the prescribed head-files, \CFA implicit wraps their includes in an ©extern "C"©;
+hence, names in these include files are not mangled\index{mangling!name} (see~\VRef{s:Interoperability}).
+All other C header files must be explicitly wrapped in ©extern "C"© to prevent name mangling.
 
 
@@ -4375,5 +4424,5 @@
 \item
 \begin{description}
-\item[Change:] add new keywords \\
+\item[Change:] add new keywords (see~\VRef{s:NewKeywords}) \\
 New keywords are added to \CFA.
 \item[Rationale:] keywords added to implement new semantics of \CFA.
@@ -4473,5 +4522,5 @@
 \begin{description}
 \item[Change:] have ©struct© introduce a scope for nested types
-In C, the name of the nested types belongs to the same scope as the name of the outermost enclosing 
+In C, the name of the nested types belongs to the same scope as the name of the outermost enclosing
 Example:
 \begin{lstlisting}
@@ -4596,5 +4645,6 @@
 %$
 \begin{lstlisting}[mathescape=off]
-sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x $" | 4 | "x £" | 5 | "x ¥" | 6 | "x ¡" | 7 | "x ¿" | 8 | "x «" | 9 | endl;
+sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x $" | 4 | "x £" | 5 | "x ¥" | 6 | "x ¡" | 7
+	 | "x ¿" | 8 | "x «" | 9 | endl;
 \end{lstlisting}
 %$
@@ -4606,6 +4656,6 @@
 A seperator does not appear after a C string ending with the (extended) \Index{ASCII}\index{ASCII!extended} characters: ©,.:;!?)]}%¢»©
 \begin{lstlisting}[belowskip=0pt]
-sout | 1 | ", x" | 2 | ". x" | 3 | ": x" | 4 | "; x" | 5 | "! x" | 6 | "? x" | 7 | ") x" | 8 | "] x" | 9 | "} x"
-	 | 10 | "% x" | 11 | "¢ x" | 12 | "» x" | endl;
+sout | 1 | ", x" | 2 | ". x" | 3 | ": x" | 4 | "; x" | 5 | "! x" | 6 | "? x" | 7
+	 | ") x" | 8 | "] x" | 9 | "} x" | 10 | "% x" | 11 | "¢ x" | 12 | "» x" | endl;
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
@@ -4623,5 +4673,5 @@
 The following \CC-style \Index{manipulator}s allow further control over implicit seperation.
 \begin{lstlisting}[mathescape=off,belowskip=0pt]
-sout | sepOn | 1 | 2 | 3 | sepOn | endl;	// separator at start of line
+sout | sepOn | 1 | 2 | 3 | sepOn | endl;	§\C{// separator at start of line}§
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
@@ -4629,5 +4679,5 @@
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,aboveskip=0pt,belowskip=0pt]
-sout | 1 | sepOff | 2 | 3 | endl;			// turn off implicit separator temporarily
+sout | 1 | sepOff | 2 | 3 | endl;			§\C{// turn off implicit separator temporarily}§
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
@@ -4635,5 +4685,5 @@
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,aboveskip=0pt,belowskip=0pt]
-sout | sepDisable | 1 | 2 | 3 | endl;		// turn off implicit separation, affects all subsequent prints
+sout | sepDisable | 1 | 2 | 3 | endl;		§\C{// turn off implicit separation, affects all subsequent prints}§
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
@@ -4641,5 +4691,5 @@
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,aboveskip=0pt,belowskip=0pt]
-sout | 1 | sepOn | 2 | 3 | endl;			// turn on implicit separator temporarily
+sout | 1 | sepOn | 2 | 3 | endl;			§\C{// turn on implicit separator temporarily}§
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
@@ -4647,5 +4697,5 @@
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,aboveskip=0pt,belowskip=0pt]
-sout | sepEnable | 1 | 2 | 3 | endl;		// turn on implicit separation, affects all subsequent prints
+sout | sepEnable | 1 | 2 | 3 | endl;		§\C{// turn on implicit separation, affects all subsequent prints}§
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
@@ -4653,5 +4703,5 @@
 \end{lstlisting}
 \begin{lstlisting}[mathescape=off,aboveskip=0pt,aboveskip=0pt,belowskip=0pt]
-sepSet( sout, ", $" );						// change separator from " " to ", $"
+sepSet( sout, ", $" );						§\C{// change separator from " " to ", \$"}§
 sout | 1 | 2 | 3 | endl;
 \end{lstlisting}
Index: src/driver/cfa.cc
===================================================================
--- src/driver/cfa.cc	(revision 9799ec895018b6521379a30bde094fce6d31bf69)
+++ src/driver/cfa.cc	(revision aea71684e6fdc8b8f2abddf24378fdf621bdd40b)
@@ -10,6 +10,6 @@
 // Created On       : Tue Aug 20 13:44:49 2002
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jul  7 08:56:01 2016
-// Update Count     : 144
+// Last Modified On : Tue Aug  2 12:23:11 2016
+// Update Count     : 147
 //
 
@@ -87,4 +87,5 @@
 	bool cpp_flag = false;								// -E or -M flag, preprocessor only
 	bool std_flag = false;								// -std= flag
+	bool noincstd_flag = false;							// -no-include-std= flag
 	bool debugging __attribute(( unused )) = false;		// -g flag
 
@@ -144,4 +145,6 @@
 			} else if ( arg == "-nohelp" ) {
 				help = false;							// strip the nohelp flag
+			} else if ( arg == "-no-include-std" ) {
+				noincstd_flag = true;					// strip the no-include-std flag
 			} else if ( arg == "-compiler" ) {
 				// use the user specified compiler
@@ -248,6 +251,8 @@
 	args[nargs] = "-I" CFA_INCDIR;
 	nargs += 1;
-	args[nargs] = "-I" CFA_INCDIR "/stdhdr";
-	nargs += 1;
+	if ( ! noincstd_flag ) {							// do not use during build
+		args[nargs] = "-I" CFA_INCDIR "/stdhdr";
+		nargs += 1;
+	} // if
 	args[nargs] = "-I" CFA_INCDIR "/containers";
 	nargs += 1;
Index: src/libcfa/Makefile.am
===================================================================
--- src/libcfa/Makefile.am	(revision 9799ec895018b6521379a30bde094fce6d31bf69)
+++ src/libcfa/Makefile.am	(revision aea71684e6fdc8b8f2abddf24378fdf621bdd40b)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 08:54:01 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Fri Jul  8 23:05:11 2016
-## Update Count     : 192
+## Last Modified On : Tue Aug  2 12:17:23 2016
+## Update Count     : 196
 ###############################################################################
 
@@ -26,14 +26,14 @@
 # create extra forward types/declarations to reduce inclusion of library files
 extras.cf : extras.regx extras.c
-	$(AM_V_GEN)@BACKEND_CC@ @CFA_FLAGS@ -E ${srcdir}/extras.c | grep -f extras.regx > ${srcdir}/extras.cf
+	${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E ${srcdir}/extras.c | grep -f extras.regx > ${srcdir}/extras.cf
 
 # create forward declarations for gcc builtins
 builtins.cf : builtins.c
-	$(AM_V_GEN)if [ -e $< ] ; then \
+	${AM_V_GEN}if [ -e $< ] ; then \
 		@BACKEND_CC@ -E -P $^ | sed -e "/targetm/s/.*//" -e "/_Decimal/s/.*//" -e "s/void (const char \*)0();//" -e "s/\"//g" -e "s/\(__builtin_\) /\1/" > $@ ; \
 	fi
 
 builtins.c : builtins.def prototypes.awk
-	$(AM_V_GEN)if [ -e $< ] ; then \
+	${AM_V_GEN}if [ -e $< ] ; then \
 		@BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@ ; \
 	fi
@@ -48,10 +48,10 @@
 
 libcfa-prelude.c : ${srcdir}/prelude.cf ${srcdir}/extras.cf ${srcdir}/builtins.cf
-	$(AM_V_GEN)${abs_top_srcdir}/src/driver/cfa-cpp -l ${srcdir}/prelude.cf $@  # use src/cfa-cpp as not in lib until after install
+	${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -l ${srcdir}/prelude.cf $@  # use src/cfa-cpp as not in lib until after install
 
 libcfa-prelude.o : libcfa-prelude.c
-	 $(AM_V_GEN)@BACKEND_CC@ @CFA_FLAGS@ -c -o $@ $<
+	 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -c -o $@ $<
 
-CFLAGS = -quiet -g -Wall -Wno-unused-function @CFA_FLAGS@ -B${abs_top_srcdir}/src/driver -XCFA -t # TEMPORARY: does not build with -O2
+CFLAGS = -quiet -no-include-std -g -Wall -Wno-unused-function @CFA_FLAGS@ -B${abs_top_srcdir}/src/driver -XCFA -t # TEMPORARY: does not build with -O2
 CC = ${abs_top_srcdir}/src/driver/cfa
 
@@ -63,5 +63,5 @@
 	@true
 
-${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp ${cfalib_DATA}	# add dependency to cfa-cpp so all libraries are rebuilt with new translator
+${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp ${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator
 
 libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c}
Index: src/libcfa/Makefile.in
===================================================================
--- src/libcfa/Makefile.in	(revision 9799ec895018b6521379a30bde094fce6d31bf69)
+++ src/libcfa/Makefile.in	(revision aea71684e6fdc8b8f2abddf24378fdf621bdd40b)
@@ -136,5 +136,5 @@
 CFA_LIBDIR = @CFA_LIBDIR@
 CFA_PREFIX = @CFA_PREFIX@
-CFLAGS = -quiet -g -Wall -Wno-unused-function @CFA_FLAGS@ -B${abs_top_srcdir}/src/driver -XCFA -t # TEMPORARY: does not build with -O2
+CFLAGS = -quiet -no-include-std -g -Wall -Wno-unused-function @CFA_FLAGS@ -B${abs_top_srcdir}/src/driver -XCFA -t # TEMPORARY: does not build with -O2
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
@@ -603,14 +603,14 @@
 # create extra forward types/declarations to reduce inclusion of library files
 extras.cf : extras.regx extras.c
-	$(AM_V_GEN)@BACKEND_CC@ @CFA_FLAGS@ -E ${srcdir}/extras.c | grep -f extras.regx > ${srcdir}/extras.cf
+	${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -E ${srcdir}/extras.c | grep -f extras.regx > ${srcdir}/extras.cf
 
 # create forward declarations for gcc builtins
 builtins.cf : builtins.c
-	$(AM_V_GEN)if [ -e $< ] ; then \
+	${AM_V_GEN}if [ -e $< ] ; then \
 		@BACKEND_CC@ -E -P $^ | sed -e "/targetm/s/.*//" -e "/_Decimal/s/.*//" -e "s/void (const char \*)0();//" -e "s/\"//g" -e "s/\(__builtin_\) /\1/" > $@ ; \
 	fi
 
 builtins.c : builtins.def prototypes.awk
-	$(AM_V_GEN)if [ -e $< ] ; then \
+	${AM_V_GEN}if [ -e $< ] ; then \
 		@BACKEND_CC@ -E prototypes.c | awk -f prototypes.awk > $@ ; \
 	fi
@@ -623,8 +623,8 @@
 
 libcfa-prelude.c : ${srcdir}/prelude.cf ${srcdir}/extras.cf ${srcdir}/builtins.cf
-	$(AM_V_GEN)${abs_top_srcdir}/src/driver/cfa-cpp -l ${srcdir}/prelude.cf $@  # use src/cfa-cpp as not in lib until after install
+	${AM_V_GEN}${abs_top_srcdir}/src/driver/cfa-cpp -l ${srcdir}/prelude.cf $@  # use src/cfa-cpp as not in lib until after install
 
 libcfa-prelude.o : libcfa-prelude.c
-	 $(AM_V_GEN)@BACKEND_CC@ @CFA_FLAGS@ -c -o $@ $<
+	 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -c -o $@ $<
 
 # extensionless header files are overridden by -o flag in default makerule => explicitly override default rule to silently do nothing
@@ -632,5 +632,5 @@
 	@true
 
-${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp ${cfalib_DATA}	# add dependency to cfa-cpp so all libraries are rebuilt with new translator
+${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp ${cfalib_DATA} # add dependency to cfa-cpp so all libraries are rebuilt with new translator
 
 maintainer-clean-local:
