Viewing file: pr80032.C (3.94 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// PR tree-optimization/80032 // { dg-do compile { target c++11 } } // { dg-options "-O2" } // If DCE removes too many CLOBBERs then stack usage goes through the // roof as stack slots can no longer be shared. // { dg-additional-options "-Wstack-usage=200" { target x86_64-*-* i?86-*-* } }
typedef unsigned a; namespace test { enum b { c }; class ADataContainer; class BitMask; namespace api { enum DataStore { candidate }; } using d = api::DataStore; namespace db { class e; class f; class g; class ManagedObjectConst { public: ManagedObjectConst(const ManagedObjectConst &); bool isFieldDefault(a, d) const; ADataContainer &getFieldDefault(a, d) const; g *h; e *i; f *j; }; struct FieldInfo { FieldInfo(ManagedObjectConst, a, d); ManagedObjectConst k; }; b compare(const FieldInfo &, const ADataContainer &); class ManagedObject : public ManagedObjectConst {}; } using namespace db; void FN(ManagedObject &k, const BitMask &) { if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; if (!k.isFieldDefault(8, d::candidate) && !compare(FieldInfo(k, 11, d::candidate), k.getFieldDefault(11, d::candidate)) == c) return; } }
|