Computer Chess Club Archives


Search

Terms

Messages

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

Author: Daniel Clausen

Date: 06:31:35 01/07/03

Go up one level in this thread


On January 07, 2003 at 09:16:21, Uri Blass wrote:

>I get a lot of remarks by the intel compiler

Cool, so we not only have errors and warning, but also remarks. :) I like that
:)

>
>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.


>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)


>Do I need to declare function before I use it.

The compiler wants to know the return-value and parameters of a function, if you
call it. Typically a compiler assumes, that a function returns 'int', if you
didn't declare it somewhere else.


>3)remark #810: conversion from "int" to "char" may lose significant bits
>      piece=(char)(position[i]+'a'-'A');

In the C language 'a' is an integer, not a char. (in C++ it's a char) Although
position[i] may be a char, the expression (position[i]+'a'-'A') is not, because
'a' and 'A' or integers.



>4)last line of file ends without a newline

In Ansi-C, the last line of a source file has to end with a newline. (that's the
reason, why the editor 'vi' under Unix automatically adds one by default)


>5)operands are evaluated in unspecified order
>
>It is not my fault that the intel compiler does not know that the order of
>adding is not important because it does not know that calculating one
>expression
>does not change the second expression.
>
>Uri


In general, the M$-compiler is not very standard-compliant. (yes I've
experienced that myself - I sometimes use a PC at work, so don't ask ;) The
Intel-compiler seems to do a much better job in this case.

Sargon



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.