IntelliSense doesn't seem to be able to handle some compiler extensions

Abierto
#9,968 8 comentarios 5 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
c, vscode

Línea de trabajo

Reproduce el diagnóstico con test.c y la configuración c_cpp_properties.json usando avr-gcc y __uint24. Comienza trazando cómo llegan a IntelliSense las extensiones integradas del compilador configurado y, a continuación, verifica que el comportamiento esperado sin errores esté cubierto por una prueba o reproducción adecuada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Feature Request Feature: Configuration Language Service

IntelliSense detects errors on built-in compiler extensions like __int24 and __uint24 from avr-gcc that aren't really errors. There seems to be no built-in way to tell it these are ok.

Steps to reproduce

  1. Create a file, test.c:
    int main() { *(volatile __uint24 *)0xC8 = 0x123456; } // Meaningless trivial complete example
    
  2. Build with avr-gcc test.c. No errors/warnings. a.out is created.
  3. Configure c_cpp_properties.json with a compilerPath set, possibly adding extra flags to match build configurations:
    {
      "compilerPath": "\"${config:local.avr-gcc.compilerDir}/bin/avr-gcc\" -mmcu=atmega32u4"
    }
    
  4. See error squiggles under __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 c_cpp_properties.json, with "defines" workaround
{
  "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
}
Language server log (debug)
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

  • OS and Version: Windows 11
  • VS Code Version: 1.71.2
  • C/C++ Extension Version: v1.12.4

Workaround

I can use the defines field to fake it, but this doesn't work 100%. For instance, static_asserts and if constexpr might evaluate differently by the editor than the real compiler in use.

Lenguaje dominante
TypeScript
Estrellas
6.2k
Forks
1.7k
Merge medio
14 h 46 min
PR fusionados (30 d)
61

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/vscode-cpptools

Todos los issues de microsoft/vscode-cpptools

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.