[MacPorts] #43353: clang-3.4: error: 'assertion_failed__839' declared as an array with a negative size
MacPorts
noreply at macports.org
Thu Apr 17 21:54:15 PDT 2014
#43353: clang-3.4: error: 'assertion_failed__839' declared as an array with a
negative size
---------------------------+------------------------
Reporter: ryandesign@… | Owner: jeremyhu@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.2.1
Resolution: | Keywords: leopard
Port: clang-3.4 |
---------------------------+------------------------
Comment (by jeremyhu@…):
So I ran the exact same thing on my system and compared the preprocessed
results. Modulo the working dir, this is the full set of changes:
{{{
--- Desktop/mine 2014-04-17 21:49:44.000000000 -0700
+++ Downloads/thing_to_attach 2014-04-17 21:50:54.000000000 -0700
@@ -468,9 +468,9 @@ typedef __uint32_t __darwin_gid_t;
typedef __uint32_t __darwin_id_t;
typedef __uint64_t __darwin_ino64_t;
-typedef __darwin_ino64_t __darwin_ino_t;
+typedef __uint32_t __darwin_ino_t;
typedef __darwin_natural_t __darwin_mach_port_name_t;
typedef __darwin_mach_port_name_t __darwin_mach_port_t;
@@ -947,10 +947,18 @@ typedef __darwin_ino_t ino_t;
#pragma pack(4)
-# 101 "/usr/include/sys/dirent.h" 3 4
+
+
+struct dirent {
+ ino_t d_ino;
+ __uint16_t d_reclen;
+ __uint8_t d_type;
+ __uint8_t d_namlen;
+ char d_name[255 + 1];
+};
+
+
#pragma pack()
-# 115 "/usr/include/sys/dirent.h" 3 4
-struct dirent { __uint64_t d_ino; __uint64_t d_seekoff; __uint16_t
d_reclen; __uint16_t d_namlen; __uint8_t d_type; char d_name[1024]; };
# 67 "/usr/include/dirent.h" 2 3 4
struct _telldir;
@@ -971,25 +979,25 @@ typedef struct {
# 102 "/usr/include/dirent.h" 3 4
extern "C" {
-int alphasort(const void *, const void *) __asm("_" "alphasort"
"$INODE64");
+int alphasort(const void *, const void *) __asm("_" "alphasort") ;
int closedir(DIR *) __asm("_" "closedir" "$UNIX2003");
int getdirentries(int, char *, int, long *);
-DIR *opendir(const char *) __asm("_" "opendir" "$INODE64" "$UNIX2003");
+DIR *opendir(const char *) __asm("_" "opendir" "$UNIX2003") ;
-DIR *__opendir2(const char *, int) __asm("_" "__opendir2" "$INODE64"
"$UNIX2003");
+DIR *__opendir2(const char *, int) __asm("_" "__opendir2" "$UNIX2003") ;
-struct dirent *readdir(DIR *) __asm("_" "readdir" "$INODE64");
-int readdir_r(DIR *, struct dirent *, struct dirent **) __asm("_"
"readdir_r" "$INODE64");
-void rewinddir(DIR *) __asm("_" "rewinddir" "$INODE64" "$UNIX2003");
+struct dirent *readdir(DIR *) __asm("_" "readdir") ;
+int readdir_r(DIR *, struct dirent *, struct dirent **) __asm("_"
"readdir_r") ;
+void rewinddir(DIR *) __asm("_" "rewinddir" "$UNIX2003") ;
int scandir(const char *, struct dirent ***,
- int (*)(struct dirent *), int (*)(const void *, const void *))
__asm("_" "scandir" "$INODE64");
+ int (*)(struct dirent *), int (*)(const void *, const void *))
__asm("_" "scandir") ;
-void seekdir(DIR *, long) __asm("_" "seekdir" "$INODE64" "$UNIX2003");
-long telldir(DIR *) __asm("_" "telldir" "$INODE64" "$UNIX2003");
+void seekdir(DIR *, long) __asm("_" "seekdir" "$UNIX2003") ;
+long telldir(DIR *) __asm("_" "telldir" "$UNIX2003") ;
}
# 24
"/opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_lang_llvm-3.4/clang-3.4/work/llvm-3.4/projects
/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc" 2
# 1 "/usr/include/errno.h" 1 3 4
@@ -2691,20 +2699,44 @@ struct ostat {
__uint32_t st_flags;
__uint32_t st_gen;
};
-# 224 "/usr/include/sys/stat.h" 3 4
-struct stat { dev_t st_dev; mode_t st_mode; nlink_t st_nlink;
__darwin_ino64_t st_ino; uid_t st_uid; gid_t st_gid; dev_t st_rdev; struct
timespec st_atimespec; struct timespec st_mtimespec; struct timespec
st_ctimespec; struct timespec st_birthtimespec; off_t st_size; blkcnt_t
st_blocks; blksize_t st_blksize; __uint32_t st_flags; __uint32_t st_gen;
__int32_t st_lspare; __int64_t st_qspare[2]; };
-# 261 "/usr/include/sys/stat.h" 3 4
+# 228 "/usr/include/sys/stat.h" 3 4
+struct stat {
+ dev_t st_dev;
+ ino_t st_ino;
+ mode_t st_mode;
+ nlink_t st_nlink;
+ uid_t st_uid;
+ gid_t st_gid;
+ dev_t st_rdev;
+
+ struct timespec st_atimespec;
+ struct timespec st_mtimespec;
+ struct timespec st_ctimespec;
+# 248 "/usr/include/sys/stat.h" 3 4
+ off_t st_size;
+ blkcnt_t st_blocks;
+ blksize_t st_blksize;
+ __uint32_t st_flags;
+ __uint32_t st_gen;
+ __int32_t st_lspare;
+ __int64_t st_qspare[2];
+};
+
+
+
+
+
struct stat64 { dev_t st_dev; mode_t st_mode; nlink_t st_nlink;
__darwin_ino64_t st_ino; uid_t st_uid; gid_t st_gid; dev_t st_rdev; struct
timespec st_atimespec; struct timespec st_mtimespec; struct timespec
st_ctimespec; struct timespec st_birthtimespec; off_t st_size; blkcnt_t
st_blocks; blksize_t st_blksize; __uint32_t st_flags; __uint32_t st_gen;
__int32_t st_lspare; __int64_t st_qspare[2]; };
# 422 "/usr/include/sys/stat.h" 3 4
extern "C" {
int chmod(const char *, mode_t) __asm("_" "chmod" "$UNIX2003");
int fchmod(int, mode_t) __asm("_" "fchmod" "$UNIX2003");
-int fstat(int, struct stat *) __asm("_" "fstat" "$INODE64");
-int lstat(const char *, struct stat *) __asm("_" "lstat" "$INODE64");
+int fstat(int, struct stat *) __asm("_" "fstat") ;
+int lstat(const char *, struct stat *) __asm("_" "lstat") ;
int mkdir(const char *, mode_t);
int mkfifo(const char *, mode_t);
-int stat(const char *, struct stat *) __asm("_" "stat" "$INODE64");
+int stat(const char *, struct stat *) __asm("_" "stat") ;
int mknod(const char *, mode_t, dev_t);
mode_t umask(mode_t);
@@ -2718,13 +2750,13 @@ int chflags(const char *, __uint32_t);
int chmodx_np(const char *, filesec_t);
int fchflags(int, __uint32_t);
int fchmodx_np(int, filesec_t);
-int fstatx_np(int, struct stat *, filesec_t) __asm("_" "fstatx_np"
"$INODE64");
+int fstatx_np(int, struct stat *, filesec_t) __asm("_" "fstatx_np") ;
int lchflags(const char *, __uint32_t);
int lchmod(const char *, mode_t);
-int lstatx_np(const char *, struct stat *, filesec_t) __asm("_"
"lstatx_np" "$INODE64");
+int lstatx_np(const char *, struct stat *, filesec_t) __asm("_"
"lstatx_np") ;
int mkdirx_np(const char *, filesec_t);
int mkfifox_np(const char *, filesec_t);
-int statx_np(const char *, struct stat *, filesec_t) __asm("_" "statx_np"
"$INODE64");
+int statx_np(const char *, struct stat *, filesec_t) __asm("_"
"statx_np") ;
int umaskx_np(filesec_t);
int fstatx64_np(int, struct stat64 *, filesec_t);
@@ -3856,11 +3888,37 @@ struct searchstate {
typedef struct fsid { int32_t val[2]; } fsid_t;
# 111 "/usr/include/sys/mount.h" 3 4
struct statfs64 { uint32_t f_bsize; int32_t f_iosize; uint64_t f_blocks;
uint64_t f_bfree; uint64_t f_bavail; uint64_t f_files; uint64_t f_ffree;
fsid_t f_fsid; uid_t f_owner; uint32_t f_type; uint32_t f_flags; uint32_t
f_fssubtype; char f_fstypename[16]; char f_mntonname[1024]; char
f_mntfromname[1024]; uint32_t f_reserved[8]; };
+# 122 "/usr/include/sys/mount.h" 3 4
+struct statfs {
+ short f_otype;
+ short f_oflags;
+ long f_bsize;
+ long f_iosize;
+ long f_blocks;
+ long f_bfree;
+ long f_bavail;
+ long f_files;
+ long f_ffree;
+ fsid_t f_fsid;
+ uid_t f_owner;
+ short f_reserved1;
+ short f_type;
+ long f_flags;
+ long f_reserved2[2];
+ char f_fstypename[15];
+ char f_mntonname[90];
+ char f_mntfromname[90];
+
+
+
+
+ char f_reserved3;
+ long f_reserved4[4];
+
+};
-struct statfs { uint32_t f_bsize; int32_t f_iosize; uint64_t f_blocks;
uint64_t f_bfree; uint64_t f_bavail; uint64_t f_files; uint64_t f_ffree;
fsid_t f_fsid; uid_t f_owner; uint32_t f_type; uint32_t f_flags; uint32_t
f_fssubtype; char f_fstypename[16]; char f_mntonname[1024]; char
f_mntfromname[1024]; uint32_t f_reserved[8]; };
-# 152 "/usr/include/sys/mount.h" 3 4
#pragma pack(4)
struct vfsstatfs {
@@ -3921,15 +3979,15 @@ typedef struct fhandle fhandle_t;
extern "C" {
int fhopen(const struct fhandle *, int);
-int fstatfs(int, struct statfs *) __asm("_" "fstatfs" "$INODE64");
+int fstatfs(int, struct statfs *) __asm("_" "fstatfs") ;
int fstatfs64(int, struct statfs64 *);
int getfh(const char *, fhandle_t *);
-int getfsstat(struct statfs *, int, int) __asm("_" "getfsstat"
"$INODE64");
+int getfsstat(struct statfs *, int, int) __asm("_" "getfsstat") ;
int getfsstat64(struct statfs64 *, int, int);
-int getmntinfo(struct statfs **, int) __asm("_" "getmntinfo" "$INODE64");
+int getmntinfo(struct statfs **, int) __asm("_" "getmntinfo") ;
int getmntinfo64(struct statfs64 **, int);
int mount(const char *, const char *, int, void *);
-int statfs(const char *, struct statfs *) __asm("_" "statfs" "$INODE64");
+int statfs(const char *, struct statfs *) __asm("_" "statfs") ;
int statfs64(const char *, struct statfs64 *);
int unmount(const char *, int);
int getvfsbyname(const char *, struct vfsconf *);
}}}
Can you figure out why/where `__DARWIN_64_BIT_INO_T` or
`_DARWIN_NO_64_BIT_INODE` are being defined for you? They're not on the
command line.
--
Ticket URL: <https://trac.macports.org/ticket/43353#comment:10>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list