-/* The maximum number of tasks known to the Ada runtime */
-extern const int MAX_NUMBER_OF_KNOWN_TASKS;
-
-/* Identifiers for Ada attributes that need special processing. Be sure
- to update the table attribute_names in ada-lang.c whenever you change this.
- */
-
-enum ada_attribute {
- /* Invalid attribute for error checking. */
- ATR_INVALID,
-
- ATR_FIRST,
- ATR_LAST,
- ATR_LENGTH,
- ATR_IMAGE,
- ATR_IMG,
- ATR_MAX,
- ATR_MIN,
- ATR_MODULUS,
- ATR_POS,
- ATR_SIZE,
- ATR_TAG,
- ATR_VAL,
-
- /* Dummy last attribute. */
- ATR_END
+enum ada_operator
+ {
+ /* X IN A'RANGE(N). N is an immediate operand, surrounded by
+ BINOP_IN_BOUNDS before and after. A is an array, X an index
+ value. Evaluates to true iff X is within range of the Nth
+ dimension (1-based) of A. (A multi-dimensional array
+ type is represented as array of array of ...) */
+ BINOP_IN_BOUNDS = OP_EXTENDED0,
+
+ /* X IN L .. U. True iff L <= X <= U. */
+ TERNOP_IN_RANGE,
+
+ /* Ada attributes ('Foo). */
+ OP_ATR_FIRST,
+ OP_ATR_LAST,
+ OP_ATR_LENGTH,
+ OP_ATR_IMAGE,
+ OP_ATR_MAX,
+ OP_ATR_MIN,
+ OP_ATR_MODULUS,
+ OP_ATR_POS,
+ OP_ATR_SIZE,
+ OP_ATR_TAG,
+ OP_ATR_VAL,
+
+ /* Ada type qualification. It is encoded as for UNOP_CAST, above,
+ and denotes the TYPE'(EXPR) construct. */
+ UNOP_QUAL,
+
+ /* X IN TYPE. The `TYPE' argument is immediate, with
+ UNOP_IN_RANGE before and after it. True iff X is a member of
+ type TYPE (typically a subrange). */
+ UNOP_IN_RANGE,
+
+ /* End marker */
+ OP_ADA_LAST
+ };
+
+/* A triple, (symbol, block, symtab), representing one instance of a
+ * symbol-lookup operation. */
+struct ada_symbol_info {
+ struct symbol* sym;
+ struct block* block;
+ struct symtab* symtab;