mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
fix(nvs): Fix possible collision with app trace sysview defines
Global.h defines U8, I8, U16, etc. symbols, which are also used in NVS as a part of custom enum class and this can cause a compilation error during macro expansion, when sysview is enabled and FreeRTOS.h is included in NVS
This commit is contained in:
parent
94580bb14a
commit
8e43afef3b
@ -26,6 +26,18 @@
|
|||||||
|
|
||||||
#define WD_PREFIX "./components/nvs_flash/host_test/nvs_host_test/" // path from ci cwd to the location of host test
|
#define WD_PREFIX "./components/nvs_flash/host_test/nvs_host_test/" // path from ci cwd to the location of host test
|
||||||
|
|
||||||
|
#if defined(SEGGER_H) && defined(GLOBAL_H)
|
||||||
|
NVS_GUARD_SYSVIEW_MACRO_EXPANSION_PUSH();
|
||||||
|
#undef U8
|
||||||
|
#undef I8
|
||||||
|
#undef U16
|
||||||
|
#undef I16
|
||||||
|
#undef U32
|
||||||
|
#undef I32
|
||||||
|
#undef U64
|
||||||
|
#undef I64
|
||||||
|
#endif
|
||||||
|
|
||||||
stringstream s_perf;
|
stringstream s_perf;
|
||||||
|
|
||||||
TEST_CASE("crc32 behaves as expected", "[nvs]")
|
TEST_CASE("crc32 behaves as expected", "[nvs]")
|
||||||
@ -3405,3 +3417,7 @@ TEST_CASE("dump all performance data", "[nvs]")
|
|||||||
std::cout << s_perf.str() << std::endl;
|
std::cout << s_perf.str() << std::endl;
|
||||||
std::cout << "====================" << std::endl;
|
std::cout << "====================" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(SEGGER_H) && defined(GLOBAL_H)
|
||||||
|
NVS_GUARD_SYSVIEW_MACRO_EXPANSION_POP();
|
||||||
|
#endif
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@ -10,6 +10,18 @@ static const char* TAG = "nvs_page_host_test";
|
|||||||
#include "test_fixtures.hpp"
|
#include "test_fixtures.hpp"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
|
|
||||||
|
#if defined(SEGGER_H) && defined(GLOBAL_H)
|
||||||
|
NVS_GUARD_SYSVIEW_MACRO_EXPANSION_PUSH();
|
||||||
|
#undef U8
|
||||||
|
#undef I8
|
||||||
|
#undef U16
|
||||||
|
#undef I16
|
||||||
|
#undef U32
|
||||||
|
#undef I32
|
||||||
|
#undef U64
|
||||||
|
#undef I64
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace nvs;
|
using namespace nvs;
|
||||||
|
|
||||||
@ -968,3 +980,7 @@ int main(int argc, char **argv)
|
|||||||
int failures = UNITY_END();
|
int failures = UNITY_END();
|
||||||
return failures;
|
return failures;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(SEGGER_H) && defined(GLOBAL_H)
|
||||||
|
NVS_GUARD_SYSVIEW_MACRO_EXPANSION_POP();
|
||||||
|
#endif
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@ -61,6 +61,26 @@ typedef nvs_handle_t nvs_handle IDF_DEPRECATED("Replace with nvs_handle_t");
|
|||||||
#define NVS_KEY_NAME_MAX_SIZE 16 /*!< Maximum length of NVS key name (including null terminator) */
|
#define NVS_KEY_NAME_MAX_SIZE 16 /*!< Maximum length of NVS key name (including null terminator) */
|
||||||
#define NVS_NS_NAME_MAX_SIZE NVS_KEY_NAME_MAX_SIZE /*!< Maximum length of NVS namespace name (including null terminator) */
|
#define NVS_NS_NAME_MAX_SIZE NVS_KEY_NAME_MAX_SIZE /*!< Maximum length of NVS namespace name (including null terminator) */
|
||||||
|
|
||||||
|
#define NVS_GUARD_SYSVIEW_MACRO_EXPANSION_PUSH() \
|
||||||
|
_Pragma("push_macro(\"U8\")") \
|
||||||
|
_Pragma("push_macro(\"I8\")") \
|
||||||
|
_Pragma("push_macro(\"U16\")") \
|
||||||
|
_Pragma("push_macro(\"I16\")") \
|
||||||
|
_Pragma("push_macro(\"U32\")") \
|
||||||
|
_Pragma("push_macro(\"I32\")") \
|
||||||
|
_Pragma("push_macro(\"U64\")") \
|
||||||
|
_Pragma("push_macro(\"I64\")")
|
||||||
|
|
||||||
|
#define NVS_GUARD_SYSVIEW_MACRO_EXPANSION_POP() \
|
||||||
|
_Pragma("pop_macro(\"U8\")") \
|
||||||
|
_Pragma("pop_macro(\"I8\")") \
|
||||||
|
_Pragma("pop_macro(\"U16\")") \
|
||||||
|
_Pragma("pop_macro(\"I16\")") \
|
||||||
|
_Pragma("pop_macro(\"U32\")") \
|
||||||
|
_Pragma("pop_macro(\"I32\")") \
|
||||||
|
_Pragma("pop_macro(\"U64\")") \
|
||||||
|
_Pragma("pop_macro(\"I64\")")
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Mode of opening the non-volatile storage
|
* @brief Mode of opening the non-volatile storage
|
||||||
*/
|
*/
|
||||||
|
@ -9,6 +9,18 @@
|
|||||||
|
|
||||||
namespace nvs {
|
namespace nvs {
|
||||||
|
|
||||||
|
#if defined(SEGGER_H) && defined(GLOBAL_H)
|
||||||
|
NVS_GUARD_SYSVIEW_MACRO_EXPANSION_PUSH();
|
||||||
|
#undef U8
|
||||||
|
#undef I8
|
||||||
|
#undef U16
|
||||||
|
#undef I16
|
||||||
|
#undef U32
|
||||||
|
#undef I32
|
||||||
|
#undef U64
|
||||||
|
#undef I64
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The possible blob types. This is a helper definition for template functions.
|
* The possible blob types. This is a helper definition for template functions.
|
||||||
*/
|
*/
|
||||||
@ -28,6 +40,9 @@ enum class ItemType : uint8_t {
|
|||||||
ANY = NVS_TYPE_ANY
|
ANY = NVS_TYPE_ANY
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if defined(SEGGER_H) && defined(GLOBAL_H)
|
||||||
|
NVS_GUARD_SYSVIEW_MACRO_EXPANSION_POP();
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief A handle allowing nvs-entry related operations on the NVS.
|
* @brief A handle allowing nvs-entry related operations on the NVS.
|
||||||
|
@ -23,6 +23,18 @@
|
|||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
#define TAG "nvs_storage"
|
#define TAG "nvs_storage"
|
||||||
|
|
||||||
|
#if defined(SEGGER_H) && defined(GLOBAL_H)
|
||||||
|
NVS_GUARD_SYSVIEW_MACRO_EXPANSION_PUSH();
|
||||||
|
#undef U8
|
||||||
|
#undef I8
|
||||||
|
#undef U16
|
||||||
|
#undef I16
|
||||||
|
#undef U32
|
||||||
|
#undef I32
|
||||||
|
#undef U64
|
||||||
|
#undef I64
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace nvs
|
namespace nvs
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -983,3 +995,7 @@ bool Storage::nextEntry(nvs_opaque_iterator_t* it)
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(SEGGER_H) && defined(GLOBAL_H)
|
||||||
|
NVS_GUARD_SYSVIEW_MACRO_EXPANSION_POP();
|
||||||
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user