I'm looking for suggestions on how to understand different compiler behavior in make "libfast" in a sub-directory and make "all" in top-level petsc directory.
The reason is that make all leads to an internal compiler error, seen in make.log. But doing make libfast for the same arch in the corresponding subdirectory works fine. So it is hard to work around the internal compiler error via some simplification. This is with cygwin and visual studio 2012. The same petsc code compiles fine with an older visual studio. Here is an example of the error from make.log, which consistently happens here for a particular arch. petsc34\src\mat\impls\sbaij\seq\sbaij2.c(854) : fatal error C1001: An internal error has occurred in the compiler. (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 211) To work around this problem, try simplifying or changing the program near the locations listed above. Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\amd64\cl.exe' The error happens in a different location (again consistently) for a different arch. petsc34\src\mat\impls\sbaij\seq\sbstream\sbstrmfact.c(434) Both errors don't get reproduced if I do a make libfast in these directories. I also invoked the compiler via cl and win32fe and both these ways also work fine and generate object files of non-zero sizes. Thanks, Chetan
