Open cinderblock opened 2 years ago
This feature request is being closed due to insufficient upvotes. Please leave a π-upvote or π-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog.
Please, add this feature, I really believe it's not that hard.
This will be possible when #6931 is complete.
Can we keep this issue open until it can be fixed?
@cinderblock if you click on the π in the first post, our bot may be satisfied and reactivate this.
Posting it in the first place doesn't automatically count as an upvote?
I didn't realize you were the author. No, it doesn't. I guess that's a way to get an extra vote to satisfy the threshold requirements. Though what I expect to happen when #6931 is done is that we'll have support for a few new embedded compilers baked in to the extension and then for other compilers support will be configured by adding a json configuration with the stuff you need in it. But in full disclosure, it's not going to look too different from what you're doing with "defines" right now because we can't possibly support every compiler extension out there natively.
This feature request has received enough votes to be added to our backlog.
IntelliSense detects errors on built-in compiler extensions like
__int24
and__uint24
fromavr-gcc
that aren't really errors. There seems to be no built-in way to tell it these are ok.Steps to reproduce
test.c
:avr-gcc test.c
. No errors/warnings.a.out
is created.c_cpp_properties.json
with acompilerPath
set, possibly adding extra flags to match build configurations:__uint24
saying:identifier "__uint24" is undefined
.Expected behavior
No detected errors when using built-in extensions of a specified compiler.
Code sample and Logs
Full
```json { "configurations": [ { "name": "avr-gcc", "compilerPath": "\"${config:local.avr-gcc.compilerDir}/bin/avr-gcc\" -UAVR -mmcu=atmega32u4 -fshort-enums -funsigned-char -funsigned-bitfields -fno-inline-small-functions -fno-strict-aliasing -fpack-struct", "intelliSenseMode": "gcc-arm", "includePath": [ "${workspaceFolder}/src", "${workspaceFolder}/lufa", "${workspaceFolder}/AVR++", "${workspaceFolder}/libCameron/src", "${config:local.avr-gcc.compilerDir}/avr/include" ], "defines": [ "F_CPU=16000000UL", "F_USB=F_CPU", "USE_LUFA_CONFIG_HEADER", "__int24=int", "__uint24=unsigned" ], "cStandard": "c11", "cppStandard": "c++17" } ], "version": 4 } ```c_cpp_properties.json
, with"defines"
workaroundLanguage server log (debug)
```log cpptools/rescanFolder Shutting down IntelliSense server: C:\Users\camer\git\PROJECT\Firmware\test.cpp Discovering files... Processing folder (recursive): C:/PROGRAM FILES/AVR-GCC/AVR8-GNU-TOOLCHAIN-WIN32_X86/AVR/INCLUDE/ Processing folder (recursive): C:/PROGRAM FILES/AVR-GCC/AVR8-GNU-TOOLCHAIN-WIN32_X86/LIB/GCC/AVR/5.4.0/INCLUDE/ Processing folder (recursive): C:/PROGRAM FILES/AVR-GCC/AVR8-GNU-TOOLCHAIN-WIN32_X86/LIB/GCC/AVR/5.4.0/INCLUDE-FIXED/ Processing folder (recursive): C:/USERS/CAMER/GIT/PROJECT/FIRMWARE/ Discovering files: 4023 file(s) processed Checking for syntax errors: C:\Users\camer\git\PROJECT\Firmware\test.cpp sending compilation args for C:\Users\camer\git\PROJECT\Firmware\test.cpp include: C:\USERS\CAMER\GIT\PROJECT\FIRMWARE\SRC include: C:\USERS\CAMER\GIT\PROJECT\FIRMWARE\LUFA include: C:\USERS\CAMER\GIT\PROJECT\FIRMWARE\AVR++ include: C:\USERS\CAMER\GIT\PROJECT\FIRMWARE\LIBCAMERON\SRC include: C:\PROGRAM FILES\AVR-GCC\AVR8-GNU-TOOLCHAIN-WIN32_X86\LIB\GCC\AVR\5.4.0\INCLUDE include: C:\PROGRAM FILES\AVR-GCC\AVR8-GNU-TOOLCHAIN-WIN32_X86\LIB\GCC\AVR\5.4.0\INCLUDE-FIXED include: C:\PROGRAM FILES\AVR-GCC\AVR8-GNU-TOOLCHAIN-WIN32_X86\AVR\INCLUDE define: __DBL_MIN_EXP__=(-125) define: __HQ_FBIT__=15 define: __UINT_LEAST16_MAX__=0xffffU define: __ATOMIC_ACQUIRE=2 define: __SFRACT_IBIT__=0 define: __FLT_MIN__=1.17549435e-38F define: __GCC_IEC_559_COMPLEX=0 define: __BUILTIN_AVR_SLEEP=1 define: __BUILTIN_AVR_COUNTLSULLK=1 define: __BUILTIN_AVR_COUNTLSULLR=1 define: __UFRACT_MAX__=0XFFFFP-16UR define: __UINT_LEAST8_TYPE__=unsigned char define: __DQ_FBIT__=63 define: __INTMAX_C(c)=c ## LL define: __ULFRACT_FBIT__=32 define: __SACCUM_EPSILON__=0x1P-7HK define: __CHAR_BIT__=8 define: __USQ_IBIT__=0 define: __UINT8_MAX__=0xff define: __ACCUM_FBIT__=15 define: __WINT_MAX__=0x7fff define: __USFRACT_FBIT__=8 define: __ORDER_LITTLE_ENDIAN__=1234 define: __SIZE_MAX__=0xffffU define: __WCHAR_MAX__=0x7fff define: __LACCUM_IBIT__=32 define: __DBL_DENORM_MIN__=double(1.40129846e-45L) define: __GCC_ATOMIC_CHAR_LOCK_FREE=1 define: __GCC_IEC_559=0 define: __FLT_EVAL_METHOD__=0 define: __BUILTIN_AVR_LLKBITS=1 define: __LLACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-47LLK define: __GCC_ATOMIC_CHAR32_T_LOCK_FREE=1 define: __BUILTIN_AVR_HKBITS=1 define: __BUILTIN_AVR_BITSLLK=1 define: __FRACT_FBIT__=15 define: __BUILTIN_AVR_BITSLLR=1 define: __UINT_FAST64_MAX__=0xffffffffffffffffULL define: __SIG_ATOMIC_TYPE__=char define: __BUILTIN_AVR_UHKBITS=1 define: __UACCUM_FBIT__=16 define: __DBL_MIN_10_EXP__=(-37) define: __FINITE_MATH_ONLY__=0 define: __LFRACT_IBIT__=0 define: __GNUC_PATCHLEVEL__=0 define: __AVR_MEGA__=1 define: __LFRACT_MAX__=0X7FFFFFFFP-31LR define: __UINT_FAST8_MAX__=0xff define: __DEC64_MAX_EXP__=385 define: __INT8_C(c)=c define: __UINT_LEAST64_MAX__=0xffffffffffffffffULL define: __SA_FBIT__=15 define: __SHRT_MAX__=0x7fff define: __LDBL_MAX__=3.40282347e+38L define: __FRACT_MAX__=0X7FFFP-15R define: __UFRACT_FBIT__=16 define: __UFRACT_MIN__=0.0UR define: __UINT_LEAST8_MAX__=0xff define: __GCC_ATOMIC_BOOL_LOCK_FREE=1 define: __UINTMAX_TYPE__=long long unsigned int define: __LLFRACT_EPSILON__=0x1P-63LLR define: __BUILTIN_AVR_DELAY_CYCLES=1 define: __DEC32_EPSILON__=1E-6DF define: __CHAR_UNSIGNED__=1 define: __UINT32_MAX__=0xffffffffUL define: __GXX_EXPERIMENTAL_CXX0X__=1 define: __ULFRACT_MAX__=0XFFFFFFFFP-32ULR define: __TA_IBIT__=16 define: __LDBL_MAX_EXP__=128 define: __WINT_MIN__=(-__WINT_MAX__ - 1) define: __ULLFRACT_MIN__=0.0ULLR define: __SCHAR_MAX__=0x7f define: __WCHAR_MIN__=(-__WCHAR_MAX__ - 1) define: __INT64_C(c)=c ## LL define: __DBL_DIG__=6 define: __GCC_ATOMIC_POINTER_LOCK_FREE=1 define: __AVR_HAVE_SPH__=1 define: __LLACCUM_MIN__=(-0X1P15LLK-0X1P15LLK) define: __BUILTIN_AVR_KBITS=1 define: __BUILTIN_AVR_ABSK=1 define: __BUILTIN_AVR_ABSR=1 define: __SIZEOF_INT__=2 define: __SIZEOF_POINTER__=2 define: __GCC_ATOMIC_CHAR16_T_LOCK_FREE=1 define: __USACCUM_IBIT__=8 define: __USER_LABEL_PREFIX__= define: __STDC_HOSTED__=1 define: __LDBL_HAS_INFINITY__=1 define: __LFRACT_MIN__=(-0.5LR-0.5LR) define: __HA_IBIT__=8 define: __TQ_IBIT__=0 define: __FLT_EPSILON__=1.19209290e-7F define: __GXX_WEAK__=1 define: __USFRACT_IBIT__=0 define: __LDBL_MIN__=1.17549435e-38L define: __FRACT_MIN__=(-0.5R-0.5R) define: __AVR_SFR_OFFSET__=0x20 define: __DEC32_MAX__=9.999999E96DF define: __DA_IBIT__=32 define: __INT32_MAX__=0x7fffffffL define: __UQQ_FBIT__=8 define: __SIZEOF_LONG__=4 define: __UACCUM_MAX__=0XFFFFFFFFP-16UK define: __UINT16_C(c)=c ## U define: __DECIMAL_DIG__=9 define: __LFRACT_EPSILON__=0x1P-31LR define: __AVR_2_BYTE_PC__=1 define: __ULFRACT_MIN__=0.0ULR define: __BUILTIN_AVR_ULLRBITS=1 define: __LDBL_HAS_QUIET_NAN__=1 define: __ULACCUM_IBIT__=32 define: __UACCUM_EPSILON__=0x1P-16UK define: __BUILTIN_AVR_SEI=1 define: __GNUC__=5 define: __ULLACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-48ULLK define: __HQ_IBIT__=0 define: __BUILTIN_AVR_SWAP=1 define: __FLT_HAS_DENORM__=1 define: __SIZEOF_LONG_DOUBLE__=4 define: __BIGGEST_ALIGNMENT__=1 define: __STDC_UTF_16__=1 define: __UINT24_MAX__=16777215UL define: __BUILTIN_AVR_NOP=1 define: __GNUC_STDC_INLINE__=1 define: __DQ_IBIT__=0 define: __DBL_MAX__=double(3.40282347e+38L) define: __ULFRACT_IBIT__=0 define: __INT_FAST32_MAX__=0x7fffffffL define: __DBL_HAS_INFINITY__=1 define: __INT64_MAX__=0x7fffffffffffffffLL define: __ACCUM_IBIT__=16 define: __DEC32_MIN_EXP__=(-94) define: __BUILTIN_AVR_UKBITS=1 define: __BUILTIN_AVR_FMULSU=1 define: __LACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LK define: __INT_FAST16_TYPE__=int define: __STRICT_ANSI__=1 define: __LDBL_HAS_DENORM__=1 define: __BUILTIN_AVR_BITSK=1 define: __BUILTIN_AVR_BITSR=1 define: __cplusplus=201500L define: __DEC128_MAX__=9.999999999999999999999999999999999E6144DL define: __INT_LEAST32_MAX__=0x7fffffffL define: __USING_SJLJ_EXCEPTIONS__=1 define: __DEC32_MIN__=1E-95DF define: __ACCUM_MAX__=0X7FFFFFFFP-15K define: __DEPRECATED=1 define: __DBL_MAX_EXP__=128 define: __USACCUM_EPSILON__=0x1P-8UHK define: __DEC128_EPSILON__=1E-33DL define: __SFRACT_MAX__=0X7FP-7HR define: __FRACT_IBIT__=0 define: __PTRDIFF_MAX__=0x7fff define: __UACCUM_MIN__=0.0UK define: __AVR_ENHANCED__=1 define: __UACCUM_IBIT__=16 define: __BUILTIN_AVR_WDR=1 define: __GNUG__=5 define: __LONG_LONG_MAX__=0x7fffffffffffffffLL define: __SIZEOF_SIZE_T__=2 define: __ULACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULK define: __SIZEOF_WINT_T__=2 define: __SA_IBIT__=16 define: __ULLACCUM_MIN__=0.0ULLK define: __BUILTIN_AVR_ROUNDUHK=1 define: __BUILTIN_AVR_ROUNDUHR=1 define: __GXX_ABI_VERSION=1009 define: __INT24_MAX__=8388607L define: __UTA_FBIT__=48 define: __FLT_MIN_EXP__=(-125) define: __USFRACT_MAX__=0XFFP-8UHR define: __UFRACT_IBIT__=0 define: __BUILTIN_AVR_ROUNDFX=1 define: __BUILTIN_AVR_ROUNDULK=1 define: __BUILTIN_AVR_ROUNDULR=1 define: __BUILTIN_AVR_COUNTLSLLK=1 define: __BUILTIN_AVR_COUNTLSLLR=1 define: __BUILTIN_AVR_ROUNDHK=1 define: __INT_FAST64_TYPE__=long long int define: __BUILTIN_AVR_ROUNDHR=1 define: __DBL_MIN__=double(1.17549435e-38L) define: __BUILTIN_AVR_COUNTLSK=1 define: __BUILTIN_AVR_ROUNDLK=1 define: __BUILTIN_AVR_COUNTLSR=1 define: __BUILTIN_AVR_ROUNDLR=1 define: __FLT_MIN_10_EXP__=(-37) define: __LACCUM_MIN__=(-0X1P31LK-0X1P31LK) define: __ULLACCUM_FBIT__=48 define: __BUILTIN_AVR_LKBITS=1 define: __ULLFRACT_EPSILON__=0x1P-64ULLR define: __DEC128_MIN__=1E-6143DL define: __REGISTER_PREFIX__= define: __UINT16_MAX__=0xffffU define: __DBL_HAS_DENORM__=1 define: __BUILTIN_AVR_ULKBITS=1 define: __ACCUM_MIN__=(-0X1P15K-0X1P15K) define: __AVR_ARCH__=5 define: __SQ_IBIT__=0 define: __UINT8_TYPE__=unsigned char define: __BUILTIN_AVR_ROUNDUK=1 define: __BUILTIN_AVR_ROUNDUR=1 define: __UHA_FBIT__=8 define: __NO_INLINE__=1 define: __SFRACT_MIN__=(-0.5HR-0.5HR) define: __UTQ_FBIT__=128 define: __FLT_MANT_DIG__=24 define: __VERSION__="5.4.0" define: __UINT64_C(c)=c ## ULL define: __ULLFRACT_FBIT__=64 define: __FRACT_EPSILON__=0x1P-15R define: __ULACCUM_MIN__=0.0ULK define: __UDA_FBIT__=32 define: __LLACCUM_EPSILON__=0x1P-47LLK define: __GCC_ATOMIC_INT_LOCK_FREE=1 define: __BUILTIN_AVR_BITSUHK=1 define: __BUILTIN_AVR_BITSUHR=1 define: __FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__ define: __USFRACT_MIN__=0.0UHR define: __BUILTIN_AVR_BITSULK=1 define: __ULLACCUM_IBIT__=16 define: __BUILTIN_AVR_BITSULR=1 define: __UQQ_IBIT__=0 define: __BUILTIN_AVR_LLRBITS=1 define: __BUILTIN_AVR_BITSULLK=1 define: __BUILTIN_AVR_BITSULLR=1 define: __INT32_C(c)=c ## L define: __DEC64_EPSILON__=1E-15DD define: __ORDER_PDP_ENDIAN__=3412 define: __DEC128_MIN_EXP__=(-6142) define: __UHQ_FBIT__=16 define: __LLACCUM_FBIT__=47 define: __BUILTIN_AVR_ROUNDULLK=1 define: __BUILTIN_AVR_ROUNDULLR=1 define: __INT_FAST32_TYPE__=long int define: __BUILTIN_AVR_HRBITS=1 define: __UINT_LEAST16_TYPE__=unsigned int define: __BUILTIN_AVR_UHRBITS=1 define: __INT16_MAX__=0x7fff define: __SIZE_TYPE__=unsigned int define: __UINT64_MAX__=0xffffffffffffffffULL define: __UDQ_FBIT__=64 define: __INT8_TYPE__=signed char define: __AVR_ATmega32U4__=1 define: __ELF__=1 define: __ULFRACT_EPSILON__=0x1P-32ULR define: __LLFRACT_FBIT__=63 define: __FLT_RADIX__=2 define: __INT_LEAST16_TYPE__=int define: __BUILTIN_AVR_ABSFX=1 define: __LDBL_EPSILON__=1.19209290e-7L define: __UINTMAX_C(c)=c ## ULL define: __INT24_MIN__=(-__INT24_MAX__-1) define: __SACCUM_MAX__=0X7FFFP-7HK define: __BUILTIN_AVR_ABSHR=1 define: __SIG_ATOMIC_MAX__=0xff define: __GCC_ATOMIC_WCHAR_T_LOCK_FREE=1 define: __SIZEOF_PTRDIFF_T__=2 define: __AVR=1 define: __BUILTIN_AVR_ABSLK=1 define: __BUILTIN_AVR_ABSLR=1 define: __LACCUM_EPSILON__=0x1P-31LK define: __DEC32_SUBNORMAL_MIN__=0.000001E-95DF define: __INT_FAST16_MAX__=0x7fff define: __UINT_FAST32_MAX__=0xffffffffUL define: __UINT_LEAST64_TYPE__=long long unsigned int define: __USACCUM_MAX__=0XFFFFP-8UHK define: __SFRACT_EPSILON__=0x1P-7HR define: __FLT_HAS_QUIET_NAN__=1 define: __FLT_MAX_10_EXP__=38 define: __LONG_MAX__=0x7fffffffL define: __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL define: __FLT_HAS_INFINITY__=1 define: __USA_FBIT__=16 define: __UINT_FAST16_TYPE__=unsigned int define: __DEC64_MAX__=9.999999999999999E384DD define: __BUILTIN_AVR_RBITS=1 define: __CHAR16_TYPE__=unsigned int define: __PRAGMA_REDEFINE_EXTNAME=1 define: __AVR_HAVE_LPMX__=1 define: __INT_LEAST16_MAX__=0x7fff define: __DEC64_MANT_DIG__=16 define: __UINT_LEAST32_MAX__=0xffffffffUL define: __SACCUM_FBIT__=7 define: __GCC_ATOMIC_LONG_LOCK_FREE=1 define: __INT_LEAST64_TYPE__=long long int define: __INT16_TYPE__=int define: __INT_LEAST8_TYPE__=signed char define: __SQ_FBIT__=31 define: __DEC32_MAX_EXP__=97 define: __INT_FAST8_MAX__=0x7f define: __INTPTR_MAX__=0x7fff define: __QQ_FBIT__=7 define: __UTA_IBIT__=16 define: __LDBL_MANT_DIG__=24 define: __SFRACT_FBIT__=7 define: __SACCUM_MIN__=(-0X1P7HK-0X1P7HK) define: __DBL_HAS_QUIET_NAN__=1 define: __SIG_ATOMIC_MIN__=0 define: __BUILTIN_AVR_FMULS=1 define: __INTPTR_TYPE__=int define: __UINT16_TYPE__=unsigned int define: __WCHAR_TYPE__=int define: __SIZEOF_FLOAT__=4 define: __AVR__=1 define: __BUILTIN_AVR_INSERT_BITS=1 define: __AVR_HAVE_JMP_CALL__=1 define: __USQ_FBIT__=32 define: __UINTPTR_MAX__=0xffffU define: __DEC64_MIN_EXP__=(-382) define: __INT_FAST64_MAX__=0x7fffffffffffffffLL define: __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1 define: __FLT_DIG__=6 define: __UINT_FAST64_TYPE__=long long unsigned int define: __BUILTIN_AVR_BITSHK=1 define: __BUILTIN_AVR_BITSHR=1 define: __INT_MAX__=0x7fff define: __LACCUM_FBIT__=31 define: __USACCUM_MIN__=0.0UHK define: __UHA_IBIT__=8 define: __INT64_TYPE__=long long int define: __BUILTIN_AVR_BITSLK=1 define: __BUILTIN_AVR_BITSLR=1 define: __FLT_MAX_EXP__=128 define: __AVR_HAVE_MUL__=1 define: __UTQ_IBIT__=0 define: __DBL_MANT_DIG__=24 define: __BUILTIN_AVR_ULLKBITS=1 define: __INT_LEAST64_MAX__=0x7fffffffffffffffLL define: __AVR_HAVE_MOVW__=1 define: __DEC64_MIN__=1E-383DD define: __WINT_TYPE__=int define: __UINT_LEAST32_TYPE__=long unsigned int define: __SIZEOF_SHORT__=2 define: __ULLFRACT_IBIT__=0 define: __LDBL_MIN_EXP__=(-125) define: __UDA_IBIT__=32 define: __INT_LEAST8_MAX__=0x7f define: __LFRACT_FBIT__=31 define: __LDBL_MAX_10_EXP__=38 define: __ATOMIC_RELAXED=0 define: __DBL_EPSILON__=double(1.19209290e-7L) define: __BUILTIN_AVR_BITSUK=1 define: __BUILTIN_AVR_BITSUR=1 define: __UINT8_C(c)=c define: __INT_LEAST32_TYPE__=long int define: __BUILTIN_AVR_URBITS=1 define: __SIZEOF_WCHAR_T__=2 define: __UINT64_TYPE__=long long unsigned int define: __LLFRACT_MAX__=0X7FFFFFFFFFFFFFFFP-63LLR define: __TQ_FBIT__=127 define: __INT_FAST8_TYPE__=signed char define: __ULLACCUM_EPSILON__=0x1P-48ULLK define: __BUILTIN_AVR_ROUNDK=1 define: __BUILTIN_AVR_ROUNDR=1 define: __UHQ_IBIT__=0 define: __LLACCUM_IBIT__=16 define: __AVR_DEVICE_NAME__=atmega32u4 define: __DBL_DECIMAL_DIG__=9 define: __STDC_UTF_32__=1 define: __DEC_EVAL_METHOD__=2 define: __TA_FBIT__=47 define: __UDQ_IBIT__=0 define: __ORDER_BIG_ENDIAN__=4321 define: __WITH_AVRLIBC__=1 define: __ACCUM_EPSILON__=0x1P-15K define: __UINT32_C(c)=c ## UL define: __BUILTIN_AVR_COUNTLSUHK=1 define: __INTMAX_MAX__=0x7fffffffffffffffLL define: __BUILTIN_AVR_COUNTLSUHR=1 define: __BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__ define: __FLT_DENORM_MIN__=1.40129846e-45F define: __LLFRACT_IBIT__=0 define: __INT8_MAX__=0x7f define: __UINT_FAST32_TYPE__=long unsigned int define: __CHAR32_TYPE__=long unsigned int define: __BUILTIN_AVR_COUNTLSULK=1 define: __BUILTIN_AVR_COUNTLSULR=1 define: __FLT_MAX__=3.40282347e+38F define: __USACCUM_FBIT__=8 define: __BUILTIN_AVR_COUNTLSFX=1 define: __INT32_TYPE__=long int define: __SIZEOF_DOUBLE__=4 define: __UFRACT_EPSILON__=0x1P-16UR define: __BUILTIN_AVR_COUNTLSHK=1 define: __BUILTIN_AVR_COUNTLSHR=1 define: __INTMAX_TYPE__=long long int define: __BUILTIN_AVR_ABSLLK=1 define: __BUILTIN_AVR_ABSLLR=1 define: __DEC128_MAX_EXP__=6145 define: __AVR_HAVE_16BIT_SP__=1 define: __ATOMIC_CONSUME=1 define: __GNUC_MINOR__=4 define: __UINTMAX_MAX__=0xffffffffffffffffULL define: __DEC32_MANT_DIG__=7 define: __HA_FBIT__=7 define: __BUILTIN_AVR_COUNTLSLK=1 define: __BUILTIN_AVR_COUNTLSLR=1 define: __BUILTIN_AVR_CLI=1 define: __DBL_MAX_10_EXP__=38 define: __LDBL_DENORM_MIN__=1.40129846e-45L define: __INT16_C(c)=c define: __STDC__=1 define: __PTRDIFF_TYPE__=int define: __LLFRACT_MIN__=(-0.5LLR-0.5LLR) define: __BUILTIN_AVR_LRBITS=1 define: __ATOMIC_SEQ_CST=5 define: __DA_FBIT__=31 define: __UINT32_TYPE__=long unsigned int define: __BUILTIN_AVR_ROUNDLLK=1 define: __UINTPTR_TYPE__=unsigned int define: __BUILTIN_AVR_ROUNDLLR=1 define: __USA_IBIT__=16 define: __BUILTIN_AVR_ULRBITS=1 define: __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD define: __DEC128_MANT_DIG__=34 define: __LDBL_MIN_10_EXP__=(-37) define: __BUILTIN_AVR_COUNTLSUK=1 define: __BUILTIN_AVR_COUNTLSUR=1 define: __SIZEOF_LONG_LONG__=8 define: __ULACCUM_EPSILON__=0x1P-32ULK define: __SACCUM_IBIT__=8 define: __GCC_ATOMIC_LLONG_LOCK_FREE=1 define: __LDBL_DIG__=6 define: __FLT_DECIMAL_DIG__=9 define: __UINT_FAST16_MAX__=0xffffU define: __GCC_ATOMIC_SHORT_LOCK_FREE=1 define: __BUILTIN_AVR_ABSHK=1 define: __BUILTIN_AVR_FLASH_SEGMENT=1 define: __ULLFRACT_MAX__=0XFFFFFFFFFFFFFFFFP-64ULLR define: __UINT_FAST8_TYPE__=unsigned char define: __USFRACT_EPSILON__=0x1P-8UHR define: __ULACCUM_FBIT__=32 define: __QQ_IBIT__=0 define: __ATOMIC_ACQ_REL=4 define: __ATOMIC_RELEASE=3 define: __BUILTIN_AVR_FMUL=1 define: F_CPU=16000000UL define: F_USB=F_CPU define: USE_LUFA_CONFIG_HEADER other: --g++ other: --gnu_version=50400 stdver: c++17 intelliSenseMode: windows-gcc-arm Queueing IntelliSense update for files in translation unit of: C:\Users\camer\git\PROJECT\Firmware\test.cpp cpptools/finishUpdateSquiggles Error squiggle count: 1 Update IntelliSense time (sec): 0.328 cpptools/getFoldingRanges: C:\Users\camer\git\PROJECT\Firmware\test.cpp (id: 34) 335 file(s) removed from database Done discovering files. Parsing open files... Populating include completion cache. Parsing remaining files... Checking for syntax errors: C:\Users\camer\git\PROJECT\Firmware\test.cpp Queueing IntelliSense update for files in translation unit of: C:\Users\camer\git\PROJECT\Firmware\test.cpp Done parsing open files. ```Additional context
Macros are detected, like
__AVR_ATmega32U4__
, but it seems other unique built-ins are not, hence this issue.Environment
Workaround
I can use the
defines
field to fake it, but this doesn't work 100%. For instance,static_assert
s andif constexpr
might evaluate differently by the editor than the real compiler in use.