Computer Chess Club Archives


Search

Terms

Messages

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

Author: Uri Blass

Date: 09:26:05 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.
>
>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

I do not know if I need to do it when there is no decleration
I get also warning for functions that get parameters when they are not declared,

external definition with no prior declaration
  void addp(int square)

It seems that the only way to avoid the warning is to add decleration for every
function that I have and changing int foo() to int foo(void) is not going to
make it.

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.