+2011-08-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49938
+ * tree-scalar-evolution.c (interpret_loop_phi): Gracefully
+ deal with a POLYNOMIAL_CHREC.
+
2011-08-03 Revital Eres <revital.eres@linaro.org>
* modulo-sched.c (calculate_stage_count,
+2011-08-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49938
+ * g++.dg/torture/pr49938.C: New testcase.
+
2011-08-02 Jason Merrill <jason@redhat.com>
PR c++/43886
--- /dev/null
+#include <vector>
+#include <cstdlib>
+typedef unsigned short uint16;
+
+namespace base {
+ class StringPiece
+ {
+ public:
+ typedef std::size_t size_type;
+ size_type size() const { return length_; }
+ size_type length_;
+ };
+}
+
+namespace net {
+ class DNSSECKeySet
+ {
+ bool CheckSignature (const base::StringPiece& name, const
+ base::StringPiece& zone, const
+ base::StringPiece& signature, uint16 rrtype,
+ const std::vector<base::StringPiece>& rrdatas);
+ };
+}
+
+template <class C> class scoped_array
+{
+public: typedef C element_type;
+ explicit scoped_array(C* p = __null):array_(p) {}
+private: C* array_;
+};
+
+namespace net {
+ bool DNSSECKeySet::CheckSignature (const base::StringPiece& name,
+ const base::StringPiece& zone, const base::StringPiece& signature,
+ uint16 rrtype, const std::vector<base::StringPiece>& rrdatas)
+ {
+ unsigned signed_data_len = 0;
+ for (std::vector<base::StringPiece>::const_iterator i =
+ rrdatas.begin();
+ i != rrdatas.end(); i++) {
+ signed_data_len += 2;
+ signed_data_len += i->size();
+ }
+ scoped_array<unsigned char> signed_data(new unsigned
+ char[signed_data_len]);
+ }
+}
+
else if (TREE_CODE (res) == POLYNOMIAL_CHREC)
new_init = CHREC_LEFT (res);
STRIP_USELESS_TYPE_CONVERSION (new_init);
- gcc_assert (TREE_CODE (new_init) != POLYNOMIAL_CHREC);
- if (!operand_equal_p (init_cond, new_init, 0))
+ if (TREE_CODE (new_init) == POLYNOMIAL_CHREC
+ || !operand_equal_p (init_cond, new_init, 0))
return chrec_dont_know;
}