1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
\chapter{Required compiler features}
\label{app:cxxfeatures}
Building escript from source requires that your c++ compiler supports at least the following features:
\begin{itemize}
\item \texttt{std::complex<>}
\item Variables declared with type \texttt{auto}
\item Variables declared with type \texttt{decltype(T)}
\item \texttt{extern template class} to prevent instantiation of templates.
\item \texttt{template class \textit{classname$<$type$>$};} to force instantiation of templates
\item \texttt{isnan()} is defined in the \texttt{std::} namespace
\end{itemize}
The above is not exhaustive and only lists language features which are more recent that our previous baseline of c++99 (or which
we have recently begun to rely on).
Note that we test on up to date versions of \texttt{g++, icpc \& clang++} so they should be fine.
Note that in future we may use c++14 features as well.
|