return (e1->filename != e2->filename) | (e1->lineno - e2->lineno);
}
+
/*
* Create a new sequence number from a filename and a line number.
*/
return set_insert(seqnos, &key, sizeof(key), HASH(key));
}
+/*
+ * Create a new sequence number from a filename ident and a line number.
+ */
+seqno_t firm_seqno_enter_id(ident *filename, unsigned lineno)
+{
+ struct sn_entry key;
+
+ key.filename = filename;
+ key.lineno = lineno;
+
+ return set_insert(seqnos, &key, sizeof(key), HASH(key));
+}
+
/**
* Retrieve filename and line number form a sequence number
*/
*/
seqno_t firm_seqno_enter(const char *filename, unsigned lineno);
+/**
+ * Create a new sequence number from a filename ident and a line number.
+ *
+ * @param filename an ident
+ * @param lineno a line number
+ *
+ * @return a sequence number for this position.
+ */
+seqno_t firm_seqno_enter_id(ident *filename, unsigned lineno);
+
/**
* Retrieve filename and line number from a sequence number.
*