59498c3 Do not classify C struct members as a filename

5 files Authored by Leszek Swirski 6 years ago, Committed by Simon Marchi 6 years ago,
    Do not classify C struct members as a filename
    
    There is existing logic in C/C++ expression parsing to avoid classifying
    names as a filename when they are a field on the this object. This
    change extends this logic to also avoid classifying names after a
    struct-op (-> or .) as a filename, which otherwise causes a syntax
    error.
    
    Thus, it is now possible in the file
    
        #include <map>
        struct D {
            void map();
        }
        D d;
    
    to call
    
        (gdb) print d.map()
    
    where previously this would have been a syntax error.
    
    Tested on gdb.cp/*.exp
    
    gdb/ChangeLog:
    
            * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
            names after a structop as a filename
    
    gdb/testsuite/ChangeLog:
    
            * gdb.cp/filename.cc, gdb.cp/filename.exp: Test that member
            functions with the same name as an include file are parsed
            correctly.
    
        
file modified
+5 -0
file modified
+24 -21
file modified
+6 -0