mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-29 04:53:56 +08:00
2007-10-09 Pedro Alves <pedro_alves@portugalmail.pt>
* gdb.base/whatis.c (v_long_long, v_signed_long_long) (v_unsigned_long_long, v_long_long_array) (v_signed_long_long_array, v_unsigned_long_long_array) (slong_long_addr, a_slong_long_addr, v_long_long_pointer) (v_signed_long_long_pointer, v_unsigned_long_long_pointer) [!NO_LONG_LONG]: New. (t_struct, v_struct2, t_union, v_union2) [!NO_LONG_LONG]: Add v_long_long_member. (v_long_long_func, v_signed_long_long_func) (v_unsigned_long_long_func) [!NO_LONG_LONG]: New. (main) [!NO_LONG_LONG]: Initialize long long variants. * gdb.base/whatis.exp: If board file requests no_long_long, build test with NO_LONG_LONG defined. Test long long, signed long long, and unsigned long long variants but only if board file doesn't disable it.
This commit is contained in:
parent
a269972030
commit
64b2fa0474
@ -1,3 +1,23 @@
|
|||||||
|
2007-10-09 Pedro Alves <pedro_alves@portugalmail.pt>
|
||||||
|
|
||||||
|
* gdb.base/whatis.c (v_long_long, v_signed_long_long)
|
||||||
|
(v_unsigned_long_long, v_long_long_array)
|
||||||
|
(v_signed_long_long_array, v_unsigned_long_long_array)
|
||||||
|
(slong_long_addr, a_slong_long_addr, v_long_long_pointer)
|
||||||
|
(v_signed_long_long_pointer, v_unsigned_long_long_pointer)
|
||||||
|
[!NO_LONG_LONG]: New.
|
||||||
|
(t_struct, v_struct2, t_union, v_union2) [!NO_LONG_LONG]: Add
|
||||||
|
v_long_long_member.
|
||||||
|
|
||||||
|
(v_long_long_func, v_signed_long_long_func)
|
||||||
|
(v_unsigned_long_long_func) [!NO_LONG_LONG]: New.
|
||||||
|
(main) [!NO_LONG_LONG]: Initialize long long variants.
|
||||||
|
|
||||||
|
* gdb.base/whatis.exp: If board file requests no_long_long, build
|
||||||
|
test with NO_LONG_LONG defined. Test long long, signed long long,
|
||||||
|
and unsigned long long variants but only if board file doesn't
|
||||||
|
disable it.
|
||||||
|
|
||||||
2007-10-08 Pierre Muller <muller@ics.u-strasbg.fr>
|
2007-10-08 Pierre Muller <muller@ics.u-strasbg.fr>
|
||||||
Daniel Jacobowitz <dan@codesourcery.com>
|
Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
|
@ -42,6 +42,12 @@ long v_long;
|
|||||||
signed long v_signed_long;
|
signed long v_signed_long;
|
||||||
unsigned long v_unsigned_long;
|
unsigned long v_unsigned_long;
|
||||||
|
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
long long v_long_long;
|
||||||
|
signed long long v_signed_long_long;
|
||||||
|
unsigned long long v_unsigned_long_long;
|
||||||
|
#endif
|
||||||
|
|
||||||
float v_float;
|
float v_float;
|
||||||
double v_double;
|
double v_double;
|
||||||
|
|
||||||
@ -68,6 +74,12 @@ long v_long_array[2];
|
|||||||
signed long v_signed_long_array[2];
|
signed long v_signed_long_array[2];
|
||||||
unsigned long v_unsigned_long_array[2];
|
unsigned long v_unsigned_long_array[2];
|
||||||
|
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
long long v_long_long_array[2];
|
||||||
|
signed long long v_signed_long_long_array[2];
|
||||||
|
unsigned long long v_unsigned_long_long_array[2];
|
||||||
|
#endif
|
||||||
|
|
||||||
float v_float_array[2];
|
float v_float_array[2];
|
||||||
double v_double_array[2];
|
double v_double_array[2];
|
||||||
|
|
||||||
@ -83,6 +95,10 @@ typedef unsigned short *ushort_addr;
|
|||||||
static ushort_addr a_ushort_addr;
|
static ushort_addr a_ushort_addr;
|
||||||
typedef signed long *slong_addr;
|
typedef signed long *slong_addr;
|
||||||
static slong_addr a_slong_addr;
|
static slong_addr a_slong_addr;
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
typedef signed long long *slong_long_addr;
|
||||||
|
static slong_long_addr a_slong_long_addr;
|
||||||
|
#endif
|
||||||
|
|
||||||
char *v_char_pointer;
|
char *v_char_pointer;
|
||||||
signed char *v_signed_char_pointer;
|
signed char *v_signed_char_pointer;
|
||||||
@ -100,6 +116,12 @@ long *v_long_pointer;
|
|||||||
signed long *v_signed_long_pointer;
|
signed long *v_signed_long_pointer;
|
||||||
unsigned long *v_unsigned_long_pointer;
|
unsigned long *v_unsigned_long_pointer;
|
||||||
|
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
long long *v_long_long_pointer;
|
||||||
|
signed long long *v_signed_long_long_pointer;
|
||||||
|
unsigned long long *v_unsigned_long_long_pointer;
|
||||||
|
#endif
|
||||||
|
|
||||||
float *v_float_pointer;
|
float *v_float_pointer;
|
||||||
double *v_double_pointer;
|
double *v_double_pointer;
|
||||||
|
|
||||||
@ -110,6 +132,9 @@ struct t_struct {
|
|||||||
short v_short_member;
|
short v_short_member;
|
||||||
int v_int_member;
|
int v_int_member;
|
||||||
long v_long_member;
|
long v_long_member;
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
long long v_long_long_member;
|
||||||
|
#endif
|
||||||
float v_float_member;
|
float v_float_member;
|
||||||
double v_double_member;
|
double v_double_member;
|
||||||
} v_struct1;
|
} v_struct1;
|
||||||
@ -119,6 +144,9 @@ struct {
|
|||||||
short v_short_member;
|
short v_short_member;
|
||||||
int v_int_member;
|
int v_int_member;
|
||||||
long v_long_member;
|
long v_long_member;
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
long long v_long_long_member;
|
||||||
|
#endif
|
||||||
float v_float_member;
|
float v_float_member;
|
||||||
double v_double_member;
|
double v_double_member;
|
||||||
} v_struct2;
|
} v_struct2;
|
||||||
@ -130,6 +158,9 @@ union t_union {
|
|||||||
short v_short_member;
|
short v_short_member;
|
||||||
int v_int_member;
|
int v_int_member;
|
||||||
long v_long_member;
|
long v_long_member;
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
long long v_long_long_member;
|
||||||
|
#endif
|
||||||
float v_float_member;
|
float v_float_member;
|
||||||
double v_double_member;
|
double v_double_member;
|
||||||
} v_union;
|
} v_union;
|
||||||
@ -139,6 +170,9 @@ union {
|
|||||||
short v_short_member;
|
short v_short_member;
|
||||||
int v_int_member;
|
int v_int_member;
|
||||||
long v_long_member;
|
long v_long_member;
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
long long v_long_long_member;
|
||||||
|
#endif
|
||||||
float v_float_member;
|
float v_float_member;
|
||||||
double v_double_member;
|
double v_double_member;
|
||||||
} v_union2;
|
} v_union2;
|
||||||
@ -161,6 +195,12 @@ long v_long_func () { return (0); }
|
|||||||
signed long v_signed_long_func () { return (0); }
|
signed long v_signed_long_func () { return (0); }
|
||||||
unsigned long v_unsigned_long_func () { return (0); }
|
unsigned long v_unsigned_long_func () { return (0); }
|
||||||
|
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
long long v_long_long_func () { return (0); }
|
||||||
|
signed long long v_signed_long_long_func () { return (0); }
|
||||||
|
unsigned long long v_unsigned_long_long_func () { return (0); }
|
||||||
|
#endif
|
||||||
|
|
||||||
float v_float_func () { return (0.0); }
|
float v_float_func () { return (0.0); }
|
||||||
double v_double_func () { return (0.0); }
|
double v_double_func () { return (0.0); }
|
||||||
|
|
||||||
@ -229,7 +269,13 @@ int main ()
|
|||||||
v_long = 9;
|
v_long = 9;
|
||||||
v_signed_long = 10;
|
v_signed_long = 10;
|
||||||
v_unsigned_long = 11;
|
v_unsigned_long = 11;
|
||||||
|
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
v_long_long = 12;
|
||||||
|
v_signed_long_long = 13;
|
||||||
|
v_unsigned_long_long = 14;
|
||||||
|
#endif
|
||||||
|
|
||||||
v_float = 100.0;
|
v_float = 100.0;
|
||||||
v_double = 200.0;
|
v_double = 200.0;
|
||||||
|
|
||||||
@ -250,6 +296,12 @@ int main ()
|
|||||||
v_signed_long_array[0] = v_signed_long;
|
v_signed_long_array[0] = v_signed_long;
|
||||||
v_unsigned_long_array[0] = v_unsigned_long;
|
v_unsigned_long_array[0] = v_unsigned_long;
|
||||||
|
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
v_long_long_array[0] = v_long_long;
|
||||||
|
v_signed_long_long_array[0] = v_signed_long_long;
|
||||||
|
v_unsigned_long_long_array[0] = v_unsigned_long_long;
|
||||||
|
#endif
|
||||||
|
|
||||||
v_float_array[0] = v_float;
|
v_float_array[0] = v_float;
|
||||||
v_double_array[0] = v_double;
|
v_double_array[0] = v_double;
|
||||||
|
|
||||||
@ -269,6 +321,12 @@ int main ()
|
|||||||
v_signed_long_pointer = &v_signed_long;
|
v_signed_long_pointer = &v_signed_long;
|
||||||
v_unsigned_long_pointer = &v_unsigned_long;
|
v_unsigned_long_pointer = &v_unsigned_long;
|
||||||
|
|
||||||
|
#ifndef NO_LONG_LONG
|
||||||
|
v_long_long_pointer = &v_long_long;
|
||||||
|
v_signed_long_long_pointer = &v_signed_long_long;
|
||||||
|
v_unsigned_long_long_pointer = &v_unsigned_long_long;
|
||||||
|
#endif
|
||||||
|
|
||||||
v_float_pointer = &v_float;
|
v_float_pointer = &v_float;
|
||||||
v_double_pointer = &v_double;
|
v_double_pointer = &v_double;
|
||||||
|
|
||||||
|
@ -26,10 +26,16 @@ if $tracelevel {
|
|||||||
set prms_id 0
|
set prms_id 0
|
||||||
set bug_id 0
|
set bug_id 0
|
||||||
|
|
||||||
|
if [target_info exists no_long_long] {
|
||||||
|
set exec_opts [list debug additional_flags=-DNO_LONG_LONG]
|
||||||
|
} else {
|
||||||
|
set exec_opts [list debug]
|
||||||
|
}
|
||||||
|
|
||||||
set testfile whatis
|
set testfile whatis
|
||||||
set srcfile ${testfile}.c
|
set srcfile ${testfile}.c
|
||||||
set binfile ${objdir}/${subdir}/${testfile}
|
set binfile ${objdir}/${subdir}/${testfile}
|
||||||
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
|
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $exec_opts] != "" } {
|
||||||
untested whatis.exp
|
untested whatis.exp
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
@ -124,6 +130,13 @@ gdb_test "whatis v_unsigned_long" \
|
|||||||
"type = (unsigned long|long unsigned int)" \
|
"type = (unsigned long|long unsigned int)" \
|
||||||
"whatis unsigned long"
|
"whatis unsigned long"
|
||||||
|
|
||||||
|
|
||||||
|
if ![target_info exists no_long_long] {
|
||||||
|
gdb_test "whatis v_unsigned_long_long" \
|
||||||
|
"type = (unsigned long long|long long unsigned int)" \
|
||||||
|
"whatis unsigned long long"
|
||||||
|
}
|
||||||
|
|
||||||
gdb_test "whatis v_float" \
|
gdb_test "whatis v_float" \
|
||||||
"type = float" \
|
"type = float" \
|
||||||
"whatis float"
|
"whatis float"
|
||||||
@ -188,6 +201,12 @@ gdb_test "whatis v_unsigned_long_array" \
|
|||||||
"type = (unsigned (int|long|long int)|long unsigned int) \\\[2\\\]" \
|
"type = (unsigned (int|long|long int)|long unsigned int) \\\[2\\\]" \
|
||||||
"whatis unsigned long array"
|
"whatis unsigned long array"
|
||||||
|
|
||||||
|
if ![target_info exists no_long_long] {
|
||||||
|
gdb_test "whatis v_unsigned_long_long_array" \
|
||||||
|
"type = (unsigned long long|long long unsigned int) \\\[2\\\]" \
|
||||||
|
"whatis unsigned long array"
|
||||||
|
}
|
||||||
|
|
||||||
gdb_test "whatis v_float_array" \
|
gdb_test "whatis v_float_array" \
|
||||||
"type = float \\\[2\\\]" \
|
"type = float \\\[2\\\]" \
|
||||||
"whatis float array"
|
"whatis float array"
|
||||||
@ -251,6 +270,20 @@ gdb_test "whatis v_unsigned_long_pointer" \
|
|||||||
"type = (unsigned (int|long|long int)|long unsigned int) \\*" \
|
"type = (unsigned (int|long|long int)|long unsigned int) \\*" \
|
||||||
"whatis unsigned long pointer"
|
"whatis unsigned long pointer"
|
||||||
|
|
||||||
|
if ![target_info exists no_long_long] {
|
||||||
|
gdb_test "whatis v_long_long_pointer" \
|
||||||
|
"type = long long(| int) \\*" \
|
||||||
|
"whatis long long pointer"
|
||||||
|
|
||||||
|
gdb_test "whatis v_signed_long_long_pointer" \
|
||||||
|
"type = (signed |)long long(| int) \\*" \
|
||||||
|
"whatis signed long long pointer"
|
||||||
|
|
||||||
|
gdb_test "whatis v_unsigned_long_long_pointer" \
|
||||||
|
"type = (unsigned long long|long long unsigned int) \\*" \
|
||||||
|
"whatis unsigned long long pointer"
|
||||||
|
}
|
||||||
|
|
||||||
gdb_test "whatis v_float_pointer" \
|
gdb_test "whatis v_float_pointer" \
|
||||||
"type = float \\*" \
|
"type = float \\*" \
|
||||||
"whatis float pointer"
|
"whatis float pointer"
|
||||||
@ -353,6 +386,20 @@ gdb_test "whatis v_unsigned_long_func" \
|
|||||||
"type = (unsigned (int|long|long int)|long unsigned int) \\($void\\)" \
|
"type = (unsigned (int|long|long int)|long unsigned int) \\($void\\)" \
|
||||||
"whatis unsigned long function"
|
"whatis unsigned long function"
|
||||||
|
|
||||||
|
if ![target_info exists no_long_long] {
|
||||||
|
gdb_test "whatis v_long_long_func" \
|
||||||
|
"type = long long(| int) \\($void\\)" \
|
||||||
|
"whatis long long function"
|
||||||
|
|
||||||
|
gdb_test "whatis v_signed_long_long_func" \
|
||||||
|
"type = (signed |)long long(| int) \\($void\\)" \
|
||||||
|
"whatis signed long long function"
|
||||||
|
|
||||||
|
gdb_test "whatis v_unsigned_long_long_func" \
|
||||||
|
"type = (unsigned long long(| int)|long long unsigned int) \\($void\\)" \
|
||||||
|
"whatis unsigned long long function"
|
||||||
|
}
|
||||||
|
|
||||||
# Sun /bin/cc calls this a function returning double.
|
# Sun /bin/cc calls this a function returning double.
|
||||||
if {!$gcc_compiled} then {setup_xfail "*-sun-sunos4*"}
|
if {!$gcc_compiled} then {setup_xfail "*-sun-sunos4*"}
|
||||||
gdb_test "whatis v_float_func" \
|
gdb_test "whatis v_float_func" \
|
||||||
|
Loading…
Reference in New Issue
Block a user