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>
|
||||
|
||||
* 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