http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58099
Bug ID: 58099 Summary: over-zealous Error pointer error checking in gfortran 4.8 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: daniel.price at monash dot edu I'm having an issue with gfortran 4.8 that is blocking compilation of my public visualisation code SPLASH (reported by several users). The issue is to do with mismatched properties of procedure pointers when the procedure being pointed to has the pure attribute: ../src/kernels.f90:77.13: wfunc => w_wendlandc6 1 Error: Interface mismatch in procedure pointer assignment at (1): Mismatch in PURE attribute While I can provide a workaround for this by removing the pure attribute, I think this is either a bug or a feature that I don't understand, since it must be possible to point to pure procedures with a procedure pointer. However, I cannot find a way to do this that compiles with gfortran 4.8. Note that this is only an issue in 4.8, did not exist in any previous version. The relevant module is attached and can be compiled independently of any other code, so should be easy to reproduce. Please let me know if it is a bug/can be fixed or not. Thanks, Daniel Price versioning as follows: ------------- $ gfortran-mp-4.8 -v Using built-in specs. COLLECT_GCC=gfortran-mp-4.8 COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin12/4.8.1/lto-wrapper Target: x86_64-apple-darwin12 Configured with: ../gcc-4.8.1/configure --prefix=/opt/local --build=x86_64-apple-darwin12 --enable-languages=c,c++,objc,obj-c++,lto,fortran,java --libdir=/opt/local/lib/gcc48 --includedir=/opt/local/include/gcc48 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.8 --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.8 --with-gxx-include-dir=/opt/local/include/gcc48/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-ppl=/opt/local --with-cloog=/opt/local --enable-cloog-backend=isl --disable-cloog-version-check --enable-stage1-checking --disable-multilib --enable-lto --enable-libstdcxx-time --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket --with-pkgversion='MacPorts gcc48 4.8.1_1' Thread model: posix gcc version 4.8.1 (MacPorts gcc48 4.8.1_1) -------------