microsoft / microsoft/vscode-cpptools

Within a macro, IntelliSense does not suggest members of a structure that is referenced through another macro

Open
#12,335 1 comment 0 reactions 1 assignee View on GitHub

@browntarik is already working on this.

Since Jun 3, 2024.

bug Language Service Visual Studio
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

Environment
  • OS and Version: Windows 10 Pro 22H2
  • VS Code Version: 1.89.1
  • C/C++ Extension Version: 1.20.5
Bug Summary and Steps to Reproduce

Bug Summary:
By hitting ctrl+space IntelliSense is not able to provide any suggestions for struct members as shown in the attached screenshots.
The same thing happens also with struct pointer, dereferenced by ->

Steps to reproduce:

  1. Create a function-like macro :
#define SET_BIT(REG, BIT) ((REG) |= (BIT))
  1. Declare the struct:
struct
{
    int member1;
    int member2;
} Example;
  1. Create the alias for this struct:
#define STRUCT_DEF        Example
  1. Use new alias within a macro:
SET_BIT(STRUCT_DEF.member1, 1 << 0);

Expected behavior:
The alias STRUCT_DEF should be expanded after . (or -> if it's a pointer) operator

Configuration and Logs
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.22621.0",
            "compilerPath": "cl.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-msvc-x64",
            "configurationProvider": "iarsystems.iar-build"
        }
    ],
    "version": 4
}

-------- Diagnostics - 5/27/2024, 8:13:23 AM
Version: 1.20.5
Current Configuration:
{
    "name": "Win32",
    "includePath": [
        "e:/IAR_Projects/STM32F4xx/TIM/**"
    ],
    "defines": [
        "_DEBUG",
        "UNICODE",
        "_UNICODE"
    ],
    "windowsSdkVersion": "10.0.22621.0",
    "compilerPath": "cl.exe",
    "cStandard": "c17",
    "cppStandard": "c++17",
    "intelliSenseMode": "windows-msvc-x64",
    "configurationProvider": "iarsystems.iar-build",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "compilerPathInCppPropertiesJson": "cl.exe",
    "configurationProviderInCppPropertiesJson": "iarsystems.iar-build",
    "mergeConfigurations": false,
    "browse": {
        "path": [
            "e:/IAR_Projects/STM32F4xx/TIM/**",
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true
    }
}
Custom browse configuration: 
{
    "browsePath": [
        "E:\\IAR_Projects\\STM32F4xx\\TIM\\conf",
        "E:\\IAR_Projects\\STM32F4xx\\TIM\\inc",
        "E:\\IAR_Projects\\STM32F4xx\\TIM\\lib\\delay",
        "E:\\IAR_Projects\\STM32F4xx\\TIM\\lib\\STM32F4xx_StdPeriph_Driver\\inc",
        "D:\\Program Files\\IAR Systems\\Embedded Workbench 9.2\\arm\\CMSIS\\Core\\Include",
        "D:\\Program Files\\IAR Systems\\Embedded Workbench 9.2\\arm\\inc\\c\\aarch32",
        "D:\\Program Files\\IAR Systems\\Embedded Workbench 9.2\\arm\\inc",
        "D:\\Program Files\\IAR Systems\\Embedded Workbench 9.2\\arm\\inc\\c",
        "e:\\iar_projects\\stm32f4xx\\tim\\conf",
        "e:\\iar_projects\\stm32f4xx\\tim\\lib\\delay",
        "e:\\iar_projects\\stm32f4xx\\tim\\lib\\stm32f4xx_stdperiph_driver\\src",
        "e:\\iar_projects\\stm32f4xx\\tim\\src"
    ],
    "compilerPath": "",
    "standard": "c17",
    "windowsSdkVersion": "",
    "compilerArgsLegacy": []
}
cpptools version (native): 1.20.5.0
Translation Unit Mappings:
[ E:\IAR_Projects\STM32F4xx\TIM\src\main.c - source TU]:
Translation Unit Configurations:
[ E:\IAR_Projects\STM32F4xx\TIM\src\main.c ]:
    Process ID: 10080
    Memory Usage: 66 MB
    Includes:
        E:\IAR_Projects\STM32F4xx\TIM\conf
        E:\IAR_Projects\STM32F4xx\TIM\inc
        E:\IAR_Projects\STM32F4xx\TIM\lib\delay
        E:\IAR_Projects\STM32F4xx\TIM\lib\STM32F4xx_StdPeriph_Driver\inc
        D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\CMSIS\Core\Include
        D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\inc\c\aarch32
        D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\inc
        D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\inc\c
    Defines:
        __CHAR_BITS__=8
        __CHAR_MAX__=0xff
        __CHAR_MIN__=0
        __CHAR_SIZE__=1
        __UNSIGNED_CHAR_MAX__=0xff
        __SIGNED_CHAR_MAX__=127
        __SIGNED_CHAR_MIN__=(-__SIGNED_CHAR_MAX__-1)
        __CHAR_ALIGN__=1
        __SHORT_SIZE__=2
        __UNSIGNED_SHORT_MAX__=0xffff
        __SIGNED_SHORT_MAX__=32767
        __SIGNED_SHORT_MIN__=(-__SIGNED_SHORT_MAX__-1)
        __SHORT_ALIGN__=2
        __INT_SIZE__=4
        __UNSIGNED_INT_MAX__=0xffffffffU
        __SIGNED_INT_MAX__=2147483647
        __SIGNED_INT_MIN__=(-__SIGNED_INT_MAX__-1)
        __INT_ALIGN__=4
        __LONG_SIZE__=4
        __UNSIGNED_LONG_MAX__=0xffffffffUL
        __SIGNED_LONG_MAX__=2147483647L
        __SIGNED_LONG_MIN__=(-__SIGNED_LONG_MAX__-1)
        __LONG_ALIGN__=4
        __LONG_LONG_SIZE__=8
        __UNSIGNED_LONG_LONG_MAX__=0xffffffffffffffffULL
        __SIGNED_LONG_LONG_MAX__=9223372036854775807LL
        __SIGNED_LONG_LONG_MIN__=(-__SIGNED_LONG_LONG_MAX__-1)
        __LONG_LONG_ALIGN__=8
        __INT8_T_TYPE__=signed char
        __INT8_T_MAX__=127
        __INT8_T_MIN__=(-__INT8_T_MAX__-1)
        __UINT8_T_TYPE__=unsigned char
        __UINT8_T_MAX__=0xff
        __INT8_SIZE_PREFIX__="hh"
        __INT16_T_TYPE__=signed short int
        __INT16_T_MAX__=32767
        __INT16_T_MIN__=(-__INT16_T_MAX__-1)
        __UINT16_T_TYPE__=unsigned short int
        __UINT16_T_MAX__=0xffff
        __INT16_SIZE_PREFIX__="h"
        __INT32_T_TYPE__=signed int
        __INT32_T_MAX__=2147483647
        __INT32_T_MIN__=(-__INT32_T_MAX__-1)
        __UINT32_T_TYPE__=unsigned int
        __UINT32_T_MAX__=0xffffffffU
        __INT32_SIZE_PREFIX__=""
        __INT64_T_TYPE__=signed long long int
        __INT64_T_MAX__=9223372036854775807LL
        __INT64_T_MIN__=(-__INT64_T_MAX__-1)
        __UINT64_T_TYPE__=unsigned long long int
        __UINT64_T_MAX__=0xffffffffffffffffULL
        __INT64_SIZE_PREFIX__="ll"
        __INT_LEAST8_T_TYPE__=signed char
        __INT_LEAST8_T_MAX__=127
        __INT_LEAST8_T_MIN__=(-__INT_LEAST8_T_MAX__-1)
        __UINT_LEAST8_T_TYPE__=unsigned char
        __UINT_LEAST8_T_MAX__=0xff
        __INT8_C_SUFFIX__=
        __UINT8_C_SUFFIX__=
        __INT_LEAST8_SIZE_PREFIX__="hh"
        __INT_LEAST16_T_TYPE__=signed short int
        __INT_LEAST16_T_MAX__=32767
        __INT_LEAST16_T_MIN__=(-__INT_LEAST16_T_MAX__-1)
        __UINT_LEAST16_T_TYPE__=unsigned short int
        __UINT_LEAST16_T_MAX__=0xffff
        __INT16_C_SUFFIX__=
        __UINT16_C_SUFFIX__=
        __INT_LEAST16_SIZE_PREFIX__="h"
        __INT_LEAST32_T_TYPE__=signed int
        __INT_LEAST32_T_MAX__=2147483647
        __INT_LEAST32_T_MIN__=(-__INT_LEAST32_T_MAX__-1)
        __UINT_LEAST32_T_TYPE__=unsigned int
        __UINT_LEAST32_T_MAX__=0xffffffffU
        __INT32_C_SUFFIX__=
        __UINT32_C_SUFFIX__=U
        __INT_LEAST32_SIZE_PREFIX__=""
        __INT_LEAST64_T_TYPE__=signed long long int
        __INT_LEAST64_T_MAX__=9223372036854775807LL
        __INT_LEAST64_T_MIN__=(-__INT_LEAST64_T_MAX__-1)
        __UINT_LEAST64_T_TYPE__=unsigned long long int
        __UINT_LEAST64_T_MAX__=0xffffffffffffffffULL
        __INT64_C_SUFFIX__=LL
        __UINT64_C_SUFFIX__=ULL
        __INT_LEAST64_SIZE_PREFIX__="ll"
        __INT_FAST8_T_TYPE__=signed int
        __INT_FAST8_T_MAX__=2147483647
        __INT_FAST8_T_MIN__=(-__INT_FAST8_T_MAX__-1)
        __UINT_FAST8_T_TYPE__=unsigned int
        __UINT_FAST8_T_MAX__=0xffffffffU
        __INT_FAST8_SIZE_PREFIX__=""
        __INT_FAST16_T_TYPE__=signed int
        __INT_FAST16_T_MAX__=2147483647
        __INT_FAST16_T_MIN__=(-__INT_FAST16_T_MAX__-1)
        __UINT_FAST16_T_TYPE__=unsigned int
        __UINT_FAST16_T_MAX__=0xffffffffU
        __INT_FAST16_SIZE_PREFIX__=""
        __INT_FAST32_T_TYPE__=signed int
        __INT_FAST32_T_MAX__=2147483647
        __INT_FAST32_T_MIN__=(-__INT_FAST32_T_MAX__-1)
        __UINT_FAST32_T_TYPE__=unsigned int
        __UINT_FAST32_T_MAX__=0xffffffffU
        __INT_FAST32_SIZE_PREFIX__=""
        __INT_FAST64_T_TYPE__=signed long long int
        __INT_FAST64_T_MAX__=9223372036854775807LL
        __INT_FAST64_T_MIN__=(-__INT_FAST64_T_MAX__-1)
        __UINT_FAST64_T_TYPE__=unsigned long long int
        __UINT_FAST64_T_MAX__=0xffffffffffffffffULL
        __INT_FAST64_SIZE_PREFIX__="ll"
        __INTMAX_T_TYPE__=signed long long int
        __INTMAX_T_MAX__=9223372036854775807LL
        __INTMAX_T_MIN__=(-__INTMAX_T_MAX__-1)
        __UINTMAX_T_TYPE__=unsigned long long int
        __UINTMAX_T_MAX__=0xffffffffffffffffULL
        __INTMAX_C_SUFFIX__=LL
        __UINTMAX_C_SUFFIX__=ULL
        __INTMAX_SIZE_PREFIX__="ll"
        __ATOMIC_BOOL_LOCK_FREE=2
        __ATOMIC_CHAR_LOCK_FREE=2
        __ATOMIC_CHAR16_T_LOCK_FREE=2
        __ATOMIC_CHAR32_T_LOCK_FREE=2
        __ATOMIC_WCHAR_T_LOCK_FREE=2
        __ATOMIC_SHORT_LOCK_FREE=2
        __ATOMIC_INT_LOCK_FREE=2
        __ATOMIC_LONG_LOCK_FREE=2
        __ATOMIC_LLONG_LOCK_FREE=0
        __ATOMIC_POINTER_LOCK_FREE=2
        __FLOAT_SIZE__=4
        __FLOAT_ALIGN__=4
        __FLT_MANT_DIG__=24
        __FLT_DIG__=6
        __FLT_DECIMAL_DIG__=9
        __FLT_MAX_EXP__=128
        __FLT_MIN_EXP__=-125
        __FLT_MAX_10_EXP__=38
        __FLT_MIN_10_EXP__=-37
        __FLT_MAX__=3.40282347E+38
        __FLT_MIN__=1.17549435E-38
        __FLT_HAS_SUBNORM__=1
        __FLT_TRUE_MIN__=1.40129846E-45
        __FLT_DENORM_MIN__=1.40129846E-45
        __FLT_EPSILON__=1.1920929E-7
        __DOUBLE_SIZE__=8
        __DOUBLE_ALIGN__=8
        __DBL_MANT_DIG__=53
        __DBL_DIG__=15
        __DBL_DECIMAL_DIG__=17
        __DBL_MAX_EXP__=1024
        __DBL_MIN_EXP__=-1021
        __DBL_MAX_10_EXP__=308
        __DBL_MIN_10_EXP__=-307
        __DBL_MAX__=1.7976931348623157E+308
        __DBL_MIN__=2.2250738585072014E-308
        __DBL_HAS_SUBNORM__=1
        __DBL_TRUE_MIN__=4.9406564584124654E-324
        __DBL_DENORM_MIN__=4.9406564584124654E-324
        __DBL_EPSILON__=2.2204460492503131E-16
        __LONG_DOUBLE_SIZE__=8
        __LONG_DOUBLE_ALIGN__=8
        __LDBL_MANT_DIG__=53
        __LDBL_DIG__=15
        __LDBL_DECIMAL_DIG__=17
        __LDBL_MAX_EXP__=1024
        __LDBL_MIN_EXP__=-1021
        __LDBL_MAX_10_EXP__=308
        __LDBL_MIN_10_EXP__=-307
        __LDBL_MAX__=1.7976931348623157E+308
        __LDBL_MIN__=2.2250738585072014E-308
        __LDBL_HAS_SUBNORM__=1
        __LDBL_TRUE_MIN__=4.9406564584124654E-324
        __LDBL_DENORM_MIN__=4.9406564584124654E-324
        __LDBL_EPSILON__=2.2204460492503131E-16
        ____FP16_SIZE__=2
        ____FP16_ALIGN__=2
        __FLT16_MANT_DIG__=11
        __FLT16_DIG__=3
        __FLT16_DECIMAL_DIG__=5
        __FLT16_MAX_EXP__=16
        __FLT16_MIN_EXP__=-13
        __FLT16_MAX_10_EXP__=4
        __FLT16_MIN_10_EXP__=-4
        __FLT16_MAX__=6.5504E+4
        __FLT16_MIN__=6.1035E-5
        __FLT16_HAS_SUBNORM__=1
        __FLT16_TRUE_MIN__=5.9605E-8
        __FLT16_DENORM_MIN__=5.9605E-8
        __FLT16_EPSILON__=9.7656E-4
        ___FLOAT16_SIZE__=2
        ___FLOAT16_ALIGN__=2
        __NAN_HAS_HIGH_MANTISSA_BIT_SET__=0
        __SUBNORMAL_FLOATING_POINTS__=1
        __SIZE_T_TYPE__=unsigned int
        __SIZE_T_MAX__=0xffffffffU
        __PTRDIFF_T_TYPE__=signed int
        __PTRDIFF_T_MAX__=2147483647
        __PTRDIFF_T_MIN__=(-__PTRDIFF_T_MAX__-1)
        __INTPTR_T_TYPE__=signed int
        __INTPTR_T_MAX__=2147483647
        __INTPTR_T_MIN__=(-__INTPTR_T_MAX__-1)
        __UINTPTR_T_TYPE__=unsigned int
        __UINTPTR_T_MAX__=0xffffffffU
        __INTPTR_SIZE_PREFIX__=""
        __JMP_BUF_ELEMENT_TYPE__=unsigned long long int
        __JMP_BUF_NUM_ELEMENTS__=16
        __TID__=0xcf60
        __VER__=9040001
        __BUILD_NUMBER__=364
        __IAR_SYSTEMS_ICC__=9
        _MAX_ALIGNMENT=8
        __LITTLE_ENDIAN__=1
        __BOOL_TYPE__=unsigned char
        __BOOL_SIZE__=1
        __WCHAR_T_TYPE__=unsigned int
        __WCHAR_T_SIZE__=4
        __WCHAR_T_MAX__=0xffffffffU
        __DEF_PTR_MEM__=__data
        __DEF_PTR_SIZE__=4
        __CODE_MEMORY_LIST1__()=__CODE_MEM_HELPER1__(__code, 0)
        __CODE_MEMORY_LIST2__(_P1)=__CODE_MEM_HELPER2__(__code, 0, _P1)
        __CODE_MEMORY_LIST3__(_P1,_P2)=__CODE_MEM_HELPER3__(__code, 0, _P1, _P2)
        __DATA_MEMORY_LIST1__()=__DATA_MEM_HELPER1__(__data, 0)
        __DATA_MEMORY_LIST2__(_P1)=__DATA_MEM_HELPER2__(__data, 0, _P1)
        __DATA_MEMORY_LIST3__(_P1,_P2)=__DATA_MEM_HELPER3__(__data, 0, _P1, _P2)
        __DATA_MEM0__=__data
        __DATA_MEM0_POINTER_OK__=1
        __DATA_MEM0_UNIQUE_POINTER__=1
        __DATA_MEM0_VAR_OK__=1
        __DATA_MEM0_INDEX_TYPE__=int
        __DATA_MEM0_SIZE_TYPE__=unsigned int
        __DATA_MEM0_INTPTR_TYPE__=int
        __DATA_MEM0_UINTPTR_TYPE__=unsigned int
        __DATA_MEM0_INTPTR_SIZE_PREFIX__=""
        __DATA_MEM0_MAX_SIZE__=0x7fffffffU
        _RSIZE_MAX=0x7fffffffU
        __DATA_MEM0_HEAP_SEGMENT__="HEAP"
        __DATA_MEM0_PAGE_SIZE__=0
        __DATA_MEM0_HEAP__=0
        __CODE_MEM0__=__code
        __CODE_MEM0_POINTER_OK__=1
        __CODE_MEM0_UNIQUE_POINTER__=1
        __CODE_PTR_MEMORY_LIST1__()=__CODE_PTR_MEM_HELPER1__(__code, 0)
        __CODE_PTR_MEMORY_LIST2__(_P1)=__CODE_PTR_MEM_HELPER2__(__code, 0, _P1)
        __CODE_PTR_MEMORY_LIST3__(_P1,_P2)=__CODE_PTR_MEM_HELPER3__(__code, 0, _P1, _P2)
        __DATA_PTR_MEMORY_LIST1__()=__DATA_PTR_MEM_HELPER1__(__data, 0)
        __DATA_PTR_MEMORY_LIST2__(_P1)=__DATA_PTR_MEM_HELPER2__(__data, 0, _P1)
        __DATA_PTR_MEMORY_LIST3__(_P1,_P2)=__DATA_PTR_MEM_HELPER3__(__data, 0, _P1, _P2)
        __VAR_MEMORY_LIST1__()=__VAR_MEM_HELPER1__(__data, 0)
        __VAR_MEMORY_LIST2__(_P1)=__VAR_MEM_HELPER2__(__data, 0, _P1)
        __VAR_MEMORY_LIST3__(_P1,_P2)=__VAR_MEM_HELPER3__(__data, 0, _P1, _P2)
        __VARD_MEMORY_LIST1__()=__VARD_MEM_HELPER1__(__data, 0, _)
        __HEAP_MEM0__=0
        __HEAP_DEFAULT_MEM__=0
        __HEAP_MEMORY_LIST1__()=__HEAP_MEM_HELPER1__(__data, 0)
        __HEAP_MEMORY_LIST2__(_P1)=__HEAP_MEM_HELPER2__(__data, 0, _P1)
        __HEAP_MEMORY_LIST3__(_P1,_P2)=__HEAP_MEM_HELPER3__(__data, 0, _P1, _P2)
        __HVAR_MEMORY_LIST1__()=__HVAR_MEM_HELPER1__(__data, 0)
        __HEAPD_MEMORY_LIST1__()=__HEAPD_MEM_HELPER1__(__data, 0, _)
        __HEAPU_MEMORY_LIST1__()=__HEAPU_MEM_HELPER1__(__data, 0)
        __HEAPND_MEMORY_LIST1__()=
        __MULTIPLE_HEAPS__=0
        __TOPM_DATA_MEMORY_LIST1__()=
        __TOPM_DATA_MEMORY_LIST2__(_P1)=
        __TOPM_DATA_MEMORY_LIST3__(_P1,_P2)=
        __TOPP_DATA_MEMORY_LIST1__()=__TOPP_DATA_MEM_HELPER1__(__data, 0)
        __TOPP_DATA_MEMORY_LIST2__(_P1)=__TOPP_DATA_MEM_HELPER2__(__data, 0, _P1)
        __TOPP_DATA_MEMORY_LIST3__(_P1,_P2)=__TOPP_DATA_MEM_HELPER3__(__data, 0, _P1, _P2)
        __DEF_HEAP_MEM__=__data
        __DEF_STACK_MEM_INDEX__=0
        __PRAGMA_PACK_ON__=1
        __MULTIPLE_INHERITANCE__=1
        __FOR_DEBUG__=
        __AAPCS_VFP__=1
        __ARM4TM__=4
        __ARM5TM__=5
        __ARM5T__=5
        __ARM5__=5
        __ARM6MEDIA__=6
        __ARM6M__=11
        __ARM6SM__=12
        __ARM6T2__=6
        __ARM6__=6
        __ARM7EM__=13
        __ARM7M__=7
        __ARM7__=7
        __ARMVFPV1__=1
        __ARMVFPV2__=2
        __ARMVFPV3_D16__=1
        __ARMVFPV3_FP16__=1
        __ARMVFPV3__=3
        __ARMVFPV4__=4
        __ARMVFP_D16__=1
        __ARMVFP_FP16__=1
        __ARMVFP_SP__=1
        __ARMVFP__=__ARMVFPV4__
        __ARM_32BIT_STATE=1
        __ARM_ACLE=201
        __ARM_ALIGN_MAX_PWR=8
        __ARM_ALIGN_MAX_STACK_PWR=3
        __ARM_ARCH=7
        __ARM_ARCH_ISA_THUMB=2
        __ARM_ARCH_PROFILE='M'
        __ARM_FEATURE_CLZ=1
        __ARM_FEATURE_COPROC=15
        __ARM_FEATURE_DSP=1
        __ARM_FEATURE_FMA=1
        __ARM_FEATURE_IDIV=1
        __ARM_FEATURE_LDREX=7
        __ARM_FEATURE_MVE=0
        __ARM_FEATURE_QBIT=1
        __ARM_FEATURE_SAT=1
        __ARM_FEATURE_SIMD32=1
        __ARM_FEATURE_UNALIGNED=1
        __ARM_FP=6
        __ARM_FP16_ARGS=1
        __ARM_FP16_FORMAT_IEEE=1
        __ARM_MEDIA__=1
        __ARM_PCS_VFP=1
        __ARM_PROFILE_M__=1
        __ARM_SIZEOF_MINIMAL_ENUM=1
        __ARM_SIZEOF_WCHAR_T=4
        __ARM_SIZE_MINIMAL_ENUM=1
        __ARM_SIZE_WCHAR_T=4
        __CODE_SIZE_LIMIT=0
        __CORE__=__ARM7EM__
        __CPU_MODE__=1
        __ICCARM_INTRINSICS_VERSION__=2
        __ICCARM__=1
        __INTERWORKING__=1
        __thumb__=1
        __PLAIN_INT_BITFIELD_IS_SIGNED__=0
        __HAS_WEAK__=1
        __HAS_PACKED__=1
        __HAS_JOINED_TYPES__=1
        __HAS_LOCATED_DECLARATION__=1
        __HAS_LOCATED_WITH_INIT__=1
        __IAR_COMPILERBASE__=0xa0e01
        __IAR_COMPILERBASE_STR__=10.14.1.1470
        __UNICODE_SOURCE_SUPPORTED__=1
        __VTABLE_MEM__=
        __PRAGMA_REDEFINE_EXTNAME=1
        __STDC__=1
        __STDC_VERSION__=201710L
        __STDC_IEC_559__=1
        __STDC_IEC_559_COMPLEX__=1
        __STDC_NO_VLA__=1
        __MEMORY_ORDER_RELAXED__=0
        __MEMORY_ORDER_CONSUME__=1
        __MEMORY_ORDER_ACQUIRE__=2
        __MEMORY_ORDER_RELEASE__=3
        __MEMORY_ORDER_ACQ_REL__=4
        __MEMORY_ORDER_SEQ_CST__=5
        __STDC_UTF_16__=1
        __STDC_UTF_32__=1
        __STDC_LIB_EXT1__=201112L
        __STDC_NO_THREADS__=1
        __STDC_ISO_10646__=201103L
        __STDC_HOSTED__=1
        __EDG_IA64_ABI=1
        __EDG_IA64_ABI_VARIANT_CTORS_AND_DTORS_RETURN_THIS=1
        __EDG_IA64_ABI_USE_INT_STATIC_INIT_GUARD=1
        __cpp_designated_initializers=201707L
        __cpp_hex_float=201603L
        __cpp_binary_literals=201304L
        __cpp_unicode_literals=200710L
        __cpp_static_assert=200410L
        __EDG__=1
        __EDG_DELTA_TYPE=int
        __EDG_IA64_VTABLE_ENTRY_TYPE=int
        __EDG_VIRTUAL_FUNCTION_INDEX_TYPE=unsigned short
        __EDG_LOWER_VARIABLE_LENGTH_ARRAYS=1
        __EDG_IA64_ABI_USE_VARIANT_ARRAY_COOKIES=1
        __EDG_ABI_COMPATIBILITY_VERSION=9999
        __EDG_ABI_CHANGES_FOR_RTTI=1
        __EDG_ABI_CHANGES_FOR_ARRAY_NEW_AND_DELETE=1
        __EDG_ABI_CHANGES_FOR_PLACEMENT_DELETE=1
        __EDG_BSD=0
        __EDG_SYSV=0
        __EDG_ANSIC=1
        __EDG_CPP11_IL_EXTENSIONS_SUPPORTED=1
        __EDG_FLOAT80_ENABLING_POSSIBLE=0
        __EDG_FLOAT128_ENABLING_POSSIBLE=0
        __EDG_INT128_EXTENSIONS_ALLOWED=0
        STM32F40_41xxx=1
        HSE_VALUE=8000000
        USE_STDPERIPH_DRIVER=1
        _DLIB_CONFIG_FILE_HEADER_NAME="D:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\inc\c\DLib_Config_Normal.h"
        _DLIB_CONFIG_FILE_STRING="D:\\Program Files\\IAR Systems\\Embedded Workbench 9.2\\arm\\inc\\c\\DLib_Config_Normal.h"
        __VERSION__="IAR ANSI C/C++ Compiler V9.40.1.364/W64 for ARM"
        _VA_DEFINED=
        _VA_LIST=struct __va_list
        __absolute=
        __arm=
        __big_endian=
        __cmse_nonsecure_call=
        __cmse_nonsecure_entry=
        __exception=
        __fiq=
        __interwork=
        __intrinsic=
        __irq=
        __little_endian=
        __naked=
        __no_alloc=
        __no_alloc16=
        __no_alloc_str=
        __no_alloc_str16=
        __nested=
        __no_init=
        __noreturn=
        __nounwind=
        __packed=
        __pcrel=
        __ramfunc=
        __root=
        __ro_placement=
        __sbrel=
        __stackless=
        __svc=
        __swi=
        __task=
        __thumb=
        __weak=
        __fp16=float
        __constrange(...)=
        __c99_generic(...)=
        __spec_string=
        __func__=""
        __alignof__(a)=1
        __ALIGNOF__=__alignof__
        __section_begin(x)=((void*)0)
        __section_end(x)=((void*)0)
        __section_size(x)=((size_t)0)
    Standard Version: c17
    IntelliSense Mode: windows-clang-arm
    Other Flags:
        --clang
        --clang_version=160003
Total Memory Usage: 66 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 10361
Other Extensions

No response

Additional context

image
image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.