Sat Oct 15 08:28:21 2011 UTC ()
Pullup ticket #3556 - requested by dholland
devel/cxref: build fix
Revisions pulled up:
- devel/cxref/Makefile 1.14
- devel/cxref/distinfo 1.8-1.9
- devel/cxref/patches/patch-src_parse_l 1.1
---
Module Name: pkgsrc
Committed By: dholland
Date: Thu Oct 13 21:30:00 UTC 2011
Modified Files:
pkgsrc/devel/cxref: Makefile distinfo
Log Message:
Update to 1.6d.
Version 1.6d of cxref released : Mon Oct 3 14:00:00 2011
--------------------------------------------------------
Bug fixes
Updated for latest version of autoconf.
Allow structure initialisers to have multiple components (e.g. a.b=1).
Remove gcc warning messages.
Change Makefile for better comptibility with FreeBSD.
Version 1.6c of cxref released : Mon May 31 10:00:00 2010
---------------------------------------------------------
Bug fixes
Handle the gcc __builtin_offsetof() and offsetof() functions.
Check that the lex/yacc programs actually exist at configure time.
Handle ASM statements with named identifiers in them.
Parsing changes
Removed the char_varying type.
Document changes
Update web page links
---
Module Name: pkgsrc
Committed By: dholland
Date: Thu Oct 13 22:11:26 UTC 2011
Modified Files:
pkgsrc/devel/cxref: distinfo
Added Files:
pkgsrc/devel/cxref/patches: patch-src_parse_l
Log Message:
Patch the lexer to ignore _Pragma().
(tron)
diff -r1.13 -r1.13.24.1 pkgsrc/devel/cxref/Makefile
diff -r1.7 -r1.7.24.1 pkgsrc/devel/cxref/distinfo
diff -r0 -r1.1.2.2 pkgsrc/devel/cxref/patches/patch-src_parse_l
--- pkgsrc/devel/cxref/Makefile 2008/11/06 17:45:46 1.13
+++ pkgsrc/devel/cxref/Makefile 2011/10/15 08:28:21 1.13.24.1
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.13 2008/11/06 17:45:46 snj Exp $
+# $NetBSD: Makefile,v 1.13.24.1 2011/10/15 08:28:21 tron Exp $
-DISTNAME= cxref-1.6b
+DISTNAME= cxref-1.6d
CATEGORIES= devel lang
MASTER_SITES= http://www.gedanken.demon.co.uk/download-cxref/
EXTRACT_SUFX= .tgz
--- pkgsrc/devel/cxref/distinfo 2008/11/06 17:45:46 1.7
+++ pkgsrc/devel/cxref/distinfo 2011/10/15 08:28:21 1.7.24.1
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.7 2008/11/06 17:45:46 snj Exp $
+$NetBSD: distinfo,v 1.7.24.1 2011/10/15 08:28:21 tron Exp $
-SHA1 (cxref-1.6b.tgz) = b036b4f744dafca3091eee51c20c71ac57017c51
-RMD160 (cxref-1.6b.tgz) = 8cb5d13b58749714b14bd57dc8085c841d7f8772
-Size (cxref-1.6b.tgz) = 393302 bytes
+SHA1 (cxref-1.6d.tgz) = b984d85da7b7fa39794932e6fe85a0657f6240bb
+RMD160 (cxref-1.6d.tgz) = 3760f2f074ec26b6702efbd38f24f0bb231488e0
+Size (cxref-1.6d.tgz) = 415744 bytes
SHA1 (patch-aa) = 0696dc7e2c027ebbbfb6747ff36ec9f9a36b7a88
+SHA1 (patch-src_parse_l) = 38638d7ac187ddebec2fb446f38adaace3ef3712
$NetBSD: patch-src_parse_l,v 1.1.2.2 2011/10/15 08:28:21 tron Exp $
Recognize and ignore _Pragma(), needed for -current's headers.
--- src/parse.l~ 2011-06-18 09:45:04.000000000 +0000
+++ src/parse.l
@@ -14,6 +14,7 @@ IS ((u|U|l|L)+|([iI
%x CPP_INCLUDE CPP_INC_FILE CPP_INC_FLAGS
%x CPP_DEFINE CPP_DEFINE_ARGP CPP_DEFINE_BODY CPP_DEFINE_ARGS
%x GNU_LABEL GNU_VA_ARG GNU_ATTRIBUTE GNU_TYPEOF GNU_OFFSETOF
+%x C99_PRAGMA
%{
/***************************************
@@ -83,6 +84,9 @@ static int gnu_typ_depth=0;
/*+ To get around the GCC __offsetof keyword, skip over matched () counted by this. +*/
static int gnu_offset_depth=0;
+/*+ To get around the C99 _Pragma keyword, skip over matched () counted by this. +*/
+static int c99_prag_depth=0;
+
/*+ If we see a comment immediately after a ',', ';', '};', '},' or ')' then push it before. +*/
static int push_past=0;
@@ -311,6 +315,11 @@ static int push_past=0;
"_Complex" { }
"_Bool" { yylval="_Bool"; return(BOOL); }
+("_Pragma") { c99_prag_depth=0; BEGIN(C99_PRAGMA); }
+<C99_PRAGMA>"(" { c99_prag_depth++; }
+<C99_PRAGMA>[^()]+ { }
+<C99_PRAGMA>")" { if(--c99_prag_depth==0) { BEGIN(INITIAL); } }
+
/* C language keywords. */
"auto" { yylval="auto" ; return(AUTO); }