make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Bug report: Compile with Microsoft and Intel compiler


From: Paul D. Smith
Subject: RE: Bug report: Compile with Microsoft and Intel compiler
Date: Fri, 29 Apr 2005 00:32:13 -0400

%% Jerker Bäck <address@hidden> writes:

  jb> function.c(512) : error C4130: '==' : logical operation on address
  jb> of string constant

  jb> int is_suffix = streq (funcname, "suffix");

  jb> expands to:

  jb> int is_suffix = ((funcname) == ("suffix") || 
  jb>   (*(funcname) == *("suffix") && (*(funcname) == '\0' || 
  jb>   !strcmp ((funcname) + 1, ("suffix") + 1))));

But, there's nothing whatsoever wrong with this code.

  jb> hash.c(49) : error C4115: 'token' : named type definition in parentheses
  jb> hash.c(265) : error C4115: 'token' : named type definition in parentheses

  jb> ht->ht_vec = (void**) CALLOC (struct token *, ht->ht_size);

  jb> expands to:

  jb> ht->ht_vec = (void**) ((struct token * *) 
  jb>   calloc (sizeof (struct token *), (ht->ht_size)));

Well, this is kind of bogus, but there's nothing wrong with this either
that warrants an error.

  jb> main.c(1728) : error C4296: '<' : expression is always false

  jb> f->last_mtime = f->mtime_before_update = NEW_MTIME;

  jb> expands to:

  jb> f->last_mtime = f->mtime_before_update = 
  jb> (~ (unsigned long) 0 - (! ((unsigned long) -1 < 0) ? 
  jb>  (unsigned long) 0 : ~ (unsigned long) 0 << 
  jb>  (sizeof (unsigned long) * 8 - 1)));

Yeah... this is exactly the way it's intended to be IIRC.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




reply via email to

[Prev in Thread] Current Thread [Next in Thread]