From owner-freebsd-hackers Wed Aug 16 12:32:30 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from grimreaper.grondar.za (grimreaper.grondar.za [196.7.18.138]) by hub.freebsd.org (Postfix) with ESMTP id 2202137C90E; Wed, 16 Aug 2000 12:24:37 -0700 (PDT) (envelope-from mark@grondar.za) Received: from grimreaper.grondar.za (localhost [127.0.0.1]) by grimreaper.grondar.za (8.9.3/8.9.3) with ESMTP id VAA01138; Wed, 16 Aug 2000 21:25:15 +0200 (SAST) (envelope-from mark@grimreaper.grondar.za) Message-Id: <200008161925.VAA01138@grimreaper.grondar.za> To: Sheldon Hearn Cc: freebsd-hackers@FreeBSD.ORG, obrien@FreeBSD.ORG Subject: Re: weird error messages from __COPYRIGHT macro References: <16713.966423376@axl.ops.uunet.co.za> In-Reply-To: <16713.966423376@axl.ops.uunet.co.za> ; from Sheldon Hearn "Wed, 16 Aug 2000 12:56:16 +0200." Date: Wed, 16 Aug 2000 21:25:14 +0200 From: Mark Murray Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > And please don't whine about me about string concatenation -- it's legal > in ANSI C. :-) __COPYRIGHT is defined as #define __COPYRIGHT(s) __IDSTRING(copyright,s) and __IDSTRING is #define __IDSTRING(name,string) __asm__(".ident\t\"" string "\"") By the time the string makes it to the assembler, the \n's have been turned into (real) NL's so the assembler line looks like .ident "@(#) Copyright (c) 1983, 1988, 1993 The Regents of the University of California. All rights reserved. " ...and it does not like the multi-line string. You may need to double-escape the \n's (like \\n) to get them into the .ident line symbolically. (I just checked - it worked!) M -- Mark Murray Join the anti-SPAM movement: http://www.cauce.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message