Skip to content

Go to Definition jumps to .h declaration instead of .c definition in 1.33.2 (regression from 1.32.2) #14686

Description

@hhhwcyjhh

Environment

  • OS: Windows 10 Pro for Workstations
  • VS Code version: (your version)
  • C/C++ extension version: 1.33.2 (broken), 1.32.2 (works)
  • Project type: Embedded C firmware (esirisc architecture)
  • Workspace on: mapped virtual drive (M:)

Problem

After upgrading to 1.33.2, pressing F12 (Go to Definition) on a function
always jumps to the declaration in the .h header file instead of the
implementation in the .c source file. Downgrading to 1.32.2 restores
correct behavior immediately.

Steps to Reproduce

  1. Open a C project on a mapped virtual drive
  2. Open a source file (e.g. FlowWork.c)
  3. Press F12 on a function call (e.g. AppFrontFilter())
  4. Expected: jumps to AppFrontFilter.c:929 (definition)
  5. Actual: jumps to AppFrontFilter.h:77 (declaration)

Additional Info

  • The issue occurs even when the target .c file is open in the editor
  • compile_commands.json is configured and loaded correctly (verified via Log Diagnostics)
  • The browse database is fully built (verified via C/C++ Output channel)
  • Downgrading to 1.32.2 fixes the issue without any other changes

Metadata

Metadata

Labels

Feature: Go to DefinitionAn issue related to Go to Definition/Declaration.Language Servicemore info neededThe issue report is not actionable in its current stateregressionA bug that didn't exist in a previous release

Type

Projects

Status
No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions