[gmx-developers] previous declaration of loop

Erik Lindahl lindahl at stanford.edu
Tue Mar 12 18:31:01 CET 2002


Mehmet Suezen wrote:

>Dear Gromacs Developers,
>
>What it seems strange for me, when I define an interaction loop
>in src/gmxlib/inner.h  as
>
>void FUNC(inl0500,INL0500)(COMMON_ARGS INVSQRT_S_BUF1 INVSQRT_S_BUF2
>POT_ARGS );
>
>and then in src/gmxlib/fnbf.c        
>
>  case eNR_INL0500:
>   FUNC(inl0500,INL0500)(COMMON_ARGS INVSQRT_S_BUF1 INVSQRT_S_BUF2
>POT_ARGS);
>  break;
>
>As present for other loops, but my case gave a compilation error
>
>innerc.c:2692: conflicting types for `inl0500'
>inner.h:159: previous declaration of `inl0500'
>
>I couldn't figure out why it gaves previous declaration error, Because
>I've checked already
>several time, there is no other decleration of inl0500.  Even types
>declererd in inner.h
>has used consistently.
>
Hi Mehmet,


The innerloop inl0500 is written by the mkinl program to innerc.c, so I 
would guess that the declaration written to that file differs from your 
header in innerh.h.

First, check that you entered the calling arguments in the right place 
in mkinl_declarations - I think it says in a short comment somewhere 
that for each routine we remove the arguments and variables not used, 
and then create the declaration in the order they are listed. You should 
also be able to check simply by typing 'make innerc.c' and then search 
for inl0500.

Cheers,

Erik






More information about the gromacs.org_gmx-developers mailing list