aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libtcc.c3
-rw-r--r--tests/tcctest.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/libtcc.c b/libtcc.c
index 1346fa6..76ee11c 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -904,6 +904,9 @@ LIBTCCAPI TCCState *tcc_new(void)
# endif
#endif /* ndef TCC_TARGET_PE */
+ /* Some GCC builtins that are simple to express as macros. */
+ tcc_define_symbol(s, "__builtin_extract_return_addr(x)", "x");
+
return s;
}
diff --git a/tests/tcctest.c b/tests/tcctest.c
index ff88688..0485a74 100644
--- a/tests/tcctest.c
+++ b/tests/tcctest.c
@@ -3027,6 +3027,8 @@ void builtin_test(void)
printf("bce: %d\n", i);
i = sizeof (__builtin_choose_expr (0, ll, s));
printf("bce: %d\n", i);
+
+ printf("bera: %p\n", __builtin_extract_return_addr((void*)43));
}
#ifndef _WIN32