home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / gnu / g / bug / 2347 < prev    next >
Encoding:
Text File  |  1993-01-28  |  1.4 KB  |  51 lines

  1. Path: sparky!uunet!stanford.edu!ames!saimiri.primate.wisc.edu!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!cis.ohio-state.edu!lamothe.informatik.uni-dortmund.de!schwab
  2. From: schwab@lamothe.informatik.uni-dortmund.de (Andreas Schwab)
  3. Newsgroups: gnu.g++.bug
  4. Subject: G++ 2.3.3: inconsistent name mangling
  5. Date: 26 Jan 1993 22:01:55 -0500
  6. Organization: GNUs Not Usenet
  7. Lines: 37
  8. Sender: daemon@cis.ohio-state.edu
  9. Approved: bug-g++@prep.ai.mit.edu
  10. Distribution: gnu
  11. Message-ID: <9301261258.AA08755@lamothe.informatik.uni-dortmund.de>
  12. Reply-To: schwab@ls5.informatik.uni-dortmund.de (Andreas Schwab)
  13.  
  14. The virtual table of struct B gets different names depending on the
  15. presence of the forward declaration of struct B in this situation:
  16.  
  17. struct B;
  18. struct x
  19. {
  20.   friend struct B;
  21. };
  22. struct A { virtual ~A (); };
  23. struct B : virtual A {};
  24.  
  25. If the forward declaration is present, the following names are
  26. generated:
  27.  
  28. 00000000 t gcc2_compiled.
  29. 00000000 t __$_1B
  30. 00000060 d __vt$1B$1A
  31.          U __$_1A
  32.          U ___builtin_delete
  33.  
  34. When the first line is deleted, the following names are generated:
  35.  
  36. 00000000 t gcc2_compiled.
  37. 00000000 t __$_1B
  38. 00000060 d __vt$B$1A
  39.          U __$_1A
  40.          U ___builtin_delete
  41.  
  42. When the friend declaration is deleted, the same names as in the first
  43. case are generated, independent of the presence of the forward
  44. declaration for struct B.
  45.  
  46. This situation occurs in libg++ 2.3 with class istream.
  47. --
  48. Andreas Schwab
  49. schwab@ls5.informatik.uni-dortmund.de
  50.  
  51.