diff options
author | Pierre Muller <muller@sourceware.org> | 2000-06-19 10:14:22 +0000 |
---|---|---|
committer | Pierre Muller <muller@sourceware.org> | 2000-06-19 10:14:22 +0000 |
commit | 750ba3824fea2961470efaf68b77255c2d0228a3 (patch) | |
tree | 7aff6cb34348553d6d9d062fbfdaaf1929aa62b3 | |
parent | 919e40930fa6452837aee357dbb3eae76e0becbb (diff) | |
download | gdb-750ba3824fea2961470efaf68b77255c2d0228a3.zip gdb-750ba3824fea2961470efaf68b77255c2d0228a3.tar.gz gdb-750ba3824fea2961470efaf68b77255c2d0228a3.tar.bz2 |
* defs.h: define language_pascal in language enumeration.
* language.h: define _LANG_pascal macro.
* language.c: add language_pascal support in all language dependant functions.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/defs.h | 3 | ||||
-rw-r--r-- | gdb/language.c | 29 | ||||
-rw-r--r-- | gdb/language.h | 3 |
4 files changed, 39 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 55a1a49..f67c9ca 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2000-06-16 Pierre Muller <muller@ics.u-strasbg.fr> + + * defs.h: define language_pascal in language enumeration. + * language.h: define _LANG_pascal macro. + * language.c: add language_pascal support in all language dependant + functions. + Sun Jun 18 01:01:09 2000 Andrew Cagney <cagney@b1.cygnus.com> * mips-tdep.c (mips_debug): New variable. @@ -196,7 +196,8 @@ enum language language_fortran, /* Fortran */ language_m2, /* Modula-2 */ language_asm, /* Assembly language */ - language_scm /* Scheme / Guile */ + language_scm, /* Scheme / Guile */ + language_pascal /* Pascal */ }; enum precision_type diff --git a/gdb/language.c b/gdb/language.c index 60f43d3..fd81f67 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -814,6 +814,7 @@ integral_type (type) return (TYPE_CODE (type) != TYPE_CODE_INT) && (TYPE_CODE (type) != TYPE_CODE_ENUM) ? 0 : 1; case language_m2: + case language_pascal: return TYPE_CODE (type) != TYPE_CODE_INT ? 0 : 1; case language_chill: error ("Missing Chill support in function integral_type."); /*FIXME */ @@ -849,6 +850,7 @@ character_type (type) { case language_chill: case language_m2: + case language_pascal: return TYPE_CODE (type) != TYPE_CODE_CHAR ? 0 : 1; case language_c: @@ -871,6 +873,7 @@ string_type (type) { case language_chill: case language_m2: + case language_pascal: return TYPE_CODE (type) != TYPE_CODE_STRING ? 0 : 1; case language_c: @@ -935,6 +938,11 @@ structured_type (type) return (TYPE_CODE (type) == TYPE_CODE_STRUCT) || (TYPE_CODE (type) == TYPE_CODE_UNION) || (TYPE_CODE (type) == TYPE_CODE_ARRAY); + case language_pascal: + return (TYPE_CODE(type) == TYPE_CODE_STRUCT) || + (TYPE_CODE(type) == TYPE_CODE_UNION) || + (TYPE_CODE(type) == TYPE_CODE_SET) || + (TYPE_CODE(type) == TYPE_CODE_ARRAY); case language_m2: return (TYPE_CODE (type) == TYPE_CODE_STRUCT) || (TYPE_CODE (type) == TYPE_CODE_SET) || @@ -966,7 +974,11 @@ lang_bool_type () } return builtin_type_f_logical_s2; case language_cplus: - sym = lookup_symbol ("bool", NULL, VAR_NAMESPACE, NULL, NULL); + case language_pascal: + if (current_language->la_language==language_cplus) + {sym = lookup_symbol ("bool", NULL, VAR_NAMESPACE, NULL, NULL);} + else + {sym = lookup_symbol ("boolean", NULL, VAR_NAMESPACE, NULL, NULL);} if (sym) { type = SYMBOL_TYPE (sym); @@ -1160,6 +1172,21 @@ binop_type_check (arg1, arg2, op) } #endif +#ifdef _LANG_pascal + case language_pascal: + switch(op) + { + case BINOP_DIV: + if (!float_type(t1) && !float_type(t2)) + type_op_error ("Arguments to %s must be floating point numbers.",op); + break; + case BINOP_INTDIV: + if (!integral_type(t1) || !integral_type(t2)) + type_op_error ("Arguments to %s must be of integral type.",op); + break; + } +#endif + #ifdef _LANG_chill case language_chill: error ("Missing Chill support in function binop_type_check."); /*FIXME */ diff --git a/gdb/language.h b/gdb/language.h index 185bc91..8de751d 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -35,7 +35,8 @@ struct expression; #define _LANG_c #define _LANG_m2 #define _LANG_chill -#define _LANG_fortran +#define _LANG_fortran +#define _LANG_pascal #define MAX_FORTRAN_DIMS 7 /* Maximum number of F77 array dims */ |