re PR c++/51992 (internal compiler error: tree code ‘target_expr’ is not supported in LTO streams)
PR c++/51992 * tree.c (find_decls_types_in_node): Walk gimple_call_fntype. From-SVN: r183527
This commit is contained in:
parent
06e1d03dc9
commit
b3310d4901
@ -1,3 +1,8 @@
|
||||
2012-01-25 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/51992
|
||||
* tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
|
||||
|
||||
2012-01-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/51987
|
||||
|
@ -1,3 +1,8 @@
|
||||
2012-01-25 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/51992
|
||||
* g++.dg/lto/pr51992_0.C: New.
|
||||
|
||||
2012-01-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/51987
|
||||
|
53
gcc/testsuite/g++.dg/lto/pr51992_0.C
Normal file
53
gcc/testsuite/g++.dg/lto/pr51992_0.C
Normal file
@ -0,0 +1,53 @@
|
||||
// PR c++/51992
|
||||
// { dg-lto-do assemble }
|
||||
|
||||
template<typename Enum>
|
||||
class QFlags
|
||||
{
|
||||
int i;
|
||||
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();
|
||||
}
|
@ -5037,6 +5037,9 @@ find_decls_types_in_node (struct cgraph_node *n, struct free_lang_data_d *fld)
|
||||
{
|
||||
gimple stmt = gsi_stmt (si);
|
||||
|
||||
if (is_gimple_call (stmt))
|
||||
find_decls_types (gimple_call_fntype (stmt), fld);
|
||||
|
||||
for (i = 0; i < gimple_num_ops (stmt); i++)
|
||||
{
|
||||
tree arg = gimple_op (stmt, i);
|
||||
|
Loading…
Reference in New Issue
Block a user