re PR c++/16276 ([3.4 only] G++ generates local references to linkonce sections)
2004-07-07 H.J. Lu <hongjiu.lu@intel.com> PR c++/16276 * g++.dg/rtti/tinfo1.C: New file. From-SVN: r84261
This commit is contained in:
parent
89b578be68
commit
7ac224c1e4
@ -1,3 +1,8 @@
|
|||||||
|
2004-07-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR c++/16276
|
||||||
|
* g++.dg/rtti/tinfo1.C: New file.
|
||||||
|
|
||||||
2004-07-07 Eric Christopher <echristo@redhat.com>
|
2004-07-07 Eric Christopher <echristo@redhat.com>
|
||||||
|
|
||||||
* gcc.c-torture/compile/20020210-1.c: xfail with optimization.
|
* gcc.c-torture/compile/20020210-1.c: xfail with optimization.
|
||||||
|
40
gcc/testsuite/g++.dg/rtti/tinfo1.C
Normal file
40
gcc/testsuite/g++.dg/rtti/tinfo1.C
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
// Test if a local definition is in a linkonce/comdat section.
|
||||||
|
// { dg-do compile }
|
||||||
|
// { dg-final { scan-assembler "_ZTIP9CTemplateIhE:" } }
|
||||||
|
// { dg-final { scan-assembler-not ".globl\[ \]+_ZTIP9CTemplateIhE" } }
|
||||||
|
// { dg-final { scan-assembler-not ".section\[^\n\r\]*_ZTIP9CTemplateIhE\[^\n\r\]*" } }
|
||||||
|
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
class type_info
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
const char *__name;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
explicit type_info(const char *__n): __name(__n) { }
|
||||||
|
|
||||||
|
public:
|
||||||
|
const char* name() const
|
||||||
|
{ return __name; }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class TYPE>
|
||||||
|
class CTemplate
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
class CSecondModule {
|
||||||
|
public:
|
||||||
|
CSecondModule();
|
||||||
|
|
||||||
|
private:
|
||||||
|
const CTemplate<unsigned char> *m_variable; typedef CTemplate<unsigned char> m_variable_type;
|
||||||
|
};
|
||||||
|
|
||||||
|
CSecondModule::CSecondModule()
|
||||||
|
{
|
||||||
|
typeid(const_cast<m_variable_type *>(m_variable)).name() != 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user