diff options
author | ru <ru@FreeBSD.org> | 2005-12-04 09:57:09 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2005-12-04 09:57:09 +0000 |
commit | 8da610ce473dacf93c5b6212e94c89a4e447c5e5 (patch) | |
tree | d5ac5b0359101e0300dd8e76572b08f22f1fb9ea /sys/gnu/fs/reiserfs/reiserfs_fs.h | |
parent | d7f72714df95f7b7a9e4e35639d450dc9c65650f (diff) | |
download | FreeBSD-src-8da610ce473dacf93c5b6212e94c89a4e447c5e5.zip FreeBSD-src-8da610ce473dacf93c5b6212e94c89a4e447c5e5.tar.gz |
Oops, the bug is still here, but reimplement the cpp(1) conditional properly.
Diffstat (limited to 'sys/gnu/fs/reiserfs/reiserfs_fs.h')
-rw-r--r-- | sys/gnu/fs/reiserfs/reiserfs_fs.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/gnu/fs/reiserfs/reiserfs_fs.h b/sys/gnu/fs/reiserfs/reiserfs_fs.h index 1046f29..691f612 100644 --- a/sys/gnu/fs/reiserfs/reiserfs_fs.h +++ b/sys/gnu/fs/reiserfs/reiserfs_fs.h @@ -1015,8 +1015,17 @@ struct path { #define pos_in_item(path) ((path)->pos_in_item) +#ifdef __amd64__ +/* To workaround a bug in gcc. He generates a call to memset() which + * is a inline function; this causes a compile time error. */ +#define INITIALIZE_PATH(var) \ + struct path var; \ + bzero(&var, sizeof(var)); \ + var.path_length = ILLEGAL_PATH_ELEMENT_OFFSET; +#else #define INITIALIZE_PATH(var) \ struct path var = { ILLEGAL_PATH_ELEMENT_OFFSET, } +#endif /* Get path element by path and path position. */ #define PATH_OFFSET_PELEMENT(p_s_path, n_offset) \ |