summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp
Commit message (Collapse)AuthorAgeFilesLines
* Remove superfluous semicolons from testsuite throughout.Pedro Alves2013-06-072-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few months ago semicolons after "return" were removed throughout the testsuite. However, as I pointed out in review, they're unnecessary not just after "return", but pretty much after any tcl command. ';' is the command separator, and you only need it if there's another command on the same line afterwards. This patch was written by running: $ find . -name "*.exp" | xargs grep -l ";\s*$" | xargs sed -i 's/\([^#][^\s*;]*\)\s*;\s*$/\1/' and then undoing changes to comments, and lib/future.exp. Tested on x86_64 Fedora 17. gdb/testsuite/ 2013-06-07 Pedro Alves <palves@redhat.com> * boards/native-extended-gdbserver.exp: Remove semicolon. * config/arm-ice.exp: Likewise. * config/bfin.exp: Likewise. * config/cygmon.exp: Likewise. * config/h8300.exp: Likewise. * config/monitor.exp: Likewise. * config/sid.exp: Likewise. * config/sim.exp: Likewise. * config/slite.exp: Likewise. * config/vx.exp: Likewise. * gdb.arch/i386-bp_permanent.exp: Likewise. * gdb.asm/asm-source.exp: Likewise. * gdb.base/args.exp: Likewise. * gdb.base/attach-pie-misread.exp: Likewise. * gdb.base/auxv.exp: Likewise. * gdb.base/bigcore.exp: Likewise. * gdb.base/bitfields2.exp: Likewise. * gdb.base/bitfields.exp: Likewise. * gdb.base/break.exp: Likewise. * gdb.base/break-interp.exp: Likewise. * gdb.base/callfuncs.exp: Likewise. * gdb.base/call-sc.exp: Likewise. * gdb.base/commands.exp: Likewise. * gdb.base/corefile.exp: Likewise. * gdb.base/dbx.exp: Likewise. * gdb.base/ending-run.exp: Likewise. * gdb.base/exprs.exp: Likewise. * gdb.base/funcargs.exp: Likewise. * gdb.base/hbreak2.exp: Likewise. * gdb.base/huge.exp: Likewise. * gdb.base/list.exp: Likewise. * gdb.base/memattr.exp: Likewise. * gdb.base/overlays.exp: Likewise. * gdb.base/printcmds.exp: Likewise. * gdb.base/recurse.exp: Likewise. * gdb.base/remotetimeout.exp: Likewise. * gdb.base/reread.exp: Likewise. * gdb.base/savedregs.exp: Likewise. * gdb.base/scope.exp: Likewise. * gdb.base/sepdebug.exp: Likewise. * gdb.base/setshow.exp: Likewise. * gdb.base/setvar.exp: Likewise. * gdb.base/sigaltstack.exp: Likewise. * gdb.base/siginfo-addr.exp: Likewise. * gdb.base/siginfo.exp: Likewise. * gdb.base/siginfo-obj.exp: Likewise. * gdb.base/sigrepeat.exp: Likewise. * gdb.base/sigstep.exp: Likewise. * gdb.base/structs.exp: Likewise. * gdb.base/testenv.exp: Likewise. * gdb.base/twice.exp: Likewise. * gdb.base/valgrind-db-attach.exp: Likewise. * gdb.base/valgrind-infcall.exp: Likewise. * gdb.base/varargs.exp: Likewise. * gdb.base/watchpoint.exp: Likewise. * gdb.cp/gdb1355.exp: Likewise. * gdb.cp/misc.exp: Likewise. * gdb.disasm/hppa.exp: Likewise. * gdb.disasm/t01_mov.exp: Likewise. * gdb.disasm/t02_mova.exp: Likewise. * gdb.disasm/t03_add.exp: Likewise. * gdb.disasm/t04_sub.exp: Likewise. * gdb.disasm/t05_cmp.exp: Likewise. * gdb.disasm/t06_ari2.exp: Likewise. * gdb.disasm/t07_ari3.exp: Likewise. * gdb.disasm/t08_or.exp: Likewise. * gdb.disasm/t09_xor.exp: Likewise. * gdb.disasm/t10_and.exp: Likewise. * gdb.disasm/t11_logs.exp: Likewise. * gdb.disasm/t12_bit.exp: Likewise. * gdb.disasm/t13_otr.exp: Likewise. * gdb.gdb/selftest.exp: Likewise. * gdb.hp/gdb.base-hp/callfwmall.exp: Likewise. * gdb.mi/mi-reverse.exp: Likewise. * gdb.pascal/floats.exp: Likewise. * gdb.python/py-inferior.exp: Likewise. * gdb.threads/attach-into-signal.exp: Likewise. * gdb.threads/pthreads.exp: Likewise. * gdb.threads/thread_events.exp: Likewise. * gdb.threads/watchthreads.exp: Likewise. * gdb.trace/actions-changed.exp: Likewise. * gdb.trace/actions.exp: Likewise. * gdb.trace/ax.exp: Likewise. * gdb.trace/backtrace.exp: Likewise. * gdb.trace/change-loc.exp: Likewise. * gdb.trace/deltrace.exp: Likewise. * gdb.trace/disconnected-tracing.exp: Likewise. * gdb.trace/ftrace.exp: Likewise. * gdb.trace/infotrace.exp: Likewise. * gdb.trace/passc-dyn.exp: Likewise. * gdb.trace/passcount.exp: Likewise. * gdb.trace/pending.exp: Likewise. * gdb.trace/qtro.exp: Likewise. * gdb.trace/range-stepping.exp: Likewise. * gdb.trace/report.exp: Likewise. * gdb.trace/save-trace.exp: Likewise. * gdb.trace/status-stop.exp: Likewise. * gdb.trace/strace.exp: Likewise. * gdb.trace/tfile.exp: Likewise. * gdb.trace/tfind.exp: Likewise. * gdb.trace/trace-break.exp: Likewise. * gdb.trace/tracecmd.exp: Likewise. * gdb.trace/trace-mt.exp: Likewise. * gdb.trace/tspeed.exp: Likewise. * gdb.trace/tsv.exp: Likewise. * gdb.trace/while-stepping.exp: Likewise. * lib/gdb.exp: Likewise. * lib/gdbserver-support.exp: Likewise. * lib/java.exp: Likewise. * lib/mi-support.exp: Likewise. * lib/pascal.exp: Likewise. * lib/prompt.exp: Likewise. * lib/trace-support.exp: Likewise.
* Fix formating in copyright headers.Pedro Alves2013-06-0743-92/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | File list found with: $ grep "along with this program" * -A 1 -rn \ | grep "*/" \ | grep -v "along with this program" \ | sed 's,-[0-9]\+-.*,,g' Tested on x86_64 Fedora 17. gdb/ 2013-06-07 Pedro Alves <palves@redhat.com> * darwin-nat.c: Fix formating in copyright header. * darwin-nat.h: Likewise. * gnu-nat.c: Likewise. * machoread.c: Likewise. gdb/testsuite/ 2013-06-07 Pedro Alves <palves@redhat.com> * gdb.ada/info_types.c: Fix formating in copyright header. * gdb.base/break-on-linker-gcd-function.cc: Likewise. * gdb.base/float.c: Likewise. * gdb.base/inferior-died.c: Likewise. * gdb.base/interp.c: Likewise. * gdb.base/jit-main.c: Likewise. * gdb.base/jit-solib.c: Likewise. * gdb.base/long_long.c: Likewise. * gdb.base/longjmp.c: Likewise. * gdb.base/nextoverexit.c: Likewise. * gdb.base/pr11022.c: Likewise. * gdb.base/prelink-lib.c: Likewise. * gdb.base/prelink.c: Likewise. * gdb.base/prologue.c: Likewise. * gdb.base/restore.c: Likewise. * gdb.base/sigchld.c: Likewise. * gdb.base/solib-search-lib1.c: Likewise. * gdb.base/solib-search-lib2.c: Likewise. * gdb.base/solib-search.c: Likewise. * gdb.base/solib-search.h: Likewise. * gdb.base/whatis.c: Likewise. * gdb.cp/abstract-origin.cc: Likewise. * gdb.cp/anon-struct.cc: Likewise. * gdb.cp/baseenum.cc: Likewise. * gdb.cp/bs15503.cc: Likewise. * gdb.cp/call-c-1.c: Likewise. * gdb.cp/call-c.cc: Likewise. * gdb.cp/class2.cc: Likewise. * gdb.cp/classes.cc: Likewise. * gdb.cp/cttiadd.cc: Likewise. * gdb.cp/cttiadd1.cc: Likewise. * gdb.cp/cttiadd2.cc: Likewise. * gdb.cp/cttiadd3.cc: Likewise. * gdb.cp/derivation.cc: Likewise. * gdb.cp/derivation2.cc: Likewise. * gdb.cp/dispcxx.cc: Likewise. * gdb.cp/exception.cc: Likewise. * gdb.cp/gdb2384-base.cc: Likewise. * gdb.cp/gdb2384-base.h: Likewise. * gdb.cp/gdb2384.cc: Likewise. * gdb.cp/gdb2495.cc: Likewise. * gdb.cp/mb-inline.h: Likewise. * gdb.cp/mb-inline1.cc: Likewise. * gdb.cp/mb-inline2.cc: Likewise. * gdb.cp/member-name.cc: Likewise. * gdb.cp/member-ptr.cc: Likewise. * gdb.cp/misc.cc: Likewise. * gdb.cp/namespace1.cc: Likewise. * gdb.cp/nextoverthrow.cc: Likewise. * gdb.cp/pr-574.cc: Likewise. * gdb.cp/pr9631.cc: Likewise. * gdb.cp/printmethod.cc: Likewise. * gdb.cp/psmang1.cc: Likewise. * gdb.cp/psmang2.cc: Likewise. * gdb.cp/psymtab-parameter.cc: Likewise. * gdb.cp/ptype-flags.cc: Likewise. * gdb.cp/ref-params.cc: Likewise. * gdb.cp/ref-types.cc: Likewise. * gdb.cp/smartp.cc: Likewise. * gdb.cp/try_catch.cc: Likewise. * gdb.cp/userdef.cc: Likewise. * gdb.cp/using-crash.cc: Likewise. * gdb.cp/virtfunc.cc: Likewise. * gdb.cp/virtfunc2.cc: Likewise. * gdb.dwarf2/callframecfa.S: Likewise. * gdb.dwarf2/dw2-ranges.c: Likewise. * gdb.dwarf2/dw2-ranges2.c: Likewise. * gdb.dwarf2/dw2-ranges3.c: Likewise. * gdb.dwarf2/dw2-restore.S: Likewise. * gdb.dwarf2/pieces.S: Likewise. * gdb.dwarf2/valop.S: Likewise. * gdb.java/jnpe.java: Likewise. * gdb.mi/mi-stepn.c: Likewise. * gdb.mi/mi-var-cp.cc: Likewise. * gdb.mi/mi-var-rtti.cc: Likewise. * gdb.mi/ns-stale-regcache.c: Likewise. * gdb.mi/pr11022.c: Likewise. * gdb.mi/solib-lib.c: Likewise. * gdb.mi/solib-main.c: Likewise. * gdb.python/py-arch.c: Likewise. * gdb.python/py-block.c: Likewise. * gdb.python/py-breakpoint.c: Likewise. * gdb.python/py-events.c: Likewise. * gdb.python/py-evthreads.c: Likewise. * gdb.python/py-explore.c: Likewise. * gdb.python/py-explore.cc: Likewise. * gdb.python/py-finish-breakpoint.c: Likewise. * gdb.python/py-finish-breakpoint2.cc: Likewise. * gdb.python/py-symbol.c: Likewise. * gdb.threads/execl.c: Likewise. * gdb.threads/execl1.c: Likewise.
* gdb/testsuite/gdb.cp/annota2.exp: Add missing empty linewillnewton2013-06-071-1/+1
| | | | | | | | | | | | | | in output. There should be an empty line between "post-prompt" and "starting". This fixes a testsuite failure on ARM. gdb/testsuite/ChangeLog: 2013-06-07 Will Newton <will.newton@linaro.org> * gdb.cp/annota2.exp: Add empty line between "post-prompt" and "starting".
* gdb/testsuite/gdb.cp: Fix tests for ARM C++ ABI.willnewton2013-06-072-31/+69
| | | | | | | | | | | | | | | The ARM C++ ABI defines constructors and destructors to return pointers to this. The C++ tests that check the types of constructors and destructors expect a return type of void. Conditionalize these tests so they pass on ARM. gdb/testsuite/ChangeLog: 2013-06-07 Will Newton <will.newton@linaro.org> * gdb.cp/anon-struct.exp: Conditionalize constructor and destructor prototypes for ARM ABI. * gdb.cp/m-static.exp: Likewise.
* * gdb.cp/derivation.exp: Make tests have unique names.Doug Evans2013-06-061-13/+17
|
* PR 15519Doug Evans2013-06-053-6/+63
| | | | | | | | | | | | | | | * cp-namespace.c (find_symbol_in_baseclass): Call cp_lookup_symbol_in_namespace instead of cp_lookup_symbol_namespace. Check result of call to lookup_symbol_static. Call lookup_static_symbol_aux unconditionally. Call check_typedef on base types before accessing them. (cp_lookup_nested_symbol): Fix comment. testsuite/ * gdb.cp/derivation2.cc: New file. * gdb.cp/derivation.cc (main): Call foo2. * gdb.cp/derivation.exp: Add tests for typedefs in another file, and when there's an active block.
* * gdb.cp/virtfunc.exp (make_one_vtable_result): Handle extra outputLuis Machado2013-06-051-1/+1
| | | | | from targets that use function descriptors in the virtual tables. Handle presence of dot symbols.
* PR c++/15401:Tom Tromey2013-05-222-0/+5
| | | | | | | | * c-valprint.c (c_value_print): Use value_addr for references. Convert back to reference type with value_ref. gdb/testsuite * gdb.cp/class2.cc (main): New local 'aref'. * gdb.cp/class2.exp: Check printing of 'aref'.
* PR c++/13588:Tom Tromey2013-04-151-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * NEWS: Update. * break-catch-throw.c (struct exception_catchpoint) <exception_rx, pattern>: New fields. (fetch_probe_arguments, dtor_exception_catchpoint) (check_status_exception_catchpoint) (print_one_detail_exception_catchpoint): New functions. (handle_gnu_v3_exceptions): Add "except_rx" argument. Compile regular expression if needed. (extract_exception_regexp): New function. (catch_exception_command_1): Use extract_exception_regexp. (compute_exception): Use fetch_probe_arguments. (initialize_throw_catchpoint_ops): Set dtor, print_one_detail, and check_status fields. * cp-abi.c (cplus_typename_from_type_info): New function. * cp-abi.h (cplus_typename_from_type_info): Declare. (struct cp_abi_ops) <get_typename_from_type_info>: New field. * gdb_regex.h (compile_rx_or_error): Declare. * gnu-v3-abi.c (gnuv3_get_typename_from_type_info): Update comment. (init_gnuv3_ops): Set get_type_from_type_info field. * probe.c (compile_rx_or_error): Move... * utils.c (compile_rx_or_error): ... here. gdb/doc * gdb.texinfo (Set Catchpoints): Document regexp syntax for exception catchpoints. gdb/testsuite * gdb.cp/exceptprint.exp: Add regexp catchpoint tests.
* PR c++/15176:Tom Tromey2013-04-152-0/+138
| | | | | | | | | | | | | | | | | | | | | * NEWS: Update. * break-catch-throw.c (compute_exception): New function. (exception_funcs): New global. (_initialize_break_catch_throw): Create $_exception. * cp-abi.c (cplus_type_from_type_info): New function. * cp-abi.h (cplus_type_from_type_info): Declare. (struct cp_abi_ops) <get_type_from_type_info>: New field. * gnu-v3-abi.c (gnuv3_get_typename_from_type_info) (gnuv3_get_type_from_type_info): New functions. (init_gnuv3_ops): Set get_type_from_type_info ABI field. gdb/doc * gdb.texinfo (Set Catchpoints): Document $_exception. (Convenience Vars): Mention $_exception. gdb/testsuite * gdb.base/default.exp: Update for $_exception. * gdb.cp/exceptprint.cc: New file. * gdb.cp/exceptprint.exp: New file. * lib/gdb.exp (skip_libstdcxx_probe_tests): New proc.
* PR c++/9065:Tom Tromey2013-04-152-0/+127
| | | | | | | | | | | | | | | | | | | | | | | | * NEWS: Update. * breakpoint.c (watchpoint_exp_is_const): Add OP_TYPEID. * c-exp.y (TYPEID): New token. (exp): Add new TYPEID productions. (ident_tokens): Add "typeid". * cp-abi.c (cplus_typeid, cplus_typeid_type): New functions. * cp-abi.h (cplus_typeid, cplus_typeid_type): Declare. (struct cp_abi_ops) <get_typeid, get_typeid_type>: New fields. * eval.c (evaluate_subexp_standard) <OP_TYPEID>: New case. * expprint.c (dump_subexp_body_standard) <OP_TYPEID>: New case. * gnu-v3-abi.c (std_type_info_gdbarch_data): New global. (build_std_type_info_type, gnuv3_get_typeid_type) (gnuv3_get_typeid): New functions. (init_gnuv3_ops): Initialize std_type_info_gdbarch_data. Set new fields on ABI object. * parse.c (operator_length_standard) <OP_TYPEID>: New case. * std-operator.def (OP_TYPEID): New. gdb/testsuite * gdb.cp/typeid.cc: New file. * gdb.cp/typeid.exp: New file.
* PR c++/12824:Tom Tromey2013-04-151-17/+16
| | | | | | | | | | | | | | | | | | | * NEWS: Update. * breakpoint.c (enum exception_event_kind) <EX_EVENT_RETHROW>: New constant. (classify_exception_breakpoint): New function. (print_it_exception_catchpoint, print_one_exception_catchpoint) (print_mention_exception_catchpoint) (print_recreate_exception_catchpoint, handle_gnu_v3_exceptions) (catch_exception_command_1): Handle "rethrow" catchpoint. (catch_rethrow_command): New function. (_initialize_breakpoint): Add "catch rethrow" command. gdb/doc * gdb.texinfo (Set Catchpoints): Reorganize exception catchpoints. Document "catch rethrow". (Debugging C Plus Plus): Mention "catch rethrow". gdb/testsuite * gdb.cp/exception.exp: Add "catch rethrow" tests.
* 2013-04-04 Sandra Loosemore <sandra@codesourcery.com>Sandra Loosemore2013-04-041-1/+1
| | | | | | | gdb/testsuite/ * gdb.cp/cplabel.exp: Allow empty directory in file reported for breakpoint location.
* 2013-04-02 Sandra Loosemore <sandra@codesourcery.com>Sandra Loosemore2013-04-031-1/+1
| | | | | | gdb/testsuite/ * gdb.cp/ovsrch.exp (test_class): Correct regexp to allow empty directory in file for breakpoint hit.
* PR symtab/11462:Tom Tromey2013-03-251-0/+7
| | | | | | | | * c-exp.y (exp): Add new productions for destructors after '.' and '->'. (write_destructor_name): New function. gdb/testsuite * gdb.cp/m-static.exp: Add destructor-printing tests.
* PR c++/9197:Tom Tromey2013-03-252-0/+19
| | | | | | | | | | | | * opencl-lang.c (evaluate_subexp_opencl) <STRUCTOP_STRUCT>: Use value_struct_elt, not lookup_struct_elt_type. * eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT, STRUCTOP_PTR>: Use value_struct_elt, not lookup_struct_elt_type. * expression.h (EVAL_AVOID_SIDE_EFFECTS): Update comment. gdb/testsuite * gdb.cp/m-static.exp: Add constructor ptype tests. * gdb.cp/m-static.cc (single_constructor): New class. (main): Make instance of single_constructor.
* PR exp/15109:Tom Tromey2013-03-212-0/+6
| | | | | | | | * c-exp.y (yylex): Rewrite to push all tokens onto the FIFO. Handle FILENAME token. gdb/testsuite * gdb.cp/cpexprs.exp: Add test for FILENAME:: case. * gdb.cp/misc.exp: Add test for FILENAME:: case.
* PR c++/15116:Tom Tromey2013-03-152-0/+5
| | | | | | | * gdbtypes.c (types_equal): Handle TYPE_CODE_FUNC. gdb/testsuite * gdb.cp/overload.cc (intintfunc): New. * gdb.cp/overload.exp: Add regression test.
* gdb/testsuite/qiyao2013-03-146-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/monitor.exp (gdb_target_cmd): Remove semicolon after 'return'. (gdb_target_monitor, gdb_load): Likewise. * config/sid.exp (gdb_load): Likewise. * config/slite.exp (gdb_load): Likewise. * config/vx.exp (gdb_start, spawn_vxgdb): Likewise. * gdb.ada/arrayidx.exp, gdb.ada/null_array.exp: Likewise. * gdb.arch/mips-octeon-bbit.exp (single_step): Likewise. (single_step_until): Likewise. * gdb.arch/powerpc-d128-regs.exp: Likewise. * gdb.arch/system-gcore.exp: Likewise. * gdb.base/bigcore.exp (extract_heap): Likewise. * gdb.base/break-on-linker-gcd-function.exp: Likewise. * gdb.base/call-ar-st.exp: Likewise. * gdb.base/call-rt-st.exp: Likewise. * gdb.base/call-sc.exp, gdb.base/call-strs.exp: Likewise. * gdb.base/callfuncs.exp, gdb.base/completion.exp: Likewise. * gdb.base/condbreak.exp, gdb.base/constvars.exp: Likewise. * gdb.base/corefile.exp: Likewise. * gdb.base/dbx.exp (gdb_file_cmd): Likewise. * gdb.base/exprs.exp, gdb.base/fileio.exp: Likewise. * gdb.base/fixsection.exp: Likewise. * gdb.base/funcargs.exp: Likewise. * gdb.base/gcore-buffer-overflow.exp: Likewise. * gdb.base/gcore-relro.exp: Likewise. * gdb.base/gcore.exp, gdb.base/gdb11530.exp: Likewise. * gdb.base/gdb11531.exp, gdb.base/gnu-ifunc.exp: Likewise. * gdb.base/info-os.exp, gdb.base/info-proc.exp: Likewise. * gdb.base/interp.exp, gdb.base/langs.exp:: Likewise. * gdb.base/list.exp: Likewise. (set_listsize): Likewise. * gdb.base/logical.exp, gdb.base/mips_pro.exp: Likewise. * gdb.base/miscexprs.exp, gdb.base/nodebug.exp: Likewise. * gdb.base/opaque.exp, gdb.base/pointers.exp: Likewise. * gdb.base/psymtab.exp, gdb.base/ptype.exp: Likewise. * gdb.base/relational.exp, gdb.base/scope.exp: Likewise. * gdb.base/setvar.exp: Likewise. (test_set): Likewise. * gdb.base/signals.exp, gdb.base/sizeof.exp: Likewise. * gdb.base/solib-overlap.exp: Likewise. * gdb.base/store.exp, gdb.base/structs.exp: Likewise. * gdb.base/structs2.exp, gdb.base/volatile.exp: Likewise. * gdb.base/watchpoint.exp (initialize): Likewise. (test_simple_watchpoint): Likewise. (test_disabling_watchpoints): Likewise. (test_watchpoint_triggered_in_syscall): Likewise. * gdb.base/whatis.exp, gdb.cp/ambiguous.exp: Likewise. * gdb.cp/casts.exp, gdb.cp/ctti.exp: Likewise. * gdb.cp/namespace.exp, gdb.cp/nsdecl.exp: Likewise. * gdb.cp/psmang.exp, gdb.dwarf2/dw2-ranges.exp: Likewise. * gdb.hp/gdb.aCC/optimize.exp: Likewise. * gdb.hp/gdb.aCC/watch-cmd.exp: Likewise. * gdb.hp/gdb.base-hp/callfwmall.exp: Likewise. * gdb.hp/gdb.base-hp/pxdb.exp: Likewise. * gdb.hp/gdb.compat/xdb1.exp: Likewise. * gdb.hp/gdb.compat/xdb2.exp: Likewise. * gdb.hp/gdb.compat/xdb3.exp: Likewise. * gdb.hp/gdb.defects/bs14602.exp: Likewise. * gdb.hp/gdb.defects/solib-d.exp: Likewise. * gdb.mi/gdb792.exp: Likewise. * gdb.mi/mi-inheritance-syntax-error.exp: Likewise. * gdb.mi/mi-logging.exp, gdb.mi/mi-var-cp.exp : Likewise. * gdb.mi/mi-var-rtti.exp, gdb.python/py-type.exp: Likewise. * gdb.threads/gcore-thread.exp: Likewise. (load_core): Likewise. * gdb.threads/pthreads.exp (all_threads_running): Likewise. (test_startup, check_control_c): Likewise. * gdb.threads/sigstep-threads.exp: Likewise. * gdb.threads/thread_check.exp: Likewise. * gdb.trace/backtrace.exp, gdb.trace/change-loc.exp: Likewise. * gdb.trace/circ.exp (run_trace_experiment): Likewise. (set_a_tracepoint, trace_buffer_normal): Likewise. (gdb_trace_circular_tests): Likewise. * gdb.trace/collection.exp: Likewise. * gdb.trace/disconnected-tracing.exp: Likewise. * gdb.trace/infotrace.exp: Likewise. * gdb.trace/mi-traceframe-changed.exp: Likewise. * gdb.trace/mi-tracepoint-changed.exp: Likewise. * gdb.trace/mi-tsv-changed.exp (test_create_delete_modify_tsv): Likewise. * gdb.trace/packetlen.exp, gdb.trace/passc-dyn.exp: Likewise. * gdb.trace/pending.exp, gdb.trace/report.exp: Likewise. * gdb.trace/stap-trace.exp: Likewise. * gdb.trace/status-stop.exp,gdb.trace/strace.exp: Likewise. * gdb.trace/tfind.exp, gdb.trace/trace-break.exp: Likewise. * gdb.trace/trace-buffer-size.exp: Likewise. * gdb.trace/tspeed.exp, gdb.trace/tsv.exp: Likewise. * gdb.trace/unavailable.exp: Likewise. * gdb.trace/while-dyn.exp: Likewise. * lib/fortran.exp (set_lang_fortran): Likewise. * lib/gdb.exp (default_gdb_version, gdb_start_cmd): Likewise. (gdb_breakpoint, gdb_reinitialize_dir): Likewise. (default_gdb_start, get_compiler_info): Likewise. (gdb_compile, gdb_compile_objc, gdb_reload, gdb_init): Likewise. (get_debug_format, setup_xfail_format): Likewise. (rerun_to_main, gdb_skip_float_test): Likewise. (build_id_debug_filename_get, get_remotetimeout): Likewise. * lib/java.exp (set_lang_java): Likewise. * lib/mi-support.exp (default_mi_gdb_start): Likewise. (mi_gdb_reinitialize_dir, mi_gdb_target_cmd): Likewise. (mi_gdb_file_cmd, mi_gdb_test): Likewise. (mi_run_cmd_full, mi_expect_interrupt): Likewise. * lib/objc.exp (set_lang_objc): Likewise. * lib/pascal.exp (set_lang_pascal): Likewise. * lib/prompt.exp (default_prompt_gdb_start): Likewise. * lib/trace-support.exp (gdb_trace_setactions, gdb_tfind_test): Likewise. (gdb_readexpr, gdb_gettpnum, gdb_find_recursion_test_baseline): Likewise.
* From: Sergio Durigan Junior <sergiodj@redhat.com>sergiodj2013-03-142-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subject: [PATCH] Fix for PR c++/15203 and PR c++/15210 Date: Sat, 09 Mar 2013 02:50:49 -0300 (5 days, 4 hours, 57 minutes ago) Message-ID: <m3a9qdnmti.fsf@redhat.com> Hi, This bug was reported internally at our Bugzilla, along with a proposed fix. After talking to Keith about it, he investigated and came up with another patch needed to really fix the issue on CVS HEAD. The first part of the fix is the patch to cp-namespace.c. It handles the case when we are accessing a static variable inside a function (inside a class) by the full linespec (is it right, Keith?). E.g.: class foo { public: int bar() { static int var = 0; } }; And then, printing the value of `var': (gdb) print 'foo::bar()::var' GDB would fall in an internal_error: gdb/cp-namespace.c:816: internal-error: cp_lookup_nested_symbol called on a non-aggregate type. This is because `cp_lookup_nested_symbol' is not handling the case when TYPE_CODE is either _FUNC or _METHOD. This patch fixes it by returning NULL in this case. The second part of the fix is the patch to elfread.c. It is needed because the BSF_GNU_UNIQUE flag was added to some symbols in <http://sourceware.org/ml/binutils/2009-06/msg00016.html>. Because of that, (still) the command: (gdb) print 'foo::bar()::var' where `var' is a static variable returns: "No symbol "foo::bar()::var" in current context." So with the second patch applied the command finally DTRT: (gdb) print 'foo::bar()::var' $1 = 0 This may not be the ideal solution, according to Keith it would be good to implement productions on c-exp.y in order to recognize CLASS::FUNCTION::VARIABLE, but it is a solution which works with what we have today. I regtested it in Fedora 17 x86_64 with -m64 and -m32, including gdbserver, without regressions. gdb/: 2013-03-14 Keith Seitz <keiths@redhat.com> Alan Matsuoka <alanm@redhat.com> PR c++/15203 PR c++/15210 * cp-namespace.c (cp_lookup_nested_symbol): Handle TYPE_CODE_FUNC and TYPE_CODE_METHOD. * elfread.c (elf_symtab_read): Handle BSF_GNU_UNIQUE for certain symbols. gdb/testsuite/: 2013-03-14 Sergio Durigan Junior <sergiodj@redhat.com> PR c++/15203 PR c++/15210 * gdb.cp/m-static.cc (keepalive_int): New function. (gnu_obj_1::method): New variable `sintvar', call `keepalive_int'. * gdb.cp/m-static.exp: New test for `sintvar'.
* Fix ptype bug actually exercised in userdef.expPedro Alves2013-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I happened to notice a bug with ptype &Ref, and found out userdef.exp actually exercises the bug. With: class Container { public: Member m; Member& operator* (); }; Member& Container::operator* () { return this->m; } And 'c' is of type Container: (gdb) p c $1 = {m = {z = -9192}} (gdb) p *c $2 = (Member &) @0x7fffffffda20: {z = -9192} (gdb) ptype *c type = class Member { public: int z; } & (gdb) p &*c $3 = (Member *) 0x7fffffffda20 (gdb) ptype &*c type = class Member { public: int z; } &* (gdb) Notice that last print (&*c) on says the type is a pointer - that's how you get the address behind a reference. But notice the last ptype instead says the type of the same expression is a pointer _reference_. This looks like a bug to me. This patch fixes it. The issue is that we're entering the VALUE_LVAL (x) == lval_memory branch by mistake for references. The fix is just to swap the tests so references are checked first, like value_addr also handles references first. Tested on x86_64 Fedora 17. 2013-02-14 Pedro Alves <palves@redhat.com> * eval.c (evaluate_subexp_for_address) <default_case_after_eval, EVAL_AVOID_SIDE_EFFECTS>: Swap and handle TYPE_CODE_REF before lval_memory. 2013-02-14 Pedro Alves <palves@redhat.com> * gdb.cp/userdef.exp (ptype &*c): Don't expect an &.
* PR symtab/11464:Tom Tromey2013-02-122-0/+9
| | | | | | | | | | | | * c-exp.y (lex_one_token): Initialize other fields of yylval on NAME return. (classify_inner_name): Remove 'first_name' argument, add 'context'. Remove unused variable. (yylex): Explicitly maintain the context type. Exit loop earlier if NAME result is seen. gdb/testsuite * gdb.cp/m-static.cc (gnu_obj_1::~gnu_obj_1): New destructor. * gdb.cp/m-static.exp: Add tests to print quoted destructor.
* * gdb.cp/converts.cc (main): Initialize 'a'.Tom Tromey2013-01-231-1/+2
|
* If a breakpoint is not user visible, then there's no point inPedro Alves2013-01-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | bothering the frontend about it... This is the exact same check MI does. I also smoke tested Emacs 23 in gud-gdb mode, both annotations=2 and annotations=3. I didn't notice anything break. gdb/ 2013-01-22 Pedro Alves <palves@redhat.com> * annotate.c (breakpoint_changed): Skip if breakpoint is not user-visible. gdb/testsuite/ 2013-01-22 Pedro Alves <palves@redhat.com> * gdb.base/annota1.exp (signal sent): No longer expect breakpoints-invalid. * gdb.cp/annota2.exp (continue until exit) (watch triggered on a.x): Ditto.
* All annotate_breakpoints_changed calls are along-sidePedro Alves2013-01-221-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | observer_notify_breakpoints_changed calls. All, except the init_raw_breakpoint one. But that one is actually wrong. The breakpoint is being constructed at that point, and hasn't been placed on the breakpoint chain yet. It would be better placed in install_breakpoint, and I actually started out that way. But once the annotate_breakpoints_changed are parallel to the observer calls, we can fully move annotations to observers too. One issue is that this changes the order of annotations a bit. Before, we'd emit the annotation, and after call "mention()" on the breakpoint (which prints the breakpoint number, etc.). But, we call the observers _after_ mention is called, so the annotation output will change a little: void install_breakpoint (int internal, struct breakpoint *b, int update_gll) { add_to_breakpoint_chain (b); set_breakpoint_number (internal, b); if (is_tracepoint (b)) set_tracepoint_count (breakpoint_count); if (!internal) mention (b); observer_notify_breakpoint_created (b); if (update_gll) update_global_location_list (1); } I believe this order doesn't really matter (the frontend needs to wait for the prompt anyway), so I just adjust the expected output in the tests. Emacs in annotations mode doesn't seem to complain. Couple that with the previous patch that suppressed duplicated annotations, and, the fact that some annotations calls were actually missing (were we do have observer calls), more changes to the tests are needed anyway. Tested on x86_64 Fedora 17. gdb/ 2013-01-22 Pedro Alves <palves@redhat.com> * annotate.c (annotate_breakpoints_changed): Rename to ... (annotate_breakpoints_invalid): ... this. Make static. (breakpoint_changed): Adjust. (_initialize_annotate): Always install the observers. Install a "breakpoint_created" observer. * annotate.h (annotate_breakpoints_changed): Delete declaration. * breakpoint.c (set_breakpoint_condition) (breakpoint_set_commands, do_map_commands_command) (init_raw_breakpoint, clear_command, set_ignore_count) (enable_breakpoint_disp): No longer call annotate_breakpoints_changed. gdb/testsuite/ 2013-01-22 Pedro Alves <palves@redhat.com> * gdb.base/annota1.exp (breakpoints_invalid): New variable. Adjust tests to breakpoints-invalid changes. * gdb.cp/annota2.exp (breakpoints_invalid, frames_invalid): New variables. Adjust tests to breakpoints-invalid changes.
* gdb/Jan Kratochvil2013-01-132-0/+71
| | | | | | | | | | | | | * parse.c (parse_exp_in_context): New variable inner_chain. Call make_cleanup_restore_current_language. Call set_language. Move OLD_CHAIN and INNER_CHAIN cleanups. * utils.c (do_restore_current_language) (make_cleanup_restore_current_language): New functions. * utils.h (make_cleanup_restore_current_language): New declaration. gdb/testsuite/ * gdb.cp/parse-lang.cc: New file. * gdb.cp/parse-lang.exp: New file.
* Update years in copyright notice for the GDB files.Joel Brobecker2013-01-01190-205/+190
| | | | | | | Two modifications: 1. The addition of 2013 to the copyright year range for every file; 2. The use of a single year range, instead of potentially multiple year ranges, as approved by the FSF.
* PR c++/8888:Tom Tromey2012-12-142-0/+116
| | | | | | | | | | * symtab.c (lookup_symbol_aux): If constructor is found, consider returning the type instead. * c-exp.y (classify_name): Check STRUCT_DOMAIN if a constructor is found. testsuite * gdb.cp/member-name.exp: New file. * gdb.cp/member-name.cc: New file.
* Partial fix for PR c++/14160:Tom Tromey2012-12-141-0/+16
| | | | | | | | | | | | | | | * c-typeprint.c (c_type_print_base): Use TYPE_FN_FIELD_CONSTRUCTOR. * dwarf2read.c (dwarf2_is_constructor): New function. (dwarf2_add_member_fn): Use it. * gnu-v3-abi.c (gnuv3_pass_by_reference): Use TYPE_FN_FIELD_CONSTRUCTOR. * jv-typeprint.c (java_type_print_base): Use TYPE_FN_FIELD_CONSTRUCTOR. * gdbtypes.h (struct fn_field) <is_constructor>: New field. <dummy>: Shrink. (TYPE_FN_FIELD_CONSTRUCTOR): New macro. testsuite * gdb.cp/templates.exp (test_ptype_of_templates): Update kfails.
* gdb/qiyao2012-11-272-0/+43
| | | | | | | | | | | | | | | | | | 2012-11-27 Daniel Jacobowitz <dan@codesourcery.com> Yao Qi <yao@codesourcery.com> * eval.c (evaluate_subexp_standard): Add handling of TYPE_CODE_MEMBERPTR when calling functions. Correct the result of ptype for calling a TYPE_CODE_METHODPTR. gdb/testsuite/ 2012-11-27 Daniel Jacobowitz <dan@codesourcery.com> * gdb.cp/member-ptr.cc (class Diamond): Add func_ptr. (func): New function. (main): Initialize diamond.func_ptr and add diamond_pfunc_ptr. * gdb.cp/member-ptr.exp: Add new tests for ptype and for pointers to members with pointer-to-function type.
* PR c++/13615Keith Seitz2012-11-164-54/+277
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cp-namespace.c (cp_lookup_symbol_in_namespace): Add SEARCH parameter and pass it to lookup_symbol_file. (cp_lookup_symbol_imports): Tell cp_lookup_symbol_in_namespace to search base classes. (cp_lookup_symbol_namespace): Likewise. (lookup_namespace_scope): Likewise. (lookup_symbol_file): Add SEARCH parameter. If SEARCH is non-zero and no symbol is found, lookup the class and call cp_lookup_nested_symbol. (find_symbol_in_baseclass): New function. (cp_lookup_nested_symbol): Do not let cp_lookup_symbol_in_namespace search through base classes. Do that later when there is no global symbol match. PR c++/13615 * gdb.cp/baseenum.cc: New file. * gdb.cp/baseenum.exp: New file. * gdb.cp/derivation.cc (A): Add copyright. Add a typedef. (B): Use A::value_type instead of int. Change all references. (D): Use value_type instead of int. Change all references. (E): Likewise. (F); Likewise. (Z): New class. (ZZ): New class. (N, Base, Derived): New namespace and classes. (main): Add instances of Z and ZZ. Make sure all symbols from N are kept. * gdb.cp/derivation.exp: Update typedef changes in tests. Add tests for class typedefs both before and after starting the inferior. Add tests for searching for a typedef while stopped in a method.
* * c-typeprint.c (find_typedef_for_canonicalize,Tom Tromey2012-11-123-22/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | print_name_maybe_canonical): New functions. (c_print_type): Look up type name. (cp_type_print_derivation_info): Add flags argument. Use print_name_maybe_canonical. (cp_type_print_method_args): Add wrapping. (c_type_print_varspec_prefix): Use print_name_maybe_canonical. (c_type_print_template_args): New function. (c_type_print_base): Change wrapping. Use print_name_maybe_canonical. <TYPE_CODE_STRUCT>: Possibly create a typedef hash, and do type name lookups. * gdbtypes.c (types_equal): No longer static. * gdbtypes.h (types_equal): Declare. * typeprint.c (type_print_raw_options, default_ptype_flags): Update. (struct typedef_hash_table): New. (hash_typedef_field, eq_typedef_field, recursively_update_typedef_hash, add_template_parameters, create_typedef_hash, free_typedef_hash, do_free_typedef_hash, make_cleanup_free_typedef_hash, copy_typedef_hash_element, copy_typedef_hash, find_typedef_in_hash): New functions. * typeprint.h (struct type_print_options) <local_typedefs>: New field. (recursively_update_typedef_hash, add_template_parameters, create_typedef_hash, free_typedef_hash, make_cleanup_free_typedef_hash, copy_typedef_hash, find_typedef_in_hash): Declare. testsuite * gdb.base/call-sc.exp: Use "ptype/r". * gdb.base/volatile.exp: Don't expect "int". * gdb.cp/ptype-flags.cc: New file. * gdb.cp/ptype-flags.exp: New file. * gdb.cp/templates.exp: Use ptype/r. (test_ptype_of_templates, test_template_typedef): Likewise. * lib/cp-support.exp (cp_test_ptype_class): Add in_ptype_arg argument. Handle template names and template parameters. * gdb.mi/mi-var-cmd.exp: Accept "long". * gdb.mi/mi-var-child.exp: Accept "long". * gdb.mi/mi-var-display.exp: Accept "long". * gdb.mi/mi2-var-child.exp: Accept "long".
* * gdb.cp/classes.exp (test_ptype_class_objects): RemoveTom Tromey2012-11-124-91/+91
| | | | | | | | | | | | | | "ptype" from calls to cp_test_ptype_class. (test_enums): Likewise. * gdb.cp/derivation.exp: Remove "ptype" from calls to cp_test_ptype_class. * gdb.cp/inherit.exp (test_ptype_si): Remove "ptype" from calls to cp_test_ptype_class. (test_ptype_mi, test_ptype_vi, test_ptype_mvi): Likewise. * gdb.cp/virtfunc.exp (test_ptype_of_classes): Remove "ptype" from calls to cp_test_ptype_class. * lib/cp-support.exp (cp_test_ptype_class): Supply "ptype" command here. Change "in_command" argument to "in_exp".
* * lib/cp-support.exp (cp_test_ptype_class): Add supportKeith Seitz2012-10-151-0/+16
| | | | | | for class typedefs. * gdb.cp/derivation.exp: Add tests for g_instance.
* PR symtab/14601Doug Evans2012-10-032-0/+75
| | | | | | | | * buildsym.c (buildsym_init): Reset using_directives to NULL. testsuite/ * gdb.cp/using-crash.exp: New file. * gdb.cp/using-crash.cc: New file.
* Fix https://bugzilla.redhat.com/show_bug.cgi?id=849357Tom Tromey2012-09-272-0/+37
| | | | | | | | | * cp-valprint.c (cp_print_value_fields): Use get_vptr_fieldno. gdb/testsuite * gdb.cp/derivation.exp: Add regression test. * gdb.cp/derivation.cc (class V_base, class V_inter, class V_derived): New. (vderived): New global.
* gdb/testsuite/Jan Kratochvil2012-09-161-0/+4
| | | | | Fix compatibility with old GCC (~4.1). * gdb.cp/converts.cc (my_enum_var): New variable.
* * gdb.cp/converts.cc (main): Comment out the pointer to booleanKeith Seitz2012-09-121-0/+8
| | | | conversion statement.
* * gdb.cp/mb-inline.exp: Do "info break" after setting multi-locationDoug Evans2012-09-111-0/+5
| | | | breakpoint.
* PR gdb/13483Keith Seitz2012-09-102-1/+38
| | | | | | | | | | | | | | | | * gdbtypes.h (BOOL_PTR_CONVERSION_BADNESS): Rename to ... (BOOL_CONVERSION_BADNESS): ... this. * gdbtypes.c (BOOL_PTR_CONVERSION_BADNESS): Likewise. (rank_one_type): Allow all boolean conversions permitted by the standard. * gdb.cp/converts.cc (A::A): Add ctor. (A::member_): Add member. (enum my_enum): New enumeration. (main): Add calls to foo1_7 with various permitted arguments. * gdb.cp/converts.exp: Add tests for boolean conversions permitted by the standard.
* * lib/gdb.exp (skip_unwinder_tests): New proc.Tom Tromey2012-08-221-29/+1
| | | | | * gdb.cp/nextoverthrow.exp: Use skip_unwinder_tests. * gdb.java/jnpe.exp: Use skip_unwinder_tests.
* PR c++/13356Keith Seitz2012-08-172-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gdbtypes.c (strict_type_checking): New variable. (show_strict_type_checking): New function. (rank_one_type): Return NS_POINTER_INTEGER_CONVERSION_BADNESS if strict type checking is disabled. (_initialize_gdbtypes): Add "check type" subcommand. * gdbtypes.h (NS_INTEGER_POINTER_CONVERSION_BADNESS): New struct. PR c++/13356 * gdb.base/default.exp: Update all "check type" tests. * gdb.base/help.exp: Likewise. * gdb.base/setshow.exp: Likewise. * gdb.cp/converts.cc (foo1_type_check): New function. (foo2_type_check): New function. (foo3_type_check): New function. (main): Call new functions. * converts.exp: Add tests for integer-to-pointer conversions with/without strict type-checking. PR c++/13356 * gdb.texinfo (Type and Range Checking): Remove warning. Remove spurious commas. Update text and examples for re-implementation of set/show check type. (C and C++ Type and Range Checks): Likewise. * language.h (type_mode): Remove. (type_check): Remove. (struct language_defn): Remove la_type_check. (STRICT_TYPE): Remove unused macro. (type_error): Remove. * language.c (set_type_range_case): Renamed to ... (set_range_case): ... this. Update all callers. Remove type_mode/type_check. (type_mode): Remove. (type_check): Remove. (show_type_command): Remove. (set_type_command): Remove. (language_info): Remove type checking output. (type_error): Remove unused function. (range_error): Update comment. (unknown_language_defn): Remove la_type_check. (auto_language_defn): Likewise. (local_language_defn): Likewise. (_initialize_language): Remove "check type" subcommand. * ada-lang.c (ada_language_defn): Remove la_type_check. * c-lang.c (c_language_defn): Likewise. (cplus_language_defn): Likewise. (asm_language_defn): Likewise. (minimal_language_defn): Likewise. * d-lang.c (d_language_defn): Likewise. * f-lang.c (f_language_defn): Likewise. * go-lang.c (go_language_defn): Likewise. * jv-lang.c (java_language_defn): Likewise. * m2-lang.c (m2_language_defn): Likewise. * objc-lang.c (objc_language_defn): Likewise. * opencl-lang.c (opencl_language_defn): Likewise. * p-lang.c (pascal_language_defn): Likewise.
* * eval.c (evaluate_subexp_standard): Fix thinko in handlingDoug Evans2012-08-081-0/+43
| | | | | | | | | | | | | | | | | | | | | UNOP_MEMVAL_TYPE. * expprint.c (print_subexp_standard, case OP_TYPE): New. (print_subexp_standard, case UNOP_CAST_TYPE): Don't increment pos. (print_subexp_standard, case UNOP_DYNAMIC_CAST): Ditto. (print_subexp_standard, case UNOP_REINTERPRET_CAST): Ditto. (print_subexp_standard, case UNOP_MEMVAL_TYPE): Ditto. (dump_subexp_body_standard, case UNOP_DYNAMIC_CAST): Don't increment elt. (dump_subexp_body_standard, case UNOP_REINTERPRET_CAST): Ditto. (dump_subexp_body_standard, case UNOP_CAST_TYPE): Ditto. (dump_subexp_body_standard, case UNOP_MEMVAL_TYPE): Ditto. (dump_prefix_expression): Handle OP_TYPE. testsuite/ * gdb.base/debug-expr.c: New file. * gdb.base/debug-expr.exp: New file. * gdb.base/exprs.exp: Test {type} casts. * gdb.cp/debug-expr.exp: New file.
* PR exp/13206:Tom Tromey2012-07-192-0/+29
| | | | | | | | | | | | | | | | | | | | | | * ax-gdb.c (gen_expr) <OP_TYPEOF, OP_DECLTYPE>: New cases. * breakpoint.c (watchpoint_exp_is_const) <OP_TYPEOF, OP_DECLTYPE>: New cases. * c-exp.y (TYPEOF, DECLTYPE): New tokens. (type_exp): Add new productions. (ident_tokens): Add __typeof__, typeof, __typeof, __decltype, and decltype. * eval.c (evaluate_subexp_standard) <OP_TYPEOF, OP_DECLTYPE>: New case. * expprint.c (dump_subexp_body_standard) <OP_TYPEOF, OP_DECLTYPE>: New case. * parse.c (operator_length_standard) <OP_TYPEOF, OP_DECLTYPE>: New case. * std-operator.def (OP_TYPEOF, OP_DECLTYPE): New constants. * varobj.c (varobj_create): Handle OP_TYPEOF, OP_DECLTYPE. gdb/testsuite * gdb.cp/casts.exp: Add tests for typeof and decltype. * gdb.cp/casts.cc (decltype): New function. (main): Use it.
* * gdb.cp/abstract-origin.exp: Use standard_testfile.Tom Tromey2012-07-10100-1026/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gdb.cp/ambiguous.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/annota2.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/annota3.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/anon-ns.exp: Use standard_testfile. * gdb.cp/anon-struct.exp: Use standard_testfile. * gdb.cp/anon-union.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/arg-reference.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/bool.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/breakpoint.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/bs15503.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/call-c.exp: Use standard_testfile, clean_restart, standard_output_file. * gdb.cp/casts.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/class2.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/classes.exp: Use standard_testfile, prepare_for_testing. (test_static_members): Update. * gdb.cp/cmpd-minsyms.exp: Use standard_testfile. * gdb.cp/converts.exp: Use standard_testfile. * gdb.cp/cp-relocate.exp: Use standard_testfile. * gdb.cp/cpcompletion.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/cpexprs.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/cplabel.exp: Use standard_testfile. * gdb.cp/cplusfuncs.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/ctti.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/derivation.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/destrprint.exp: Use standard_testfile. * gdb.cp/dispcxx.exp: Use standard_testfile. * gdb.cp/exception.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/expand-psymtabs-cxx.exp: Use standard_testfile. * gdb.cp/extern-c.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/formatted-ref.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/fpointer.exp: Use standard_testfile. * gdb.cp/gdb1355.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/gdb2384.exp: Use standard_testfile, clean_restart, standard_output_file. * gdb.cp/gdb2495.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/hang.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/infcall-dlopen.exp: Use standard_testfile, standard_output_file. * gdb.cp/inherit.exp: Use standard_testfile, prepare_for_testing. (do_tests): Update. * gdb.cp/koenig.exp: Use standard_testfile. * gdb.cp/local.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/m-data.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/m-static.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/mb-ctor.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/mb-inline.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/mb-templates.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/member-ptr.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/meth-typedefs.exp: Use standard_testfile. * gdb.cp/method.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/method2.exp: Use standard_testfile. * gdb.cp/minsym-fallback.exp: Use standard_testfile, standard_output_file. * gdb.cp/misc.exp: Use standard_testfile, prepare_for_testing. (do_tests): Update. * gdb.cp/namespace-enum.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/namespace-nested-import.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/namespace.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nextoverthrow.exp: Use standard_testfile. * gdb.cp/no-dmgl-verbose.exp: Use standard_testfile. * gdb.cp/nsdecl.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nsimport.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nsnested.exp: Use standard_testfile. * gdb.cp/nsnoimports.exp: Use standard_testfile. * gdb.cp/nsrecurs.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nsstress.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nsusing.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/operator.exp: Use standard_testfile. * gdb.cp/oranking.exp: Use standard_testfile. * gdb.cp/overload-const.exp: Use standard_testfile. * gdb.cp/overload.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/ovldbreak.exp: Use standard_testfile. * gdb.cp/ovsrch.exp: Use standard_testfile. * gdb.cp/paren-type.exp: Use standard_testfile. * gdb.cp/pass-by-ref.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr-1023.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr-1210.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr-574.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr10687.exp: Use standard_testfile, clean_restart. * gdb.cp/pr10728.exp: Use standard_testfile, standard_output_file. * gdb.cp/pr12028.exp: Use standard_testfile. * gdb.cp/pr9067.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr9167.exp: Use standard_testfile. * gdb.cp/pr9631.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/printmethod.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/psmang.exp: Use standard_testfile, clean_restart. * gdb.cp/psymtab-parameter.exp: Use standard_testfile. * gdb.cp/ptype-cv-cp.exp: Use standard_testfile. * gdb.cp/re-set-overloaded.exp: Use standard_testfile, standard_output_file. * gdb.cp/readnow-language.exp: Use standard_testfile. * gdb.cp/ref-params.exp: Use standard_testfile, build_executable. (gdb_start_again): Use clean_restart. * gdb.cp/ref-types.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/rtti.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/shadow.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/smartp.exp: Use standard_testfile. * gdb.cp/static-method.exp: Use standard_testfile. * gdb.cp/static-print-quit.exp: Use standard_testfile. * gdb.cp/temargs.exp: Use standard_testfile. * gdb.cp/templates.exp: Use standard_testfile, prepare_for_testing. (do_tests): Update. * gdb.cp/try_catch.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/typedef-operator.exp: Use standard_testfile. * gdb.cp/userdef.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/virtbase.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/virtfunc.exp: Use standard_testfile, prepare_for_testing. (do_tests): Update. * gdb.cp/virtfunc2.exp: Use standard_testfile, prepare_for_testing.
* * lib/gdb.exp (skip_altivec_tests, skip_vsx_tests)Tom Tromey2012-06-2138-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (build_executable): Update. (get_compiler_info): Remove 'binfile' argument. * gdb.ada/arrayidx.exp: Update. * gdb.ada/null_array.exp: Update. * gdb.arch/altivec-abi.exp: Update. * gdb.arch/altivec-regs.exp: Update. * gdb.arch/amd64-byte.exp: Update. * gdb.arch/amd64-dword.exp: Update. * gdb.arch/amd64-word.exp: Update. * gdb.arch/i386-avx.exp: Update. * gdb.arch/i386-byte.exp: Update. * gdb.arch/i386-sse.exp: Update. * gdb.arch/i386-word.exp: Update. * gdb.arch/ppc-dfp.exp: Update. * gdb.arch/ppc-fp.exp: Update. * gdb.arch/vsx-regs.exp: Update. * gdb.base/all-bin.exp: Update. * gdb.base/annota1.exp: Update. * gdb.base/async.exp: Update. * gdb.base/attach.exp: Update. * gdb.base/break-interp.exp: Update. * gdb.base/call-ar-st.exp: Update. * gdb.base/call-rt-st.exp: Update. * gdb.base/call-sc.exp: Update. * gdb.base/callfuncs.exp: Update. * gdb.base/catch-load.exp: Update. * gdb.base/completion.exp: Update. * gdb.base/complex.exp: Update. * gdb.base/condbreak.exp: Update. * gdb.base/consecutive.exp: Update. * gdb.base/constvars.exp: Update. * gdb.base/corefile.exp: Update. * gdb.base/eval-skip.exp: Update. * gdb.base/expand-psymtabs.exp: Update. * gdb.base/exprs.exp: Update. * gdb.base/fileio.exp: Update. * gdb.base/fixsection.exp: Update. * gdb.base/funcargs.exp: Update. * gdb.base/gdb11530.exp: Update. * gdb.base/gdb1555.exp: Update. * gdb.base/gnu-ifunc.exp: Update. * gdb.base/gnu_vector.exp: Update. * gdb.base/info-macros.exp: Update. * gdb.base/jit-simple.exp: Update. * gdb.base/jit-so.exp: Update. * gdb.base/jit.exp: Update. * gdb.base/langs.exp: Update. * gdb.base/list.exp: Update. * gdb.base/logical.exp: Update. * gdb.base/long_long.exp: Update. * gdb.base/longjmp.exp: Update. * gdb.base/macscp.exp: Update. * gdb.base/mips_pro.exp: Update. * gdb.base/miscexprs.exp: Update. * gdb.base/morestack.exp: Update. * gdb.base/nodebug.exp: Update. * gdb.base/opaque.exp: Update. * gdb.base/pc-fp.exp: Update. * gdb.base/pending.exp: Update. * gdb.base/permissions.exp: Update. * gdb.base/pointers.exp: Update. * gdb.base/prelink.exp: Update. * gdb.base/printcmds.exp: Update. * gdb.base/psymtab.exp: Update. * gdb.base/ptype.exp: Update. * gdb.base/relational.exp: Update. * gdb.base/scope.exp: Update. * gdb.base/setvar.exp: Update. * gdb.base/shlib-call.exp: Update. * gdb.base/shreloc.exp: Update. * gdb.base/signals.exp: Update. * gdb.base/sizeof.exp: Update. * gdb.base/so-impl-ld.exp: Update. * gdb.base/so-indr-cl.exp: Update. * gdb.base/solib-disc.exp: Update. * gdb.base/solib-display.exp: Update. * gdb.base/solib-nodir.exp: Update. * gdb.base/solib-overlap.exp: Update. * gdb.base/solib-symbol.exp: Update. * gdb.base/solib-weak.exp: Update. * gdb.base/solib.exp: Update. * gdb.base/store.exp: Update. * gdb.base/structs.exp: Update. * gdb.base/structs2.exp: Update. * gdb.base/type-opaque.exp: Update. * gdb.base/unload.exp: Update. * gdb.base/varargs.exp: Update. * gdb.base/volatile.exp: Update. * gdb.base/watch_thread_num.exp: Update. * gdb.base/watchpoint-solib.exp: Update. * gdb.base/watchpoint.exp: Update. * gdb.base/watchpoints.exp: Update. * gdb.base/whatis.exp: Update. * gdb.cell/arch.exp: Update. * gdb.cell/break.exp: Update. * gdb.cell/bt.exp: Update. * gdb.cell/core.exp: Update. * gdb.cell/data.exp: Update. * gdb.cell/ea-cache.exp: Update. * gdb.cell/f-regs.exp: Update. * gdb.cell/fork.exp: Update. * gdb.cell/gcore.exp: Update. * gdb.cell/mem-access.exp: Update. * gdb.cell/ptype.exp: Update. * gdb.cell/registers.exp: Update. * gdb.cell/sizeof.exp: Update. * gdb.cell/solib-symbol.exp: Update. * gdb.cell/solib.exp: Update. * gdb.cp/ambiguous.exp: Update. * gdb.cp/breakpoint.exp: Update. * gdb.cp/bs15503.exp: Update. * gdb.cp/casts.exp: Update. * gdb.cp/class2.exp: Update. * gdb.cp/cpexprs.exp: Update. * gdb.cp/cplusfuncs.exp: Update. * gdb.cp/ctti.exp: Update. * gdb.cp/dispcxx.exp: Update. * gdb.cp/gdb1355.exp: Update. * gdb.cp/gdb2384.exp: Update. * gdb.cp/gdb2495.exp: Update. * gdb.cp/infcall-dlopen.exp: Update. * gdb.cp/local.exp: Update. * gdb.cp/m-data.exp: Update. * gdb.cp/m-static.exp: Update. * gdb.cp/mb-ctor.exp: Update. * gdb.cp/mb-inline.exp: Update. * gdb.cp/mb-templates.exp: Update. * gdb.cp/member-ptr.exp: Update. * gdb.cp/method.exp: Update. * gdb.cp/namespace.exp: Update. * gdb.cp/nextoverthrow.exp: Update. * gdb.cp/nsdecl.exp: Update. * gdb.cp/nsrecurs.exp: Update. * gdb.cp/nsstress.exp: Update. * gdb.cp/nsusing.exp: Update. * gdb.cp/pr-1023.exp: Update. * gdb.cp/pr-1210.exp: Update. * gdb.cp/pr-574.exp: Update. * gdb.cp/pr9631.exp: Update. * gdb.cp/printmethod.exp: Update. * gdb.cp/psmang.exp: Update. * gdb.cp/re-set-overloaded.exp: Update. * gdb.cp/rtti.exp: Update. * gdb.cp/shadow.exp: Update. * gdb.cp/templates.exp: Update. * gdb.cp/try_catch.exp: Update. * gdb.dwarf2/dw2-ranges.exp: Update. * gdb.dwarf2/pr10770.exp: Update. * gdb.fortran/library-module.exp: Update. * gdb.hp/gdb.aCC/optimize.exp: Update. * gdb.hp/gdb.aCC/watch-cmd.exp: Update. * gdb.hp/gdb.base-hp/callfwmall.exp: Update. * gdb.hp/gdb.base-hp/hwwatchbus.exp: Update. * gdb.hp/gdb.base-hp/pxdb.exp: Update. * gdb.hp/gdb.base-hp/sized-enum.exp: Update. * gdb.hp/gdb.base-hp/so-thresh.exp: Update. * gdb.hp/gdb.compat/xdb1.exp: Update. * gdb.hp/gdb.compat/xdb2.exp: Update. * gdb.hp/gdb.compat/xdb3.exp: Update. * gdb.hp/gdb.defects/bs14602.exp: Update. * gdb.hp/gdb.defects/solib-d.exp: Update. * gdb.hp/gdb.objdbg/objdbg01.exp: Update. * gdb.hp/gdb.objdbg/objdbg02.exp: Update. * gdb.hp/gdb.objdbg/objdbg03.exp: Update. * gdb.hp/gdb.objdbg/objdbg04.exp: Update. * gdb.mi/gdb792.exp: Update. * gdb.mi/mi-pending.exp: Update. * gdb.mi/mi-solib.exp: Update. * gdb.mi/mi-var-cp.exp: Update. * gdb.opt/clobbered-registers-O2.exp: Update. * gdb.opt/inline-bt.exp: Update. * gdb.opt/inline-cmds.exp: Update. * gdb.opt/inline-locals.exp: Update. * gdb.python/py-events.exp: Update. * gdb.python/py-finish-breakpoint.exp: Update. * gdb.python/py-type.exp: Update. * gdb.reverse/solib-precsave.exp: Update. * gdb.reverse/solib-reverse.exp: Update. * gdb.server/solib-list.exp: Update. * gdb.stabs/weird.exp: Update. * gdb.threads/attach-into-signal.exp: Update. * gdb.threads/attach-stopped.exp: Update. * gdb.threads/tls-shared.exp: Update. * gdb.trace/change-loc.exp: Update. * gdb.trace/strace.exp: Update.
* * gdb.cp/m-static.cc (keepalive): New function.Tom Tromey2012-06-191-0/+3
| | | | (gnu_obj_1::method): Use it.
* * dwarf2read.c (dw2_find_symbol_file): Unconditionally useTom Tromey2012-06-151-0/+1
| | | | | | init_cutu_and_read_dies. testsuite * gdb.cp/namespace.exp: Add "show lang" test.
* gdb/Jan Kratochvil2012-06-132-0/+46
| | | | | | | | | | | | | | | | | | | | | | PR c++/14177 - Fix parsing TYPENAME:: in parentheses. * c-exp.y (classify_inner_name): Remove caller assumptions in the function comment. Return ERROR for unresolved cases. Implement returning proper NAME. (yylex): Accept also NAME from classify_inner_name. * cp-namespace.c (cp_lookup_nested_type): Rename to ... (cp_lookup_nested_symbol): ... here. Return any found symbol, not just LOC_TYPEDEF type. * cp-support.h (cp_lookup_nested_type): Update its declaration. gdb/testsuite/ PR c++/14177 - Fix parsing TYPENAME:: in parentheses. * gdb.cp/cpexprs.cc (class CV, CV::i, ATTRIBUTE_USED, CV_f): New. (test_function): Call CV_f. * gdb.cp/cpexprs.exp (p 'CV::m(int)', p CV::m(int)) (p 'CV::m(int) const', p CV::m(int) const, p 'CV::m(int) volatile') (p CV::m(int) volatile, p 'CV::m(int) const volatile') (p CV::m(int) const volatile, p CV_f(int), p CV_f(CV::t)) (p CV_f(CV::i)): New tests.
* PR c++/7173:Tom Tromey2012-05-211-65/+12
| | | | | | | | | | | | | | | | | | | | * gnu-v3-abi.c (gnuv3_baseclass_offset): Return early for Java types. * value.h (value_cast_pointers): Update. * valops.c (value_cast_pointers): Add 'subclass_check' argument. (value_cast): Update. (update_search_result): New function. (do_search_struct_field): New, from search_struct_field. Check for ambiguous results. (search_struct_field): Rewrite. * infcall.c (value_arg_coerce): Update. * eval.c (evaluate_subexp_standard) <STRUCTOP_MEMBER>: Use value_cast_pointers. * ada-lang.c (ada_convert_actual): Update. testsuite * gdb.cp/inherit.exp (test_print_mi_members): Expect errors. Remove kfails. (test_print_mi_member_types): Likewise.