From 7e270fc482bb821e542decd66a032e9acc7d77bd Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 29 May 2018 09:57:30 +0200 Subject: [PATCH 01/13] STYLE: formatting of scotch options --- src/parallel/decompose/ptscotchDecomp/Make/options | 10 ++++------ src/parallel/decompose/scotchDecomp/Make/options | 3 ++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/parallel/decompose/ptscotchDecomp/Make/options b/src/parallel/decompose/ptscotchDecomp/Make/options index 0fcafd2559..733441c3fc 100644 --- a/src/parallel/decompose/ptscotchDecomp/Make/options +++ b/src/parallel/decompose/ptscotchDecomp/Make/options @@ -3,9 +3,9 @@ sinclude $(DEFAULT_RULES)/mplib$(WM_MPLIB) EXE_INC = \ $(PFLAGS) $(PINC) \ - -I../decompositionMethods/lnInclude \ + -I$(SCOTCH_INC_DIR) \ -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \ - -I$(SCOTCH_INC_DIR) + -I../decompositionMethods/lnInclude /* * The '-lscotch' is a slight hack: @@ -15,7 +15,5 @@ LIB_LIBS = \ -L$(SCOTCH_LIB_DIR) \ -L$(FOAM_EXT_LIBBIN) \ -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \ - -lptscotch \ - -lptscotcherrexit \ - -lscotch \ - -lrt + -lptscotch -lptscotcherrexit \ + -lscotch -lrt diff --git a/src/parallel/decompose/scotchDecomp/Make/options b/src/parallel/decompose/scotchDecomp/Make/options index d98ed6ce43..d2165b174d 100644 --- a/src/parallel/decompose/scotchDecomp/Make/options +++ b/src/parallel/decompose/scotchDecomp/Make/options @@ -11,4 +11,5 @@ EXE_INC = \ -I../decompositionMethods/lnInclude LIB_LIBS = \ - -L$(SCOTCH_LIB_DIR) -lscotch -lscotcherrexit -lrt + -L$(SCOTCH_LIB_DIR) \ + -lscotch -lscotcherrexit -lrt From 30309e9a6587f44fe1ca996b3246e0e154d358bc Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 29 May 2018 11:16:20 +0200 Subject: [PATCH 02/13] COMP: 64-bit label ambiguity --- src/fileFormats/ensight/file/ensightCase.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fileFormats/ensight/file/ensightCase.C b/src/fileFormats/ensight/file/ensightCase.C index 310c3bda73..dd97fa5705 100644 --- a/src/fileFormats/ensight/file/ensightCase.C +++ b/src/fileFormats/ensight/file/ensightCase.C @@ -508,7 +508,7 @@ void Foam::ensightCase::write() const } if (tsCloud < 0) { - tsCloud = 1 + std::max(1, tsGeom); // Next available timeset + tsCloud = 1 + std::max(label(1), tsGeom); // Next available timeset } writeHeader(); From bd33a382ee7730cd708da0743c583dd04e86e85d Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 29 May 2018 08:56:08 +0200 Subject: [PATCH 03/13] COMP: define additional UIndirectList iterator member types (closes #847) - required for std::iterator_traits specialization, which is used by the std::max_element algorithm on Darwin. --- .../containers/Lists/UIndirectList/UIndirectList.H | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectList.H b/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectList.H index a797dfec52..7c3191f936 100644 --- a/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectList.H +++ b/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectList.H @@ -190,6 +190,12 @@ public: public: + using difference_type = label; + using value_type = T; + using pointer = T*; + using reference = T&; + using iterator_category = std::forward_iterator_tag; + iterator ( UList& list, @@ -231,6 +237,12 @@ public: public: + using difference_type = label; + using value_type = const T; + using pointer = const T*; + using reference = const T&; + using iterator_category = std::forward_iterator_tag; + const_iterator ( const UList& list, @@ -241,7 +253,7 @@ public: base_(baseIter) {} - const_reference operator*() const + reference operator*() const { return data_[*base_]; } From 5e9ba0bc7269bfe62e13b894701a34c71b741b0f Mon Sep 17 00:00:00 2001 From: Alexey Matveichev Date: Tue, 29 May 2018 11:21:59 +0200 Subject: [PATCH 04/13] ENH: Darwin emulation for addr2line --- .../miscellaneous/OSspecific/Allwmake | 13 ++ .../OSspecific/addr2line/Make/files | 3 + .../OSspecific/addr2line/Make/options | 3 + .../OSspecific/addr2line/addr2line.C | 208 ++++++++++++++++++ 4 files changed, 227 insertions(+) create mode 100755 applications/utilities/miscellaneous/OSspecific/Allwmake create mode 100644 applications/utilities/miscellaneous/OSspecific/addr2line/Make/files create mode 100644 applications/utilities/miscellaneous/OSspecific/addr2line/Make/options create mode 100644 applications/utilities/miscellaneous/OSspecific/addr2line/addr2line.C diff --git a/applications/utilities/miscellaneous/OSspecific/Allwmake b/applications/utilities/miscellaneous/OSspecific/Allwmake new file mode 100755 index 0000000000..cf32b145ce --- /dev/null +++ b/applications/utilities/miscellaneous/OSspecific/Allwmake @@ -0,0 +1,13 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory +. $WM_PROJECT_DIR/wmake/scripts/sysFunctions + +#------------------------------------------------------------------------------ + +if isDarwin +then + echo "==> Darwin-specific utilities" + wmake addr2line +fi + +#------------------------------------------------------------------------------ diff --git a/applications/utilities/miscellaneous/OSspecific/addr2line/Make/files b/applications/utilities/miscellaneous/OSspecific/addr2line/Make/files new file mode 100644 index 0000000000..a3dc48dff5 --- /dev/null +++ b/applications/utilities/miscellaneous/OSspecific/addr2line/Make/files @@ -0,0 +1,3 @@ +addr2line.C + +EXE = $(FOAM_APPBIN)/addr2line diff --git a/applications/utilities/miscellaneous/OSspecific/addr2line/Make/options b/applications/utilities/miscellaneous/OSspecific/addr2line/Make/options new file mode 100644 index 0000000000..4c3dd783cb --- /dev/null +++ b/applications/utilities/miscellaneous/OSspecific/addr2line/Make/options @@ -0,0 +1,3 @@ +EXE_INC = + +EXE_LIBS = diff --git a/applications/utilities/miscellaneous/OSspecific/addr2line/addr2line.C b/applications/utilities/miscellaneous/OSspecific/addr2line/addr2line.C new file mode 100644 index 0000000000..6ebd7b0d59 --- /dev/null +++ b/applications/utilities/miscellaneous/OSspecific/addr2line/addr2line.C @@ -0,0 +1,208 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2018 Alexey Matveichev + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Application + addr2line + +Description + A simple, partial emulation of addr2line utility for Mac-OS. + +\*---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include + +#include "regExp.H" +#include "SubStrings.H" + +static void usage(); +static void version(); +static std::string getLine(const std::string&, const std::string&); +static std::string pOpen(const std::string&, int line=0); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + int optHelp = 0, optFunctions = 0, optVersion = 0; + int ch; + std::string filename = "a.out"; + std::vector addresses; + + static struct option opts[] = + { + { "target", required_argument, nullptr, 'b' }, + { "demangle", required_argument, nullptr, 'C' }, + { "exe", required_argument, nullptr, 'e' }, + { "functions", no_argument, &optFunctions, 1 }, + { "version", no_argument, &optVersion, 1 }, + { "basename", no_argument, nullptr, 's' }, + { "inlines", no_argument, nullptr, 'i' }, + { "section", required_argument, nullptr, 'j' }, + { "help", no_argument, &optHelp, 1 }, + { nullptr, 0, nullptr, 0 } + }; + + while ((ch = getopt_long(argc, argv, "b:C:e:fVsij:H", opts, nullptr)) != -1) + { + switch (ch) + { + case 'e': + filename = std::string(optarg); + break; + case 'C': + // Ignoring this flag for now + break; + case 'f': + // Functions are demangled in printStack + break; + case 0: + if (optHelp) usage(); + if (optVersion) version(); + break; + default: + usage(); + break; + } + } + + if (optind >= argc) + { + usage(); + } + + argc -= optind; + argv += optind; + + while (argc > 0) + { + addresses.push_back(std::string(*argv)); + ++argv; + --argc; + } + + for (const auto& addr : addresses) + { + std::cout<< '\n' << getLine(filename, addr).c_str() << '\n'; + } + + return 0; +} + + +void usage() +{ + std::cout + << "usage: addr2line [-e filename|--exe=filename]" + " address [address...]\n" << std::endl; + ::exit(1); +} + + +void version() +{ + std::cout<< "OpenFOAM addr2line emulator\n" << std::endl; + ::exit(0); +} + + +std::string pOpen(const std::string& cmd, int line) +{ + std::string res; + + FILE* cmdPipe = popen(cmd.c_str(), "r"); + if (!cmdPipe) return res; + + char* buf = nullptr; + + // Read line number of lines + for (int cnt = 0; cnt <= line; ++cnt) + { + size_t linecap = 0; + ssize_t linelen = ::getline(&buf, &linecap, cmdPipe); + + if (linelen < 0) + { + break; + } + + if (cnt == line) + { + res = std::string(buf); + + // Trim trailing newline + if (res.size()) + { + res.resize(res.size()-1); + } + break; + } + } + + if (buf) free(buf); + + pclose(cmdPipe); + + return res; +} + + +std::string getLine(const std::string& filename, const std::string& addr) +{ + std::string line = + pOpen + ( + "echo 'image lookup -va " + addr + + "'" + + " | xcrun lldb " + + "-O 'target create --no-dependents -a x86_64 " + + filename + + "' -o '" + + "target module load -f " + + filename + + " __TEXT 0x0' 2> /dev/null" + + " | grep LineEntry" + ); + + + Foam::regExp re(".+LineEntry: .+: (.+):([0-9]+):[0-9]+"); + + Foam::regExp::results_type groups; + if (!re.match(line, groups)) + { + line = "??:0"; + } + else + { + line = groups[1].str() + ":" + groups[2].str(); + } + + return line; +} + + +// ************************************************************************* // From 3de9b2f6754cb7a67a0d7ed593c82aaf56f35415 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 29 May 2018 12:36:12 +0200 Subject: [PATCH 05/13] COMP: resolve size ambiguity (Darwin) --- BuildIssues.txt | 30 +++++++++++++++++++ .../insertSurfaceNearestPointPairs.C | 4 +-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/BuildIssues.txt b/BuildIssues.txt index a05b5301c3..e995ea5105 100644 --- a/BuildIssues.txt +++ b/BuildIssues.txt @@ -118,4 +118,34 @@ your `~/.spack/packages.yaml` file: It appears that spack will otherwise ignore any paraview+qt version and attempt to install a paraview~qt version instead. +--------------------------- +Building on Darwin (Mac-OS) +--------------------------- + +Support for Darwin is incomplete, but has been provisioned for. + +The following are typical (as of yet) unresolved issues. + +* Scotch, ptscotch: + - The librt linkage is required for Linux, but not for Darwin. + + Current resolution: + Edit or patch + src/parallel/decompose/ptscotchDecomp/Make/options + src/parallel/decompose/scotchDecomp/Make/options + + to remove the '-lrt' library + +* CGAL: + - ThirdParty CGAL will normally need to be compiled without mpfr/gmp. + This should be done manually prior to building OpenFOAM or other + ThirdParty. Eg, + + cd $WM_THIRD_PARTY_DIR + ./makeCGAL gmp-none mpfr-none + + The erroneous references to gmp/mpfr library can be directly removed + from the wmake/rules/General/CGAL, but it is more advisable to + override them instead in the wmake/rules/darwin64Clang/CGAL file. + -- diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/insertSurfaceNearestPointPairs.C b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/insertSurfaceNearestPointPairs.C index f15a02a01d..7578920f82 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/insertSurfaceNearestPointPairs.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/insertSurfaceNearestPointPairs.C @@ -144,8 +144,8 @@ void Foam::CV2D::insertSurfaceNearestPointPairs() label nSurfacePointsEst = min ( - number_of_vertices(), - size_t(10*sqrt(scalar(number_of_vertices()))) + label(number_of_vertices()), + label(10*sqrt(scalar(number_of_vertices()))) ); DynamicList nearSurfacePoints(nSurfacePointsEst); From 6b6b36afd3999c741840b0b98392610a0864fda9 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 29 May 2018 17:38:02 +0200 Subject: [PATCH 06/13] STYLE: revert bitSet/HashSet setMany() to set() method (issue #837) - improves backward compatibility and more naming consistency. Retain setMany(iter1, iter2) to avoid ambiguity with the PackedList::set(index, value) method. --- applications/test/HashSet/Test-hashSet.C | 6 +-- applications/test/bitSet2/Test-bitSet2.C | 2 +- applications/test/edges/Test-edges.C | 6 +-- .../mesh/advanced/modifyMesh/cellSplitter.C | 2 +- .../refineWallLayer/refineWallLayer.C | 4 +- .../refinementLevel/refinementLevel.C | 2 +- .../mesh/advanced/splitCells/splitCells.C | 2 +- .../ideasUnvToFoam/ideasUnvToFoam.C | 2 +- .../conversion/writeMeshObj/writeMeshObj.C | 2 +- .../extrude/extrudeMesh/extrudeMesh.C | 2 +- .../extrudeToRegionMesh/extrudeToRegionMesh.C | 4 +- .../conformalVoronoiMeshCalcDualMesh.C | 16 +++---- .../conformalVoronoiMeshIO.C | 2 +- .../manipulation/polyDualMesh/meshDualiser.C | 2 +- .../mesh/manipulation/refineMesh/refineMesh.C | 2 +- .../mesh/manipulation/splitMesh/regionSide.C | 2 +- .../decomposePar/decomposePar.C | 2 +- .../decomposePar/domainDecompositionMesh.C | 2 +- .../reconstructPar/reconstructPar.C | 2 +- .../PVReaders/vtkPVFoam/vtkPVFoamUpdateInfo.C | 2 +- .../createZeroDirectory/boundaryInfo.C | 2 +- .../surfaceMeshTriangulate.C | 2 +- modules/catalyst | 2 +- src/OpenFOAM/containers/Bits/bitSet/bitSet.H | 42 ++++++++++++------- src/OpenFOAM/containers/Bits/bitSet/bitSetI.H | 16 +++---- .../containers/Bits/bitSet/bitSetTemplates.C | 22 ++++++++-- .../containers/HashTables/HashSet/HashSet.C | 14 +++---- .../containers/HashTables/HashSet/HashSet.H | 38 ++++++++++------- .../HashTables/HashTable/HashTable.C | 8 ++-- .../HashTables/HashTable/HashTable.H | 4 +- .../functionObjectList/functionObjectList.C | 4 +- src/OpenFOAM/meshes/meshShapes/edge/edge.H | 36 ++++++++-------- src/OpenFOAM/meshes/meshShapes/edge/edgeI.H | 8 ++-- .../polyBoundaryMesh/polyBoundaryMesh.C | 4 +- .../meshes/polyMesh/zones/ZoneMesh/ZoneMesh.C | 2 +- .../primitiveMesh/primitiveMeshCellPoints.C | 2 +- .../meshes/primitiveMesh/primitiveMeshEdges.C | 2 +- src/conversion/vtk/part/foamVtuSizing.C | 2 +- .../vtk/part/foamVtuSizingTemplates.C | 2 +- .../attachDetach/detachInterface.C | 6 +-- .../fvMeshDistribute/fvMeshDistribute.C | 2 +- .../motionSmoother/motionSmootherAlgo.C | 12 +++--- .../perfectInterface/perfectInterface.C | 2 +- .../polyTopoChange/edgeCollapser.C | 10 ++--- .../polyTopoChange/hexRef8/hexRef8.C | 10 ++--- .../polyTopoChange/removePoints.C | 2 +- .../slidingInterface/coupleSlidingInterface.C | 6 +-- .../slidingInterfaceProjectPoints.C | 2 +- src/fileFormats/ensight/file/ensightCase.C | 2 +- .../faMesh/faMeshDemandDrivenData.C | 2 +- .../fieldSelection/fieldSelectionTemplates.C | 2 +- .../fileFieldSelectionTemplates.C | 2 +- .../isoAdvection/isoAdvection/isoAdvection.C | 4 +- .../globalIndexStencils/cellToCellStencil.C | 2 +- .../globalIndexStencils/cellToFaceStencil.C | 12 +++--- .../field/turbulenceFields/turbulenceFields.C | 2 +- .../ParticleErosion/ParticleErosion.C | 2 +- .../PatchPostProcessing/PatchPostProcessing.C | 2 +- .../meshRefinement/meshRefinement.C | 2 +- .../meshRefinement/meshRefinementBaffles.C | 4 +- .../meshRefinement/meshRefinementMerge.C | 6 +-- .../snappyHexMeshDriver/snappyLayerDriver.C | 4 +- .../snappyHexMeshDriver/snappySnapDriver.C | 10 ++--- .../cellClassification/cellClassification.C | 2 +- src/meshTools/cellDist/cellDistFuncs.C | 2 +- .../extendedEdgeMesh/extendedEdgeMesh.C | 4 +- src/meshTools/indexedOctree/treeDataFace.C | 2 +- src/meshTools/meshTools/meshTools.C | 2 +- .../faceSources/normalToFace/normalToFace.C | 6 +-- .../triSurfaceTools/triSurfaceTools.C | 2 +- .../cellVolumeWeightCellCellStencil.C | 4 +- .../structuredDecomp/structuredDecomp.C | 2 +- .../structuredRenumber/structuredRenumber.C | 2 +- src/sampling/probes/probes.C | 20 ++++----- .../surfMeshSamplers/surfMeshSamplers.C | 10 ++--- src/sampling/surface/isoSurface/isoSurface.C | 4 +- .../surface/isoSurface/isoSurfaceCell.C | 2 +- src/surfMesh/triSurface/triSurfaceIO.C | 2 +- src/surfMesh/triSurface/triSurfaceStitch.C | 2 +- 79 files changed, 243 insertions(+), 213 deletions(-) diff --git a/applications/test/HashSet/Test-hashSet.C b/applications/test/HashSet/Test-hashSet.C index 5316f05e3f..eeae7ff0d0 100644 --- a/applications/test/HashSet/Test-hashSet.C +++ b/applications/test/HashSet/Test-hashSet.C @@ -188,10 +188,10 @@ int main(int argc, char *argv[]) Info<< "setB : " << setB << endl; labelPair pair(12, 15); - setB.setMany(pair); + setB.set(pair); Info<< "setB : " << setB << endl; - setB.unsetMany(pair); + setB.unset(pair); labelHashSet setC(1); @@ -257,7 +257,7 @@ int main(int argc, char *argv[]) someLst[elemI] = elemI*elemI; } - label added = setD.setMany(someLst); + label added = setD.set(someLst); Info<< "added " << added << " from " << someLst.size() << endl; Info<< "setD : " << flatOutput(setD) << endl; diff --git a/applications/test/bitSet2/Test-bitSet2.C b/applications/test/bitSet2/Test-bitSet2.C index b76048b01d..71b8992a68 100644 --- a/applications/test/bitSet2/Test-bitSet2.C +++ b/applications/test/bitSet2/Test-bitSet2.C @@ -294,7 +294,7 @@ int main(int argc, char *argv[]) Info<< "\nclear/assign from labelList\n"; list4.clear(); - list4.setMany(labelList{0, 1, 2, 3, 12, 13, 14, 19, 20, 21}); + list4.set(labelList{0, 1, 2, 3, 12, 13, 14, 19, 20, 21}); report(list4, true); diff --git a/applications/test/edges/Test-edges.C b/applications/test/edges/Test-edges.C index 68de5446ee..51da417de3 100644 --- a/applications/test/edges/Test-edges.C +++ b/applications/test/edges/Test-edges.C @@ -94,7 +94,7 @@ int main(int argc, char *argv[]) e4.start() = e4.end() = -1; Info<< "insert from list\n"; labelHashSet newIndices({2, -1, 2, 1, 4, 1, 2, 3}); - e4.insertMany(newIndices.toc()); + e4.insert(newIndices.toc()); printInfo(e4); e4.start() = e4.end() = -1; @@ -105,12 +105,12 @@ int main(int argc, char *argv[]) FixedList otherIndices{12, 2, -1, 1, 4, 1, 2, 3}; e4.start() = e4.end() = -1; Info<< "insert from list: " << otherIndices << nl; - e4.insertMany(otherIndices); + e4.insert(otherIndices); printInfo(e4); e4.start() = e4.end(); Info<< "erase from list: " << otherIndices << nl; - Info<< "removed " << e4.eraseMany(otherIndices) << " values" << nl; + Info<< "removed " << e4.erase(otherIndices) << " values" << nl; printInfo(e4); for (label i : {-1, 0, 1, 3}) diff --git a/applications/utilities/mesh/advanced/modifyMesh/cellSplitter.C b/applications/utilities/mesh/advanced/modifyMesh/cellSplitter.C index 280c8b1f3b..a39690325b 100644 --- a/applications/utilities/mesh/advanced/modifyMesh/cellSplitter.C +++ b/applications/utilities/mesh/advanced/modifyMesh/cellSplitter.C @@ -374,7 +374,7 @@ void Foam::cellSplitter::setRefinement const cell& cFaces = mesh_.cells()[celli]; - faceUpToDate.unsetMany(cFaces); + faceUpToDate.unset(cFaces); } forAll(faceUpToDate, facei) diff --git a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C index 30efaf9ecc..0f8b5c1ed0 100644 --- a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C +++ b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C @@ -120,7 +120,7 @@ int main(int argc, char *argv[]) { const labelList& pCells = mesh.pointCells()[meshPointi]; - cutCells.insertMany(pCells); + cutCells.insert(pCells); } } @@ -153,7 +153,7 @@ int main(int argc, char *argv[]) const polyPatch& pp = mesh.boundaryMesh()[patchi]; const labelList& meshPoints = pp.meshPoints(); - vertOnPatch.setMany(meshPoints); + vertOnPatch.set(meshPoints); } for (const label patchi : patchSet) diff --git a/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C b/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C index 0b3db1f187..34a22e98c4 100644 --- a/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C +++ b/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C @@ -184,7 +184,7 @@ int main(int argc, char *argv[]) const DynamicList