-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix metaprogramming #411
Fix metaprogramming #411
Conversation
static_cast doesn't even compile for me if the two types are never convertible.
We'll need them in one more file too
Thanks for fixing this. Somehow I missed GCC 6.1 was out. I'll build a tree right now and merge this when I verify on my end. |
OK, this works for me. Sadly, it also works for without this PR and GCC 6.1. O_O I'm going to try and experiment a little more to try and replicate the failures that @roystgnr got and I should be getting before merging. |
Dammit. I cannot reproduce the compilation failures on my system. Just to record, here's what GRINS is emitting at configure time (this is on the 0.7.0-prep branch, METHOD=devel): ----------------------------------- SUMMARY ----------------------------------- Package version............... : grins-0.7.0 C++ compiler.................. : mpic++ C++ compiler flags............ : -O2 -felide-constructors -g -pedantic -W -Wall -Wextra -Wno-long-long -Wunused -Wpointer-arith -Wformat -Wparentheses -Wuninitialized -funroll-loops -fstrict-aliasing -Woverloaded-virtual -Wdisabled-optimization -fopenmp Install dir................... : /fry1/data/users/pbauman/research/grins/install/0.7.0-prep/devel Build user.................... : pbauman Build host.................... : fry.eng.buffalo.edu Configure date................ : 2016-05-31 10:22 Build architecture............ : x86_64-unknown-linux-gnu Revision id................... : 0dd005a5dae5f4fbf499df1ac750abeedfc822fb Library Dependencies: libMesh....................... : /fry1/data/shared/software/libs/libmesh/master/gcc/6.1.0/mpich/3.1.4/petsc/3.6.3/openblas/0.2.14/boost/1.58.0/hdf5/1.8.16/vtk/6.3.0 libMesh CXXFLAGS.............. : -O2 -felide-constructors -g -pedantic -W -Wall -Wextra -Wno-long-long -Wunused -Wpointer-arith -Wformat -Wparentheses -Wuninitialized -funroll-loops -fstrict-aliasing -Woverloaded-virtual -Wdisabled-optimization -fopenmp libMesh INCLUDE............... : -I/fry1/data/shared/software/libs/libmesh/master/gcc/6.1.0/mpich/3.1.4/petsc/3.6.3/openblas/0.2.14/boost/1.58.0/hdf5/1.8.16/vtk/6.3.0/include -I/fry1/data/shared/software/libs/hdf5/1.8.16/gcc/6.1.0/include -I/fry1/data/shared/software/libs/vtk/6.3.0/gcc/6.1.0/include/vtk-6.3 -I/usr/include -I/fry1/data/shared/software/libs/petsc/3.6.3/gcc/6.1.0/mpich/3.1.4/openblas/0.2.14/opt/include -I/fry1/data/shared/software/libs/petsc/3.6.3/gcc/6.1.0/mpich/3.1.4/openblas/0.2.14/opt//include -I/fry1/data/shared/software/libs/mpich/3.1.4/gcc/6.1.0/include -I/fry1/data/shared/software/libs/boost/1.58.0/gcc/6.1.0/include libMesh LDFLAGS............... : libMesh LIBS.................. : -L/fry1/data/shared/software/libs/hdf5/1.8.16/gcc/6.1.0/lib -lhdf5 -lhdf5_cpp -Wl,-rpath,/fry1/data/shared/software/libs/hdf5/1.8.16/gcc/6.1.0/lib -Wl,-rpath,/fry1/data/shared/software/libs/vtk/6.3.0/gcc/6.1.0/lib -L/fry1/data/shared/software/libs/vtk/6.3.0/gcc/6.1.0/lib -lvtkIOCore-6.3 -lvtkCommonCore-6.3 -lvtkCommonDataModel-6.3 -lvtkFiltersCore-6.3 -lvtkIOXML-6.3 -lvtkImagingCore-6.3 -lvtkIOImage-6.3 -lvtkImagingMath-6.3 -lvtkIOParallelXML-6.3 -lz -ltbb -ltbbmalloc -L/fry1/data/shared/software/libs/petsc/3.6.3/gcc/6.1.0/mpich/3.1.4/openblas/0.2.14/opt/lib -lpetsc -Wl,-rpath,/fry1/data/shared/software/libs/petsc/3.6.3/gcc/6.1.0/mpich/3.1.4/openblas/0.2.14/opt/lib -lsuperlu_dist_4.1 -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord -lscalapack -lsuperlu_4.3 -lHYPRE -L/fry1/data/shared/software/libs/mpich/3.1.4/gcc/6.1.0/lib -L/fry1/data/shared/software/apps/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0 -L/fry1/data/shared/software/apps/gcc/6.1.0/lib64 -L/fry1/data/shared/software/apps/gcc/6.1.0/lib -Wl,-rpath,/fry1/data/shared/software/libs/openblas/0.2.14/gcc/6.1.0/lib -L/fry1/data/shared/software/libs/openblas/0.2.14/gcc/6.1.0/lib -lopenblas -lparmetis -lmetis -lX11 -lssl -lcrypto -lmpifort -lgfortran -lquadmath -lm -lmpicxx -lstdc++ -Wl,-rpath,/fry1/data/shared/software/apps/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0 -Wl,-rpath,/fry1/data/shared/software/apps/gcc/6.1.0/lib64 -Wl,-rpath,/fry1/data/shared/software/apps/gcc/6.1.0/lib -Wl,-rpath,/fry1/data/shared/software/libs/mpich/3.1.4/gcc/6.1.0/lib -lmpi -lgcc_s -ldl -Wl,-rpath,/usr/lib -L/usr/lib -Wl,-rpath,/fry1/data/shared/software/libs/libmesh/master/gcc/6.1.0/mpich/3.1.4/petsc/3.6.3/openblas/0.2.14/boost/1.58.0/hdf5/1.8.16/vtk/6.3.0/lib -L/fry1/data/shared/software/libs/libmesh/master/gcc/6.1.0/mpich/3.1.4/petsc/3.6.3/openblas/0.2.14/boost/1.58.0/hdf5/1.8.16/vtk/6.3.0/lib -lmesh_devel Testing Options: CppUnit..................... : yes CPPUNIT_VERSION........... : 1.13.2 CPPUNIT_CPPFLAGS.......... : -I/fry1/data/shared/software/libs/cppunit/1.13.2/gcc/6.1.0/include CPPUNIT_LIBS.............. : -L/fry1/data/shared/software/libs/cppunit/1.13.2/gcc/6.1.0/lib -lcppunit -ldl Optional Features: Boost......................... : no Antioch....................... : no Cantera....................... : no Link with GRVY................ : no Use GRVY timers............... : no Link with MASA................ : no Enable gcov code coverage..... : no ------------------------------------------------------------------------------- Going ahead and merging this. It's troubling, though, that I can get that compilation failure. |
This compiles on gcc 6.1 and passes all the non-Antioch-based tests for me. I'll try to get a new Antioch built to work around #410 so I can check those too shortly, but I think if we still pass "make check" on your system then we ought to be safe to merge.