===================================================================
@@ -1642,8 +1642,8 @@ interpret_loop_phi (struct loop *loop, g
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;
}
===================================================================
@@ -0,0 +1,48 @@
+#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]);
+ }
+}
+