[Users] non-portable inline problem & c++ void operator declaration problem

Erik Schnetter schnetter at cct.lsu.edu
Thu Dec 13 09:33:26 CST 2007


On Dec 9, 2007, at 15:55:55, jthorn at aei.mpg.de wrote:

> Hi, all,
>
> On Dec 5, 2007, at 00:03:37, Hee Il Kim wrote:
>>
>> Recently I updated Cactus flesh and failed to make building. The two
>> relevant messages are attached below. It occured on the ppc64  
>> linux system
>> using XL compilers. I appreciate your help in advance.
>>
>> Hee Il
>>
>>
>> --  1st one ---
>> "/home/hmlee/Cactus/src/include/cctk_Complex.h", line 109.1:  
>> 1506-1108 (I)
>> The use of keyword '__inline__' is non-portable.
>> "/usr/include/bits/mathinline.h", line 66.58: 1506-1197 (W) The  
>> use of ':'
>> in designated initializer syntax is non-portable.
> [[...]]
>
>> --  2nd one ---Preprocessing
>> /home/hmlee/Cactus/arrangements/AEIThorns/AHFinderDirect/src/patch
>> /ghost_zone.cc
>> Compiling
>> /home/hmlee/Cactus/arrangements/AEIThorns/AHFinderDirect/src/patch/ 
>> gho
>> st_zone.cc
>> "/home/hmlee/Cactus/configs/rns_pugh/build/AHFinderDirect/patch/ 
>> ghost_zone.cc",
>> line 377.8: 1540-0256 (S) A parameter of type "void *" cannot be  
>> initialized
>> wit
>> h an expression of type "const AHFinderDirect::patch_interp *".
>
> Looking at the code around 377 (assuming my line numbers match yours),
> it's just deleting some objects:
>    365  //
>    366  // this function destroys an  interpatch_ghost_zone  object.
>    367  //
>    368  interpatch_ghost_zone::~interpatch_ghost_zone()
>    369  {
>    370  delete Jacobian_buffer_;
>    371  delete Jacobian_y_ipar_posn_;
>    372  delete interp_result_buffer_;
>    373  delete other_par_;
>    374  delete max_ipar_used_;
>    375  delete min_ipar_used_;
>    376  delete other_iperp_;
>    377  delete other_patch_interp_;
>    378  }
>
> The builtin C++  delete  operator wants a  void*  pointer, and it
> looks like your C++ compiler is complaining about trying to convert
>   other_patch_interp_  (which is of type   const  
> AHFinderDirect::patch_interp *)
> into a  void* .  Maybe the problem is the const qualifier.  I will
> check into what the C standard says, try some test programs, and
> hopefully have a fix within a couple of days...


Hee-Il,

did you try adding a const-cast, as Jonathan suggested?  If so, did  
it work?

-erik

-- 
Erik Schnetter <schnetter at cct.lsu.edu>   http://www.cct.lsu.edu/ 
~eschnett/

My email is as private as my paper mail.  I therefore support encrypting
and signing email messages.  Get my PGP key from www.keyserver.net.




-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : http://www.cactuscode.org/pipermail/users/attachments/20071213/ab54a464/attachment.bin 


More information about the Users mailing list