1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 00:34:17 -07:00

Catch-up merge from master sources to branch/2014-03-30/addrset.

Copied from Perforce
 Change: 185139
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2014-04-01 22:09:50 +01:00
commit c192ed0645
8 changed files with 30 additions and 12 deletions

View file

@ -16,3 +16,5 @@ TAGS
*.dSYM
code/*/*/*.d
*.pyc
test/test/log
test/test/obj

View file

@ -9,6 +9,7 @@ lii6ll
w3i3mv
w3i6mv
xci3gc
xci6ll
# Visual Studio junk
Debug
Release

View file

@ -203,19 +203,32 @@
/* Function attributes */
/* These are also defined in testlib.h */
/* Some of these are also defined in testlib.h */
#if defined(MPS_BUILD_GC) || defined(MPS_BUILD_LL)
/* GCC: <http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html#index-Wformat-2850>
/* Attribute for functions that take a printf-like format argument, so
* that the compiler can check the format specifiers against the types
* of the arguments.
* GCC: <http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html#index-Wformat-2850>
* Clang: <http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format>
*/
#if defined(MPS_BUILD_GC) || defined(MPS_BUILD_LL)
#define ATTRIBUTE_FORMAT(ARGLIST) __attribute__((__format__ ARGLIST))
#else
#define ATTRIBUTE_FORMAT(ARGLIST)
#endif
/* Attribute for functions that should not be instrumented by Clang's
* address sanitizer.
* <http://clang.llvm.org/docs/AddressSanitizer.html#attribute-no-sanitize-address>
*/
#if defined(MPS_BUILD_LL)
#if __has_feature(address_sanitizer)
#define ATTRIBUTE_NO_SANITIZE_ADDRESS __attribute__((__no_sanitize_address__))
#else
#define ATTRIBUTE_NO_SANITIZE_ADDRESS
#endif
#else
#define ATTRIBUTE_NO_SANITIZE_ADDRESS
#endif

View file

@ -86,7 +86,8 @@ static void register_numbered_tree(mps_word_t tree, mps_arena_t arena)
{
/* don't finalize ints */
if ((tree & 1) == 0) {
die(mps_finalize(arena, (mps_addr_t *)&tree), "mps_finalize");
mps_addr_t addr = (void *)tree;
die(mps_finalize(arena, &addr), "mps_finalize");
register_numbered_tree(DYLAN_VECTOR_SLOT(tree, 0), arena);
register_numbered_tree(DYLAN_VECTOR_SLOT(tree, 1), arena);
}
@ -124,8 +125,8 @@ static void register_indirect_tree(mps_word_t tree, mps_arena_t arena)
{
/* don't finalize ints */
if ((tree & 1) == 0) {
mps_word_t indirect = DYLAN_VECTOR_SLOT(tree,2);
die(mps_finalize(arena, (mps_addr_t *)&indirect), "mps_finalize");
mps_addr_t indirect = (void *)DYLAN_VECTOR_SLOT(tree,2);
die(mps_finalize(arena, &indirect), "mps_finalize");
register_indirect_tree(DYLAN_VECTOR_SLOT(tree, 0), arena);
register_indirect_tree(DYLAN_VECTOR_SLOT(tree, 1), arena);
}

View file

@ -13,7 +13,6 @@ CC = gcc
CFLAGSDEBUG = -O -g3
CFLAGSOPT = -O2 -g3
CFLAGSCOMPILER := \
-pedantic \
-Waggregate-return \
-Wall \
-Wcast-qual \
@ -27,7 +26,7 @@ CFLAGSCOMPILER := \
-Wstrict-aliasing=2 \
-Wstrict-prototypes \
-Wwrite-strings
CFLAGSCOMPILERSTRICT := -ansi
CFLAGSCOMPILERSTRICT := -ansi -pedantic
# A different set of compiler flags for less strict compilation, for
# instance when we need to #include a third-party header file that

View file

@ -1462,6 +1462,7 @@ Res TraceScanAreaTagged(ScanState ss, Addr *base, Addr *limit)
* This is as TraceScanArea except words are only fixed if they are zero
* when masked with a mask. */
ATTRIBUTE_NO_SANITIZE_ADDRESS
Res TraceScanAreaMasked(ScanState ss, Addr *base, Addr *limit, Word mask)
{
Res res;

View file

@ -1,2 +1,3 @@
doctrees
converted
html

View file

@ -61,7 +61,7 @@ set FAIL_COUNT=0
set SEPARATOR=----------------------------------------
set LOGDIR=%TMP%\mps-%PFM%-%VARIETY%-log
echo Logging test output to %LOGDIR%
if exists %LOGDIR% rmdir /q /s %LOGDIR%
if exist %LOGDIR% rmdir /q /s %LOGDIR%
mkdir %LOGDIR%
if "%1"=="" call :run_tests %ALL_TEST_CASES%