mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
cxx/esp_hw_support: added build test, changed parameter types
Changed rv_utils_intr_edge_ack and esp_cpu_intr_edge_ack to take uint32_t instead of int to avoid build errors. The test is to test in particular that __builtin_ffsll, used in xt_utils.h, which is included via esp_cpu.h, compiles fine in C++20 with -Wsign-conversion enabled. Closes https://github.com/espressif/esp-idf/pull/10895
This commit is contained in:
parent
e670b60126
commit
5946c6ad16
@ -413,9 +413,9 @@ FORCE_INLINE_ATTR void esp_cpu_intr_edge_ack(int intr_num)
|
||||
{
|
||||
assert(intr_num >= 0 && intr_num < SOC_CPU_INTR_NUM);
|
||||
#ifdef __XTENSA__
|
||||
xthal_set_intclear(1 << intr_num);
|
||||
xthal_set_intclear((unsigned) (1 << intr_num));
|
||||
#else
|
||||
rv_utils_intr_edge_ack(intr_num);
|
||||
rv_utils_intr_edge_ack((unsigned) intr_num);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@ FORCE_INLINE_ATTR uint32_t rv_utils_intr_get_enabled_mask(void)
|
||||
return REG_READ(INTERRUPT_CORE0_CPU_INT_ENABLE_REG);
|
||||
}
|
||||
|
||||
FORCE_INLINE_ATTR void rv_utils_intr_edge_ack(int intr_num)
|
||||
FORCE_INLINE_ATTR void rv_utils_intr_edge_ack(unsigned int intr_num)
|
||||
{
|
||||
REG_SET_BIT(INTERRUPT_CORE0_CPU_INT_CLEAR_REG, intr_num);
|
||||
}
|
||||
|
@ -1,5 +1,8 @@
|
||||
idf_component_register(SRCS cxx_build_test_main.cpp
|
||||
test_soc_reg_macros.cpp
|
||||
test_esp_hw_support.cpp
|
||||
INCLUDE_DIRS "."
|
||||
PRIV_REQUIRES driver
|
||||
REQUIRES soc)
|
||||
|
||||
set_source_files_properties(test_esp_hw_support.cpp PROPERTIES COMPILE_FLAGS -Wsign-conversion)
|
||||
|
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||
*/
|
||||
|
||||
#include "esp_cpu.h"
|
||||
#include "clk_ctrl_os.h"
|
||||
//#include "clk_tree.h" TODO: outdated header name (IDF-7286)
|
||||
#include "dport_access.h"
|
||||
#include "esp_async_memcpy.h"
|
||||
#include "esp_chip_info.h"
|
||||
#include "esp_crc.h"
|
||||
#include "esp_fault.h"
|
||||
#include "esp_interface.h"
|
||||
#include "esp_intr_alloc.h"
|
||||
#include "esp_mac.h"
|
||||
#include "esp_memory_utils.h"
|
||||
#include "esp_memprot_err.h"
|
||||
#include "esp_memprot.h"
|
||||
#include "esp_memprot_types.h"
|
||||
#include "esp_random.h"
|
||||
#include "esp_sleep.h"
|
||||
#include "rtc_wdt.h"
|
||||
#include "spinlock.h"
|
||||
|
||||
#include "soc/soc_caps.h"
|
||||
|
||||
#if SOC_HMAC_SUPPORTED
|
||||
#include "esp_hmac.h"
|
||||
#endif
|
||||
|
||||
#if SOC_DIG_SIGN_SUPPORTED
|
||||
#include "esp_ds.h"
|
||||
#endif
|
||||
|
||||
extern "C" void app_main() { }
|
Loading…
Reference in New Issue
Block a user