Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to get rid of remarks of the intel compiler

Author: Miguel A. Ballicora

Date: 11:11:21 01/07/03

Go up one level in this thread


On January 07, 2003 at 12:18:13, Uri Blass wrote:

>On January 07, 2003 at 11:36:03, Uri Blass wrote:
>
>>On January 07, 2003 at 10:48:54, Dieter Buerssner wrote:
>>
>>>On January 07, 2003 at 10:41:18, Uri Blass wrote:
>>>
>>>>On January 07, 2003 at 09:31:35, Daniel Clausen wrote:
>>>>
>>>>>On January 07, 2003 at 09:16:21, Uri Blass wrote:
>>>>>
>>>>>>Here are some kind of remarks:
>>>>>>
>>>>>>C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\stdio.h(97): remark #344:
>>>>>>typedef name has already been declared (with same type)
>>>>>>  typedef char *  va_list;
>>>>>
>>>>>[snip]
>>>>>
>>>>>My guess is that the Intel compiler is more ANSI-compliant than the M$-compiler
>>>>>and therefore doesn't like the M$-system header files too much.
>>>
>>>Yes. You just have to ignore those warnings.
>>>
>>>
>>>>>>2)I get a lot of remarks for movei and the most popular remark is
>>>>>>
>>>>>>external definition with no prior declaration
>>>>>
>>>>>Not quite sure what the compiler means with that.. but maybe you call a function
>>>>>XYZ and the compiler didn't see the declaration before of this function before
>>>>>that. (like forgot to include the header-file where the function would/should be
>>>>>declared)
>>>>
>>>>Is there a reason that I need to declare that function.
>>>
>>>>All calls for the functions are done after the function and in the same file.
>>>
>>>In this case, everything is ok. You might need to change
>>>
>>>int foo()
>>>{ /* */ }
>>>
>>>to
>>>
>>>int foo(void)
>>>{ /* */ }
>>>
>>>For the unspecified order of evaluation, you might want to show an example.
>>>
>>>Regards,
>>>Dieter
>>
>>I got that warning in the following function that is supposed to give the change
>>in the evaluation by a move.
>>
>>int evalmove(move_bytes m)
>>{
>>	return evalmovewithoutpawns(m)+evalpawnchange(m);
>>}
>>
>>evalmovewithoutpawns gives the change in the evaluation from the piece square
>>table when evalpawnchange gives the change in the evaluation from the change in
>>the pawn structure.
>>
>>Uri
>
>Another thing that I do not like is that some tests that I do suggest that
>movei performs sligthly worse at very fast time control(1-10 seconds per game)
>
>I suspect that it is possible that the intel compiler made movei faster at slow
>time control but slower at super bullet.
>
>I think that I will use the old compiler because the improvement from the intel
>compiler seems to be minimal and I do not like the big number of warnings that I
>get that may hide important warning.

Once in a while, it is a VERY good idea to use all the compilers that you have
and make sure that all the binaries produced work in the same way (i.e. they
give the same amount of nodes etc.). You do not need to _choose_ one compiler
and erase the rest from your computer.

Miguel


>
>I will change my functions that get no parameter to void foo(void)
>I already did it in all the decleration but I guess that it is better if I do it
>also at the beginning of the function and not only in the declerations but most
>of the warning of the intel compiler are simply stupid warnings.
>
>Uri



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.