summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authordholland <dholland>2013-03-31 00:04:49 +0000
committerdholland <dholland>2013-03-31 00:04:49 +0000
commit64c050ab87b8dc1236e41587e78f19b4cf57ed24 (patch)
tree015ba4185ea9c83846744b39cbb15a30bd3520cc /devel
parent605b5982fc7f7f6c8f4c6fe8c95c0bb5a35c4199 (diff)
downloadpkgsrc-64c050ab87b8dc1236e41587e78f19b4cf57ed24.tar.gz
Take a shot at fixing the clang build.
Diffstat (limited to 'devel')
-rw-r--r--devel/sparse/distinfo3
-rw-r--r--devel/sparse/patches/patch-dissect.h30
2 files changed, 32 insertions, 1 deletions
diff --git a/devel/sparse/distinfo b/devel/sparse/distinfo
index cc9bba1b690..0ba7781e7d2 100644
--- a/devel/sparse/distinfo
+++ b/devel/sparse/distinfo
@@ -1,8 +1,9 @@
-$NetBSD: distinfo,v 1.3 2013/02/21 18:12:26 dholland Exp $
+$NetBSD: distinfo,v 1.4 2013/03/31 00:04:49 dholland Exp $
SHA1 (sparse-0.3.tar.gz) = 1d868b29234176abd5f3f5463aad1f11d5268dc2
RMD160 (sparse-0.3.tar.gz) = 36bb7e5611f56c5b222f33a0853e8315af406704
Size (sparse-0.3.tar.gz) = 177462 bytes
SHA1 (patch-aa) = 234aa80cdd04835b9a8b2bfe4e41b0c7a1f07ff2
SHA1 (patch-ab) = 4240f8ff570592da6d838815edcb6a7976f23a07
+SHA1 (patch-dissect.h) = 850271dbec6758380134c3e36fb5a885cf69259e
SHA1 (patch-parse_h) = 8d13cdaa8a94e6db3b5cfa7db15344cbda14ee8e
diff --git a/devel/sparse/patches/patch-dissect.h b/devel/sparse/patches/patch-dissect.h
new file mode 100644
index 00000000000..b0b537b7ad5
--- /dev/null
+++ b/devel/sparse/patches/patch-dissect.h
@@ -0,0 +1,30 @@
+$NetBSD: patch-dissect.h,v 1.1 2013/03/31 00:04:50 dholland Exp $
+
+Replace questionable construction that clang objects to with a
+slightly less questionable version that is hopefully equivalent.
+
+--- dissect.h~ 2007-05-01 18:30:58.000000000 +0000
++++ dissect.h
+@@ -27,13 +27,16 @@ struct reporter
+ extern void dissect(struct symbol_list *, struct reporter *);
+
+ #define MK_IDENT(s) ({ \
+- static struct { \
++ static union { \
+ struct ident ident; \
+- char __[sizeof(s)]; \
+- } ident = {{ \
+- .len = sizeof(s)-1, \
+- .name = s, \
+- }}; \
++ struct { \
++ char id[sizeof(struct ident)]; \
++ char name[sizeof(s)]; \
++ } named; \
++ } ident = { \
++ .ident.len = sizeof(s)-1, \
++ .named.name = s, \
++ }; \
+ &ident.ident; \
+ })
+