Skip to content

Commit 21ebaa2

Browse files
committed
compiler: add HAVE_EXPRESSION_STATEMENT macro for gcc
this will open fast version of div_const which defined in: include/nuttx/lib/math32.h when meet 64/32 when use gcc compiling Signed-off-by: ligd <[email protected]>
1 parent 3c4053a commit 21ebaa2

File tree

5 files changed

+18
-12
lines changed

5 files changed

+18
-12
lines changed

arch/risc-v/src/esp32c3-legacy/esp32c3_ble_adapter.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
913913
{
914914
int ret;
915915
struct bt_sem_s *bt_sem = (struct bt_sem_s *)semphr;
916+
uint32_t tick = MSEC2TICK(block_time_ms);
916917

917918
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING)
918919
{
@@ -922,7 +923,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
922923
{
923924
if (block_time_ms > 0)
924925
{
925-
ret = nxsem_tickwait(&bt_sem->sem, MSEC2TICK(block_time_ms));
926+
ret = nxsem_tickwait(&bt_sem->sem, tick);
926927
}
927928
else
928929
{
@@ -932,8 +933,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
932933

933934
if (ret)
934935
{
935-
wlerr("ERROR: Failed to wait sem in %lu ticks. Error=%d\n",
936-
MSEC2TICK(block_time_ms), ret);
936+
wlerr("ERROR: Failed to wait sem in %lu ticks. Error=%d\n", tick, ret);
937937
}
938938

939939
return esp_errno_trans(ret);

arch/risc-v/src/esp32c3/esp_ble_adapter.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,6 +1052,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
10521052
{
10531053
int ret;
10541054
struct bt_sem_s *bt_sem = (struct bt_sem_s *)semphr;
1055+
uint32_t tick = MSEC2TICK(block_time_ms);
10551056

10561057
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING)
10571058
{
@@ -1061,7 +1062,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
10611062
{
10621063
if (block_time_ms > 0)
10631064
{
1064-
ret = nxsem_tickwait(&bt_sem->sem, MSEC2TICK(block_time_ms));
1065+
ret = nxsem_tickwait(&bt_sem->sem, tick);
10651066
}
10661067
else
10671068
{
@@ -1071,8 +1072,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
10711072

10721073
if (ret)
10731074
{
1074-
wlerr("ERROR: Failed to wait sem in %lu ticks. Error=%d\n",
1075-
MSEC2TICK(block_time_ms), ret);
1075+
wlerr("ERROR: Failed to wait sem in %lu ticks. Error=%d\n", tick, ret);
10761076
}
10771077

10781078
return esp_errno_trans(ret);

arch/xtensa/src/esp32/esp32_ble_adapter.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,6 +1115,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
11151115
{
11161116
int ret;
11171117
struct bt_sem_s *bt_sem = (struct bt_sem_s *)semphr;
1118+
uint32_t tick = MSEC2TICK(block_time_ms);
11181119

11191120
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING)
11201121
{
@@ -1124,7 +1125,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
11241125
{
11251126
if (block_time_ms > 0)
11261127
{
1127-
ret = nxsem_tickwait(&bt_sem->sem, MSEC2TICK(block_time_ms));
1128+
ret = nxsem_tickwait(&bt_sem->sem, tick);
11281129
}
11291130
else
11301131
{
@@ -1134,8 +1135,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
11341135

11351136
if (ret)
11361137
{
1137-
wlerr("ERROR: Failed to wait sem in %u ticks. Error=%d\n",
1138-
MSEC2TICK(block_time_ms), ret);
1138+
wlerr("ERROR: Failed to wait sem in %lu ticks. Error=%d\n", tick, ret);
11391139
}
11401140

11411141
return esp_errno_trans(ret);

arch/xtensa/src/esp32s3/esp32s3_ble_adapter.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,6 +1043,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
10431043
{
10441044
int ret;
10451045
struct bt_sem_s *bt_sem = (struct bt_sem_s *)semphr;
1046+
uint32_t tick = MSEC2TICK(block_time_ms);
10461047

10471048
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING)
10481049
{
@@ -1052,7 +1053,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
10521053
{
10531054
if (block_time_ms > 0)
10541055
{
1055-
ret = nxsem_tickwait(&bt_sem->sem, MSEC2TICK(block_time_ms));
1056+
ret = nxsem_tickwait(&bt_sem->sem, tick);
10561057
}
10571058
else
10581059
{
@@ -1062,8 +1063,7 @@ static int semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
10621063

10631064
if (ret)
10641065
{
1065-
wlerr("ERROR: Failed to wait sem in %u ticks. Error=%d\n",
1066-
MSEC2TICK(block_time_ms), ret);
1066+
wlerr("ERROR: Failed to wait sem in %lu ticks. Error=%d\n", tick, ret);
10671067
}
10681068

10691069
return esp_errno_trans(ret);

include/nuttx/compiler.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,12 @@
559559
# define tz_nonsecure_call __attribute__((cmse_nonsecure_call))
560560
# endif
561561

562+
/* GCC support expression statement, a compound statement enclosed in
563+
* parentheses may appear as an expression in GNU C.
564+
*/
565+
566+
# define CONFIG_HAVE_EXPRESSION_STATEMENT 1
567+
562568
/* SDCC-specific definitions ************************************************/
563569

564570
#elif defined(SDCC) || defined(__SDCC)

0 commit comments

Comments
 (0)