Update cparser to version 0.9.14

cparser 0.9.14 (2012-11-21)
---------------------------

* Adapt to libfirm-1.21.0
* Improved error recovery
* Improved firm graph generation (faster/smaller graphs)
* Implement U,u and u8 strings
* Preliminary preprocessor (we still use system cpp by default, as some macro
  expansion corner cases are still buggy and prevent us from compiling glibc
  headers)
* More gcc extensions: binary constants, __leaf__ attribute

cparser 0.9.13 (2011-12-07)
---------------------------

* Adapt to libfirm-1.20.0
* Implement --help
* More work on preprocessor (still not finished though)
* Refactoring work so others can reuse input, optimization order logic
* Columns in source positions (but external preprocessor doesn't preserve all spaces)
* Improvements to gnu builtins/attributes
* Bugfixes (we did alot of csmith testing)

cparser 0.9.12 (2011-03-15)
---------------------------

* Adapt to libfirm-1.19.0
* Introduce -mtarget (and -mtriple for llvm compatibility) for conventient
  cross-compilation
* Fix big-endian struct layouting
* Bugfixes

cparser 0.9.11 (2009-05-16)
---------------------------

* add missing NEWS entries
* fix crash when known C library functions had the wrong number of arguments

cparser 0.9.10 (2009-04-15)
---------------------------

* bugfixes
* adapt to libfirm-1.18.0
This commit is contained in:
asau 2014-11-10 16:54:12 +00:00
parent 7f7cd7f97d
commit f2334a415c
5 changed files with 67 additions and 125 deletions

View file

@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.5 2012/10/02 20:11:37 asau Exp $ # $NetBSD: Makefile,v 1.6 2014/11/10 16:54:12 asau Exp $
# #
DISTNAME= cparser-0.9.9 DISTNAME= cparser-0.9.14
CATEGORIES= lang CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=cparser/} MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=cparser/}
EXTRACT_SUFX= .tar.bz2 EXTRACT_SUFX= .tar.bz2
@ -16,12 +16,9 @@ USE_LANGUAGES= c99
USE_LIBTOOL= yes USE_LIBTOOL= yes
USE_TOOLS+= gmake pkg-config USE_TOOLS+= gmake pkg-config
COPTS?= -O2
#DBG?= -g3 # XXX debugging option (install without strip)
MAKE_ENV+= LIBTOOL_CFLAGS=-prefer-pic MAKE_ENV+= LIBTOOL_CFLAGS=-prefer-pic
MAKE_ENV+= COPTS=${COPTS:Q} MAKE_ENV+= COPTS=${COPTS:Q}
MAKE_ENV+= builddir=build variant=optimize
BUILDLINK_TRANSFORM+= rm:-Werror BUILDLINK_TRANSFORM+= rm:-Werror

View file

@ -1,8 +1,8 @@
$NetBSD: distinfo,v 1.4 2014/06/29 04:53:26 dholland Exp $ $NetBSD: distinfo,v 1.5 2014/11/10 16:54:12 asau Exp $
SHA1 (cparser-0.9.9.tar.bz2) = a74c5a49f6ebdd32d695ef525006329dcd1c790c SHA1 (cparser-0.9.14.tar.bz2) = 29c05edc6bac6cbf463af00f68ea8057a246dd04
RMD160 (cparser-0.9.9.tar.bz2) = 68bb0eeb58cc50ccc6ad16bae21d935598a23eb0 RMD160 (cparser-0.9.14.tar.bz2) = 93b8ebd3c069dd7f9d9ed1af39b2f54a222099b8
Size (cparser-0.9.9.tar.bz2) = 202354 bytes Size (cparser-0.9.14.tar.bz2) = 193745 bytes
SHA1 (patch-aa) = a6651f8d339d2fda7ccf7a6fc205e21402789b06 SHA1 (patch-aa) = 0b2b34073c98acefa88e04f86cd6bb6e8c0ef10d
SHA1 (patch-ac) = 8565aae449d78bb8e2f1fbc7f265c462d4fc2138 SHA1 (patch-ac) = da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA1 (patch-driver_firm__cmdline.h) = e5f5632cb2b7b7a689488e40260a608d38af2cf1 SHA1 (patch-driver_firm__cmdline.h) = da39a3ee5e6b4b0d3255bfef95601890afd80709

View file

@ -1,110 +1,86 @@
$NetBSD: patch-aa,v 1.3 2009/08/18 19:01:26 hasso Exp $ $NetBSD: patch-aa,v 1.4 2014/11/10 16:54:12 asau Exp $
--- Makefile.orig 2009-05-15 15:14:07 +0300 --- Makefile.orig 2012-11-21 17:50:43.000000000 +0000
+++ Makefile 2009-08-08 15:00:51 +0300 +++ Makefile
@@ -8,18 +8,18 @@ BUILDDIR ?= build @@ -24,7 +24,7 @@ FIRM_LIBS ?= `pkg-config --libs libf
FIRM_CFLAGS ?= `pkg-config --cflags libfirm` LIBFIRM_FILE =
FIRM_LIBS ?= `pkg-config --libs libfirm` endif
-CPPFLAGS = -DHAVE_CONFIG_H -DFIRM_BACKEND -CPPFLAGS = -I.
+CPPFLAGS += -DHAVE_CONFIG_H -DFIRM_BACKEND +CPPFLAGS += -I.
CPPFLAGS += -I. CPPFLAGS += $(FIRM_CPPFLAGS)
CPPFLAGS += $(FIRM_CFLAGS)
CFLAGS += -Wall -W -Wstrict-prototypes -Wmissing-prototypes -Werror -std=c99 -pedantic CFLAGS += -Wall -W -Wstrict-prototypes -Wmissing-prototypes -std=c99
-CFLAGS += -O0 -g3 @@ -72,14 +72,14 @@ cparser_SOURCES = \
+CFLAGS += ${COPTS} ${DBG}
#CFLAGS += -O3 -march=pentium4 -fomit-frame-pointer -DNDEBUG
#CFLAGS += -pg -O3 -fno-inline
-ICC_CFLAGS = -O0 -g3 -std=c99 -Wall -Werror
+#ICC_CFLAGS = -O0 -g3 -std=c99 -Wall -Werror
#LFLAGS += -pg
-ICC ?= true
-GCCO1 ?= true
+#ICC ?= true
+#GCCO1 ?= true
LFLAGS += $(FIRM_LIBS)
@@ -57,13 +57,13 @@ SOURCES := \
wrappergen/write_fluffy.c \ wrappergen/write_fluffy.c \
wrappergen/write_jna.c wrappergen/write_jna.c \
wrappergen/write_compoundsizes.c
-cparser_OBJECTS = $(cparser_SOURCES:%.c=$(builddir)/%.o)
+cparser_OBJECTS = $(cparser_SOURCES:%.c=$(builddir)/%.lo)
cparser_DEPS = $(cparser_OBJECTS:%.o=%.d)
-OBJECTS = $(SOURCES:%.c=build/%.o) SPLINTS = $(addsuffix .splint, $(cparser_SOURCES))
+OBJECTS = $(SOURCES:%.c=build/%.lo) CPARSERS = $(addsuffix .cparser, $(cparser_SOURCES))
-CPARSEROS = $(cparser_SOURCES:%.c=$(builddir)/cpb/%.o)
SPLINTS = $(addsuffix .splint, $(SOURCES)) -CPARSEROS_E = $(cparser_SOURCES:%.c=$(builddir)/cpbe/%.o)
CPARSERS = $(addsuffix .cparser, $(SOURCES)) -CPARSEROS2 = $(cparser_SOURCES:%.c=$(builddir)/cpb2/%.o)
-CPARSEROS = $(SOURCES:%.c=build/cpb/%.o) +CPARSEROS = $(cparser_SOURCES:%.c=$(builddir)/cpb/%.lo)
-CPARSEROS_E = $(SOURCES:%.c=build/cpbe/%.o) +CPARSEROS_E = $(cparser_SOURCES:%.c=$(builddir)/cpbe/%.lo)
-CPARSEROS2 = $(SOURCES:%.c=build/cpb2/%.o) +CPARSEROS2 = $(cparser_SOURCES:%.c=$(builddir)/cpb2/%.lo)
+CPARSEROS = $(SOURCES:%.c=build/cpb/%.lo)
+CPARSEROS_E = $(SOURCES:%.c=build/cpbe/%.lo)
+CPARSEROS2 = $(SOURCES:%.c=build/cpb2/%.lo)
Q = @ Q = @
@@ -99,7 +99,8 @@ UNUSED := $(shell mkdir -p $(DIRS)) @@ -113,7 +113,7 @@ UNUSED := $(shell mkdir -p $(DIRS) $(DIR
$(GOAL): $(OBJECTS) $(LIBFIRM_FILE) $(GOAL): $(LIBFIRM_FILE) $(cparser_OBJECTS)
@echo "===> LD $@" @echo "===> LD $@"
- $(Q)$(CC) $(OBJECTS) $(LFLAGS) -o $(GOAL) - $(Q)$(CC) $(cparser_OBJECTS) $(LIBFIRM_FILE) -o $(GOAL) $(LINKFLAGS)
+ $(Q)$(LIBTOOL) --mode=link --tag=CC \ + $(Q)$(LIBTOOL) --mode=link --tag=CC $(CC) $(cparser_OBJECTS) $(LIBFIRM_FILE) -o $(GOAL) $(LINKFLAGS)
+ $(CC) $(OBJECTS) $(LFLAGS) -o $(GOAL)
splint: $(SPLINTS) ifneq ("$(LIBFIRM_FILE)", "")
ifneq ("$(MAKECMDGOALS)", "clean")
@@ -129,35 +130,42 @@ builtins.h: builtins/builtins.c create_b @@ -144,33 +144,33 @@ bootstrap2: cparser.bootstrap2
main.c: builtins.h
-build/cpb/%.o: %.c build/cparser
+build/cpb/%.lo: %.c build/cparser
@echo '===> CPARSER $<' @echo '===> CPARSER $<'
- $(Q)./build/cparser $(CPPFLAGS) -std=c99 -Wall -g3 -c $< -o $@ $(Q)./cparser $(CPPFLAGS) -fsyntax-only $<
+ $(Q)$(LIBTOOL) --mode=compile --tag=CC \
+ ./build/cparser $(CPPFLAGS) -std=c99 -Wall -g3 -c $< -o $@
-build/cpbe/%.o: %.c -$(builddir)/cpb/%.o: %.c $(builddir)/cparser
+build/cpbe/%.lo: %.c +$(builddir)/cpb/%.lo: %.c $(builddir)/cparser
@echo '===> ECCP $<' @echo '===> CPARSER $<'
- $(Q)./$(builddir)/cparser $(CPPFLAGS) -std=c99 -Wall -g3 -c $< -o $@
+ $(Q)$(LIBTOOL) --mode=compile --tag=CC ./$(builddir)/cparser $(CPPFLAGS) -std=c99 -Wall -g3 -c $< -o $@
-$(builddir)/cpbe/%.o: %.c
+$(builddir)/cpbe/%.lo: %.c
@echo '===> ECCP $@'
- $(Q)eccp $(CPPFLAGS) -std=c99 -Wall -c $< -o $@ - $(Q)eccp $(CPPFLAGS) -std=c99 -Wall -c $< -o $@
+ $(Q)$(LIBTOOL) --mode=compile --tag=CC \ + $(Q)$(LIBTOOL) --mode=compile --tag=CC eccp $(CPPFLAGS) -std=c99 -Wall -c $< -o $@
+ eccp $(CPPFLAGS) -std=c99 -Wall -c $< -o $@
-build/cpb2/%.o: %.c cparser.bootstrap -$(builddir)/cpb2/%.o: %.c cparser.bootstrap
+build/cpb2/%.lo: %.c cparser.bootstrap +$(builddir)/cpb2/%.lo: %.c cparser.bootstrap
@echo '===> CPARSER.BOOTSTRAP $<' @echo '===> CPARSER.BOOTSTRAP $<'
- $(Q)./cparser.bootstrap $(CPPFLAGS) -Wall -g -c $< -o $@ - $(Q)./cparser.bootstrap $(CPPFLAGS) -Wall -g -c $< -o $@
+ $(Q)$(LIBTOOL) --mode=compile --tag=CC \ + $(Q)$(LIBTOOL) --mode=compile --tag=CC ./cparser.bootstrap $(CPPFLAGS) -Wall -g -c $< -o $@
+ ./cparser.bootstrap $(CPPFLAGS) -Wall -g -c $< -o $@
cparser.bootstrap: $(CPARSEROS) cparser.bootstrap: $(CPARSEROS)
@echo "===> LD $@" @echo "===> LD $@"
- $(Q)./build/cparser $(CPARSEROS) $(LFLAGS) -o $@ - $(Q)./$(builddir)/cparser $(CPARSEROS) $(LIBFIRM_FILE) $(LINKFLAGS) -o $@
+ $(Q)$(LIBTOOL) --mode=link \ + $(Q)$(LIBTOOL) --mode=link ./$(builddir)/cparser $(CPARSEROS) $(LIBFIRM_FILE) $(LINKFLAGS) -o $@
+ ./build/cparser $(CPARSEROS) $(LFLAGS) -o $@
cparser.bootstrape: $(CPARSEROS_E) cparser.bootstrape: $(CPARSEROS_E)
@echo "===> LD $@" @echo "===> LD $@"
- $(Q)gcc $(CPARSEROS_E) $(LFLAGS) -o $@ - $(Q)gcc $(CPARSEROS_E) $(LINKFLAGS) -o $@
+ $(Q)$(LIBTOOL) --mode=link \ + $(Q)$(LIBTOOL) --mode=link gcc $(CPARSEROS_E) $(LINKFLAGS) -o $@
+ gcc $(CPARSEROS_E) $(LFLAGS) -o $@
cparser.bootstrap2: $(CPARSEROS2) cparser.bootstrap2: cparser.bootstrap $(CPARSEROS2)
@echo "===> LD $@" @echo "===> LD $@"
- $(Q)./cparser.bootstrap $(CPARSEROS2) $(LFLAGS) -o $@ - $(Q)./cparser.bootstrap $(CPARSEROS2) $(LIBFIRM_FILE) $(LINKFLAGS) -o $@
+ $(Q)$(LIBTOOL) --mode=link \ + $(Q)$(LIBTOOL) --mode=link ./cparser.bootstrap $(CPARSEROS2) $(LIBFIRM_FILE) $(LINKFLAGS) -o $@
+ ./cparser.bootstrap $(CPARSEROS2) $(LFLAGS) -o $@
-build/%.o: %.c -$(builddir)/%.o: %.c
+build/%.lo: %.c +$(builddir)/%.lo: %.c
@echo '===> CC $<' @echo '===> CC $@'
#$(Q)$(ICC) $(CPPFLAGS) $(ICC_CFLAGS) -c $< -o $@ - $(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -MMD -c -o $@ $<
#$(Q)$(GCCO1) $(CPPFLAGS) $(CFLAGS) -O1 -c $< -o $@ + $(Q)$(LIBTOOL) --mode=compile --tag=CC $(CC) $(CPPFLAGS) $(CFLAGS) -MMD -c -o $@ $<
- $(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
+ $(Q)$(LIBTOOL) --mode=compile --tag=CC \
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
clean: clean:
@echo '===> CLEAN' @echo '===> CLEAN'

View file

@ -1,13 +0,0 @@
$NetBSD: patch-ac,v 1.1 2008/12/17 16:59:19 joerg Exp $
--- ast.c.orig 2008-12-05 20:43:03.000000000 +0100
+++ ast.c
@@ -206,7 +206,7 @@ static void print_const(const const_expr
#else
fprintf(out, "%.20Lg", val);
#endif
- if (isfinite(val) && truncl(val) == val)
+ if (isfinite(val) && trunc(val) == val)
fputs(".0", out);
} else {
panic("unknown constant");

View file

@ -1,18 +0,0 @@
$NetBSD: patch-driver_firm__cmdline.h,v 1.1 2014/06/29 04:53:26 dholland Exp $
Remove accidental global variable. On most Unix platforms such
variables become commons and don't get noticed, but on platforms
without commons or with commons disabled, this results in a multiply
defined symbol.
--- driver/firm_cmdline.h~ 2009-05-15 11:27:34.000000000 +0000
+++ driver/firm_cmdline.h
@@ -16,7 +16,7 @@ enum an_os_support {
OS_SUPPORT_LINUX, /**< create code for Linux OS */
OS_SUPPORT_MINGW, /**< create code for MinGW WIN32 */
OS_SUPPORT_MACHO /**< create code for MacOS Mach-O */
-} an_os_support;
+};
enum a_debug_mode {
DBG_MODE_NONE = 0, /**< no special debug support */