MaskRay / ccls

C/C++/ObjC language server supporting cross references, hierarchies, completion and semantic highlighting
Apache License 2.0
3.78k stars 260 forks source link

expected expression (ccls 4) when declaring a variable directly underneath `case` #950

Open Zeebrow opened 1 year ago

Zeebrow commented 1 year ago

Observed behavior

ccls is telling me that a variable declaration is not allowed underneath a case statement. image

However, it is okay if the variable declaration comes after something like an if: image

Expected behavior

There isn no error reported

Steps to reproduce

  int func(){  
      int a;  
      switch (a) {  
          case 1:
              if(1){}
              int b;
          case 2:
              int c;  // Expected expression (ccls 4)
      }                                                            
      return 0;                                                    
  }

System information

Features: +acl +iconv +tui See ":help feature-compile"

system vimrc file: "$VIM/sysinit.vim" fall-back for $VIM: "/usr/share/nvim"

Run :checkhealth for more info


* Language client (and version): 

vim version: NVIM v0.6.1 node version: v18.17.0 coc.nvim version: 0.0.82-3dc6153a 2023-07-21 00:22:17 -0500 coc.nvim directory: /home/zeebrow/.local/share/nvim/plugged/coc.nvim term: xterm-256color platform: linux