+ if (NULL == error_mem_class)
+ error_mem_class= new cl_error_class(err_error, "memory", classification, ERROR_OFF);
+ classification= error_mem_class;
+}
+
+/* Invalid address in memory access */
+
+class cl_error_class *cl_error_mem_invalid_address::error_mem_invalid_address_class;
+
+cl_error_mem_invalid_address::
+cl_error_mem_invalid_address(class cl_memory *amem, t_addr aaddr):
+ cl_error_mem(amem, aaddr)
+{
+ if (NULL == error_mem_invalid_address_class)
+ error_mem_invalid_address_class= new cl_error_class(err_error, "invalid_address", classification);
+ classification= error_mem_invalid_address_class;
+}
+
+void
+cl_error_mem_invalid_address::print(class cl_commander *c)
+{
+ FILE *f= c->get_out();
+ cmd_fprintf(f, "%s: invalid address ", get_type_name());
+ cmd_fprintf(f, mem->addr_format, addr);
+ cmd_fprintf(f, " in memory %s.\n", mem->get_name());
+}
+
+/* Non-decoded address space access */
+
+class cl_error_class *cl_error_mem_non_decoded::error_mem_non_decoded_class;
+
+cl_error_mem_non_decoded::
+cl_error_mem_non_decoded(class cl_memory *amem, t_addr aaddr):
+ cl_error_mem(amem, aaddr)
+{
+ if (NULL == error_mem_non_decoded_class)
+ error_mem_non_decoded_class= new cl_error_class(err_error, "non_decoded", classification);
+ classification= error_mem_non_decoded_class;