-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
Feature RequestFeature: ConfigurationAn issue related to configuring the extension or IntelliSenseAn issue related to configuring the extension or IntelliSenseLanguage ServicefixedCheck the Milestone for the release in which the fix is or will be available.Check the Milestone for the release in which the fix is or will be available.
Milestone
Description
Hi, I am receiving the error identifier "CLOCK_MONOTONIC" is undefined from cpptools for the below code, which I don't receive when compiling with gcc. If I include "defines": ["_POSIX_C_SOURCE 199309L"] in c_cpp_properties.json then the issue is resolved and cpptools doesn't complain.
My question is, why is this behavior different when I compile with gcc? I believe the default C standard for gcc is gnu11, which doesn't require _POSIX_C_SOURCE to be defined. Is cpptools using a different standard, and if so is there a way to force using gnu11? I've tried adding -std=gnu11 to the compiler path, but that doesn't seem to solve the issue.
- OS and Version: Ubuntu 16.04.3 LTS
- VS Code Version: 1.28.2
- C/C++ Extension Version: 0.20.1
- Other extensions: none
#include <stdint.h>
#include <time.h>
uint64_t timer_diff(struct timespec *start)
{
uint64_t diff;
struct timespec now;
clock_gettime(CLOCK_MONOTONIC, &now);
diff = UINT64_C(1000000000) * (now.tv_sec - start->tv_sec) +
now.tv_nsec - start->tv_nsec;
return diff;
}{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"compilerPath": "/usr/lib/gcc",
"intelliSenseMode": "gcc-x64",
"browse": {
"path": [
"${workspaceFolder}/**"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 4
}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: '/usr/bin/gcc'
terminating child process: 5243
cpptools/activeDocumentChange
cpptools/textEditorSelectionChange
cpptools/didChangeFolderSettings
Attempting to get defaults from compiler found on the machine: '/usr/bin/gcc'
Code browsing service initialized
Attempting to get defaults from compiler found on the machine: '/usr/bin/gcc'
Folder: /usr/lib/gcc/x86_64-linux-gnu/5/include/ will be indexed
Folder: /usr/local/include/ will be indexed
Folder: /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/ will be indexed
Folder: /usr/include/ will be indexed
Folder: /home/dan/Desktop/vscode-test/ will be indexed
textDocument/didOpen
Discovering files...
Processing folder (recursive): /usr/lib/gcc/x86_64-linux-gnu/5/include/
Processing folder (recursive): /usr/local/include/
Processing folder (recursive): /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/
Processing folder (recursive): /usr/include/
textDocument/documentSymbol
textDocument/codeAction
sending compilation args for /home/dan/Desktop/vscode-test/main.c
include: /usr/lib/gcc/x86_64-linux-gnu/5/include
include: /usr/local/include
include: /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
include: /usr/include/x86_64-linux-gnu
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__=5
define: __GNUC_MINOR__=4
define: __GNUC_PATCHLEVEL__=0
define: __VERSION__="5.4.0 20160609"
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: __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=1009
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: __INTMAX_MAX__=0x7fffffffffffffffL
define: __INTMAX_C(c)=c ## L
define: __UINTMAX_MAX__=0xffffffffffffffffUL
define: __UINTMAX_C(c)=c ## UL
define: __SIG_ATOMIC_MAX__=0x7fffffff
define: __SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)
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_LEAST16_MAX__=0x7fff
define: __INT16_C(c)=c
define: __INT_LEAST32_MAX__=0x7fffffff
define: __INT32_C(c)=c
define: __INT_LEAST64_MAX__=0x7fffffffffffffffL
define: __INT64_C(c)=c ## L
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_FAST16_MAX__=0x7fffffffffffffffL
define: __INT_FAST32_MAX__=0x7fffffffffffffffL
define: __INT_FAST64_MAX__=0x7fffffffffffffffL
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: __UINTPTR_MAX__=0xffffffffffffffffUL
define: __GCC_IEC_559=2
define: __GCC_IEC_559_COMPLEX=2
define: __FLT_EVAL_METHOD__=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.40282346638528859812e+38F
define: __FLT_MIN__=1.17549435082228750797e-38F
define: __FLT_EPSILON__=1.19209289550781250000e-7F
define: __FLT_DENORM_MIN__=1.40129846432481707092e-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.79769313486231570815e+308L)
define: __DBL_MIN__=((double)2.22507385850720138309e-308L)
define: __DBL_EPSILON__=((double)2.22044604925031308085e-16L)
define: __DBL_DENORM_MIN__=((double)4.94065645841246544177e-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_MAX__=1.18973149535723176502e+4932L
define: __LDBL_MIN__=3.36210314311209350626e-4932L
define: __LDBL_EPSILON__=1.08420217248550443401e-19L
define: __LDBL_DENORM_MIN__=3.64519953188247460253e-4951L
define: __LDBL_HAS_DENORM__=1
define: __LDBL_HAS_INFINITY__=1
define: __LDBL_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: __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: __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__=201505L
define: __STDC_NO_THREADS__=1
other: --gcc
other: --gnu_version=50400
stdver: --c11
intelliSenseMode: gcc
Checking for syntax errors: file:///home/dan/Desktop/vscode-test/main.c
queue_update_intellisense for files in tu of: /home/dan/Desktop/vscode-test/main.c
Processing folder (recursive): /home/dan/Desktop/vscode-test/
Discovering files: 3870 file(s) processed
0 file(s) removed from database
Done discovering files.
Populate include completion cache.
Parsing remaining files...
Parsing: 0 files(s) processed
Done parsing remaining files.
terminating child process: 5258
errorSquiggles count: 1
textDocument/codeAction
textDocument/hover
textDocument/hover
cpptools/textEditorSelectionChange
textDocument/codeAction
cpptools/activeDocumentChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
textDocument/codeAction
ngolin, joelspadin-garmin and ghuser404
Metadata
Metadata
Assignees
Labels
Feature RequestFeature: ConfigurationAn issue related to configuring the extension or IntelliSenseAn issue related to configuring the extension or IntelliSenseLanguage ServicefixedCheck the Milestone for the release in which the fix is or will be available.Check the Milestone for the release in which the fix is or will be available.