2003-02-04 David Carlton <carlton@math.stanford.edu>

* gdb.texinfo (C@t{++}): Recommend DWARF 2, then stabs+.
	(Variables): Recommend stabs+ and DWARF 2.
	(C plus plus expressions): Correct info about
	compiler versions, debug formats.
	(Contributors): Change 'DWARF2' to 'DWARF 2'.
	PR symtab/874.

2003-02-04  David Carlton  <carlton@math.stanford.edu>

	* gdb.c++/overload.exp: Test intToChar(1).
	* gdb.c++/overload.cc (intToChar): New.
	(main): Call intToChar.
This commit is contained in:
David Carlton 2003-02-04 21:19:27 +00:00
parent 0179ffacc7
commit 1c5cb38e90
6 changed files with 34 additions and 16 deletions

View file

@ -1,3 +1,10 @@
2003-02-04 David Carlton <carlton@math.stanford.edu>
* gdbtypes.h: Delete INTEGER_COERCION_BADNESS,
FLOAT_COERCION_BADNESS.
* gdbtypes.c (rank_one_type): Replace all uses of
INTEGER_COERCION_BADNESS by INTEGER_CONVERSION_BADNESS.
2003-02-04 Jim Blandy <jimb@redhat.com>
* dwarf2read.c (dwarf2_locate_sections): When we find a macro info

View file

@ -2591,7 +2591,7 @@ rank_one_type (struct type *parm, struct type *arg)
if (TYPE_NOSIGN (arg)) /* plain char -> plain char */
return 0;
else
return INTEGER_COERCION_BADNESS; /* signed/unsigned char -> plain char */
return INTEGER_CONVERSION_BADNESS; /* signed/unsigned char -> plain char */
}
else if (TYPE_UNSIGNED (parm))
{
@ -2604,13 +2604,13 @@ rank_one_type (struct type *parm, struct type *arg)
&& integer_types_same_name_p (TYPE_NAME (parm), "long"))
return INTEGER_PROMOTION_BADNESS; /* unsigned int -> unsigned long */
else
return INTEGER_COERCION_BADNESS; /* unsigned long -> unsigned int */
return INTEGER_CONVERSION_BADNESS; /* unsigned long -> unsigned int */
}
else
{
if (integer_types_same_name_p (TYPE_NAME (arg), "long")
&& integer_types_same_name_p (TYPE_NAME (parm), "int"))
return INTEGER_COERCION_BADNESS; /* signed long -> unsigned int */
return INTEGER_CONVERSION_BADNESS; /* signed long -> unsigned int */
else
return INTEGER_CONVERSION_BADNESS; /* signed int/long -> unsigned int/long */
}
@ -2623,15 +2623,15 @@ rank_one_type (struct type *parm, struct type *arg)
&& integer_types_same_name_p (TYPE_NAME (parm), "long"))
return INTEGER_PROMOTION_BADNESS;
else
return INTEGER_COERCION_BADNESS;
return INTEGER_CONVERSION_BADNESS;
}
else
return INTEGER_COERCION_BADNESS;
return INTEGER_CONVERSION_BADNESS;
}
else if (TYPE_LENGTH (arg) < TYPE_LENGTH (parm))
return INTEGER_PROMOTION_BADNESS;
else
return INTEGER_COERCION_BADNESS;
return INTEGER_CONVERSION_BADNESS;
case TYPE_CODE_ENUM:
case TYPE_CODE_CHAR:
case TYPE_CODE_RANGE:
@ -2653,7 +2653,7 @@ rank_one_type (struct type *parm, struct type *arg)
case TYPE_CODE_RANGE:
case TYPE_CODE_BOOL:
case TYPE_CODE_ENUM:
return INTEGER_COERCION_BADNESS;
return INTEGER_CONVERSION_BADNESS;
case TYPE_CODE_FLT:
return INT_FLOAT_CONVERSION_BADNESS;
default:
@ -2666,12 +2666,12 @@ rank_one_type (struct type *parm, struct type *arg)
case TYPE_CODE_RANGE:
case TYPE_CODE_BOOL:
case TYPE_CODE_ENUM:
return INTEGER_COERCION_BADNESS;
return INTEGER_CONVERSION_BADNESS;
case TYPE_CODE_FLT:
return INT_FLOAT_CONVERSION_BADNESS;
case TYPE_CODE_INT:
if (TYPE_LENGTH (arg) > TYPE_LENGTH (parm))
return INTEGER_COERCION_BADNESS;
return INTEGER_CONVERSION_BADNESS;
else if (TYPE_LENGTH (arg) < TYPE_LENGTH (parm))
return INTEGER_PROMOTION_BADNESS;
/* >>> !! else fall through !! <<< */
@ -2683,7 +2683,7 @@ rank_one_type (struct type *parm, struct type *arg)
if (TYPE_NOSIGN (arg))
return 0;
else
return INTEGER_COERCION_BADNESS;
return INTEGER_CONVERSION_BADNESS;
}
else if (TYPE_UNSIGNED (parm))
{
@ -2695,7 +2695,7 @@ rank_one_type (struct type *parm, struct type *arg)
else if (!TYPE_NOSIGN (arg) && !TYPE_UNSIGNED (arg))
return 0;
else
return INTEGER_COERCION_BADNESS;
return INTEGER_CONVERSION_BADNESS;
default:
return INCOMPATIBLE_TYPE_BADNESS;
}
@ -2708,7 +2708,7 @@ rank_one_type (struct type *parm, struct type *arg)
case TYPE_CODE_RANGE:
case TYPE_CODE_BOOL:
case TYPE_CODE_ENUM:
return INTEGER_COERCION_BADNESS;
return INTEGER_CONVERSION_BADNESS;
case TYPE_CODE_FLT:
return INT_FLOAT_CONVERSION_BADNESS;
default:

View file

@ -1211,10 +1211,6 @@ extern int count_virtual_fns (struct type *);
#define TOO_FEW_PARAMS_BADNESS 100
/* Badness if no conversion among types */
#define INCOMPATIBLE_TYPE_BADNESS 100
/* Badness of coercing large integer to smaller size */
#define INTEGER_COERCION_BADNESS 100
/* Badness of coercing large floating type to smaller size */
#define FLOAT_COERCION_BADNESS 100
/* Badness of integral promotion */
#define INTEGER_PROMOTION_BADNESS 1

View file

@ -1,3 +1,9 @@
2003-02-04 David Carlton <carlton@math.stanford.edu>
* gdb.c++/overload.exp: Test intToChar(1).
* gdb.c++/overload.cc (intToChar): New.
(main): Call intToChar.
2003-02-03 David Carlton <carlton@math.stanford.edu>
* gdb.c++/ovldbreak.exp (continue_to_bp_overloaded): Add

View file

@ -45,6 +45,11 @@ int overloadargs (int a1, int a2, int a3, int a4, int a5, int a6, int a7,
};
int intToChar (char c)
{
return 297;
}
void marker1()
{}
@ -72,6 +77,8 @@ int main ()
breakpoint();
#endif
// Verify that intToChar should work:
intToChar(1);
marker1();
return 0;

View file

@ -378,3 +378,5 @@ gdb_test "list foo::overloadfnarg(int, int (*)(int))" \
gdb_test "list \"foo::overloadfnarg(int, int (*)(int))\"" \
"int foo::overloadfnarg.*\\(int arg, int \\(\\*foo\\) \\(int\\)\\).*" \
"list overloaded function with function ptr args - quotes around argument"
gdb_test "print intToChar(1)" ".\[0-9\]* = 297"