mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-24 12:35:55 +08:00
805e1f1908
This patch fixes PR c++/16117. gdb has an extension so that users can use expressions like FILE::NAME to choose a variable of the given name from the given file. The bug is that this extension takes precedence over ordinary C++ expressions of the same form. You might think this is merely hypothetical, but now that C++ headers commonly do not use an extension, it is more common. This patch fixes the bug by making two related changes. First, it changes gdb to prefer the ordinary C++ meaning of a symbol over the extended meaning. Second, it arranges for single-quoting of the symbol to indicate a preference for the extension. Built and regtested on x86-64 Fedora 18. New test case included. 2013-11-15 Tom Tromey <tromey@redhat.com> PR c++/16117: * c-exp.y (lex_one_token): Add "is_quoted_name" argument. (classify_name): Likewise. Prefer a field of "this" over a filename. (classify_inner_name, yylex): Update. 2013-11-15 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Variables): Note gdb rules for ambiguous cases. Add example. 2013-11-15 Tom Tromey <tromey@redhat.com> * gdb.cp/includefile: New file. * gdb.cp/filename.exp: New file. * gdb.cp/filename.cc: New file. |
||
---|---|---|
.. | ||
abstract-origin.cc | ||
abstract-origin.exp | ||
ambiguous.cc | ||
ambiguous.exp | ||
annota2.cc | ||
annota2.exp | ||
annota3.cc | ||
annota3.exp | ||
anon-ns.cc | ||
anon-ns.exp | ||
anon-struct.cc | ||
anon-struct.exp | ||
anon-union.cc | ||
anon-union.exp | ||
arg-reference.cc | ||
arg-reference.exp | ||
baseenum.cc | ||
baseenum.exp | ||
bool.cc | ||
bool.exp | ||
breakpoint.cc | ||
breakpoint.exp | ||
bs15503.cc | ||
bs15503.exp | ||
call-c-1.c | ||
call-c.cc | ||
call-c.exp | ||
casts.cc | ||
casts.exp | ||
class2.cc | ||
class2.exp | ||
classes.cc | ||
classes.exp | ||
cmpd-minsyms.cc | ||
cmpd-minsyms.exp | ||
converts.cc | ||
converts.exp | ||
cp-relocate.cc | ||
cp-relocate.exp | ||
cpcompletion.exp | ||
cpexprs.cc | ||
cpexprs.exp | ||
cplabel.cc | ||
cplabel.exp | ||
cplusfuncs.cc | ||
cplusfuncs.exp | ||
ctti.exp | ||
cttiadd1.cc | ||
cttiadd2.cc | ||
cttiadd3.cc | ||
cttiadd.cc | ||
debug-expr.exp | ||
demangle.exp | ||
derivation2.cc | ||
derivation.cc | ||
derivation.exp | ||
destrprint.cc | ||
destrprint.exp | ||
dispcxx.cc | ||
dispcxx.exp | ||
exception.cc | ||
exception.exp | ||
exceptprint.cc | ||
exceptprint.exp | ||
expand-psymtabs-cxx.cc | ||
expand-psymtabs-cxx.exp | ||
expand-sals.cc | ||
expand-sals.exp | ||
extern-c.cc | ||
extern-c.exp | ||
filename.cc | ||
filename.exp | ||
formatted-ref.cc | ||
formatted-ref.exp | ||
fpointer.cc | ||
fpointer.exp | ||
gdb1355.cc | ||
gdb1355.exp | ||
gdb2384-base.cc | ||
gdb2384-base.h | ||
gdb2384.cc | ||
gdb2384.exp | ||
gdb2495.cc | ||
gdb2495.exp | ||
hang1.cc | ||
hang2.cc | ||
hang3.cc | ||
hang.exp | ||
hang.H | ||
includefile | ||
infcall-dlopen-lib.cc | ||
infcall-dlopen.cc | ||
infcall-dlopen.exp | ||
inherit.exp | ||
koenig.cc | ||
koenig.exp | ||
local.cc | ||
local.exp | ||
m-data.cc | ||
m-data.exp | ||
m-static1.cc | ||
m-static.cc | ||
m-static.exp | ||
m-static.h | ||
maint.exp | ||
Makefile.in | ||
mb-ctor.cc | ||
mb-ctor.exp | ||
mb-inline1.cc | ||
mb-inline2.cc | ||
mb-inline.exp | ||
mb-inline.h | ||
mb-templates.cc | ||
mb-templates.exp | ||
member-name.cc | ||
member-name.exp | ||
member-ptr.cc | ||
member-ptr.exp | ||
meth-typedefs.cc | ||
meth-typedefs.exp | ||
method2.cc | ||
method2.exp | ||
method.cc | ||
method.exp | ||
minsym-fallback-main.cc | ||
minsym-fallback.cc | ||
minsym-fallback.exp | ||
minsym-fallback.h | ||
misc.cc | ||
misc.exp | ||
namespace1.cc | ||
namespace-enum-main.cc | ||
namespace-enum.cc | ||
namespace-enum.exp | ||
namespace-nested-import.cc | ||
namespace-nested-import.exp | ||
namespace.cc | ||
namespace.exp | ||
nextoverthrow.cc | ||
nextoverthrow.exp | ||
no-dmgl-verbose.cc | ||
no-dmgl-verbose.exp | ||
noparam.cc | ||
noparam.exp | ||
nsalias.cc | ||
nsalias.exp | ||
nsdecl.cc | ||
nsdecl.exp | ||
nsimport.cc | ||
nsimport.exp | ||
nsnested.cc | ||
nsnested.exp | ||
nsnoimports.cc | ||
nsnoimports.exp | ||
nsrecurs.cc | ||
nsrecurs.exp | ||
nsstress.cc | ||
nsstress.exp | ||
nsusing.cc | ||
nsusing.exp | ||
operator.cc | ||
operator.exp | ||
oranking.cc | ||
oranking.exp | ||
overload-const.cc | ||
overload-const.exp | ||
overload.cc | ||
overload.exp | ||
ovldbreak.cc | ||
ovldbreak.exp | ||
ovsrch1.cc | ||
ovsrch2.cc | ||
ovsrch3.cc | ||
ovsrch4.cc | ||
ovsrch.exp | ||
ovsrch.h | ||
paren-type.cc | ||
paren-type.exp | ||
parse-lang.cc | ||
parse-lang.exp | ||
pass-by-ref.cc | ||
pass-by-ref.exp | ||
pr9067.cc | ||
pr9067.exp | ||
pr9167.cc | ||
pr9167.exp | ||
pr9594.cc | ||
pr9631.cc | ||
pr9631.exp | ||
pr10687.cc | ||
pr10687.exp | ||
pr10728-x.cc | ||
pr10728-x.h | ||
pr10728-y.cc | ||
pr10728.exp | ||
pr12028.cc | ||
pr12028.exp | ||
pr-574.cc | ||
pr-574.exp | ||
pr-1023.cc | ||
pr-1023.exp | ||
pr-1210.cc | ||
pr-1210.exp | ||
printmethod.cc | ||
printmethod.exp | ||
psmang1.cc | ||
psmang2.cc | ||
psmang.exp | ||
psymtab-parameter.cc | ||
psymtab-parameter.exp | ||
ptype-cv-cp.cc | ||
ptype-cv-cp.exp | ||
ptype-flags.cc | ||
ptype-flags.exp | ||
punctuator.exp | ||
re-set-overloaded.cc | ||
re-set-overloaded.exp | ||
readnow-language.cc | ||
readnow-language.exp | ||
ref-params.cc | ||
ref-params.exp | ||
ref-types.cc | ||
ref-types.exp | ||
rtti1.cc | ||
rtti2.cc | ||
rtti.exp | ||
rtti.h | ||
shadow.cc | ||
shadow.exp | ||
smartp.cc | ||
smartp.exp | ||
static-method.cc | ||
static-method.exp | ||
static-print-quit.cc | ||
static-print-quit.exp | ||
temargs.cc | ||
temargs.exp | ||
templates.cc | ||
templates.exp | ||
try_catch.cc | ||
try_catch.exp | ||
typedef-operator.cc | ||
typedef-operator.exp | ||
typeid.cc | ||
typeid.exp | ||
userdef.cc | ||
userdef.exp | ||
using-crash.cc | ||
using-crash.exp | ||
virtbase.cc | ||
virtbase.exp | ||
virtfunc2.cc | ||
virtfunc2.exp | ||
virtfunc.cc | ||
virtfunc.exp |