public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files.
@ 2012-01-10 14:32 bredelin at ucla dot edu
  2012-01-10 14:33 ` [Bug c++/51812] " bredelin at ucla dot edu
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: bredelin at ucla dot edu @ 2012-01-10 14:32 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

             Bug #: 51812
           Summary: Virtual public inheritance leads to "undefined
                    reference" in header files.
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: bredelin@ucla.edu


Created attachment 26292
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26292
The c++ file that has linker errors.

Hi,

Using gcc 4.7 causes new linker errors that are not present in e.g. 4.5, 4.6,
or clang.  These linker errors make it impossible to use header files that do
not fully define some classes entirely in the header file.  

The errors look like:

% g++-4.7 all5.C 

/tmp/ccfEMWL0.o: In function `Object::print() const':
all5.C:(.text._ZNK6Object5printEv[_ZNK6Object5printEv]+0x58): undefined
reference to `demangle(std::string const&)'


/tmp/ccfEMWL0.o: In function `alphabet::compare(Object const&) const':
all5.C:(.text._ZNK8alphabet7compareERK6Object[_ZNK8alphabet7compareERK6Object]+0x81):
undefined reference to `typeinfo for alphabet'
all5.C:(.text._ZNK8alphabet7compareERK6Object[_ZNK8alphabet7compareERK6Object]+0xa5):
undefined reference to `operator==(alphabet const&, alphabet const&)'


/tmp/ccfEMWL0.o: In function `alphabet::~alphabet()':
all5.C:(.text._ZN8alphabetD1Ev[_ZN8alphabetD1Ev]+0xe): undefined reference to
`vtable for alphabet'
all5.C:(.text._ZN8alphabetD1Ev[_ZN8alphabetD1Ev]+0x26): undefined reference to
`vtable for alphabet'


/tmp/ccfEMWL0.o: In function `Triplets::Triplets(Triplets const&)':
all5.C:(.text._ZN8TripletsC1ERKS_[_ZN8TripletsC1ERKS_]+0x3d): undefined
reference to `VTT for Triplets'
all5.C:(.text._ZN8TripletsC1ERKS_[_ZN8TripletsC1ERKS_]+0x51): undefined
reference to `vtable for Triplets'
all5.C:(.text._ZN8TripletsC1ERKS_[_ZN8TripletsC1ERKS_]+0x69): undefined
reference to `vtable for Triplets'
/tmp/ccfEMWL0.o:(.rodata._ZTV18AminoAcidsWithStop[_ZTV18AminoAcidsWithStop]+0x48):
undefined reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTV18AminoAcidsWithStop[_ZTV18AminoAcidsWithStop]+0x60):
undefined reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTV18AminoAcidsWithStop[_ZTV18AminoAcidsWithStop]+0x70):
undefined reference to
`alphabet::get_frequencies_from_counts(std::valarray<double> const&, double)
const'
/tmp/ccfEMWL0.o:(.rodata._ZTC18AminoAcidsWithStop0_10AminoAcids[_ZTV18AminoAcidsWithStop]+0x48):
undefined reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTC18AminoAcidsWithStop0_10AminoAcids[_ZTV18AminoAcidsWithStop]+0x60):
undefined reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTC18AminoAcidsWithStop0_10AminoAcids[_ZTV18AminoAcidsWithStop]+0x70):
undefined reference to
`alphabet::get_frequencies_from_counts(std::valarray<double> const&, double)
const'
/tmp/ccfEMWL0.o:(.rodata._ZTC18AminoAcidsWithStop0_8alphabet[_ZTV18AminoAcidsWithStop]+0x30):
undefined reference to `typeinfo for alphabet'
/tmp/ccfEMWL0.o:(.rodata._ZTC18AminoAcidsWithStop0_8alphabet[_ZTV18AminoAcidsWithStop]+0x48):
undefined reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTC18AminoAcidsWithStop0_8alphabet[_ZTV18AminoAcidsWithStop]+0x60):
undefined reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTC18AminoAcidsWithStop0_8alphabet[_ZTV18AminoAcidsWithStop]+0x70):
undefined reference to
`alphabet::get_frequencies_from_counts(std::valarray<double> const&, double)
const'
/tmp/ccfEMWL0.o:(.rodata._ZTV10AminoAcids[_ZTV10AminoAcids]+0x48): undefined
reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTV10AminoAcids[_ZTV10AminoAcids]+0x60): undefined
reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTV10AminoAcids[_ZTV10AminoAcids]+0x70): undefined
reference to `alphabet::get_frequencies_from_counts(std::valarray<double>
const&, double) const'
/tmp/ccfEMWL0.o:(.rodata._ZTC10AminoAcids0_8alphabet[_ZTV10AminoAcids]+0x30):
undefined reference to `typeinfo for alphabet'
/tmp/ccfEMWL0.o:(.rodata._ZTC10AminoAcids0_8alphabet[_ZTV10AminoAcids]+0x48):
undefined reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTC10AminoAcids0_8alphabet[_ZTV10AminoAcids]+0x60):
undefined reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTC10AminoAcids0_8alphabet[_ZTV10AminoAcids]+0x70):
undefined reference to
`alphabet::get_frequencies_from_counts(std::valarray<double> const&, double)
const'
/tmp/ccfEMWL0.o:(.rodata._ZTV3RNA[_ZTV3RNA]+0x48): undefined reference to
`alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTV3RNA[_ZTV3RNA]+0x60): undefined reference to
`alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTV3RNA[_ZTV3RNA]+0x70): undefined reference to
`alphabet::get_frequencies_from_counts(std::valarray<double> const&, double)
const'
/tmp/ccfEMWL0.o:(.rodata._ZTC3RNA0_11Nucleotides[_ZTV3RNA]+0x48): undefined
reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTC3RNA0_11Nucleotides[_ZTV3RNA]+0x60): undefined
reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTC3RNA0_11Nucleotides[_ZTV3RNA]+0x70): undefined
reference to `alphabet::get_frequencies_from_counts(std::valarray<double>
const&, double) const'
/tmp/ccfEMWL0.o:(.rodata._ZTC3RNA0_8alphabet[_ZTV3RNA]+0x30): undefined
reference to `typeinfo for alphabet'
/tmp/ccfEMWL0.o:(.rodata._ZTC3RNA0_8alphabet[_ZTV3RNA]+0x48): undefined
reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTC3RNA0_8alphabet[_ZTV3RNA]+0x60): undefined
reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTC3RNA0_8alphabet[_ZTV3RNA]+0x70): undefined
reference to `alphabet::get_frequencies_from_counts(std::valarray<double>
const&, double) const'
/tmp/ccfEMWL0.o:(.rodata._ZTV3DNA[_ZTV3DNA]+0x48): undefined reference to
`alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTV3DNA[_ZTV3DNA]+0x60): undefined reference to
`alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTV3DNA[_ZTV3DNA]+0x70): undefined reference to
`alphabet::get_frequencies_from_counts(std::valarray<double> const&, double)
const'
/tmp/ccfEMWL0.o:(.rodata._ZTC3DNA0_11Nucleotides[_ZTV3DNA]+0x48): undefined
reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTC3DNA0_11Nucleotides[_ZTV3DNA]+0x60): undefined
reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTC3DNA0_11Nucleotides[_ZTV3DNA]+0x70): undefined
reference to `alphabet::get_frequencies_from_counts(std::valarray<double>
const&, double) const'
/tmp/ccfEMWL0.o:(.rodata._ZTC3DNA0_8alphabet[_ZTV3DNA]+0x30): undefined
reference to `typeinfo for alphabet'
/tmp/ccfEMWL0.o:(.rodata._ZTC3DNA0_8alphabet[_ZTV3DNA]+0x48): undefined
reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTC3DNA0_8alphabet[_ZTV3DNA]+0x60): undefined
reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTC3DNA0_8alphabet[_ZTV3DNA]+0x70): undefined
reference to `alphabet::get_frequencies_from_counts(std::valarray<double>
const&, double) const'
/tmp/ccfEMWL0.o:(.rodata._ZTV11Nucleotides[_ZTV11Nucleotides]+0x48): undefined
reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTV11Nucleotides[_ZTV11Nucleotides]+0x60): undefined
reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTV11Nucleotides[_ZTV11Nucleotides]+0x70): undefined
reference to `alphabet::get_frequencies_from_counts(std::valarray<double>
const&, double) const'
/tmp/ccfEMWL0.o:(.rodata._ZTC11Nucleotides0_8alphabet[_ZTV11Nucleotides]+0x30):
undefined reference to `typeinfo for alphabet'
/tmp/ccfEMWL0.o:(.rodata._ZTC11Nucleotides0_8alphabet[_ZTV11Nucleotides]+0x48):
undefined reference to `alphabet::print() const'
/tmp/ccfEMWL0.o:(.rodata._ZTC11Nucleotides0_8alphabet[_ZTV11Nucleotides]+0x60):
undefined reference to `alphabet::setup_letter_classes()'
/tmp/ccfEMWL0.o:(.rodata._ZTC11Nucleotides0_8alphabet[_ZTV11Nucleotides]+0x70):
undefined reference to
`alphabet::get_frequencies_from_counts(std::valarray<double> const&, double)
const'
/tmp/ccfEMWL0.o:(.rodata._ZTI10AminoAcids[_ZTI10AminoAcids]+0x10): undefined
reference to `typeinfo for alphabet'
/tmp/ccfEMWL0.o:(.rodata._ZTI11Nucleotides[_ZTI11Nucleotides]+0x10): undefined
reference to `typeinfo for alphabet'
collect2: error: ld returned 1 exit status

All the errors go away if you change class alphabet to not have virtual public
inheritance, by removing the word "virtual".


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] Virtual public inheritance leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
@ 2012-01-10 14:33 ` bredelin at ucla dot edu
  2012-01-10 15:09 ` bredelin at ucla dot edu
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: bredelin at ucla dot edu @ 2012-01-10 14:33 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

--- Comment #1 from bredelin at ucla dot edu 2012-01-10 14:32:46 UTC ---
Created attachment 26293
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26293
Preprocessed source


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] Virtual public inheritance leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
  2012-01-10 14:33 ` [Bug c++/51812] " bredelin at ucla dot edu
@ 2012-01-10 15:09 ` bredelin at ucla dot edu
  2012-01-22 20:35 ` [Bug c++/51812] [4.7 regression] " paolo.carlini at oracle dot com
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: bredelin at ucla dot edu @ 2012-01-10 15:09 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

--- Comment #2 from bredelin at ucla dot edu 2012-01-10 15:09:09 UTC ---
Also note that the bug report is based on a snapshot of 4.7 that was taken on
Jan 7, 2012.

$ g++-4.7 -v
Using built-in specs.
COLLECT_GCC=/usr/bin/g++-4.7
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7-20120107-1'
--with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr
--program-suffix=-4.7 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7
--libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc
--with-arch-32=i586 --with-tune=generic --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.0 20120107 (experimental) [trunk revision 182981] (Debian
4.7-20120107-1)


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] [4.7 regression] Virtual public inheritance leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
  2012-01-10 14:33 ` [Bug c++/51812] " bredelin at ucla dot edu
  2012-01-10 15:09 ` bredelin at ucla dot edu
@ 2012-01-22 20:35 ` paolo.carlini at oracle dot com
  2012-01-22 21:42 ` pinskia at gcc dot gnu.org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-01-22 20:35 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-01-22
                 CC|                            |jason at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-01-22 20:15:00 UTC ---
Confirmed.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] [4.7 regression] Virtual public inheritance leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
                   ` (2 preceding siblings ...)
  2012-01-22 20:35 ` [Bug c++/51812] [4.7 regression] " paolo.carlini at oracle dot com
@ 2012-01-22 21:42 ` pinskia at gcc dot gnu.org
  2012-01-22 22:10 ` [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks " pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-01-22 21:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.7.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
                   ` (3 preceding siblings ...)
  2012-01-22 21:42 ` pinskia at gcc dot gnu.org
@ 2012-01-22 22:10 ` pinskia at gcc dot gnu.org
  2012-01-23 17:07 ` jason at gcc dot gnu.org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-01-22 22:10 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|x86_64-linux-gnu            |
                 CC|                            |hubicka at gcc dot gnu.org
               Host|x86_64-linux-gnu            |
            Summary|[4.7 regression] Virtual    |[4.7 regression] Virtual
                   |public inheritance leads to |public inheritance and
                   |"undefined reference" in    |thunks leads to "undefined
                   |header files.               |reference" in header files.
              Build|x86_64-linux-gnu            |

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-01-22 21:42:38 UTC ---
Reduced testcase:
class Object {
  virtual Object* clone() const =0;
  virtual char* print() const;
};
class alphabet: virtual public Object{};
class Nucleotides: public alphabet {};
class DNA: public Nucleotides {
  virtual DNA* clone() const {return new DNA(*this);}
};
int main() { }
--- CUT ---
This testcase requires thunks and virtual inheritance.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
                   ` (4 preceding siblings ...)
  2012-01-22 22:10 ` [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks " pinskia at gcc dot gnu.org
@ 2012-01-23 17:07 ` jason at gcc dot gnu.org
  2012-01-23 18:14 ` jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2012-01-23 17:07 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |jason at gcc dot gnu.org
                   |gnu.org                     |


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
                   ` (5 preceding siblings ...)
  2012-01-23 17:07 ` jason at gcc dot gnu.org
@ 2012-01-23 18:14 ` jason at gcc dot gnu.org
  2012-01-23 23:14 ` bredelin at ucla dot edu
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2012-01-23 18:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> 2012-01-23 18:05:01 UTC ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01160.html


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
                   ` (6 preceding siblings ...)
  2012-01-23 18:14 ` jason at gcc dot gnu.org
@ 2012-01-23 23:14 ` bredelin at ucla dot edu
  2012-01-24 14:32 ` jason at gcc dot gnu.org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: bredelin at ucla dot edu @ 2012-01-23 23:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

--- Comment #6 from bredelin at ucla dot edu 2012-01-23 22:46:47 UTC ---
I will check this patch tomorrow (Jan 24th) to make sure that it fixes the
problem on non-reduced test cases.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
                   ` (7 preceding siblings ...)
  2012-01-23 23:14 ` bredelin at ucla dot edu
@ 2012-01-24 14:32 ` jason at gcc dot gnu.org
  2012-01-24 14:54 ` jason at gcc dot gnu.org
  2012-01-29 19:01 ` bredelin at ucla dot edu
  10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2012-01-24 14:32 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> 2012-01-24 13:37:43 UTC ---
Author: jason
Date: Tue Jan 24 13:37:38 2012
New Revision: 183475

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183475
Log:
    PR c++/51812
    * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
    output static aliases.

Added:
    trunk/gcc/testsuite/g++.dg/inherit/covariant20.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cgraphunit.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
                   ` (8 preceding siblings ...)
  2012-01-24 14:32 ` jason at gcc dot gnu.org
@ 2012-01-24 14:54 ` jason at gcc dot gnu.org
  2012-01-29 19:01 ` bredelin at ucla dot edu
  10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2012-01-24 14:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #8 from Jason Merrill <jason at gcc dot gnu.org> 2012-01-24 13:38:13 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks leads to "undefined reference" in header files.
  2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
                   ` (9 preceding siblings ...)
  2012-01-24 14:54 ` jason at gcc dot gnu.org
@ 2012-01-29 19:01 ` bredelin at ucla dot edu
  10 siblings, 0 replies; 12+ messages in thread
From: bredelin at ucla dot edu @ 2012-01-29 19:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51812

--- Comment #9 from bredelin at ucla dot edu 2012-01-29 18:30:43 UTC ---
Thanks :-)


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-01-29 18:31 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-10 14:32 [Bug c++/51812] New: Virtual public inheritance leads to "undefined reference" in header files bredelin at ucla dot edu
2012-01-10 14:33 ` [Bug c++/51812] " bredelin at ucla dot edu
2012-01-10 15:09 ` bredelin at ucla dot edu
2012-01-22 20:35 ` [Bug c++/51812] [4.7 regression] " paolo.carlini at oracle dot com
2012-01-22 21:42 ` pinskia at gcc dot gnu.org
2012-01-22 22:10 ` [Bug c++/51812] [4.7 regression] Virtual public inheritance and thunks " pinskia at gcc dot gnu.org
2012-01-23 17:07 ` jason at gcc dot gnu.org
2012-01-23 18:14 ` jason at gcc dot gnu.org
2012-01-23 23:14 ` bredelin at ucla dot edu
2012-01-24 14:32 ` jason at gcc dot gnu.org
2012-01-24 14:54 ` jason at gcc dot gnu.org
2012-01-29 19:01 ` bredelin at ucla dot edu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).