File: cxx11.tex

package info (click to toggle)
python-escript 5.6-10
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 144,304 kB
  • sloc: python: 592,074; cpp: 136,909; ansic: 18,675; javascript: 9,411; xml: 3,384; sh: 738; makefile: 207
file content (17 lines) | stat: -rw-r--r-- 894 bytes parent folder | download | duplicates (3)
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.