binutils-gdb/gdb/testsuite/gdb.base
Ulrich Weigand 3b4b2f160d Clean up some DFP interfaces
This cleans up a number of interfaces in dfp.c / dfp.h.  Specifically:

- The decimal_from_string / decimal_to_string routines are C++-ified
  to operate on std::string instead of character buffers.  In the
  decimal_from_string, the boolean return value now actually is bool
  instead of an int.

- The decimal_from_integral and decimal_from_doublest routines take
  an struct value as input.  This is not really appropriate at the low
  level the DFP routines sit, so this replaced them with new routines
  decimal_from_longest / decimal_from_ulongest / decimal_from_doublest
  that operate on contents instead.

- To mirror the decimal_from_[u]longest, a new decimal_to_longest
  routine is added as well, which can be used in unpack_long to
  avoid an unnecessary conversion via DOUBLEST.

Note that the decimal_from_longest / decimal_from_ulongest routines
are actually more powerful than decimal_from_integral: the old routine
would only accept integer *types* of at most four bytes size, while
the new routines accept all integer *values* that fit in an [u]int32_t,
no matter which type they came from.  The DFP tests are updated to
allow for this larger range of integers that can be converted.

gdb/ChangeLog:
2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>

	* dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
	(decimal_to_string): Return std::string object.
	(decimal_from_string): Accept std::string object.  Return bool.
	(decimal_from_integral, decimal_from_doublest): Remove.
	(decimal_from_longest): Add prototype.
	(decimal_from_ulongest): Likewise.
	(decimal_to_longest): Likewise.
	(decimal_from_doublest): Likewise.
	* dfp.c: Do not include "gdbtypes.h" or "value.h".
	(MAX_DECIMAL_STRING): Move here.
	(decimal_to_string): Return std::string object.
	(decimal_from_string): Accept std::string object.  Return bool.
	(decimal_from_integral): Remove, replace by ...
	(decimal_from_longest, decimal_from_ulongest): ... these new functions.
	(decimal_to_longest): New function.
	(decimal_from_floating): Remove, replace by ...
	(decimal_from_doublest): ... this new function.
	(decimal_to_doublest): Update to new decimal_to_string interface.

	* value.c (unpack_long): Use decimal_to_longest.
	* valops.c (value_cast): Use decimal_from_doublest instead of
	decimal_from_floating.  Use decimal_from_[u]longest isntead of
	decimal_from_integral.
	* valarith.c (value_args_as_decimal): Likewise.
	* valprint.c (print_decimal_floating): Update to new
	decimal_to_string interface.
	* printcmd.c (printf_decfloat): Likewise.
	* c-exp.y (parse_number): Update to new decimal_from_string interface.

gdb/testsuite/ChangeLog:
2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>

	* gdb.base/dfp-exprs.exp: Update tests to larger range of supported
	integer-to-dfp conversion.
	* gdb.base/dfp-test.exp: Likewise.
2017-10-05 19:14:08 +02:00
..
comp-dir/subdir
gdbinit-history
a2-run.exp
advance.c
advance.exp
alias.exp
all-architectures-0.exp
all-architectures-1.exp
all-architectures-2.exp
all-architectures-3.exp
all-architectures-4.exp
all-architectures-5.exp
all-architectures-6.exp
all-architectures-7.exp
all-architectures.exp.in
all-bin.exp
all-types.c
annota1.c
annota1.exp
annota3.c
annota3.exp
annota-input-while-running.c
annota-input-while-running.exp
anon.c
anon.exp
args.c
args.exp
argv0-symlink.c
argv0-symlink.exp
arithmet.exp
arrayidx.c
arrayidx.exp
asmlabel.c
asmlabel.exp
assign.exp
async-shell.c
async-shell.exp
async.c
async.exp
attach2.c
attach-pie-misread.c
attach-pie-misread.exp
attach-pie-noexec.c
attach-pie-noexec.exp
attach-twice.c
attach-twice.exp
attach-wait-input.c
attach-wait-input.exp
attach.c
attach.exp
auto-connect-native-target.c
auto-connect-native-target.exp
auto-load-script
auto-load.c
auto-load.exp
auxv.c
auxv.exp
average.c
bad-file.exp
bang.exp
bar.c
batch-preserve-term-settings.c
batch-preserve-term-settings.exp
baz.c
bfp-test.c
bfp-test.exp
bg-execution-repeat.c
bg-execution-repeat.exp
bigcore.c
bigcore.exp
bitfields2.c
bitfields2.exp
bitfields.c
bitfields.exp
bitops.exp
bp-cmds-execution-x-script.c
bp-cmds-execution-x-script.exp
bp-cmds-execution-x-script.gdb
bp-permanent.c
bp-permanent.exp
branch-to-self.c
branch-to-self.exp
break1.c
break-always.c
break-always.exp
break-caller-line.c
break-caller-line.exp
break-entry.exp
break-fun-addr1.c
break-fun-addr2.c
break-fun-addr.exp
break-idempotent.c
break-idempotent.exp
break-inline.c
break-inline.exp
break-interp-lib.c
break-interp-main.c
break-interp.exp
break-main-file-remove-fail.c
break-main-file-remove-fail.exp Stop assuming no-debug-info functions return int 2017-09-04 20:21:13 +01:00
break-on-linker-gcd-function.cc
break-on-linker-gcd-function.exp
break-probes-solib.c
break-probes.c
break-probes.exp Stop assuming no-debug-info functions return int 2017-09-04 20:21:13 +01:00
break-unload-file.c
break-unload-file.exp
break.c
break.exp
breakpoint-in-ro-region.c
breakpoint-in-ro-region.exp
breakpoint-shadow.c
breakpoint-shadow.exp
call-ar-st.c
call-ar-st.exp
call-rt-st.c
call-rt-st.exp
call-sc.c
call-sc.exp
call-signal-resume.exp
call-signals.c
call-strs.c
call-strs.exp
callexit.c
callexit.exp
callfuncs.c
callfuncs.exp
catch-fork-kill.c
catch-fork-kill.exp
catch-fork-static.exp
catch-gdb-caused-signals.c
catch-gdb-caused-signals.exp
catch-load-so.c
catch-load.c
catch-load.exp
catch-signal-fork.c
catch-signal-fork.exp
catch-signal-siginfo-cond.c
catch-signal-siginfo-cond.exp
catch-signal.c
catch-signal.exp
catch-syscall.c
catch-syscall.exp
charset-malloc.c
charset.c
charset.exp
checkpoint-ns.exp
checkpoint.c
checkpoint.exp Stop assuming no-debug-info functions return int 2017-09-04 20:21:13 +01:00
chng-syms.c
chng-syms.exp
code_elim1.c
code_elim2.c
code_elim.exp
code-expr.exp
command-line-input.exp
commands.exp
compare-sections.c
compare-sections.exp Fix FAILs in compare-sections.exp 2017-09-26 09:57:18 +01:00
completion.exp
complex.c
complex.exp
comprdebug.exp
cond-eval-mode.c
cond-eval-mode.exp
cond-expr.exp
condbreak-call-false.c
condbreak-call-false.exp
condbreak.exp
consecutive-step-over.c
consecutive-step-over.exp
consecutive.c
consecutive.exp
constvars.c
constvars.exp
continue-all-already-running.c
continue-all-already-running.exp
coredump-filter.c
coredump-filter.exp
corefile.exp
coremaker.c
ctxobj-f.c
ctxobj-m.c
ctxobj-v.c
ctxobj.exp
cursal.c
cursal.exp
cvexpr.c
cvexpr.exp
d10vovly.c
dbx.exp
dcache-line-read-error.c
dcache-line-read-error.exp
debug-expr.c
debug-expr.exp
default.exp
define.exp
del.c
del.exp
detach.exp
dfp-exprs.exp Clean up some DFP interfaces 2017-10-05 19:14:08 +02:00
dfp-test.c
dfp-test.exp Clean up some DFP interfaces 2017-10-05 19:14:08 +02:00
disabled-location.c
disabled-location.exp
disasm-end-cu-1.c
disasm-end-cu-2.c
disasm-end-cu.exp
disasm-optim.c
disasm-optim.exp
disasm-optim.h
disasm-optim.S
display.c
display.exp
dmsym_main.c
dmsym.c
dmsym.exp
double-prompt-target-event-error.c
double-prompt-target-event-error.exp
dprintf-bp-same-addr.c
dprintf-bp-same-addr.exp
dprintf-detach.c
dprintf-detach.exp Stop assuming no-debug-info functions return int 2017-09-04 20:21:13 +01:00
dprintf-next.c
dprintf-next.exp
dprintf-non-stop.c
dprintf-non-stop.exp
dprintf-pending.c
dprintf-pending.exp
dprintf-pendshr.c
dprintf.c
dprintf.exp
dso2dso-dso1.c
dso2dso-dso1.h
dso2dso-dso2.c
dso2dso-dso2.h
dso2dso.c
dso2dso.exp
dtrace-probe.c
dtrace-probe.d
dtrace-probe.exp
dump.c
dump.exp
dup-sect.exp
dup-sect.S
duplicate-bp.c
duplicate-bp.exp
echo.exp
empty_exe.exp
ena-dis-br.exp Make extract_arg return a std::string 2017-09-11 15:46:14 -06:00
ending-run.c
ending-run.exp
enum_cond.c
enum_cond.exp
enumval.c
enumval.exp
environ.exp
eu-strip-infcall.c
eu-strip-infcall.exp
eval-avoid-side-effects.exp
eval-skip.exp
eval.exp
examine-backward.c
examine-backward.exp
exe-lock.exp
exec-invalid-sysroot.exp
execd-prog.c
execl-update-breakpoints.c
execl-update-breakpoints.exp
execution-termios.c
execution-termios.exp
exitsignal.exp
expand-psymtabs.c
expand-psymtabs.exp
exprs.c
exprs.exp
fileio.c
fileio.exp
filesym.c
filesym.exp
find-unmapped.c
find-unmapped.exp
find.c
find.exp
finish.exp
fixsection.c
fixsection.exp
fixsectshr.c
float128.c
float128.exp
float.c
float.exp
floatn.c
floatn.exp
foll-exec-mode.c
foll-exec-mode.exp
foll-exec.c
foll-exec.exp
foll-fork.c
foll-fork.exp
foll-vfork-exit.c
foll-vfork.c
foll-vfork.exp
foo.c
fork-running-state.c
fork-running-state.exp
fortran-sym-case.c
fortran-sym-case.exp
frame-args.c
frame-args.exp
freebpcmd.c
freebpcmd.exp
fullname.c
fullname.exp
fullpath-expand-func.c
fullpath-expand.c
fullpath-expand.exp
func-ptr.c
func-ptr.exp
func-ptrs.c
func-ptrs.exp
funcargs.c
funcargs.exp
gcore-buffer-overflow.c
gcore-buffer-overflow.exp
gcore-relro-lib.c
gcore-relro-main.c
gcore-relro-pie.c
gcore-relro-pie.exp
gcore-relro.exp
gcore.c
gcore.exp
gdb1056.exp
gdb1090.c
gdb1090.exp
gdb1250.c
gdb1250.exp
gdb1555-main.c
gdb1555.c
gdb1555.exp
gdb1821.c
gdb1821.exp
gdb11530.c
gdb11530.exp
gdb11531.c
gdb11531.exp
gdb_history
gdb-sigterm-2.exp
gdb-sigterm.c
gdb-sigterm.exp
gdbhistsize-history.exp
gdbindex-stabs-dwarf.c
gdbindex-stabs.c
gdbindex-stabs.exp
gdbinit-history.exp
gdbvars.c
gdbvars.exp
global-var-nested-by-dso-solib1.c
global-var-nested-by-dso-solib2.c
global-var-nested-by-dso.c
global-var-nested-by-dso.exp
gnu_vector.c
gnu_vector.exp
gnu-debugdata.c
gnu-debugdata.exp
gnu-ifunc-lib.c
gnu-ifunc.c
gnu-ifunc.exp
grbx.c
hashline1.exp
hashline2.exp
hashline3.exp
hbreak2.exp
hbreak-in-shr-unsupported-shr.c
hbreak-in-shr-unsupported.c
hbreak-in-shr-unsupported.exp
hbreak-unmapped.c
hbreak-unmapped.exp
hbreak.c
hbreak.exp
help.exp
history-duplicates.exp
hook-stop.c
hook-stop.exp
huge.c
huge.exp
ifelse.exp
included.c
included.exp
included.h
infcall-exec2.c
infcall-exec.c
infcall-exec.exp Stop assuming no-debug-info functions return int 2017-09-04 20:21:13 +01:00
infcall-input.c
infcall-input.exp
inferior-died.c
inferior-died.exp
infnan.c
infnan.exp
info-fun-solib.c
info-fun.c
info-fun.exp
info-macros.c
info-macros.exp
info-os.c
info-os.exp Stop assuming no-debug-info functions return int 2017-09-04 20:21:13 +01:00
info-proc.exp
info-program.exp
info-shared-solib1.c
info-shared-solib2.c
info-shared.c
info-shared.exp
info-target.exp
infoline.c
infoline.exp
int-type.c
interact.exp
interp.c
interp.exp
interrupt-noterm.c
interrupt-noterm.exp
interrupt.c
interrupt.exp
jit-attach-pie.c
jit-attach-pie.exp
jit-dlmain.c
jit-main.c
jit-protocol.h
jit-reader.exp
jit-simple-dl.c
jit-simple-jit.c
jit-simple.c
jit-simple.exp
jit-so.exp
jit-solib.c
jit.exp
jithost.c
jithost.h
jitreader.c
jump.c
jump.exp
kill-after-signal.c
kill-after-signal.exp
kill-detach-inferiors-cmd.c
kill-detach-inferiors-cmd.exp
killed-outside.c
killed-outside.exp
label.c
label.exp
langs0.c
langs1.c
langs1.f
langs2.c
langs2.cxx
langs.exp
ldbl_e308.c
ldbl_e308.exp
line-symtabs.c
line-symtabs.exp
line-symtabs.h
lineinc1.h
lineinc2.h
lineinc3.h
lineinc.c
lineinc.exp
linespecs.exp
list0.c
list0.h
list1.c
list-ambiguous0.c Fix "list ambiguous_variable" 2017-09-20 16:12:54 +01:00
list-ambiguous1.c Fix "list ambiguous_variable" 2017-09-20 16:12:54 +01:00
list-ambiguous.exp Make "list ambiguous" show symbol names too 2017-09-20 16:21:26 +01:00
list.exp
logical.exp
long_long.c
long_long.exp
longest-types.c
longest-types.exp
longjmp.c
longjmp.exp
m32r.ld
m32rovly.c
macscp1.c
macscp2.h
macscp3.h
macscp4.h
macscp.exp Add support for __VA_OPT__ 2017-09-27 07:51:33 -06:00
maint.exp
max-value-size.c
max-value-size.exp
memattr.c
memattr.exp
mips_pro.c
mips_pro.exp
miscexprs.c
miscexprs.exp
morestack.c
morestack.exp
moribund-step.exp
multi-forks.c
multi-forks.exp
multi-line-starts-subshell.exp
nested-addr.c
nested-addr.exp
nested-subp1.c
nested-subp1.exp
nested-subp2.c
nested-subp2.exp
nested-subp3.c
nested-subp3.exp
new-ui-echo.c
new-ui-echo.exp
new-ui-pending-input.c
new-ui-pending-input.exp
new-ui.c
new-ui.exp
nextoverexit.c
nextoverexit.exp
nodebug.c Stop assuming no-debug-info variables have type int 2017-09-04 20:21:15 +01:00
nodebug.exp gdb.base/nodebug.exp: Rename called functions 2017-09-14 18:32:00 +01:00
nofield.c
nofield.exp
noreturn-finish.c
noreturn-finish.exp
noreturn-return.c
noreturn-return.exp
normal.c
nostdlib.c
nostdlib.exp
offsets.c
offsets.exp
opaque0.c
opaque1.c
opaque.exp
overlays.c
overlays.exp
ovlymgr.c
ovlymgr.h
page.exp
paginate-after-ctrl-c-running.c
paginate-after-ctrl-c-running.exp
paginate-bg-execution.c
paginate-bg-execution.exp
paginate-execution-startup.c
paginate-execution-startup.exp
paginate-inferior-exit.c
paginate-inferior-exit.exp
pc-fp.c
pc-fp.exp
pending.c
pending.exp
pendshr.c
permissions.exp
pi.txt
pie-execl.c
pie-execl.exp
pointers.c
pointers.exp
pr10179-a.c
pr10179-b.c
pr10179.exp
pr11022.c
pr11022.exp
prelink-lib.c
prelink.c
prelink.exp
print-file-var-lib1.c
print-file-var-lib2.c
print-file-var-main.c
print-file-var.exp
print-symbol-loading-lib.c
print-symbol-loading-main.c
print-symbol-loading.exp
printcmds.c
printcmds.exp
prologue-include.c
prologue-include.exp
prologue-include.h
prologue.c
prologue.exp
psymtab1.c
psymtab2.c
psymtab.exp
ptr-typedef.c
ptr-typedef.exp
ptype1.c
ptype.c
ptype.exp
quit.exp
radix.exp
random-signal.c
random-signal.exp
randomize.c
randomize.exp
range-stepping.c
range-stepping.exp
readline-ask.c
readline-ask.exp
readline-ask.inputrc
readline.exp
realname-expand-real.c
realname-expand.c
realname-expand.exp
recpar.c
recpar.exp
recurse.c
recurse.exp
relational.exp
relativedebug.c
relativedebug.exp
relocate.c
relocate.exp
remote.c
remote.exp
remotetimeout.exp
reread1.c
reread2.c
reread-readsym.c
reread-readsym.exp
reread.exp
restore.c
restore.exp
return2.c
return2.exp
return-nodebug1.c
return-nodebug.c
return-nodebug.exp
return.c
return.exp
run-after-attach.c
run-after-attach.exp
run.c
save-bp.c
save-bp.exp
savedregs.c
savedregs.exp
scope0.c
scope1.c
scope.exp
sect-cmd.exp
segv.c
sep-proc.c
sep.c
sep.exp
sepdebug2.c
sepdebug.c
sepdebug.exp
sepsymtab.c
sepsymtab.exp
set-cwd.c Implement "set cwd" command on GDB 2017-10-04 01:59:30 -04:00
set-cwd.exp Extend "set cwd" to work on gdbserver 2017-10-04 02:01:45 -04:00
set-inferior-tty.c
set-inferior-tty.exp
set-lang-auto.exp
set-noassign.exp
setshow.c
setshow.exp
setvar.c
setvar.exp
share-env-with-gdbserver.c
share-env-with-gdbserver.exp
shell.exp
shlib-call.exp
shmain.c
shr1.c
shr2.c
shreloc1.c
shreloc2.c
shreloc.c
shreloc.exp
sigall.c
sigall.exp
sigaltstack.c
sigaltstack.exp
sigbpt.c
sigbpt.exp
sigchld.c
sigchld.exp
siginfo-addr.c
siginfo-addr.exp
siginfo-infcall.c
siginfo-infcall.exp
siginfo-obj.c
siginfo-obj.exp
siginfo-thread.c
siginfo-thread.exp
siginfo.c
siginfo.exp
signals-state-child.c
signals-state-child.exp
signals.c
signals.exp
signest.c
signest.exp
signull.c
signull.exp
sigrepeat.c
sigrepeat.exp
sigstep.c
sigstep.exp
sizeof.c
sizeof.exp Cast char constant to int in sizeof.exp 2017-09-06 11:11:03 -06:00
skip1.c
skip-solib-lib.c
skip-solib-main.c
skip-solib.exp
skip.c
skip.exp
so-disc-shr.c
so-impl-ld.c
so-impl-ld.exp
solib1.c
solib-corrupted.exp
solib-disc.c
solib-disc.exp
solib-display-lib.c
solib-display-main.c
solib-display.exp Stop assuming no-debug-info variables have type int 2017-09-04 20:21:15 +01:00
solib-nodir.exp
solib-overlap-lib.c
solib-overlap-main.c
solib-overlap.exp
solib-search-lib1.c
solib-search-lib2.c
solib-search.c
solib-search.exp
solib-search.h
solib-symbol-lib.c
solib-symbol-main.c
solib-symbol.exp
solib-weak.c
solib-weak.exp
source-dir.exp
source-error.gdb
source-execution.c
source-execution.exp
source-execution.gdb
source-nofile.gdb
source-test.gdb
source.exp
spu.ld
ss.h
sss-bp-on-user-bp-2.c
sss-bp-on-user-bp-2.exp
sss-bp-on-user-bp.c
sss-bp-on-user-bp.exp
stack-checking.c
stack-checking.exp
stale-infcall.c
stale-infcall.exp
stap-probe.c
stap-probe.exp
start.c
start.exp
starti.c Add a 'starti' command. 2017-09-19 12:15:35 -07:00
starti.exp Add a 'starti' command. 2017-09-19 12:15:35 -07:00
startup-with-shell.c
startup-with-shell.exp
statistics.exp
step-break.c
step-break.exp
step-bt.c
step-bt.exp
step-line.c
step-line.exp
step-line.inp
step-over-clone.c
step-over-exit.c
step-over-exit.exp
step-over-fork.c
step-over-no-symbols.exp
step-over-syscall.exp
step-over-vfork.c
step-resume-infcall.c
step-resume-infcall.exp
step-sw-breakpoint-adjust-pc.c
step-sw-breakpoint-adjust-pc.exp
step-symless.c
step-symless.exp
step-test.c
step-test.exp
store.c
store.exp
structs2.c
structs2.exp
structs3.c
structs3.exp
structs.c
structs.exp
subst.exp
sum.c
sym-file-lib.c
sym-file-loader.c
sym-file-loader.h
sym-file-main.c
sym-file.exp
symbol-alias2.c
symbol-alias.c
symbol-alias.exp
symbol-without-target_section.c
symbol-without-target_section.exp
symtab-search-order-1.c
symtab-search-order-shlib-1.c
symtab-search-order.c
symtab-search-order.exp
term.c
term.exp
testenv.c
testenv.exp
trace-commands.exp
twice.c
twice.exp
type-opaque-lib.c
type-opaque-main.c
type-opaque.exp
ui-redirect.exp
unload.c
unload.exp
unloadshr2.c
unloadshr.c
until-nodebug.exp
until.exp
unwindonsignal.c
unwindonsignal.exp
valgrind-db-attach.c
valgrind-db-attach.exp
valgrind-disp-step.c
valgrind-disp-step.exp
valgrind-infcall.c
valgrind-infcall.exp
value-double-free.c
value-double-free.exp
varargs.c
varargs.exp
vdso-warning.c
vdso-warning.exp
vforked-prog.c
vla-datatypes.c
vla-datatypes.exp
vla-ptr.c
vla-ptr.exp
vla-sideeffect.c
vla-sideeffect.exp
vla-stub-define.c
vla-stub.c
vla-stub.exp
volatile.exp
watch_thread_num.c
watch_thread_num.exp
watch-bitfields.c
watch-bitfields.exp
watch-cond-infcall.c
watch-cond-infcall.exp
watch-cond.c
watch-cond.exp
watch-non-mem.c
watch-non-mem.exp
watch-read.c
watch-read.exp
watch-vfork.c
watch-vfork.exp
watchpoint-cond-gone-stripped.c
watchpoint-cond-gone.c
watchpoint-cond-gone.exp
watchpoint-delete.c
watchpoint-delete.exp
watchpoint-hw-hit-once.c
watchpoint-hw-hit-once.exp
watchpoint-hw.c
watchpoint-hw.exp
watchpoint-reuse-slot.c
watchpoint-reuse-slot.exp
watchpoint-solib-shr.c
watchpoint-solib.c
watchpoint-solib.exp
watchpoint-stops-at-right-insn.c
watchpoint-stops-at-right-insn.exp
watchpoint.c
watchpoint.exp
watchpoints.c
watchpoints.exp
wchar.c
wchar.exp
weaklib1.c
weaklib2.c
whatis-exp.exp
whatis-ptype-typedefs.c
whatis-ptype-typedefs.exp
whatis.c
whatis.exp
wrong_frame_bt_full-main.c
wrong_frame_bt_full-opaque.c
wrong_frame_bt_full.exp