User Tools

Site Tools


dev:codingconventions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dev:codingconventions [2018/12/21 08:41] – [Use existing infrastructure] tmuellerdev:codingconventions [2020/08/21 10:15] (current) – external edit 127.0.0.1
Line 3: Line 3:
 ===== Stick to the standard ===== ===== Stick to the standard =====
  
-  * Code enabled by default should be standard Fortran 2008 [-std=f2008]+  * Code enabled by default should be standard Fortran 2008 [-std=f2008] and C99 [-std=c99]
   * OpenMP code should follow version 3.X of the standard   * OpenMP code should follow version 3.X of the standard
   * MPI should should follow version 3 of the standard   * MPI should should follow version 3 of the standard
Line 22: Line 22:
 ===== Don't use poorly designed language features ===== ===== Don't use poorly designed language features =====
   * Do not use the ''GOTO''-statement. See also [[http://xkcd.com/292/]] and [[doi>10.1145/362929.362947]]   * Do not use the ''GOTO''-statement. See also [[http://xkcd.com/292/]] and [[doi>10.1145/362929.362947]]
-  * Do not use left-hand-side (lhs) reallocations of allocatables [-Wrealloc-lhs-all]. [[http://www.tddft.org/pipermail/octopus-devel/2012-February/005510.html | Why? ]] +  * Do not use left-hand-side (lhs) reallocations of allocatables [-Wrealloc-lhs]. [[https://github.com/cp2k/cp2k/issues/726 | Why? ]] 
   * Do not use ''FORALL'' constructs. [[https://gcc.gnu.org/ml/fortran/2012-04/msg00025.html | Why? ]]   * Do not use ''FORALL'' constructs. [[https://gcc.gnu.org/ml/fortran/2012-04/msg00025.html | Why? ]]
   * Do not use ''OMP THREADPRIVATE'' variables.   * Do not use ''OMP THREADPRIVATE'' variables.
dev/codingconventions.txt · Last modified: 2020/08/21 10:15 by 127.0.0.1