microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.
Other
5.53k stars 1.56k forks source link

Falsy "variable "Test" is not a type name" #11821

Open Disservin opened 10 months ago

Disservin commented 10 months ago

Environment

Version: 1.85.1 (user setup) Commit: 0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2 Date: 2023-12-13T09:49:37.021Z Electron: 25.9.7 ElectronBuildId: 25551756 Chromium: 114.0.5735.289 Node.js: 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows_NT x64 10.0.22621

Bug Summary and Steps to Reproduce

Bug Summary: Intellisense complains about type.

Steps to reproduce:

class Test {};

Test Test;

int main(int argc, char const *argv[]) { return 0; }

Error: variable "Test" is not a type nameC/C++(757)

[{
    "resource": "/C:/Users/DESKTOP-123456/test.cpp",
    "owner": "C/C++: IntelliSense",
    "code": "757",
    "severity": 8,
    "message": "variable \"Test\" is not a type name",
    "source": "C/C++",
    "startLineNumber": 3,
    "startColumn": 1,
    "endLineNumber": 3,
    "endColumn": 5
}]

Expected behavior: No error from intellisense

Configuration and Logs

LSP: (received) cpptools/restartIntelliSenseForFile: file:///c%3A/Users/DESKTOP-123456/test.cpp
LSP: (invoked) cpptools/restartIntelliSenseForFile: file:///c%3A/Users/DESKTOP-123456/test.cpp
Shutting down IntelliSense server: C:\Users\DESKTOP-123456\test.cpp
Checking for syntax errors: C:\Users\DESKTOP-123456\test.cpp
sending compilation args for C:\Users\DESKTOP-123456\test.cpp
  include: C:\MSYS64\UCRT64\INCLUDE\C++\13.1.0
  include: C:\MSYS64\UCRT64\INCLUDE\C++\13.1.0\X86_64-W64-MINGW32
  include: C:\MSYS64\UCRT64\INCLUDE\C++\13.1.0\BACKWARD
  include: C:\MSYS64\UCRT64\LIB\GCC\X86_64-W64-MINGW32\13.1.0\INCLUDE
  include: C:\MSYS64\UCRT64\INCLUDE
  include: C:\MSYS64\UCRT64\LIB\GCC\X86_64-W64-MINGW32\13.1.0\INCLUDE-FIXED
  define: __DBL_MIN_EXP__=(-1021)
  define: __UINT_LEAST16_MAX__=0xffff
  define: __FLT16_HAS_QUIET_NAN__=1
  define: __ATOMIC_ACQUIRE=2
  define: __FLT128_MAX_10_EXP__=4932
  define: __FLT_MIN__=1.17549435082228750796873653722224568e-38F
  define: __GCC_IEC_559_COMPLEX=2
  define: __UINT_LEAST8_TYPE__=unsigned char
  define: __SIZEOF_FLOAT80__=16
  define: __BFLT16_DENORM_MIN__=9.18354961579912115600575419704879436e-41BF16
  define: __INTMAX_C(c)=c ## LL
  define: __CHAR_BIT__=8
  define: __MINGW32__=1
  define: __UINT8_MAX__=0xff
  define: __SCHAR_WIDTH__=8
  define: _WIN64=1
  define: __WINT_MAX__=0xffff
  define: __FLT32_MIN_EXP__=(-125)
  define: __BFLT16_MIN_10_EXP__=(-37)
  define: __ORDER_LITTLE_ENDIAN__=1234
  define: __WCHAR_MAX__=0xffff
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1
  define: __GCC_ATOMIC_CHAR_LOCK_FREE=2
  define: __GCC_IEC_559=2
  define: __FLT32X_DECIMAL_DIG__=17
  define: __FLT_EVAL_METHOD__=0
  define: __FLT64_DECIMAL_DIG__=17
  define: __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2
  define: __UINT_FAST64_MAX__=0xffffffffffffffffULL
  define: __SIG_ATOMIC_TYPE__=int
  define: __DBL_MIN_10_EXP__=(-307)
  define: __FINITE_MATH_ONLY__=0
  define: __FLT32X_MAX_EXP__=1024
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1
  define: __FLT32_HAS_DENORM__=1
  define: __UINT_FAST8_MAX__=0xff
  define: __DEC64_MAX_EXP__=385
  define: __INT8_C(c)=c
  define: __LDBL_HAS_INFINITY__=1
  define: __INT_LEAST8_WIDTH__=8
  define: __UINT_LEAST64_MAX__=0xffffffffffffffffULL
  define: __INT_LEAST8_MAX__=0x7f
  define: __SHRT_MAX__=0x7fff
  define: __LDBL_MAX__=1.18973149535723176502126385303097021e+4932L
  define: __FLT64X_MAX_10_EXP__=4932
  define: __BFLT16_MAX_10_EXP__=38
  define: __BFLT16_MAX_EXP__=128
  define: __LDBL_IS_IEC_60559__=1
  define: __FLT64X_HAS_QUIET_NAN__=1
  define: __UINT_LEAST8_MAX__=0xff
  define: __GCC_ATOMIC_BOOL_LOCK_FREE=2
  define: __FLT128_DENORM_MIN__=6.47517511943802511092443895822764655e-4966F128
  define: __UINTMAX_TYPE__=long long unsigned int
  define: __BFLT16_DECIMAL_DIG__=4
  define: __DEC32_EPSILON__=1E-6DF
  define: __FLT_EVAL_METHOD_TS_18661_3__=0
  define: __UINT32_MAX__=0xffffffffU
  define: __GXX_EXPERIMENTAL_CXX0X__=1
  define: __DBL_DENORM_MIN__=double(4.94065645841246544176568792868221372e-324L)
  define: __FLT128_MIN_EXP__=(-16381)
  define: __WINT_MIN__=0
  define: __FLT128_MIN_10_EXP__=(-4931)
  define: __FLT32X_IS_IEC_60559__=1
  define: __INT_LEAST16_WIDTH__=16
  define: __SCHAR_MAX__=0x7f
  define: __FLT128_MANT_DIG__=113
  define: __WCHAR_MIN__=0
  define: __INT64_C(c)=c ## LL
  define: __GCC_ATOMIC_POINTER_LOCK_FREE=2
  define: __ATOMIC_SEQ_CST=5
  define: __INT_LEAST64_MAX__=0x7fffffffffffffffLL
  define: __STDCPP_FLOAT32_T__=1
  define: __STDCPP_BFLOAT16_T__=1
  define: __FLT32X_MANT_DIG__=53
  define: __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2
  define: __FLT32_MAX_10_EXP__=38
  define: __FLT64X_EPSILON__=1.08420217248550443400745280086994171e-19F64x
  define: __STDC_HOSTED__=1
  define: __DEC64_MIN_EXP__=(-382)
  define: __WIN64=1
  define: __DBL_DIG__=15
  define: __FLT_EPSILON__=1.19209289550781250000000000000000000e-7F
  define: __GXX_WEAK__=1
  define: __SHRT_WIDTH__=16
  define: __FLT32_IS_IEC_60559__=1
  define: __LDBL_MIN__=3.36210314311209350626267781732175260e-4932L
  define: __DBL_IS_IEC_60559__=1
  define: __DEC32_MAX__=9.999999E96DF
  define: __CHAR8_TYPE__=unsigned char
  define: __FLT64X_DENORM_MIN__=3.64519953188247460252840593361941982e-4951F64x
  define: __FLT32X_HAS_INFINITY__=1
  define: __INT_WIDTH__=32
  define: __GCC_ATOMIC_CHAR8_T_LOCK_FREE=2
  define: __DECIMAL_DIG__=21
  define: __FLT64_EPSILON__=2.22044604925031308084726333618164062e-16F64
  define: __INT16_MAX__=0x7fff
  define: __FLT64_MIN_EXP__=(-1021)
  define: __FLT64X_MIN_10_EXP__=(-4931)
  define: __LDBL_HAS_QUIET_NAN__=1
  define: __FLT16_MIN_EXP__=(-13)
  define: __FLT64_MANT_DIG__=53
  define: _REENTRANT=1
  define: __FLT64X_MANT_DIG__=64
  define: __BFLT16_DIG__=2
  define: __GNUC__=13
  define: __GXX_RTTI=1
  define: __MMX__=1
  define: __FLT_HAS_DENORM__=1
  define: __SIZEOF_LONG_DOUBLE__=16
  define: __BIGGEST_ALIGNMENT__=16
  define: __STDC_UTF_16__=1
  define: __SIZE_TYPE__=long long unsigned int
  define: __FLT64_MAX_10_EXP__=308
  define: __BFLT16_IS_IEC_60559__=0
  define: __STDCPP_FLOAT128_T__=1
  define: __FLT16_MAX_10_EXP__=4
  define: __DBL_MAX__=double(1.79769313486231570814527423731704357e+308L)
  define: __INT_FAST32_MAX__=0x7fffffff
  define: __DBL_HAS_INFINITY__=1
  define: __INT64_MAX__=0x7fffffffffffffffLL
  define: __SIZEOF_FLOAT__=4
  define: __WINNT__=1
  define: __HAVE_SPECULATION_SAFE_VALUE=1
  define: __DEC32_MIN_EXP__=(-94)
  define: __INTPTR_WIDTH__=64
  define: __UINT_LEAST32_MAX__=0xffffffffU
  define: __FLT32X_HAS_DENORM__=1
  define: __INT_FAST16_TYPE__=short int
  define: __STRICT_ANSI__=1
  define: __MMX_WITH_SSE__=1
  define: __LDBL_HAS_DENORM__=1
  define: __SEG_GS=1
  define: __BFLT16_EPSILON__=7.81250000000000000000000000000000000e-3BF16
  define: __cplusplus=202100L
  define: __DEC32_MIN__=1E-95DF
  define: __DEPRECATED=1
  define: __DBL_MAX_EXP__=1024
  define: __WCHAR_WIDTH__=16
  define: __FLT32_MAX__=3.40282346638528859811704183484516925e+38F32
  define: __DEC128_EPSILON__=1E-33DL
  define: __FLT16_DECIMAL_DIG__=5
  define: __SSE2_MATH__=1
  define: __ATOMIC_HLE_RELEASE=131072
  define: __WIN32__=1
  define: __PTRDIFF_MAX__=0x7fffffffffffffffLL
  define: __amd64=1
  define: __STDCPP_FLOAT64_T__=1
  define: __ATOMIC_HLE_ACQUIRE=65536
  define: __GNUG__=13
  define: __LONG_LONG_MAX__=0x7fffffffffffffffLL
  define: __SIZEOF_SIZE_T__=8
  define: __BFLT16_HAS_INFINITY__=1
  define: __FLT64X_MIN_EXP__=(-16381)
  define: __SIZEOF_WINT_T__=2
  define: __FLT32X_DIG__=15
  define: __LONG_LONG_WIDTH__=64
  define: __FLT32_MAX_EXP__=128
  define: __GXX_ABI_VERSION=1018
  define: __FLT_MIN_EXP__=(-125)
  define: __x86_64=1
  define: __INT_FAST64_TYPE__=long long int
  define: __BFLT16_MAX__=3.38953138925153547590470800371487867e+38BF16
  define: __FLT64_DENORM_MIN__=4.94065645841246544176568792868221372e-324F64
  define: __FLT16_DENORM_MIN__=5.96046447753906250000000000000000000e-8F16
  define: __FLT128_EPSILON__=1.92592994438723585305597794258492732e-34F128
  define: __FLT64X_NORM_MAX__=1.18973149535723176502126385303097021e+4932F64x
  define: __SIZEOF_POINTER__=8
  define: __DBL_HAS_QUIET_NAN__=1
  define: __FLT32X_EPSILON__=2.22044604925031308084726333618164062e-16F32x
  define: __LDBL_MAX_EXP__=16384
  define: __DECIMAL_BID_FORMAT__=1
  define: __GXX_TYPEINFO_EQUALITY_INLINE=0
  define: __FLT64_MIN_10_EXP__=(-307)
  define: __FLT16_MIN_10_EXP__=(-4)
  define: __FLT64X_DECIMAL_DIG__=21
  define: __DEC128_MIN__=1E-6143DL
  define: __REGISTER_PREFIX__=
  define: __UINT16_MAX__=0xffff
  define: __cdecl=__attribute__((__cdecl__))
  define: __FLT128_HAS_INFINITY__=1
  define: __FLT32_MIN__=1.17549435082228750796873653722224568e-38F32
  define: __UINT8_TYPE__=unsigned char
  define: __FLT_DIG__=6
  define: __NO_INLINE__=1
  define: __DEC_EVAL_METHOD__=2
  define: __FLT_MANT_DIG__=24
  define: __LDBL_DECIMAL_DIG__=21
  define: __VERSION__="13.1.0"
  define: __UINT64_C(c)=c ## ULL
  define: _WIN32=1
  define: __SEH__=1
  define: __INT_LEAST32_MAX__=0x7fffffff
  define: __GCC_ATOMIC_INT_LOCK_FREE=2
  define: __FLT128_MAX_EXP__=16384
  define: __FLT32_MANT_DIG__=24
  define: __FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__
  define: __FLT32X_MIN_EXP__=(-1021)
  define: __BFLT16_MIN__=1.17549435082228750796873653722224568e-38BF16
  define: __FLT128_HAS_DENORM__=1
  define: __FLT32_DECIMAL_DIG__=9
  define: __FLT128_DIG__=33
  define: _INTEGRAL_MAX_BITS=64
  define: __INT32_C(c)=c
  define: __DEC64_EPSILON__=1E-15DD
  define: __ORDER_PDP_ENDIAN__=3412
  define: __DEC128_MIN_EXP__=(-6142)
  define: __DEC128_MAX__=9.999999999999999999999999999999999E6144DL
  define: __INT_FAST32_TYPE__=int
  define: __UINT_LEAST16_TYPE__=short unsigned int
  define: __DEC128_MAX_EXP__=6145
  define: __DBL_HAS_DENORM__=1
  define: __UINT64_MAX__=0xffffffffffffffffULL
  define: __FLT_IS_IEC_60559__=1
  define: __GNUC_WIDE_EXECUTION_CHARSET_NAME="UTF-16LE"
  define: __FLT64X_DIG__=18
  define: __INT8_TYPE__=signed char
  define: __GCC_ASM_FLAG_OUTPUTS__=1
  define: __UINT32_TYPE__=unsigned int
  define: __BFLT16_HAS_QUIET_NAN__=1
  define: __FLT_RADIX__=2
  define: __INT_LEAST16_TYPE__=short int
  define: __LDBL_EPSILON__=1.08420217248550443400745280086994171e-19L
  define: __UINTMAX_C(c)=c ## ULL
  define: __FLT16_DIG__=3
  define: __FLT32X_MIN__=2.22507385850720138309023271733240406e-308F32x
  define: __SIG_ATOMIC_MAX__=0x7fffffff
  define: __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2
  define: __USER_LABEL_PREFIX__=
  define: __SIZEOF_PTRDIFF_T__=8
  define: __FLT64X_HAS_INFINITY__=1
  define: __SIZEOF_LONG__=4
  define: __LDBL_DIG__=18
  define: __FLT64_IS_IEC_60559__=1
  define: __x86_64__=1
  define: __FLT16_IS_IEC_60559__=1
  define: __FLT16_MAX_EXP__=16
  define: __DEC32_SUBNORMAL_MIN__=0.000001E-95DF
  define: __MSVCRT__=1
  define: __INT_FAST16_MAX__=0x7fff
  define: __GCC_CONSTRUCTIVE_SIZE=64
  define: __FLT64_DIG__=15
  define: __UINT_FAST32_MAX__=0xffffffffU
  define: __UINT_LEAST64_TYPE__=long long unsigned int
  define: __FLT16_EPSILON__=9.76562500000000000000000000000000000e-4F16
  define: __FLT_HAS_QUIET_NAN__=1
  define: __FLT_MAX_10_EXP__=38
  define: __LONG_MAX__=0x7fffffffL
  define: __FLT64X_HAS_DENORM__=1
  define: __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL
  define: __FLT_HAS_INFINITY__=1
  define: __GNUC_EXECUTION_CHARSET_NAME="UTF-8"
  define: __UINT_FAST16_TYPE__=short unsigned int
  define: __DEC64_MAX__=9.999999999999999E384DD
  define: __INT_FAST32_WIDTH__=32
  define: __CHAR16_TYPE__=short unsigned int
  define: __PRAGMA_REDEFINE_EXTNAME=1
  define: __SIZE_WIDTH__=64
  define: __SEG_FS=1
  define: __INT_LEAST16_MAX__=0x7fff
  define: __FLT16_NORM_MAX__=6.55040000000000000000000000000000000e+4F16
  define: __DEC64_MANT_DIG__=16
  define: __FLT32_DENORM_MIN__=1.40129846432481707092372958328991613e-45F32
  define: __SIG_ATOMIC_WIDTH__=32
  define: __INT_LEAST64_TYPE__=long long int
  define: __INT16_TYPE__=short int
  define: __INT_LEAST8_TYPE__=signed char
  define: __FLT16_MAX__=6.55040000000000000000000000000000000e+4F16
  define: __nocona__=1
  define: __FLT128_MIN__=3.36210314311209350626267781732175260e-4932F128
  define: __SIZEOF_INT__=4
  define: __DEC32_MAX_EXP__=97
  define: __INT_FAST8_MAX__=0x7f
  define: __FLT128_MAX__=1.18973149535723176508575932662800702e+4932F128
  define: __INTPTR_MAX__=0x7fffffffffffffffLL
  define: __WIN64__=1
  define: __FLT64_HAS_QUIET_NAN__=1
  define: __stdcall=__attribute__((__stdcall__))
  define: __FLT32_MIN_10_EXP__=(-37)
  define: __EXCEPTIONS=1
  define: __GXX_MERGED_TYPEINFO_NAMES=0
  define: __UINT16_C(c)=c
  define: __PTRDIFF_WIDTH__=64
  define: __LDBL_MANT_DIG__=64
  define: __INT_FAST16_WIDTH__=16
  define: __FLT64_HAS_INFINITY__=1
  define: __FLT64X_MAX__=1.18973149535723176502126385303097021e+4932F64x
  define: __FLT16_HAS_INFINITY__=1
  define: __STDCPP_DEFAULT_NEW_ALIGNMENT__=16
  define: __SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)
  define: __GCC_ATOMIC_LONG_LOCK_FREE=2
  define: __DEC32_MANT_DIG__=7
  define: __INTPTR_TYPE__=long long int
  define: __UINT16_TYPE__=short unsigned int
  define: __WCHAR_TYPE__=short unsigned int
  define: __pic__=1
  define: __STDCPP_FLOAT16_T__=1
  define: __UINTPTR_MAX__=0xffffffffffffffffULL
  define: __INT_FAST64_WIDTH__=64
  define: __INT_FAST64_MAX__=0x7fffffffffffffffLL
  define: __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1
  define: __FLT_NORM_MAX__=3.40282346638528859811704183484516925e+38F
  define: __FLT32_HAS_INFINITY__=1
  define: __FLT64X_MAX_EXP__=16384
  define: __UINT_FAST64_TYPE__=long long unsigned int
  define: __BFLT16_MIN_EXP__=(-125)
  define: __INT_MAX__=0x7fffffff
  define: __nocona=1
  define: __code_model_medium__=1
  define: __INT64_TYPE__=long long int
  define: __FLT_MAX_EXP__=128
  define: __ORDER_BIG_ENDIAN__=4321
  define: __DBL_MANT_DIG__=53
  define: __SIZEOF_FLOAT128__=16
  define: __BFLT16_MANT_DIG__=8
  define: __DEC64_MIN__=1E-383DD
  define: __WINT_TYPE__=short unsigned int
  define: __UINT_LEAST32_TYPE__=unsigned int
  define: __SIZEOF_SHORT__=2
  define: __FLT32_NORM_MAX__=3.40282346638528859811704183484516925e+38F32
  define: __SSE__=1
  define: __LDBL_MIN_EXP__=(-16381)
  define: __FLT64_MAX__=1.79769313486231570814527423731704357e+308F64
  define: __amd64__=1
  define: __WINT_WIDTH__=16
  define: __INT_LEAST64_WIDTH__=64
  define: __FLT32X_MAX_10_EXP__=308
  define: __WIN32=1
  define: __SIZEOF_INT128__=16
  define: __FLT16_MIN__=6.10351562500000000000000000000000000e-5F16
  define: __FLT64X_IS_IEC_60559__=1
  define: __WCHAR_UNSIGNED__=1
  define: __LDBL_MAX_10_EXP__=4932
  define: __ATOMIC_RELAXED=0
  define: __DBL_EPSILON__=double(2.22044604925031308084726333618164062e-16L)
  define: __INT_LEAST32_TYPE__=int
  define: __thiscall=__attribute__((__thiscall__))
  define: __UINT8_C(c)=c
  define: __FLT64_MAX_EXP__=1024
  define: __SIZEOF_WCHAR_T__=2
  define: __GNUC_PATCHLEVEL__=0
  define: __WINNT=1
  define: __FLT128_NORM_MAX__=1.18973149535723176508575932662800702e+4932F128
  define: __FLT64_NORM_MAX__=1.79769313486231570814527423731704357e+308F64
  define: __FLT128_HAS_QUIET_NAN__=1
  define: __INTMAX_MAX__=0x7fffffffffffffffLL
  define: __SSE3__=1
  define: __INT_FAST8_TYPE__=signed char
  define: __fastcall=__attribute__((__fastcall__))
  define: __FLT64X_MIN__=3.36210314311209350626267781732175260e-4932F64x
  define: __STDCPP_THREADS__=1
  define: __BFLT16_HAS_DENORM__=1
  define: __GNUC_STDC_INLINE__=1
  define: __FLT64_HAS_DENORM__=1
  define: __FLT32_EPSILON__=1.19209289550781250000000000000000000e-7F32
  define: __FLT16_HAS_DENORM__=1
  define: __DBL_DECIMAL_DIG__=17
  define: __STDC_UTF_32__=1
  define: __INT_FAST8_WIDTH__=8
  define: __FXSR__=1
  define: __FLT32X_MAX__=1.79769313486231570814527423731704357e+308F32x
  define: __DBL_NORM_MAX__=double(1.79769313486231570814527423731704357e+308L)
  define: __BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__
  define: __MINGW64__=1
  define: __GCC_DESTRUCTIVE_SIZE=64
  define: __INTMAX_WIDTH__=64
  define: __FLT32_DIG__=6
  define: __UINT64_TYPE__=long long unsigned int
  define: __UINT32_C(c)=c ## U
  define: __FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F
  define: __FLT128_IS_IEC_60559__=1
  define: __INT8_MAX__=0x7f
  define: __LONG_WIDTH__=32
  define: __DBL_MIN__=double(2.22507385850720138309023271733240406e-308L)
  define: __PIC__=1
  define: __INT32_MAX__=0x7fffffff
  define: __UINT_FAST32_TYPE__=unsigned int
  define: __FLT16_MANT_DIG__=11
  define: __FLT32X_NORM_MAX__=1.79769313486231570814527423731704357e+308F32x
  define: __CHAR32_TYPE__=unsigned int
  define: __FLT_MAX__=3.40282346638528859811704183484516925e+38F
  define: __SSE2__=1
  define: __BFLT16_NORM_MAX__=3.38953138925153547590470800371487867e+38BF16
  define: __INT32_TYPE__=int
  define: __SIZEOF_DOUBLE__=8
  define: __FLT_MIN_10_EXP__=(-37)
  define: __FLT64_MIN__=2.22507385850720138309023271733240406e-308F64
  define: __INT_LEAST32_WIDTH__=32
  define: __INTMAX_TYPE__=long long int
  define: __FLT32X_HAS_QUIET_NAN__=1
  define: __ATOMIC_CONSUME=1
  define: __GNUC_MINOR__=1
  define: __UINTMAX_MAX__=0xffffffffffffffffULL
  define: __FLT32X_DENORM_MIN__=4.94065645841246544176568792868221372e-324F32x
  define: __DBL_MAX_10_EXP__=308
  define: __LDBL_DENORM_MIN__=3.64519953188247460252840593361941982e-4951L
  define: __INT16_C(c)=c
  define: __STDC__=1
  define: __PTRDIFF_TYPE__=long long int
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16=1
  define: __FLT32X_MIN_10_EXP__=(-307)
  define: __UINTPTR_TYPE__=long long unsigned int
  define: __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD
  define: __DEC128_MANT_DIG__=34
  define: __LDBL_MIN_10_EXP__=(-4931)
  define: __SSE_MATH__=1
  define: __SIZEOF_LONG_LONG__=8
  define: __FLT128_DECIMAL_DIG__=36
  define: __GCC_ATOMIC_LLONG_LOCK_FREE=2
  define: __FLT32_HAS_QUIET_NAN__=1
  define: __FLT_DECIMAL_DIG__=9
  define: __UINT_FAST16_MAX__=0xffff
  define: __LDBL_NORM_MAX__=1.18973149535723176502126385303097021e+4932L
  define: __GCC_ATOMIC_SHORT_LOCK_FREE=2
  define: __SIZE_MAX__=0xffffffffffffffffULL
  define: __UINT_FAST8_TYPE__=unsigned char
  define: __ATOMIC_ACQ_REL=4
  define: __ATOMIC_RELEASE=3
  define: __declspec(x)=__attribute__((x))
  define: _DEBUG
  define: UNICODE
  define: _UNICODE
  other: --g++
  other: --gnu_version=130100
  stdver: c++23
  intelliSenseMode: windows-gcc-x64
Queueing IntelliSense update for files in translation unit of: C:\Users\DESKTOP-123456\test.cpp
Error squiggle count: 1
Update IntelliSense time (sec): 0.305
LSP: (received) cpptools/getSemanticTokens: file:///c%3A/Users/DESKTOP-123456/test.cpp (id: 41)
LSP: (invoked) cpptools/getSemanticTokens: file:///c%3A/Users/DESKTOP-123456/test.cpp (id: 41)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/Users/DESKTOP-123456/test.cpp (id: 42)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/Users/DESKTOP-123456/test.cpp (id: 42)

Other Extensions

No response

Additional context

No response

sean-mcmanus commented 10 months ago

@Disservin I've filed a VS bug at https://developercommunity.visualstudio.com/t/C-IntelliSense-gives-the-incorrect-err/10551604 , but it might be a "by design" issue due to implementation details/limitations with our parsing algorithm.

A potential workaround would be to use something like

class Test {};

namespace {
::Test Test;
}
Disservin commented 10 months ago

Alright, thank you already in advance!

Disservin commented 10 months ago

@sean-mcmanus unfortunately that workaround doesnt really work

class Test {
public:
    void foo(){}
};

namespace {
::Test Test;
}

int main() {
    Test.foo();
}

g++:

g++ .\vsc-issue.cpp
.\vsc-issue.cpp: In function 'int main()':
.\vsc-issue.cpp:10:14: error: reference to 'Test' is ambiguous
   10 | int main() { Test.foo(); }
      |              ^~~~
.\vsc-issue.cpp:7:8: note: candidates are: 'Test {anonymous}::Test'
    7 | ::Test Test;
      |        ^~~~
.\vsc-issue.cpp:1:7: note:                 'class Test'
    1 | class Test {