]> git.saurik.com Git - bison.git/commit - src/InadequacyList.c
portability: `<' and `>' are not always defined on addresses.
authorJoel E. Denny <jdenny@clemson.edu>
Tue, 29 Dec 2009 17:43:26 +0000 (12:43 -0500)
committerJoel E. Denny <jdenny@clemson.edu>
Tue, 29 Dec 2009 20:39:56 +0000 (15:39 -0500)
commitb8d19cf8c15a4ae78ad3e370e82ce8e9359194a0
tree5d62a911650e44c5811f3104a4ad0f479c2d8a19
parentdf222dfaf4da6becae8665d344669eefc705d7f7
portability: `<' and `>' are not always defined on addresses.

Specifically, don't sort objects by their memory addresses when
they're not allocated in the same array or other object.  Though
I haven't found a test case where that fails on my platform, C
says the behavior is undefined.
* src/AnnotationList.c (AnnotationList__insertInto): Remove
FIXME.  Use new id field of InadequacyList nodes rather than
their memory addresses when sorting.
(AnnotationList__compute_from_inadequacies): Add
inadequacy_list_node_count argument to pass to
InadequacyList__new_conflict.
* src/AnnotationList.h
(AnnotationList__compute_from_inadequacies): Update prototype
and documentation for new argument.
* src/InadequacyList.c (InadequacyList__new_conflict): Add
node_count argument and use it to assign a unique ID.
* src/InadequacyList.h (InadequacyListNodeCount): New typedef.
(InadequacyList): Add id field.
(InadequacyList__new_conflict): Update prototype and
documentation for new argument.
* src/ielr.c (ielr_compute_annotation_lists): Update
AnnotationList__compute_from_inadequacies invocation.
(cherry picked from commit 2728ac7ecd663c4a60f94fe7ab7679a9e83ebcd0)
ChangeLog
src/AnnotationList.c
src/AnnotationList.h
src/InadequacyList.c
src/InadequacyList.h
src/ielr.c