#include "miracle.h"
#include "report.h"
#include "rose.h"
+#include "rose_common.h"
#include "rose_internal.h"
#include "rose_program.h"
#include "rose_types.h"
DEBUG_PRINTF("program=%u, offsets [%llu,%llu], flags=%u\n", programOffset,
som, end, prog_flags);
+ assert(programOffset != ROSE_INVALID_PROG_OFFSET);
assert(programOffset >= sizeof(struct RoseEngine));
assert(programOffset < t->size);
#include "rose_build.h"
#include "rose_build_util.h"
+#include "rose_common.h"
#include "rose_graph.h"
#include "nfa/mpvcompile.h"
#include "nfa/goughcompile.h"
: fragment_id(fragment_id_in), groups(groups_in) {}
u32 fragment_id;
rose_group groups;
- u32 lit_program_offset = 0;
- u32 delay_program_offset = 0;
+ u32 lit_program_offset = ROSE_INVALID_PROG_OFFSET;
+ u32 delay_program_offset = ROSE_INVALID_PROG_OFFSET;
};
// Concrete impl class
/** \brief Length in bytes of a reach bitvector, used by the lookaround code. */
#define REACH_BITVECTOR_LEN 32
+/** \brief Value used to represent an invalid Rose program offset. */
+#define ROSE_INVALID_PROG_OFFSET 0
+
#endif // ROSE_COMMON_H