From tradke at aei.mpg.de Tue Oct 14 06:17:07 2008 From: tradke at aei.mpg.de (Thomas Radke) Date: Tue, 14 Oct 2008 13:17:07 +0200 Subject: [Patches] [Carpet] Errors with LoopControl In-Reply-To: References: <48F366A7.7040806@aei.mpg.de> Message-ID: <48F47FB3.30605@aei.mpg.de> Erik Schnetter wrote: > On Oct 13, 2008, at 17:17:59, Thomas Radke wrote: > >> Erik Schnetter wrote: >>> On Mar 27, 2008, at 04:25:26, Hee Il Kim wrote: >>>> Hi, >>>> >>>> I encountered the following errors on a system with intel compilers >>>> 10.1. I'm using the latest Carpet. >>>> >>>> ### >>>> ... >>>> ... >>>> >>>> Preprocessing >>>> /home/khi/Cactus/arrangements/Carpet/LoopControl/src/loopcontrol_types.F90 >>>> >>>> >>>> Compiling >>>> /home/khi/Cactus/arrangements/Carpet/LoopControl/src/loopcontrol_types.F90 >>>> >>>> >>>> fortcom: Error: >>>> /home/khi/Cactus/configs/rns_carpet_loopcontrol/build/LoopControl/loopcontrol_types.f90, >>>> >>>> line 6: Syntax error, found IDENTIFIER 'NEXT' when expecting one of: >>>> => = . ( : % >>>> CCTK_POINTER next >>>> ------------------^ >>> >>> I don't know why the type CCTK_POINTER is not known. There may be >>> something missing in the flesh. I'll have a look. >> >> We just had the same problem here on someone's mac using intel >> compilers. It could be fixed by substituting >> >> #include >> >> with >> >> #include "cctk.h" >> >> in Carpet/LoopControl/src/loopcontrol_types.F90. >> >> This type of header file inclusion also happens in other LoopControl >> sources; other Carpet thorns use both versions in a mixed way. Should >> this be made consistent ? > > > This problem only exists in Fortran code. C and C++ code can use both > <> and "" without problems. > > The C standard suggests that both <> and "" should work in this case. > cpp.pl, the Cactus implementation of part of a C preprocessor, simply > ignores #include lines with <> and only processes those with "". I > think we could change this in cpp.pl, treating <> and "" in the same way > (apart from skipping the current directory when <> is used). If you don't like changing the Cactus header file inclusions into #include "header.h" then the Cactus preprocessor needs to be fixed to also handle #include properly. The attached patch does that. Ok to apply ? -- Cheers, Thomas. -------------- next part -------------- A non-text attachment was scrubbed... Name: cpp.patch Type: text/x-patch Size: 1671 bytes Desc: not available Url : http://www.cactuscode.org/pipermail/patches/attachments/20081014/23541578/attachment.bin