From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean McNeil To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org Subject: Re: preprocessor/2948 Date: Tue, 29 May 2001 18:06:00 -0000 Message-id: <20010530010601.16433.qmail@sourceware.cygnus.com> X-SW-Source: 2001-05/msg01016.html List-Id: The following reply was made to PR c++/2948; it has been noted by GNATS. From: Sean McNeil To: Neil Booth Cc: nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: preprocessor/2948 Date: Tue, 29 May 2001 18:01:07 -0700 I am unaware of the use of #pragma implementation "filename" all files have #pragma interface and #pragma implementation I just ran this through gcc 2.95.3 and now I'm confused even more. It appears that the output of the normal gcc invokation is mostly correct and the 2 stage invokation with the -E flag is missing some compilation information. The largest difference and what triggered this whole investigation on my part has been the undefined reference to "operator delete (void*)" whereas in gcc 2.95.3 it appears to be a reference to __builtin_delete. There is also some reference to __builtin_vec_delete. Yet the -E output clearly showed me no references to the delete operator. The more I look at this, the more I wonder what this additional code is and why there appears to be no template code in the cpp0 output yet there is output generated through cc1plus for the pragma implementation. I'm affraid I know too little about any of this. Sean Neil Booth wrote: > Sean McNeil wrote:- > > > The pragmas are indeed getting passed through by the cpp0. So why would > > they compile differently in the two cases? This is very strange. It is > > related to that #pragma, though. Perhaps the cpp is told to parse things > > differently? > > Are the pragmas merely > > #pragma implementation > > or are they > > #pragma implementation "filename" > > ? I think it's an issue with file names not comparing as strings > properly because of path information, or something like that. Does > that give you a clue? > > Is there a > > #pragma interface > > somewhere to match the #pragma implementation? > > Is this a 2.95 regression? I'm going to re-file this as a C++ bug. > > Neil.