* Operating System and version: Solus (3.999...)
* VS Code version and if you are using the Insiders build: 1.23.1
* C/C++ extension version: 0.17.1
* Relevant settings from your settings.json, c_cpp_properties.json, and/or launch.json files:
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"browse": {
"path": [
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true
},
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/include",
"/usr/include",
"/usr/include"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
settings.json:
"[c]": {
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
"editor.formatOnType": true,
},
"[cpp]": {
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
"editor.formatOnType": true,
},
Following code sample
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include "server.h"
void start_server(const unsigned char ipv, const char *port, const unsigned long backlog)
{
struct addrinfo hints;
memset(&hints, 0, sizeof(hints));
switch (ipv) {
case 4:
hints.ai_family = AF_INET;
break;
case 6:
hints.ai_family = AF_INET6;
break;
default:
fprintf(stderr, "IP version must be either 4 or 6\n");
exit(1);
break;
}
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE; // use my IP
}
I am experiencing errors on line 1 of the function: incomplete type error on struct addrinfo
Also the constant AI_PASSIVE
is apparently undefined.
Both the struct and constant are defined in netdb.h.
Should be noted hover, and follow work perfectly.
I repro that bug if netdb.h is commented out (otherwise not) -- there seems to be some problem locating that. There are some known bugs with recursive includes that you could be hitting that could be causing the path to netdb.h to get excluded, which we plan to release a fix for tomorrow. If you set your loggingLevel to "Debug" and then open the file, you should see the paths we use after "sending compilation args" in the C/C++ section of the Output pane. It's probably best to wait till 0.17.2 to be released then we can follow up if it still repros.
We have a 0.17.2-insiders build at https://github.com/Microsoft/vscode-cpptools/releases/tag/v0.17.2-insiders with the recursive includes fix and a bunch of others. Do you repro the bug with that?
Is this still reproing with 0.17.3?
@sean-mcmanus I will give it a try when I get off of work with the .3 release
Still not working. I tried setting "loggingLevel": "Debug"
in the root object of c_cpp_properties.json
.
I am not seeing an output for C/C++
You should see some output -- oh, it's a setting in settings.json (C_Cpp.loggingLevel) not a c_cpp_properties.json setting. See https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/Enabling%20logging.md . The output should show what includePath we end up using from the recursive includes. We could be excluding something by mistake.
You may want to try removing the "**" -- we've received reports of problems with the recursive includes feature, although we haven't been able to repro the issues yet (other than some known scalability issues with large workspaces).
Attempting to get defaults from compiler in "compilerPath" property: '/usr/bin/gcc'
terminating child process: 5293
Folder: /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include/ will be indexed
Folder: /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include-fixed/ will be indexed
Folder: /usr/include/ will be indexed
Folder: /home/tristan957/Projects/socket-messenger/ will be indexed
Discovering files...
cpptools/didChangeFolderSettings
Processing folder (recursive): /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include/
Processing folder (recursive): /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include-fixed/
Processing folder (recursive): /usr/include/
Processing folder (recursive): /home/tristan957/Projects/socket-messenger/
Discovering files: 9593 file(s) processed
0 file(s) removed from database
Attempting to get defaults from compiler in "compilerPath" property: '/usr/bin/gcc'
Done discovering files.
Parsing remaining files...
Parsing: 0 files(s) processed
Done parsing remaining files.
textDocument/didOpen
Attempting to get defaults from compiler in "compilerPath" property: '/usr/bin/gcc'
textDocument/codeAction
cpptools/activeDocumentChange
Checking for syntax errors: file:///home/tristan957/Projects/socket-messenger/src/server/server.c
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
textDocument/documentHighlight
terminating child process: 5338
sending compilation args for /home/tristan957/Projects/socket-messenger/src/server/server.c
include: /home/tristan957/Projects/socket-messenger/include
include: /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include
include: /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include-fixed
include: /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: __OPTIMIZE__=1
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: __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: __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
stdver: --c11
queue_update_intellisense for files in tu of: /home/tristan957/Projects/socket-messenger/src/server/server.c
textDocument/codeAction
terminating child process: 5357
errorSquiggles count: 13
textDocument/codeAction
Seems that the extension is correctly identifying the header file for AI_PASSIVE
Checking for syntax errors: file:///usr/include/netdb.h
I remembered issues with the ** includes, but that seems to be fixed at this moment
I'm confused now. What's the bug you're experiencing? Is it unable to find the definition of addrinfo? And removing recursive includes fixes it? Do you know what path is incorrectly being used or excluded with recursive includes? This can happen if the file with addrinfo matches the same name of a file in your workspaceFolder.
There are squiggles on terms that are clearly defined in header files. addrinfo
, AI_PASSIVE
. When I Ctrl+click
them I get taken to the header file with the definition of said file. The error is that these terms are incomplete type
and undefined
respectively.
As far as the ** issue, I am no longer experiencing the issue you mentioned with 0.17.3.
I have no header files with the same name as system header files.
This compiles just fine using C11
Ctrl + Click results are obtained from a different system (tag parser) than the squiggles (IntelliSense), so the squiggles part may not be getting the correct path.
My best guess is that some required defines are incorrect, possibly some flags are required to be passed to gcc (in our "compilerPath" setting). @bobbrow @grdowns Do you guys have gcc 7.3 headers to try out this repro?
Is addrinfo gray when you view its definition? (gray means it's not visible to our IntelliSense engine). If not, you can look for #ifdef macros that need to be defined.
It is gray. Weird thing happening. Program compiled yesterday, but no longer compiling today. I'm looking into user error at the moment. Thanks for the tip
Well I finally got the issue fixed. Added "_GNU_SOURCE" to the defines and added it to my build system. Everything is working fine now. I would like to apologize for posting this issue. Stupidity got the best of me.
I am still facing this issue. Intellisense is able to locate<netdb.h>
but does not identify the symbols defined in that file. I am using the 0.17.6 release.
 fixes the issue.
Attempting to get defaults from compiler in "compilerPath" property: '/usr/bin/gcc' terminating child process: 5293 Folder: /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include/ will be indexed Folder: /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include-fixed/ will be indexed Folder: /usr/include/ will be indexed Folder: /home/tristan957/Projects/socket-messenger/ will be indexed Discovering files... cpptools/didChangeFolderSettings Processing folder (recursive): /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include/ Processing folder (recursive): /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include-fixed/ Processing folder (recursive): /usr/include/ Processing folder (recursive): /home/tristan957/Projects/socket-messenger/ Discovering files: 9593 file(s) processed 0 file(s) removed from database Attempting to get defaults from compiler in "compilerPath" property: '/usr/bin/gcc' Done discovering files. Parsing remaining files... Parsing: 0 files(s) processed Done parsing remaining files. textDocument/didOpen Attempting to get defaults from compiler in "compilerPath" property: '/usr/bin/gcc' textDocument/codeAction cpptools/activeDocumentChange Checking for syntax errors: file:///home/tristan957/Projects/socket-messenger/src/server/server.c cpptools/textEditorSelectionChange cpptools/textEditorSelectionChange textDocument/documentHighlight terminating child process: 5338 sending compilation args for /home/tristan957/Projects/socket-messenger/src/server/server.c include: /home/tristan957/Projects/socket-messenger/include include: /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include include: /usr/lib64/gcc/x86_64-solus-linux/7.3.0/include-fixed include: /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: __OPTIMIZE__=1 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: __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: __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 stdver: --c11 queue_update_intellisense for files in tu of: /home/tristan957/Projects/socket-messenger/src/server/server.c textDocument/codeAction terminating child process: 5357 errorSquiggles count: 13 textDocument/codeAction
How can I get this information from VS code?
(and thanks for the info about the defines in the json file)
@apfel-dev Set the C_Cpp.loggingLevel to "Debug": https://code.visualstudio.com/docs/cpp/enable-logging-cpp
Most helpful comment
I misunderstood @tristan957's comment about adding
_GNU_SOURCE
to the defines. I was not sure what he meant. But like he said, adding_GNU_SOURCE
to thedefines
inc_cpp_properties.json
fixed the issue.