Terminology change: previously in Memcheck we had the four states:

noaccess, writable, readable, other

Now they are:

   noaccess, undefined, defined, partdefined

As a result, the following names:

   make_writable, make_readable,
   check_writable, check_readable, check_defined

have become:

   make_mem_undefined, make_mem_defined,
   check_mem_is_addressable, check_mem_is_defined, check_value_is_defined

(and likewise for the upper-case versions for client request macros).
The old MAKE_* and CHECK_* macros still work for backwards compatibility.

This is much better, because the old names were subtly misleading.  For
example:

  - "readable" really meant "readable and writable".
  - "writable" really meant "writable and maybe readable, depending on how
    the read value is used".
  - "check_writable" really meant "check writable or readable"

The new names avoid these problems.

The recently-added macro which was called MAKE_DEFINED is now
MAKE_MEM_DEFINED_IF_ADDRESSABLE.

I also corrected the spelling of "addressable" in numerous places in
memcheck.h.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5802
This commit is contained in:
Nicholas Nethercote
2006-03-31 11:57:59 +00:00
parent c4cde48b67
commit 3d12e0e9db
17 changed files with 730 additions and 682 deletions

View File

@@ -67,7 +67,7 @@ int main()
perror("trap 4 failed");
else {
munmap(map, 256*1024);
VALGRIND_MAKE_READABLE(map, 256*1024); /* great big fat lie */
VALGRIND_MAKE_MEM_DEFINED(map, 256*1024); /* great big fat lie */
}
VALGRIND_DO_LEAK_CHECK;