Type: LanguageService
Describe the bug
Like the screenshot below, I use the struct sigaction to declare a variable, the intelligence shows errors. Adding #include <bits/sigaction.h> will cause redefinition of ‘struct sigaction’. And I already add the signal.h to the include path.
How to solve this problem?



I have the same setup and it isn't reproing for me. You should just set your compilerPath and don't add other system includes into your includePath. If you're still getting the error can you share your relevant settings and/or enable logging and provide the includes/defines that are output when you open a new C/C++ file?
c_cpp_properties.json
{
"configurations": [
{
"name": "WSL",
"intelliSenseMode": "clang-x64",
"compilerPath": "/usr/bin/gcc",
"includePath": [
"${workspaceRoot}",
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/7/include",
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/local/include",
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed",
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu",
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include"
],
"defines": [
"__linux__",
"__x86_64__"
],
"browse": {
"path": [
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/7/include",
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/local/include",
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed",
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/x86_64-linux-gnu",
"${localappdata}/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/usr/include/*"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}
log
textDocument/codeAction
cpptools/activeDocumentChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
textDocument/documentSymbol
textDocument/codeAction
textDocument/hover
textDocument/documentHighlight
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
textDocument/codeAction
textDocument/didChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/completion
auto_complete::handle_completion: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c (1:12)
textDocument/codeAction
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
textDocument/codeAction
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
textDocument/didChange
cpptools/textEditorSelectionChange
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
textDocument/didSave
Checking for syntax errors: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c
queue_update_intellisense for files in tu of: C:\Users\xxx\Desktop\wsl_code\C\aa.c
tag parsing file: C:\Users\xxx\Desktop\wsl_code\C\aa.c
sending 21 changes to server
errorSquiggles count: 0
textDocument/didChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/completion
auto_complete::handle_completion: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c (5:6)
Offering completion
sending 1 changes to server
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
textDocument/codeAction
textDocument/didChange
cpptools/textEditorSelectionChange
$/cancelRequest
textDocument/documentSymbol
Database safe to open
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/completion
auto_complete::handle_completion: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c (5:13)
Offering completion
sending 7 changes to server
textDocument/codeAction
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/completion
auto_complete::handle_completion: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c (5:21)
Offering completion
sending 8 changes to server
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/completion
auto_complete::handle_completion: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c (5:23)
Offering completion
sending 2 changes to server
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
textDocument/didSave
Checking for syntax errors: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c
queue_update_intellisense for files in tu of: C:\Users\xxx\Desktop\wsl_code\C\aa.c
tag parsing file: C:\Users\xxx\Desktop\wsl_code\C\aa.c
sending 2 changes to server
errorSquiggles count: 1
textDocument/codeAction
textDocument/didChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/completion
auto_complete::handle_completion: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c (6:6)
Offering completion
sending 2 changes to server
textDocument/codeAction
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/completion
auto_complete::handle_completion: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c (6:8)
Offering completion
sending 2 changes to server
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/completion
auto_complete::handle_completion: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c (6:9)
Offering completion
sending 1 changes to server
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/completion
auto_complete::handle_completion: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c (6:10)
Offering completion
sending 1 changes to server
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
$/cancelRequest
textDocument/documentSymbol
Database safe to open
Checking for syntax errors: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c
queue_update_intellisense for files in tu of: C:\Users\xxx\Desktop\wsl_code\C\aa.c
tag parsing file: C:\Users\xxx\Desktop\wsl_code\C\aa.c
sending 2 changes to server
errorSquiggles count: 3
textDocument/codeAction
Database safe to open
Checking for syntax errors: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c
queue_update_intellisense for files in tu of: C:\Users\xxx\Desktop\wsl_code\C\aa.c
errorSquiggles count: 3
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/didChange
cpptools/textEditorSelectionChange
textDocument/codeAction
textDocument/documentSymbol
textDocument/didChange
textDocument/didSave
Checking for syntax errors: file:///c%3A/Users/xxx/Desktop/wsl_code/C/aa.c
queue_update_intellisense for files in tu of: C:\Users\xxx\Desktop\wsl_code\C\aa.c
tag parsing file: C:\Users\xxx\Desktop\wsl_code\C\aa.c
sending 4 changes to server
errorSquiggles count: 3
textDocument/codeAction
Database safe to open
You should remove the system includePath/browse.path/defines entries and just rely on the compilerPath. Also, the C_Cpp.loggingLevel needs to be set to Debug in order to show the valuable info.
We have plans to make this config experience easier, because too many people are hitting this same issue.
I found this document and create new configurations files but still getting errors.
{
"configurations": [
{
"name": "WSL",
"intelliSenseMode": "gcc-x64",
"compilerPath": "/usr/bin/gcc",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"cStandard": "c11"
}
],
"version": 4
}
log
sending compilation args for C:\Users\X\Desktop\wsl_code\C\ab.c
include: C:\Users\X\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\usr\lib\gcc\x86_64-linux-gnu\7\include
include: C:\Users\X\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\usr\local\include
include: C:\Users\X\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\usr\lib\gcc\x86_64-linux-gnu\7\include-fixed
include: C:\Users\X\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\usr\include\x86_64-linux-gnu
include: C:\Users\X\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\usr\include
define: __STDC__=1
define: __STDC_VERSION__=201112L
define: __STDC_UTF_16__=1
define: __STDC_UTF_32__=1
define: __STDC_HOSTED__=1
define: __GNUC__=7
define: __GNUC_MINOR__=3
define: __GNUC_PATCHLEVEL__=0
define: __VERSION__="7.3.0"
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: __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_ABI_VERSION=1011
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: _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: --gcc
other: --gnu_version=70300
stdver: --c11
intelliSenseMode: gcc
It is strange that when I use the same configuration to open a c++ file, errors disappear.
In c file, the errors still exist.
{
"configurations": [
{
"name": "WSL",
"intelliSenseMode": "gcc-x64",
"compilerPath": "/usr/bin/gcc",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"cppStandard": "c++11"
}
],
"version": 4
}

Okay, I got a repro now. It looks like the necessary defines such as __USE_POSIX are not able to get defined for some reason. We'll try to investigate fix it later.
Friendly ping @sean-mcmanus
Same issue in Ubuntu 18.04 with default settings.
Have it been fixed?
I was practicing C on Ubuntu 18.04 and came into the same issue, but now I've temporary solved this issue by adding "_GNU_SOURCE" in "defines" list, like:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"__USE_POSIX",
"_GNU_SOURCE"
],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c99",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
Removing "_GNU_SOURCE" definition will reproduce this issue.
Another user reported that at https://github.com/Microsoft/vscode-cpptools/issues/3547 . Using _POSIX_C_SOURCE=200809L or _XOPEN_SOURCE=700 is another way to fix it.
Does anyone know how gcc is picking up those values from your build system? Are you passing certain flags to gcc to define those? We just query gcc/clang for the system defines to use, so if you pass your build flags at the end of the compilerPath, that might also fix it.
This issue has been closed automatically because it's labeled as a 'duplicate' and has not had recent activity.
Most helpful comment
I was practicing C on Ubuntu 18.04 and came into the same issue, but now I've temporary solved this issue by adding "_GNU_SOURCE" in "defines" list, like:
{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "__USE_POSIX", "_GNU_SOURCE" ], "compilerPath": "/usr/bin/gcc", "cStandard": "c99", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4 }Removing "_GNU_SOURCE" definition will reproduce this issue.