From owner-freebsd-hackers Sun Dec 18 10:17:33 1994 Return-Path: hackers-owner Received: (from root@localhost) by freefall.cdrom.com (8.6.8/8.6.6) id KAA06551 for hackers-outgoing; Sun, 18 Dec 1994 10:17:33 -0800 Received: from deep-thought.demos.su (root@deep-thought.demos.su [192.91.186.133]) by freefall.cdrom.com (8.6.8/8.6.6) with ESMTP id KAA06545 for ; Sun, 18 Dec 1994 10:17:27 -0800 Received: by deep-thought.demos.su id VAA02195; (8.6.9/D) Sun, 18 Dec 1994 21:07:29 +0300 Message-Id: <199412181807.VAA02195@deep-thought.demos.su> Subject: Re: any #define experts out there? To: spaz@u.washington.edu (John Utz) Date: Sun, 18 Dec 1994 21:07:28 +0300 (MSK) Cc: FreeBSD-hackers@freefall.cdrom.com In-Reply-To: from "John Utz" at Dec 16, 94 00:05:13 am From: dima@demos.su (Dima Ruban) X-Class: Fast Organization: HackerDome X-Mailer: ELM [version 2.4 PL24] Content-Type: text Content-Length: 737 Sender: hackers-owner@freebsd.org Precedence: bulk John Utz writes: > > HI folks; > > any reason why this define should crash gcc? I did, but nothing wrong. Here goes logfile. > > #define NUMELEMS(ARRAY) sizeof(ARRAY)/sizeof(*ARRAY) > > suggestions are more then welcome... [deep-thought]-pc:1> cat x.c #define NUMELEMS(ARRAY) sizeof(ARRAY)/sizeof(*ARRAY) main() { int foo[5]; printf("%d\n", NUMELEMS(foo)); } [deep-thought]-pc:2> cc -O x.c [deep-thought]-pc:3> ./a.out 5 [deep-thought]-pc:4> cc x.c [deep-thought]-pc:5> ./a.out 5 [deep-thought]-pc:6> cc -v gcc version 2.6.2 > > ******************************************************************************* > John Utz spaz@stein.u.washington.edu > idiocy is the impulse function in the convolution of life > > -- dima