Commit Graph

60 Commits

Author SHA1 Message Date
Mark Olesen
2db4b0867e CONFIG: consolidate C++ flags per compiler type
- easier to ensure that flags are consistent
2018-03-21 11:50:57 +01:00
Mark Olesen
451f8e0357 Merge remote-tracking branch 'origin/master' into develop 2018-03-07 18:08:07 +01:00
Mark Olesen
7f7f9336c8 COMP: add -fpermissive to c++LESSWARN flags (closes #744)
- downgrades some diagnostics about nonconformant code from errors to
  warnings. Oddly enough, the errors actually arise from STL library
  elements shipped with gcc itself. Affects kahip compilation with
  gcc-6, gcc-7
2018-02-28 14:31:48 +01:00
Mark Olesen
1b9aec2a3d CONP: suppress register warnings for clang only 2018-01-30 06:49:32 +01:00
Mark Olesen
995c55b60e CONFIG: add clang third-party lib to LD_LIBRARY_PATH
- required if there is no system openmp and libomp or libgomp are
  only found in the clang hierarchy

STYLE: add some notes in the openmp rules.

- the _OPENMP macro is now used in low-level testing files
2017-12-19 16:07:15 +01:00
Mark Olesen
405cf8129a CONFIG: update some wmake rules
- initial settings for ADIOS2, linuxARM64Gcc, linuxARM64Clang
2017-12-07 15:41:58 +00:00
Mark Olesen
e1167d9592 ENH: provide openmp compile and link flags.
- the USE_OMP preprocessor symbol is also defined with the openmp
  compile flag to allow conditional compilation of openmp-specific
  code.
2017-10-23 09:38:43 +02:00
Mark Olesen
a531168ae4 COMP: reinstate rules for various C++ suffixes (issue #607) 2017-09-29 18:07:42 +02:00
Henry Weller
0fdcb12759 Updated to avoid warnings from gcc-7.1.1 2017-07-31 13:46:42 +01:00
Henry Weller
7996a9138f C++11: Update compilation rules to specify C++11 support and conformance
The change from C++0x to C++11 allows all of C++11 functionality to be
used in OpenFOAM, in particular constructor delegation which avoids code
duplication or constructor helper functions.  However, this also means a
change to the minimum gcc version supported which is now 4.7 rather than
4.5.

Note that gcc-4.7 does not support the entire C++11 standard but does
support all of the functionality currently needed for further OpenFOAM
development.  The minimum gcc-version which supports the entire C++11
standard is 4.8 which is now the recommended minimum gcc version.
2016-08-05 16:28:19 +01:00
Henry Weller
c3a03105c4 wmake: Add support for compiler type default rules
which may be optionally overridden by version-specific rules.

For example the default rules for gcc on GNU/Linux x86_64 are in the
wmake/rules/linux64Gcc directory.  If there is a need to change any of
the rules for a specific version of gcc, e.g. gcc-4.8.4 the directory
wmake/rules/linux64Gcc48 may be created into which any of the language
files may be provided containing the rules to override the defaults.
2016-01-24 14:10:07 +00:00
Henry Weller
acb9ec8b46 wmake/rules: Add -std=c++0x to formally enable support for of C++11 features
The c++0x is used rather than c++11 to support gcc-4.5.?
2016-01-10 19:17:31 +00:00
Henry Weller
91e04d69c1 Resolve various unimportant warning messages from Gcc, Clang and Icpc 2015-07-19 11:31:49 +01:00
Henry Weller
7b605ce50e Updated warning suppression for CGAL 2015-07-17 23:10:10 +01:00
Henry Weller
6dc3a889df Suppress compiler warnings from CGAL 2015-07-17 21:38:25 +01:00
Henry Weller
94401af010 Resolved issues with virtual function inheritance and warning from clang
Also removed __GNUC__ conditional compilation statements which are no
longer needed.
2015-07-17 12:11:37 +01:00
Henry
88b6f63bb3 Added support for gcc-5.0.0
Tested with snapshot gcc-5-20150215.tar.bz2
2015-02-23 08:44:18 +00:00
Henry
296a302867 Renamed -frounded-math option 2014-12-16 08:37:25 +00:00
Henry
95dcfa46aa Move gcc-specific options to the appropriate wmake rules files 2014-12-15 22:39:21 +00:00
Henry
844b283030 New version of wmake supporting out-of-tree object and dependency files 2014-12-14 21:42:18 +00:00
mattijs
2ba7dd67a6 GIT: wmake: undo incorrect push 2012-09-20 15:24:57 +01:00
mattijs
dfa74d978c ENH: flowRateInletVelocity: different keywords for volumetric and mass 2012-09-20 14:21:40 +01:00
Henry
d0e1c1c3e8 wmake rules: removed debug switches from optimisation rules 2012-02-08 12:34:02 +00:00
Henry
95a5facaf0 wmake: Added support for Intel MPI 2011-11-22 17:51:57 +00:00
mattijs
a78139ea1c COMP: wmake/rules/linux*Gcc*: clean compilation on ubuntu 11.10 2011-10-25 15:35:13 +01:00
Henry
1d69807a3a wmake rules: Remove dependency on libiberty which is no longer needed 2011-03-07 12:57:41 +00:00
graham
98f97e7852 COMP: CGAL 3.7 now used. Template depth required to increased > 75, made 100. 2011-01-07 14:24:17 +00:00
Mark Olesen
350df4db3f STYLE: remove trailing space from wmake rules
- To-do:
      wmake/rules/General/bison
      wmake/rules/General/btyacc
      wmake/rules/General/btyacc++
      wmake/rules/General/byacc
      wmake/rules/General/moc
      wmake/rules/General/yacc

  but these files have <TAB>
2010-11-17 11:22:31 +01:00
mattijs
f113dad6b9 COMP: Fedore13 has linkage with --no-add-needed as default. This disallows indirectly loaded libraries. 2010-08-31 16:27:15 +01:00
mattijs
69526c6c1c BUG: various reinterpret_cast to enable strict-aliasing 2010-08-19 15:44:17 +01:00
graham
7faf359bc1 COMP: adding -traditional-cpp to CPP variable. 2010-07-21 10:58:53 +01:00
mattijs
7f6740a9eb Merge commit 'origin/master' into splitCyclic 2010-04-30 15:10:10 +01:00
Mark Olesen
0d44584112 ENH: rationalize wmake rules to avoid unnecessary duplication
- main mplib rules located in GENERAL_RULES with specializations
  (if any) under RULES. Modest change in a few options files, but
  cleans up the rules directories.

  previously in options:
      include $(RULES)/mplib$(WM_MPLIB)

  now in options:
      sinclude $(GENERAL_RULES)/mplib$(WM_MPLIB)
      sinclude $(RULES)/mplib$(WM_MPLIB)

  For GNU make it would be permissible to write both in a single line.
2010-04-22 15:01:07 +02:00
mattijs
cff2580336 Merge branch 'master' into splitCyclic
Conflicts:
	applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C
	applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C
	src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H
	src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C
	src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/cyclicGAMGInterface/cyclicGAMGInterface.C
	src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/processor/processorPointPatch.H
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.H
	src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C
	src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C
	src/meshTools/sets/topoSets/faceSet.C
	src/parallel/decompose/decompositionMethods/decompositionMethod/decompositionMethod.C
2010-04-16 12:09:34 +01:00
mattijs
4da8beb94b COMP: revert to non-debug flag for polyMeshAdder purposes. 2010-04-16 11:02:18 +01:00
Mark Olesen
0686bdf1e9 ENH: simplify cpp rules to avoid absolute paths and multiple GFLAGS.
- otherwise /lib/cpp may need a different library binding than
  currently available and results in this type of error:

  /usr/lib64/gcc/x86_64-suse-linux/4.4/cc1:
  /data/app/OpenFOAM/ThirdParty-1.6.x/platforms/linux64/gcc-4.3.3/lib64/libstdc++.so.6:
  version `GLIBCXX_3.4.11' not found (required by
  /usr/lib64/libppl_c.so.2)

ENH: remove unused flex++ rule for SiCortex that was identical to the
general one anyhow.
2010-03-29 10:59:35 +02:00
Mark Olesen
0b9e5ea11a ENH: link to general mplib* rules where possible.
ENH: generalize rule for X11

ENH: Avoid move in flex/flex++ rule.
2010-03-26 11:48:23 +01:00
Mark Olesen
46d96dc855 BUG: remove old wmake/rules/*/{dirToString,wmkdep} binaries 2010-03-25 14:42:29 +01:00
mattijs
49fb39e8f3 Merge commit 'origin/master' into splitCyclic
Conflicts:
	applications/utilities/parallelProcessing/decomposePar/decomposePar.C
	applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C
	applications/utilities/parallelProcessing/decomposePar/domainDecomposition.H
	applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C
	src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.C
	src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C
	src/OpenFOAM/meshes/pointMesh/pointPatches/derived/coupled/coupledFacePointPatch.H
	src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C
	src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.C
	src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.H
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C
2010-03-09 21:28:53 +00:00
mattijs
85a481906a ENH: Added new WM_MPLIB setting.
This signals that we are using the system installed openmpi version.
2010-03-01 15:14:03 +00:00
mattijs
192f8ae542 Changed tecio build options to use local file 2009-12-14 11:20:22 +00:00
mattijs
db34f04131 added tecio compilation rules to wmake 2009-12-08 11:40:00 +00:00
mattijs
be1b1ceefc Merge branch 'master' into splitCyclic
Conflicts:
	applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
	applications/utilities/parallelProcessing/decomposePar/decomposeMesh.C
	etc/bashrc
	etc/cshrc
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C
	src/decompositionMethods/parMetisDecomp/parMetisDecomp.C
	src/dynamicMesh/Make/files
	src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
	src/dynamicMesh/perfectInterface/perfectInterface.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.H
	src/finiteVolume/Make/files
	src/mesh/blockMesh/blockMesh/blockMesh.C
	src/mesh/blockMesh/blockMesh/blockMeshTopology.C
	src/meshTools/Make/files
	src/meshTools/sets/topoSets/faceSet.C
2009-11-30 15:20:52 +00:00
mattijs
9c1d1dc7b9 skip c++ include for mpi.h 2009-10-06 14:43:42 +01:00
andy
6c13d978cf extending template max depth to 60 2009-09-17 11:52:09 +01:00
mattijs
8d115b35c1 Merge branch 'master' into splitCyclic
Conflicts:
	applications/utilities/mesh/advanced/modifyMesh/cellSplitter.C
	applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
	applications/utilities/mesh/generation/blockMesh/blockMesh.C
	applications/utilities/mesh/generation/blockMesh/createTopology.C
	applications/utilities/mesh/generation/snappyHexMesh/Make/options
	src/OpenFOAM/containers/Lists/ListOps/ListOps.H
	src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C
	src/OpenFOAM/containers/Lists/UList/UList.H
	src/OpenFOAM/containers/Lists/UList/UListI.H
	src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.C
	src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C
	src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.C
	src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.H
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.H
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C
	src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C
	src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H
	src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C
	src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C
	src/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C
	src/decompositionAgglomeration/Allwmake
	src/decompositionAgglomeration/decompositionMethods/Make/files
	src/decompositionAgglomeration/decompositionMethods/Make/options
	src/dynamicMesh/attachDetach/attachInterface.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.H
	src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.H
	src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.H
	src/dynamicMesh/slidingInterface/coupleSlidingInterface.C
	src/finiteVolume/Make/files
	tutorials/channelOodles/channel395/constant/polyMesh/blockMeshDict
	tutorials/icoFoam/cavity/constant/polyMesh/blockMeshDict
	wmake/rules/linux64Gcc/c++Opt
2009-08-07 08:19:53 +01:00
Mark Olesen
efce737693 Add provisioning for gcc-4.4.1
- compile into linux64Gcc44, linuxGcc44 to avoid clashes during testing
- continue to use gmp-4.2.4 since gmp-4.3.x might be miscompiled with
  a system gcc-4.3.2
2009-07-29 09:59:16 +02:00
Mark Olesen
0e5e84f4ed removed last remnants of LAM support 2009-07-15 12:26:12 +02:00
henry
0bb012d0c2 Corrected handling of loop macros and removed those for PtrList. 2009-06-23 20:43:51 +01:00
henry
dfbf96c4c8 Added new warning message. 2009-06-23 12:12:17 +01:00