From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4deb6c62a5e19f2 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-08-04 19:27:20 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!canoe.uoregon.edu!logbridge.uoregon.edu!newsfeed.direct.ca!look.ca!newshub2.rdc1.sfba.home.com!news.home.com!news1.rdc2.on.home.com.POSTED!not-for-mail Message-ID: <3B6CAF0C.F9622FFE@home.com> From: "Warren W. Gay VE3WWG" X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: type Foo_ptr in new void*; References: <9k03jc$2me$2@news.tpi.pl> <9k0j60$n4t$1@news.tpi.pl> <3B63F48A.2E2642C6@earthlink.net> <9k2btj$5hj$1@news.tpi.pl> <3B64C26F.C195B4E0@worldnet.att.net> <3B663A70.3B315EC8@san.rr.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Sun, 05 Aug 2001 02:27:20 GMT NNTP-Posting-Host: 24.141.193.224 X-Complaints-To: abuse@home.net X-Trace: news1.rdc2.on.home.com 996978440 24.141.193.224 (Sat, 04 Aug 2001 19:27:20 PDT) NNTP-Posting-Date: Sat, 04 Aug 2001 19:27:20 PDT Organization: Excite@Home - The Leader in Broadband http://home.com/faster Xref: archiver1.google.com comp.lang.ada:11300 Date: 2001-08-05T02:27:20+00:00 List-Id: David Thompson wrote: > Darren New wrote : > ... > Actually writing different definitions in two different sources > is fairly obvious, but there are subtler ways to screw up. > One is to change the definition in a .h file and recompile > some but not all of the .c's that use it; tools like make > help with this. Another is to have two same-named .h files > in different directories/subtrees and select a wrong one. > A third is to actually include the correct and same .h > but it in turn uses #define's which are set differently > (a coworker recently lost several days to that last; > even a full de novo build doesn't catch or fix it). Another way to have this happen, is to have a "private" definition as the "proper type" which is used internally by the library, and an incorrect "opaque type" defined for public use. Or, this may have been correctly (but not portably) defined, but did not port correctly to the new platform. -- Warren W. Gay VE3WWG http://members.home.net/ve3wwg