GNU Compiler Collection (GCC) Internals: Checking for a poly_int marker value

Next: Range checks on `poly_int`s, Previous: Comparing ordered `poly_int`s, Up: Comparisons involving `poly_int` [Contents][Index]

#### 10.3.5 Checking for a `poly_int` marker value

It is sometimes useful to have a special “marker value” that is not meant to be taken literally. For example, some code uses a size of -1 to represent an unknown size, rather than having to carry around a separate boolean to say whether the size is known.

The best way of checking whether something is a marker value is `known_eq`. Conversely the best way of checking whether something is not a marker value is `maybe_ne`.

Thus in the size example just mentioned, ‘`known_eq (size, -1)`’ would check for an unknown size and ‘`maybe_ne (size, -1)`’ would check for a known size.