view gcc/testsuite/g++.dg/lto/pr51992_0.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/51992
// { dg-lto-do assemble }

template<typename Enum>
class QFlags
{
    int i;
public:
    inline QFlags(Enum f) : i(f) {}
};
class QString {};
class KComponentData;
class KConfig
{
public:
    enum OpenFlag {
        IncludeGlobals = 0x01,
	CascadeConfig = 0x02,
	FullConfig = IncludeGlobals|CascadeConfig
    };
    typedef QFlags<OpenFlag> OpenFlags;
};
template <class T>
class KSharedPtr {};
class KSharedConfig : public KConfig
{
public:
  typedef KSharedPtr<KSharedConfig> Ptr;
    static KSharedConfig::Ptr openConfig(const QString& fileName = QString(),
				         OpenFlags mode = FullConfig,
					 const char *resourceType = "config");
    static KSharedConfig::Ptr openConfig(const KComponentData &componentData,
				         const QString &fileName = QString(),
                                         OpenFlags mode = FullConfig,
					 const char *resourceType = "config");
};
typedef KSharedConfig::Ptr KSharedConfigPtr;
namespace KGlobal
{
    KComponentData &mainComponent();
};
KSharedConfigPtr KSharedConfig::openConfig(const QString& fileName,
                                           OpenFlags flags,
                                           const char *resType)
{
    return openConfig(KGlobal::mainComponent(), fileName, flags, resType);
}
KSharedConfigPtr KSharedConfig::openConfig(const KComponentData &componentData,
                                           const QString& fileName,
                                           OpenFlags flags,
                                           const char *resType)
{
    return KSharedConfigPtr();
}