Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can not find conversion from std::filesystem::path to std::string in WSL #2424

Closed
huww98 opened this issue Aug 17, 2018 · 11 comments
Closed
Labels
bug fixed Check the Milestone for the release in which the fix is or will be available. Language Service regression A bug that didn't exist in a previous release
Milestone

Comments

@huww98
Copy link

huww98 commented Aug 17, 2018

Type: LanguageService

  • OS and Version: Windows 10 1803 (17134.225)
  • VS Code Version: 1.26.1
  • C/C++ Extension Version: 1.18.0
  • Other extensions you installed (and if the issue persists after disabling them):
    I disabled all other extensions and issue persists.

Can not find conversion from std::filesystem::path to std::string.
I encounter this problem after upgraded to 1.18.0.
I use g++-8 from Ubuntu 18.04 in WSL.

To Reproduce
main.cpp

#include <string>
#include <filesystem>

int main()
{
    std::string p = std::filesystem::path("/some/path");
}

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "WSL",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "compilerPath": "/usr/bin/gcc-8",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

Intellisense shows error: no suitable user-defined conversion from "std::filesystem::__cxx11::path" to "std::__cxx11::string" exists

Expected behavior
no error reported.

Screenshots
default

Additional context
log from output window

initialized
workspace/didChangeConfiguration
IntelliSense Engine = Default.
The extension will use the Tag Parser for IntelliSense when #includes don't resolve.
Autocomplete is enabled.
Error squiggles are enabled.
File exclude: **/.git
File exclude: **/.svn
File exclude: **/.hg
File exclude: **/CVS
File exclude: **/.DS_Store
File exclude: **/.vscode
Search exclude: **/node_modules
Search exclude: **/bower_components
Search exclude: **/.vscode
textDocument/didOpen
cpptools/queryCompilerDefaults
Attempting to get defaults from compiler found on the machine: 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.15.26726/bin/Hostx64/x64/cl.exe'
cpptools/activeDocumentChange
cpptools/textEditorSelectionChange
textDocument/documentSymbol
textDocument/codeAction
cpptools/didChangeFolderSettings
Attempting to get defaults from compiler in "compilerPath" property: '/usr/bin/gcc-8'
Code browsing service initialized
Attempting to get defaults from compiler in "compilerPath" property: '/usr/bin/gcc-8'
  Folder: C:/Users/huww/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/8/include/ will be indexed
  Folder: C:/Users/huww/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/local/include/ will be indexed
  Folder: C:/Users/huww/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/ will be indexed
  Folder: C:/Users/huww/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/ will be indexed
  Folder: C:/Users/huww/source/repos/cppTests_code/ will be indexed
Discovering files...
textDocument/didOpen
  Processing folder (recursive): C:/Users/huww/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/8/include/
sending compilation args for C:\Users\huww\source\repos\cppTests_code\main.cpp
  include: C:\Users\huww\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\include\c++\8
  include: C:\Users\huww\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\include\x86_64-linux-gnu\c++\8
  include: C:\Users\huww\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\include\c++\8\backward
  include: C:\Users\huww\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\lib\gcc\x86_64-linux-gnu\8\include
  include: C:\Users\huww\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\local\include
  include: C:\Users\huww\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\lib\gcc\x86_64-linux-gnu\8\include-fixed
  include: C:\Users\huww\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\include\x86_64-linux-gnu
  include: C:\Users\huww\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\include
  define: __STDC__=1
  define: __cplusplus=201703L
  define: __STDC_UTF_16__=1
  define: __STDC_UTF_32__=1
  define: __STDC_HOSTED__=1
  define: __GNUC__=8
  define: __GNUC_MINOR__=0
  define: __GNUC_PATCHLEVEL__=1
  define: __VERSION__="8.0.1 20180414 (experimental) [trunk revision 259383]"
  define: __ATOMIC_RELAXED=0
  define: __ATOMIC_SEQ_CST=5
  define: __ATOMIC_ACQUIRE=2
  define: __ATOMIC_RELEASE=3
  define: __ATOMIC_ACQ_REL=4
  define: __ATOMIC_CONSUME=1
  define: __pic__=2
  define: __PIC__=2
  define: __pie__=2
  define: __PIE__=2
  define: __FINITE_MATH_ONLY__=0
  define: _LP64=1
  define: __LP64__=1
  define: __SIZEOF_INT__=4
  define: __SIZEOF_LONG__=8
  define: __SIZEOF_LONG_LONG__=8
  define: __SIZEOF_SHORT__=2
  define: __SIZEOF_FLOAT__=4
  define: __SIZEOF_DOUBLE__=8
  define: __SIZEOF_LONG_DOUBLE__=16
  define: __SIZEOF_SIZE_T__=8
  define: __CHAR_BIT__=8
  define: __BIGGEST_ALIGNMENT__=16
  define: __ORDER_LITTLE_ENDIAN__=1234
  define: __ORDER_BIG_ENDIAN__=4321
  define: __ORDER_PDP_ENDIAN__=3412
  define: __BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__
  define: __FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__
  define: __SIZEOF_POINTER__=8
  define: __GNUG__=8
  define: __SIZE_TYPE__=long unsigned int
  define: __PTRDIFF_TYPE__=long int
  define: __WCHAR_TYPE__=int
  define: __WINT_TYPE__=unsigned int
  define: __INTMAX_TYPE__=long int
  define: __UINTMAX_TYPE__=long unsigned int
  define: __CHAR16_TYPE__=short unsigned int
  define: __CHAR32_TYPE__=unsigned int
  define: __SIG_ATOMIC_TYPE__=int
  define: __INT8_TYPE__=signed char
  define: __INT16_TYPE__=short int
  define: __INT32_TYPE__=int
  define: __INT64_TYPE__=long int
  define: __UINT8_TYPE__=unsigned char
  define: __UINT16_TYPE__=short unsigned int
  define: __UINT32_TYPE__=unsigned int
  define: __UINT64_TYPE__=long unsigned int
  define: __INT_LEAST8_TYPE__=signed char
  define: __INT_LEAST16_TYPE__=short int
  define: __INT_LEAST32_TYPE__=int
  define: __INT_LEAST64_TYPE__=long int
  define: __UINT_LEAST8_TYPE__=unsigned char
  define: __UINT_LEAST16_TYPE__=short unsigned int
  define: __UINT_LEAST32_TYPE__=unsigned int
  define: __UINT_LEAST64_TYPE__=long unsigned int
  define: __INT_FAST8_TYPE__=signed char
  define: __INT_FAST16_TYPE__=long int
  define: __INT_FAST32_TYPE__=long int
  define: __INT_FAST64_TYPE__=long int
  define: __UINT_FAST8_TYPE__=unsigned char
  define: __UINT_FAST16_TYPE__=long unsigned int
  define: __UINT_FAST32_TYPE__=long unsigned int
  define: __UINT_FAST64_TYPE__=long unsigned int
  define: __INTPTR_TYPE__=long int
  define: __UINTPTR_TYPE__=long unsigned int
  define: __has_include(STR)=__has_include__(STR)
  define: __has_include_next(STR)=__has_include_next__(STR)
  define: __GXX_WEAK__=1
  define: __DEPRECATED=1
  define: __GXX_RTTI=1
  define: __cpp_rtti=199711
  define: __GXX_EXPERIMENTAL_CXX0X__=1
  define: __cpp_binary_literals=201304
  define: __cpp_hex_float=201603
  define: __cpp_runtime_arrays=198712
  define: __cpp_raw_strings=200710
  define: __cpp_unicode_literals=200710
  define: __cpp_user_defined_literals=200809
  define: __cpp_lambdas=200907
  define: __cpp_decltype=200707
  define: __cpp_attributes=200809
  define: __cpp_rvalue_reference=200610
  define: __cpp_rvalue_references=200610
  define: __cpp_variadic_templates=200704
  define: __cpp_initializer_lists=200806
  define: __cpp_delegating_constructors=200604
  define: __cpp_nsdmi=200809
  define: __cpp_inheriting_constructors=201511
  define: __cpp_ref_qualifiers=200710
  define: __cpp_alias_templates=200704
  define: __cpp_return_type_deduction=201304
  define: __cpp_init_captures=201304
  define: __cpp_generic_lambdas=201304
  define: __cpp_decltype_auto=201304
  define: __cpp_aggregate_nsdmi=201304
  define: __cpp_variable_templates=201304
  define: __cpp_digit_separators=201309
  define: __cpp_unicode_characters=201411
  define: __cpp_static_assert=201411
  define: __cpp_namespace_attributes=201411
  define: __cpp_enumerator_attributes=201411
  define: __cpp_nested_namespace_definitions=201411
  define: __cpp_fold_expressions=201603
  define: __cpp_nontype_template_args=201411
  define: __cpp_range_based_for=201603
  define: __cpp_constexpr=201603
  define: __cpp_if_constexpr=201606
  define: __cpp_capture_star_this=201603
  define: __cpp_inline_variables=201606
  define: __cpp_aggregate_bases=201603
  define: __cpp_deduction_guides=201611
  define: __cpp_noexcept_function_type=201510
  define: __cpp_template_auto=201606
  define: __cpp_structured_bindings=201606
  define: __cpp_variadic_using=201611
  define: __cpp_sized_deallocation=201309
  define: __cpp_aligned_new=201606
  define: __STDCPP_DEFAULT_NEW_ALIGNMENT__=16
  define: __cpp_template_template_args=201611
  define: __cpp_threadsafe_static_init=200806
  define: __EXCEPTIONS=1
  define: __cpp_exceptions=199711
  define: __GXX_ABI_VERSION=1012
  define: __SCHAR_MAX__=0x7f
  define: __SHRT_MAX__=0x7fff
  define: __INT_MAX__=0x7fffffff
  define: __LONG_MAX__=0x7fffffffffffffffL
  define: __LONG_LONG_MAX__=0x7fffffffffffffffLL
  define: __WCHAR_MAX__=0x7fffffff
  define: __WCHAR_MIN__=(-__WCHAR_MAX__ - 1)
  define: __WINT_MAX__=0xffffffffU
  define: __WINT_MIN__=0U
  define: __PTRDIFF_MAX__=0x7fffffffffffffffL
  define: __SIZE_MAX__=0xffffffffffffffffUL
  define: __SCHAR_WIDTH__=8
  define: __SHRT_WIDTH__=16
  define: __INT_WIDTH__=32
  define: __LONG_WIDTH__=64
  define: __LONG_LONG_WIDTH__=64
  define: __WCHAR_WIDTH__=32
  define: __WINT_WIDTH__=32
  define: __PTRDIFF_WIDTH__=64
  define: __SIZE_WIDTH__=64
  define: __INTMAX_MAX__=0x7fffffffffffffffL
  define: __INTMAX_C(c)=c ## L
  define: __UINTMAX_MAX__=0xffffffffffffffffUL
  define: __UINTMAX_C(c)=c ## UL
  define: __INTMAX_WIDTH__=64
  define: __SIG_ATOMIC_MAX__=0x7fffffff
  define: __SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)
  define: __SIG_ATOMIC_WIDTH__=32
  define: __INT8_MAX__=0x7f
  define: __INT16_MAX__=0x7fff
  define: __INT32_MAX__=0x7fffffff
  define: __INT64_MAX__=0x7fffffffffffffffL
  define: __UINT8_MAX__=0xff
  define: __UINT16_MAX__=0xffff
  define: __UINT32_MAX__=0xffffffffU
  define: __UINT64_MAX__=0xffffffffffffffffUL
  define: __INT_LEAST8_MAX__=0x7f
  define: __INT8_C(c)=c
  define: __INT_LEAST8_WIDTH__=8
  define: __INT_LEAST16_MAX__=0x7fff
  define: __INT16_C(c)=c
  define: __INT_LEAST16_WIDTH__=16
  define: __INT_LEAST32_MAX__=0x7fffffff
  define: __INT32_C(c)=c
  define: __INT_LEAST32_WIDTH__=32
  define: __INT_LEAST64_MAX__=0x7fffffffffffffffL
  define: __INT64_C(c)=c ## L
  define: __INT_LEAST64_WIDTH__=64
  define: __UINT_LEAST8_MAX__=0xff
  define: __UINT8_C(c)=c
  define: __UINT_LEAST16_MAX__=0xffff
  define: __UINT16_C(c)=c
  define: __UINT_LEAST32_MAX__=0xffffffffU
  define: __UINT32_C(c)=c ## U
  define: __UINT_LEAST64_MAX__=0xffffffffffffffffUL
  define: __UINT64_C(c)=c ## UL
  define: __INT_FAST8_MAX__=0x7f
  define: __INT_FAST8_WIDTH__=8
  define: __INT_FAST16_MAX__=0x7fffffffffffffffL
  define: __INT_FAST16_WIDTH__=64
  define: __INT_FAST32_MAX__=0x7fffffffffffffffL
  define: __INT_FAST32_WIDTH__=64
  define: __INT_FAST64_MAX__=0x7fffffffffffffffL
  define: __INT_FAST64_WIDTH__=64
  define: __UINT_FAST8_MAX__=0xff
  define: __UINT_FAST16_MAX__=0xffffffffffffffffUL
  define: __UINT_FAST32_MAX__=0xffffffffffffffffUL
  define: __UINT_FAST64_MAX__=0xffffffffffffffffUL
  define: __INTPTR_MAX__=0x7fffffffffffffffL
  define: __INTPTR_WIDTH__=64
  define: __UINTPTR_MAX__=0xffffffffffffffffUL
  define: __GCC_IEC_559=2
  define: __GCC_IEC_559_COMPLEX=2
  define: __FLT_EVAL_METHOD__=0
  define: __FLT_EVAL_METHOD_TS_18661_3__=0
  define: __DEC_EVAL_METHOD__=2
  define: __FLT_RADIX__=2
  define: __FLT_MANT_DIG__=24
  define: __FLT_DIG__=6
  define: __FLT_MIN_EXP__=(-125)
  define: __FLT_MIN_10_EXP__=(-37)
  define: __FLT_MAX_EXP__=128
  define: __FLT_MAX_10_EXP__=38
  define: __FLT_DECIMAL_DIG__=9
  define: __FLT_MAX__=3.40282346638528859811704183484516925e+38F
  define: __FLT_MIN__=1.17549435082228750796873653722224568e-38F
  define: __FLT_EPSILON__=1.19209289550781250000000000000000000e-7F
  define: __FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F
  define: __FLT_HAS_DENORM__=1
  define: __FLT_HAS_INFINITY__=1
  define: __FLT_HAS_QUIET_NAN__=1
  define: __DBL_MANT_DIG__=53
  define: __DBL_DIG__=15
  define: __DBL_MIN_EXP__=(-1021)
  define: __DBL_MIN_10_EXP__=(-307)
  define: __DBL_MAX_EXP__=1024
  define: __DBL_MAX_10_EXP__=308
  define: __DBL_DECIMAL_DIG__=17
  define: __DBL_MAX__=double(1.79769313486231570814527423731704357e+308L)
  define: __DBL_MIN__=double(2.22507385850720138309023271733240406e-308L)
  define: __DBL_EPSILON__=double(2.22044604925031308084726333618164062e-16L)
  define: __DBL_DENORM_MIN__=double(4.94065645841246544176568792868221372e-324L)
  define: __DBL_HAS_DENORM__=1
  define: __DBL_HAS_INFINITY__=1
  define: __DBL_HAS_QUIET_NAN__=1
  define: __LDBL_MANT_DIG__=64
  define: __LDBL_DIG__=18
  define: __LDBL_MIN_EXP__=(-16381)
  define: __LDBL_MIN_10_EXP__=(-4931)
  define: __LDBL_MAX_EXP__=16384
  define: __LDBL_MAX_10_EXP__=4932
  define: __DECIMAL_DIG__=21
  define: __LDBL_DECIMAL_DIG__=21
  define: __LDBL_MAX__=1.18973149535723176502126385303097021e+4932L
  define: __LDBL_MIN__=3.36210314311209350626267781732175260e-4932L
  define: __LDBL_EPSILON__=1.08420217248550443400745280086994171e-19L
  define: __LDBL_DENORM_MIN__=3.64519953188247460252840593361941982e-4951L
  define: __LDBL_HAS_DENORM__=1
  define: __LDBL_HAS_INFINITY__=1
  define: __LDBL_HAS_QUIET_NAN__=1
  define: __FLT32_MANT_DIG__=24
  define: __FLT32_DIG__=6
  define: __FLT32_MIN_EXP__=(-125)
  define: __FLT32_MIN_10_EXP__=(-37)
  define: __FLT32_MAX_EXP__=128
  define: __FLT32_MAX_10_EXP__=38
  define: __FLT32_DECIMAL_DIG__=9
  define: __FLT32_MAX__=3.40282346638528859811704183484516925e+38F32
  define: __FLT32_MIN__=1.17549435082228750796873653722224568e-38F32
  define: __FLT32_EPSILON__=1.19209289550781250000000000000000000e-7F32
  define: __FLT32_DENORM_MIN__=1.40129846432481707092372958328991613e-45F32
  define: __FLT32_HAS_DENORM__=1
  define: __FLT32_HAS_INFINITY__=1
  define: __FLT32_HAS_QUIET_NAN__=1
  define: __FLT64_MANT_DIG__=53
  define: __FLT64_DIG__=15
  define: __FLT64_MIN_EXP__=(-1021)
  define: __FLT64_MIN_10_EXP__=(-307)
  define: __FLT64_MAX_EXP__=1024
  define: __FLT64_MAX_10_EXP__=308
  define: __FLT64_DECIMAL_DIG__=17
  define: __FLT64_MAX__=1.79769313486231570814527423731704357e+308F64
  define: __FLT64_MIN__=2.22507385850720138309023271733240406e-308F64
  define: __FLT64_EPSILON__=2.22044604925031308084726333618164062e-16F64
  define: __FLT64_DENORM_MIN__=4.94065645841246544176568792868221372e-324F64
  define: __FLT64_HAS_DENORM__=1
  define: __FLT64_HAS_INFINITY__=1
  define: __FLT64_HAS_QUIET_NAN__=1
  define: __FLT128_MANT_DIG__=113
  define: __FLT128_DIG__=33
  define: __FLT128_MIN_EXP__=(-16381)
  define: __FLT128_MIN_10_EXP__=(-4931)
  define: __FLT128_MAX_EXP__=16384
  define: __FLT128_MAX_10_EXP__=4932
  define: __FLT128_DECIMAL_DIG__=36
  define: __FLT128_MAX__=1.18973149535723176508575932662800702e+4932F128
  define: __FLT128_MIN__=3.36210314311209350626267781732175260e-4932F128
  define: __FLT128_EPSILON__=1.92592994438723585305597794258492732e-34F128
  define: __FLT128_DENORM_MIN__=6.47517511943802511092443895822764655e-4966F128
  define: __FLT128_HAS_DENORM__=1
  define: __FLT128_HAS_INFINITY__=1
  define: __FLT128_HAS_QUIET_NAN__=1
  define: __FLT32X_MANT_DIG__=53
  define: __FLT32X_DIG__=15
  define: __FLT32X_MIN_EXP__=(-1021)
  define: __FLT32X_MIN_10_EXP__=(-307)
  define: __FLT32X_MAX_EXP__=1024
  define: __FLT32X_MAX_10_EXP__=308
  define: __FLT32X_DECIMAL_DIG__=17
  define: __FLT32X_MAX__=1.79769313486231570814527423731704357e+308F32x
  define: __FLT32X_MIN__=2.22507385850720138309023271733240406e-308F32x
  define: __FLT32X_EPSILON__=2.22044604925031308084726333618164062e-16F32x
  define: __FLT32X_DENORM_MIN__=4.94065645841246544176568792868221372e-324F32x
  define: __FLT32X_HAS_DENORM__=1
  define: __FLT32X_HAS_INFINITY__=1
  define: __FLT32X_HAS_QUIET_NAN__=1
  define: __FLT64X_MANT_DIG__=64
  define: __FLT64X_DIG__=18
  define: __FLT64X_MIN_EXP__=(-16381)
  define: __FLT64X_MIN_10_EXP__=(-4931)
  define: __FLT64X_MAX_EXP__=16384
  define: __FLT64X_MAX_10_EXP__=4932
  define: __FLT64X_DECIMAL_DIG__=21
  define: __FLT64X_MAX__=1.18973149535723176502126385303097021e+4932F64x
  define: __FLT64X_MIN__=3.36210314311209350626267781732175260e-4932F64x
  define: __FLT64X_EPSILON__=1.08420217248550443400745280086994171e-19F64x
  define: __FLT64X_DENORM_MIN__=3.64519953188247460252840593361941982e-4951F64x
  define: __FLT64X_HAS_DENORM__=1
  define: __FLT64X_HAS_INFINITY__=1
  define: __FLT64X_HAS_QUIET_NAN__=1
  define: __DEC32_MANT_DIG__=7
  define: __DEC32_MIN_EXP__=(-94)
  define: __DEC32_MAX_EXP__=97
  define: __DEC32_MIN__=1E-95DF
  define: __DEC32_MAX__=9.999999E96DF
  define: __DEC32_EPSILON__=1E-6DF
  define: __DEC32_SUBNORMAL_MIN__=0.000001E-95DF
  define: __DEC64_MANT_DIG__=16
  define: __DEC64_MIN_EXP__=(-382)
  define: __DEC64_MAX_EXP__=385
  define: __DEC64_MIN__=1E-383DD
  define: __DEC64_MAX__=9.999999999999999E384DD
  define: __DEC64_EPSILON__=1E-15DD
  define: __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD
  define: __DEC128_MANT_DIG__=34
  define: __DEC128_MIN_EXP__=(-6142)
  define: __DEC128_MAX_EXP__=6145
  define: __DEC128_MIN__=1E-6143DL
  define: __DEC128_MAX__=9.999999999999999999999999999999999E6144DL
  define: __DEC128_EPSILON__=1E-33DL
  define: __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL
  define: __REGISTER_PREFIX__=
  define: __USER_LABEL_PREFIX__=
  define: __GNUC_STDC_INLINE__=1
  define: __NO_INLINE__=1
  define: __STRICT_ANSI__=1
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1
  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_BOOL_LOCK_FREE=2
  define: __GCC_ATOMIC_CHAR_LOCK_FREE=2
  define: __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2
  define: __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2
  define: __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2
  define: __GCC_ATOMIC_SHORT_LOCK_FREE=2
  define: __GCC_ATOMIC_INT_LOCK_FREE=2
  define: __GCC_ATOMIC_LONG_LOCK_FREE=2
  define: __GCC_ATOMIC_LLONG_LOCK_FREE=2
  define: __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1
  define: __GCC_ATOMIC_POINTER_LOCK_FREE=2
  define: __GCC_HAVE_DWARF2_CFI_ASM=1
  define: __PRAGMA_REDEFINE_EXTNAME=1
  define: __SSP_STRONG__=3
  define: __SIZEOF_INT128__=16
  define: __SIZEOF_WCHAR_T__=4
  define: __SIZEOF_WINT_T__=4
  define: __SIZEOF_PTRDIFF_T__=8
  define: __amd64=1
  define: __amd64__=1
  define: __x86_64=1
  define: __x86_64__=1
  define: __SIZEOF_FLOAT80__=16
  define: __SIZEOF_FLOAT128__=16
  define: __ATOMIC_HLE_ACQUIRE=65536
  define: __ATOMIC_HLE_RELEASE=131072
  define: __GCC_ASM_FLAG_OUTPUTS__=1
  define: __k8=1
  define: __k8__=1
  define: __code_model_small__=1
  define: __MMX__=1
  define: __SSE__=1
  define: __SSE2__=1
  define: __FXSR__=1
  define: __SSE_MATH__=1
  define: __SSE2_MATH__=1
  define: __SEG_FS=1
  define: __SEG_GS=1
  define: __gnu_linux__=1
  define: __linux=1
  define: __linux__=1
  define: __unix=1
  define: __unix__=1
  define: __ELF__=1
  define: __DECIMAL_BID_FORMAT__=1
  define: _GNU_SOURCE=1
  define: _STDC_PREDEF_H=1
  define: __STDC_IEC_559__=1
  define: __STDC_IEC_559_COMPLEX__=1
  define: __STDC_ISO_10646__=201706L
  define: __STDC_NO_THREADS__=1
  other: --ms_extensions
  other: --g++
  other: --gnu_version=80001
  stdver: --c++17
  intelliSenseMode: gcc
Checking for syntax errors: file:///c%3A/Users/huww/source/repos/cppTests_code/main.cpp
queue_update_intellisense for files in tu of: C:\Users\huww\source\repos\cppTests_code\main.cpp
  Processing folder (recursive): C:/Users/huww/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/local/include/
  Processing folder (recursive): C:/Users/huww/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/
  Processing folder (recursive): C:/Users/huww/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/
  Processing folder (recursive): C:/Users/huww/source/repos/cppTests_code/
  Discovering files: 3147 file(s) processed
  0 file(s) removed from database
errorSquiggles count: 1
textDocument/codeAction
Done discovering files.
Parsing remaining files...
  Parsing: 0 files(s) processed
Done parsing remaining files.
textDocument/hover
@sean-mcmanus
Copy link
Collaborator

This is a duplicate of #2422 . We'll double-check that this scenario is also fixed as well. You could revert to 0.17.6 to fix this, but 0.18.0 should be higher quality over all (i.e. a bunch of other bogus errors were fixed).

@sean-mcmanus
Copy link
Collaborator

@huww98 How do you get filesystem to compile with gcc-8? I get an error about std::filesystem has not been declared.

@sean-mcmanus sean-mcmanus reopened this Aug 17, 2018
@sean-mcmanus
Copy link
Collaborator

sean-mcmanus commented Aug 17, 2018

Actually, this is a regression from 0.18.0 -- it appears to be caused by --ms-extensions being added when it shouldn't be. Reverting back to 0.17.7 should fix it: https://github.com/Microsoft/vscode-cpptools/releases/tag/v0.17.7 .

@sean-mcmanus sean-mcmanus added bug Language Service regression A bug that didn't exist in a previous release and removed duplicate labels Aug 17, 2018
@sean-mcmanus sean-mcmanus added this to the September 2018 milestone Aug 17, 2018
@sean-mcmanus sean-mcmanus added the fixed Check the Milestone for the release in which the fix is or will be available. label Aug 17, 2018
@sean-mcmanus sean-mcmanus modified the milestones: September 2018, 0.18.1 Aug 17, 2018
@sean-mcmanus
Copy link
Collaborator

Should be fixed now with 0.18.1.

@csholmq
Copy link
Contributor

csholmq commented Aug 31, 2018

This keeps haunting my colleague @mheden. Same setup as me (VSCode-Insiders 1.27.0 with C++ ext 0.18.1) and _WIN32 is always enabled on his end, but not on mine. Same SW project.

Any way of confirming which options are being sent to the compiler?

@sean-mcmanus
Copy link
Collaborator

@csholmq Yeah, the _WIN32 defined is probably the cause -- why is that defined in his case? What OS/compiler is being used? On Windows, -fms-extensions or -fno-ms-extensions can be added to the compilerPath to modify the behavior (MinGW has -fms-extensions set by default).

You can see (some of the) flags we pass to our compiler by setting the C_Cpp.loggingLevel to Debug and then opening a new .cpp file, e.g.

  other: --g++
  other: --gnu_version=70300
  stdver: --c++17

@csholmq
Copy link
Contributor

csholmq commented Sep 1, 2018

He's on Win10. We haven't configured anything but set IntelliSenseMode to gcc-x64 (ARM code project).

So no external compiler used. Would prefer to have it that way since each project comes with the compiler bundled and has a unique path.

Will try to compare output when he's back in the office.

@mheden
Copy link

mheden commented Sep 3, 2018

It seems like the problem is caused by having clang installed and having it in the path.

With clang in the path, regardless of what setting I use in C_Cpp.default.intelliSenseMode the intellisense mode will be msvc for some reason. If I rename the clang bin directory the C_Cpp.default.intelliSenseMode setting is working as intended.

@bobbrow
Copy link
Member

bobbrow commented Sep 4, 2018

@mheden are you setting "compilerPath" property at all? If you don't then our extension will look for one. And if we find and query Clang for the include path on Windows, it will list the Windows SDK (if installed). The Windows SDK does not work with gcc/clang mode IntelliSense, so we switch back to msvc under the hood.

If you are working on an ARM code project as @csholmq mentions, then I would recommend you set "compilerPath" to point to your ARM compiler. You can also list other compiler arguments in that string (i.e. to select your board) as documented here.

@csholmq
Copy link
Contributor

csholmq commented Sep 5, 2018

@bobbrow Right. Since the compiler is embedded with each project I don't have a system default one. So I would prefer to keep it blank at this time.

Is this all working for me because I have WSL installed and it succeeds to detect GCC there? And subsequently because @mheden had Clang installed it detected that first.

@bobbrow
Copy link
Member

bobbrow commented Sep 5, 2018

In the search for compilers on Windows, we will pick GCC on WSL before we will pick Clang.

If you are doing mostly ARM development, I don't think it will hurt to set C_Cpp.default.compilerPath to your ARM compiler. You can always set "compilerPath" in c_cpp_properties.json to override the default, and if you forget to set it for a given folder, you will at least have something closer to correct than if you let the extension try to discover a compiler for you. That's just my opinion though.

The only thing we use the compiler for is to query the system includes and defines and then send those over to the IntelliSense server process.

@github-actions github-actions bot locked and limited conversation to collaborators Oct 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug fixed Check the Milestone for the release in which the fix is or will be available. Language Service regression A bug that didn't exist in a previous release
Projects
None yet
Development

No branches or pull requests

5 participants