Skip to content

irony mode not completing on stl object members (clang 8 ) #555

Open
@alapachianbulbus

Description

@alapachianbulbus

I have c++ completion working with libclang (v 8.0) in vim. I am trying to get irony mode working in emacs. It doesn't work fully. It does completion on local classes and most class member functions but not all but it definitely will not pick up on most (although it some work) stl object member functions. It does suggest stl classes or stl globals like std::cout but if I do std::string s; it will not complete any members on "s." .

For some reason also it only reads a .clang_complete file and will not parse a compile_commands.json file. Below is my json file.

Is there some diagnostics I can turn on to find out why it is failing ? I've included the server log below.

"directory": "/home/xxxx/dev",
"command": "/apps/opt/gcc/5.4.0_01/bin/gcc -I/apps/opt/gcc/5.4.0_01/include/c++/5.4.0 -I/apps/opt/gcc/5.4.0_01/include/c++/5.4.0/x86_64-suse-linux-gnu -std=gnu++14 -o CMakeFiles/testB.dir/test.cpp.o -c /home/xxx/dev/test.cpp",
"file": "/home/xxxx/dev/test.cpp"

from the irony server logs I can see that irony is passing the correct stl inlcude paths. This is puzzling - as it all works with vim using clang_complete plugin and the same libclang.

execute: Command{action=Command::Complete, file='/homexxx/dev/test.cpp', unsavedFile='', dir='', line=198, column=19, prefix='', caseStyle='exact', flags=['-x', 'c++', '-working-directory', '/home/xx/dev/', '-DDEBUG', '-I/apps/opt/gcc/5.4.0_01/include/c++/5.4.0', '-I/apps/opt/gcc/5.4.0_01/include/c++/5.4.0/x86_64-suse-linux-gnu', '-std=c++14'], opt=off}
execute: Command{action=Command::Candidates, file='', unsavedFile='', dir='', line=0, column=0, prefix='', caseStyle='exact', flags=[], opt=off}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions