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:
Jakob Hasse
2023-04-26 19:06:39 +08:00
parent 14724d1cb9
commit ca44fc3847
4 changed files with 47 additions and 3 deletions
@@ -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,41 @@
/*
* 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_etm.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 "esp_wake_stub.h"
#include "intr_types.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_err.h"
#include "esp_ds.h"
#endif
extern "C" void app_main() { }