author | Sergej Pupykin
<spupykin@archlinux.org> 2010-11-22 15:17:11 UTC |
committer | Sergej Pupykin
<spupykin@archlinux.org> 2010-11-22 15:17:11 UTC |
parent | f9ea92af163ed574c85e0c88acce991576c4266f |
PKGBUILD | +6 | -9 |
sdcc-2.9.0.patch | +0 | -879 |
diff --git a/PKGBUILD b/PKGBUILD index dfca85d..ef7b911 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,25 +2,22 @@ # Maintainer: Jose Negron <josenj.arch@mailnull.net> pkgname=sdcc -pkgver=2.9.0 -pkgrel=2 +pkgver=3.0.0 +pkgrel=1 pkgdesc="Retargettable ANSI C compiler (Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08)" arch=('i686' 'x86_64') license=('GPL') depends=('bash' 'gcc-libs') makedepends=('gputils' 'flex' 'bison' 'patch') +optdepends=('python') url="http://sdcc.sourceforge.net/" options=(!strip) -#Patch file was taken from https://bugzilla.redhat.com/show_bug.cgi?id=488217 -source=(http://downloads.sourceforge.net/sourceforge/sdcc/$pkgname-src-$pkgver.tar.bz2 - http://aur.archlinux.org/packages/$pkgname/$pkgname/$pkgname-$pkgver.patch) -md5sums=('a6151ed328fd3bc48305ffbc628dc122' - '35313a8edca4f2c8a03ad57036da4e62') +source=(http://downloads.sourceforge.net/sourceforge/sdcc/$pkgname-src-$pkgver.tar.bz2) +md5sums=('20fbd49a3421e09fe65577c45524c89e') build() { cd $srcdir/$pkgname - patch -p1 -i ../$pkgname-$pkgver.patch - ./configure --prefix=$pkgdir/usr + LDFLAGS="-lm" ./configure --prefix=$pkgdir/usr make make install strip $pkgdir/usr/bin/* || true diff --git a/sdcc-2.9.0.patch b/sdcc-2.9.0.patch deleted file mode 100644 index fa7db11..0000000 --- a/sdcc-2.9.0.patch +++ /dev/null @@ -1,879 +0,0 @@ -Only in sdcc_2.9.0/as/link: getline.c -Only in sdcc_2.9.0/as/link: getline.h -diff -ruP sdcc_2.9.0/as/link/hc08/Makefile.in sdcc_2.9.0_new/as/link/hc08/Makefile.in ---- sdcc_2.9.0/as/link/hc08/Makefile.in 2009-01-10 00:04:14.000000000 +0100 -+++ sdcc_2.9.0_new/as/link/hc08/Makefile.in 2009-05-03 09:33:59.920935155 +0200 -@@ -46,7 +46,7 @@ - - ASXXLIBSRC = strcmpi.c - --LKLIBSRC = getline.c lkaomf51.c lkar.c lkdata.c lkeval.c \ -+LKLIBSRC = lk_readnl.c lkaomf51.c lkar.c lkdata.c lkeval.c \ - lkhead.c lklex.c lklib.c lklibr.c lklist.c \ - lknoice.c lkrel.c lksdcclib.c lkstore.c lksym.c - -diff -ruP sdcc_2.9.0/as/link/lklib.c sdcc_2.9.0_new/as/link/lklib.c ---- sdcc_2.9.0/as/link/lklib.c 2009-02-05 23:15:19.000000000 +0100 -+++ sdcc_2.9.0_new/as/link/lklib.c 2009-05-03 09:33:53.032847214 +0200 -@@ -31,7 +31,7 @@ - - #include <string.h> - --#include "getline.h" -+#include "lk_readnl.h" - #include "aslink.h" - #include "lklibr.h" - #include "lkrel.h" -@@ -51,7 +51,7 @@ - { - char relfil[NINPUT]; - -- while (getline (relfil, sizeof (relfil), libfp) != NULL) -+ while (lk_readnl (relfil, sizeof (relfil), libfp) != NULL) - { - FILE *fp; - char str[PATH_MAX]; -@@ -126,7 +126,7 @@ - - D ("Searching symbol: %s\n", name); - -- while (getline (relfil, sizeof (relfil), libfp) != NULL) -+ while (lk_readnl (relfil, sizeof (relfil), libfp) != NULL) - { - char str[PATH_MAX]; - FILE *fp; -@@ -206,7 +206,7 @@ - * - * functions called: - * int fclose() c_library -- * char *getline() getline.c -+ * char *lk_readnl() lk_readnl.c - * FILE * fopen() c_library - * VOID link_main() lkmain.c - * int strlen() c_library -diff -ruP sdcc_2.9.0/as/link/lk_readnl.c sdcc_2.9.0_new/as/link/lk_readnl.c ---- sdcc_2.9.0/as/link/lk_readnl.c 1970-01-01 01:00:00.000000000 +0100 -+++ sdcc_2.9.0_new/as/link/lk_readnl.c 2009-05-03 09:31:37.874839633 +0200 -@@ -0,0 +1,93 @@ -+/* -+ lk_readnl.c - read a line from file into a buffer -+ version 1.0.0, April 25th, 2008 -+ -+ Copyright (c) 2008 Borut Razem -+ -+ This software is provided 'as-is', without any express or implied -+ warranty. In no event will the authors be held liable for any damages -+ arising from the use of this software. -+ -+ Permission is granted to anyone to use this software for any purpose, -+ including commercial applications, and to alter it and redistribute it -+ freely, subject to the following restrictions: -+ -+ 1. The origin of this software must not be misrepresented; you must not -+ claim that you wrote the original software. If you use this software -+ in a product, an acknowledgment in the product documentation would be -+ appreciated but is not required. -+ 2. Altered source versions must be plainly marked as such, and must not be -+ misrepresented as being the original software. -+ 3. This notice may not be removed or altered from any source distribution. -+ -+ Borut Razem -+ borut.razem@siol.net -+*/ -+ -+#include "lk_readnl.h" -+ -+/******************************************************************************* -+ -+ lk_readnl -+ -+lk_readnl() reads in at most one less than size characters from stream and stores -+them into the buffer pointed to by s. Reading stops after an EOF or a newline. -+The newline character is not stored into the buffer. A '\0' is stored after the -+last character in the buffer. All the characters between size and the newline or -+EOF are skipped. -+ -+lk_readnl() return s on success, and NULL on error or when end of file occurs -+while no characters have been read. -+ -+*******************************************************************************/ -+ -+char * -+lk_readnl (char *s, int size, FILE * stream) -+{ -+ static char eof_f = 0; -+ int c = '\0'; -+ char *s_o; -+ char prev_c; -+ -+ if (eof_f) -+ { -+ eof_f = 0; -+ return NULL; -+ } -+ -+ s_o = s; -+ --size; /* for null terminator */ -+ while (size > 0) -+ { -+ prev_c = c; -+ if ((c = getc (stream)) == '\n' || c == EOF) -+ break; -+ -+ if (prev_c == '\r') -+ { -+ *s++ = prev_c; -+ if (--size <= 0) -+ break; -+ } -+ -+ if (c != '\r') -+ { -+ *s++ = c; -+ --size; -+ } -+ } -+ *s = '\0'; -+ -+ while (c != '\n' && c != EOF) -+ c = getc (stream); -+ -+ if (c == EOF) -+ { -+ if (s == s_o) -+ return NULL; -+ -+ eof_f = 1; -+ } -+ -+ return s_o; -+} -diff -ruP sdcc_2.9.0/as/link/lk_readnl.h sdcc_2.9.0_new/as/link/lk_readnl.h ---- sdcc_2.9.0/as/link/lk_readnl.h 1970-01-01 01:00:00.000000000 +0100 -+++ sdcc_2.9.0_new/as/link/lk_readnl.h 2009-05-03 09:31:32.383875928 +0200 -@@ -0,0 +1,44 @@ -+/* -+ lk_readnl.h - read a line from file into a buffer -+ version 1.0.0, Aprile 25th, 2008 -+ -+ Copyright (c) 2008 Borut Razem -+ -+ This software is provided 'as-is', without any express or implied -+ warranty. In no event will the authors be held liable for any damages -+ arising from the use of this software. -+ -+ Permission is granted to anyone to use this software for any purpose, -+ including commercial applications, and to alter it and redistribute it -+ freely, subject to the following restrictions: -+ -+ 1. The origin of this software must not be misrepresented; you must not -+ claim that you wrote the original software. If you use this software -+ in a product, an acknowledgment in the product documentation would be -+ appreciated but is not required. -+ 2. Altered source versions must be plainly marked as such, and must not be -+ misrepresented as being the original software. -+ 3. This notice may not be removed or altered from any source distribution. -+ -+ Borut Razem -+ borut.razem@siol.net -+*/ -+ -+ -+#ifndef __LK_READNL_H -+#define __LK_READNL_H -+ -+#include <stdio.h> -+ -+#ifdef __cplusplus -+extern "C" -+{ -+#endif -+ -+ char *lk_readnl (char *s, int size, FILE * stream); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* __LK_READNL_H */ -diff -ruP sdcc_2.9.0/as/link/lkrel.c sdcc_2.9.0_new/as/link/lkrel.c ---- sdcc_2.9.0/as/link/lkrel.c 2009-02-05 23:15:19.000000000 +0100 -+++ sdcc_2.9.0_new/as/link/lkrel.c 2009-05-03 09:34:27.455805185 +0200 -@@ -32,7 +32,7 @@ - #include <string.h> - #include <assert.h> - --#include "getline.h" -+#include "lk_readnl.h" - #include "aslink.h" - #include "lkrel.h" - -@@ -79,7 +79,7 @@ - - end = (size >= 0) ? ftell (libfp) + size : -1; - -- while ((end < 0 || ftell (libfp) < end) && getline (str, sizeof (str), libfp) != NULL) -+ while ((end < 0 || ftell (libfp) < end) && lk_readnl (str, sizeof (str), libfp) != NULL) - { - if (0 == strcmp (str, "</REL>")) - return 1; -@@ -110,7 +110,7 @@ - * our object file and don't go into the next one. - */ - -- while ((end < 0 || ftell (fp) < end) && getline (buf, sizeof (buf), fp) != NULL) -+ while ((end < 0 || ftell (fp) < end) && lk_readnl (buf, sizeof (buf), fp) != NULL) - { - char symname[NINPUT]; - char c; -diff -ruP sdcc_2.9.0/as/link/lksdcclib.c sdcc_2.9.0_new/as/link/lksdcclib.c ---- sdcc_2.9.0/as/link/lksdcclib.c 2009-02-05 23:15:19.000000000 +0100 -+++ sdcc_2.9.0_new/as/link/lksdcclib.c 2009-05-03 09:35:29.888085514 +0200 -@@ -32,13 +32,13 @@ - #include <stdlib.h> - #include <string.h> - --#include "getline.h" -+#include "lk_readnl.h" - #include "aslink.h" - #include "lklibr.h" - #include "lkrel.h" - - #define EQ(A,B) !strcmp((A),(B)) --#define MAXLINE 254 /*when using getline */ -+#define MAXLINE 254 /* when using lk_readnl */ - - - static int -@@ -72,14 +72,14 @@ - char str[NINPUT]; - int state = 0; - -- while (getline (str, sizeof (str), libfp) != NULL) -+ while (lk_readnl (str, sizeof (str), libfp) != NULL) - { - switch (state) - { - case 0: - if (EQ (str, "<FILE>")) - { -- if (NULL != getline (str, sizeof (str), libfp) && EQ (str, ModName)) -+ if (NULL != lk_readnl (str, sizeof (str), libfp) && EQ (str, ModName)) - state = 1; - else - return 0; -@@ -105,7 +105,7 @@ - long IndexOffset = 0; - pmlibrarysymbol ThisSym = NULL; - -- while (getline (FLine, sizeof (FLine), libfp)) -+ while (lk_readnl (FLine, sizeof (FLine), libfp)) - { - switch (state) - { -@@ -113,7 +113,7 @@ - if (EQ (FLine, "<INDEX>")) - { - /*The next line has the size of the index */ -- getline (FLine, sizeof (FLine), libfp); -+ lk_readnl (FLine, sizeof (FLine), libfp); - IndexOffset = atol (FLine); - state = 1; - } -@@ -128,7 +128,7 @@ - - /* The next line has the name of the module and the offset - of the corresponding embedded file in the library */ -- getline (FLine, sizeof (FLine), libfp); -+ lk_readnl (FLine, sizeof (FLine), libfp); - sscanf (FLine, "%s %ld", ModName, &FileOffset); - state = 2; - -@@ -205,7 +205,7 @@ - int state = 0; - int ret = 0; - -- while (getline (str, sizeof (str), libfp) != NULL) -+ while (lk_readnl (str, sizeof (str), libfp) != NULL) - { - switch (state) - { -@@ -239,7 +239,7 @@ - int state = 0; - long IndexOffset = 0, FileOffset; - -- while (getline (FLine, sizeof (FLine), libfp)) -+ while (lk_readnl (FLine, sizeof (FLine), libfp)) - { - char filspc[PATH_MAX]; - -@@ -260,7 +260,7 @@ - if (EQ (FLine, "<INDEX>")) - { - /* The next line has the size of the index */ -- getline (FLine, sizeof (FLine), libfp); -+ lk_readnl (FLine, sizeof (FLine), libfp); - IndexOffset = atol (FLine); - state = 1; - } -@@ -271,7 +271,7 @@ - { - /* The next line has the name of the module and the offset - of the corresponding embedded file in the library */ -- getline (FLine, sizeof (FLine), libfp); -+ lk_readnl (FLine, sizeof (FLine), libfp); - sscanf (FLine, "%s %ld", ModName, &FileOffset); - state = 2; - } -diff -ruP sdcc_2.9.0/as/link/mcs51/Makefile.in sdcc_2.9.0_new/as/link/mcs51/Makefile.in ---- sdcc_2.9.0/as/link/mcs51/Makefile.in 2009-01-10 00:04:14.000000000 +0100 -+++ sdcc_2.9.0_new/as/link/mcs51/Makefile.in 2009-05-03 09:33:58.180806351 +0200 -@@ -46,7 +46,7 @@ - - ASXXLIBSRC = strcmpi.c - --LKLIBSRC = getline.c lkaomf51.c lkar.c lkdata.c lkeval.c \ -+LKLIBSRC = lk_readnl.c lkaomf51.c lkar.c lkdata.c lkeval.c \ - lkhead.c lklex.c lklib.c lklibr.c lklist.c \ - lknoice.c lkrel.c lksdcclib.c lkstore.c lksym.c - -diff -ruP sdcc_2.9.0/as/link/z80/Makefile.in sdcc_2.9.0_new/as/link/z80/Makefile.in ---- sdcc_2.9.0/as/link/z80/Makefile.in 2009-01-10 00:04:14.000000000 +0100 -+++ sdcc_2.9.0_new/as/link/z80/Makefile.in 2009-05-03 09:33:56.000806236 +0200 -@@ -13,7 +13,7 @@ - - LKLIB = $(srcdir)/.. - --LKLIBSRC = getline.c lkaomf51.c lkar.c lkdata.c lkeval.c \ -+LKLIBSRC = lk_readnl.c lkaomf51.c lkar.c lkdata.c lkeval.c \ - lkhead.c lklex.c lklib.c lklibr.c lklist.c \ - lknoice.c lkrel.c lksdcclib.c lkstore.c lksym.c - -diff -ruP sdcc_2.9.0/ChangeLog sdcc_2.9.0_new/ChangeLog ---- sdcc_2.9.0/ChangeLog 2009-03-15 14:30:34.000000000 +0100 -+++ sdcc_2.9.0_new/ChangeLog 2009-05-03 14:22:47.139942135 +0200 -@@ -1,3 +1,35 @@ -+2009-05-03 Borut Razem <borut.razem AT siol.net> -+ -+ * as/link/hc08/Makefile.in, as/link/mcs51/Makefile.in, -+ as/link/z80/Makefile.in, as/link/lk_readnl.c, as/link/lklib.c, -+ as/link/lk_readnl.h, as/link/lk_readnl.h, as/link/lkrel.c, -+ as/link/lksdcclib.c: getline renamed to lk_readln to prevent -+ conflicts with Fedora 11 glibc-2.9.90-19 getline -+ -+2009-04-28 Borut Razem <borut.razem AT siol.net> -+ -+ * fixed GCC 4.4.0 mingw compilation: -+ sim/ucsim/cmd.src/cmdlex.cc: regenerated - added #include <stdio.h> -+ * src/SDCCsymt.c: fixed warning: -+ suggest parentheses around operand of '!' or change '&' to '&&' or -+ '!' to '~' -+ * support/scripts/sdcc_mingw32: sync with sdcc-build -+ -+2009-04-27 Borut Razem <borut.razem AT siol.net> -+ -+ * fixed GCC 4.4.0 mingw compilation: -+ * sim/ucsim/cmd.src/cmdlex.l: added #include <stdio.h> -+ * support/cpp/sdcpp-opts.c: fixed warning: -+ unknown conversion type character 'm' in format, -+ use strerror(errno) instead of %m glibc extension format specifier -+ * src/SDCCsymt.c: fixed warning: -+ suggest parentheses around operand of '!' or change '&' to '&&' or -+ '!' to '~' -+ * src/pic16/pcode.c, src/pic16/glue.c: fixed warning: -+ unknown conversion type character 'h' in format, -+ replaced hh printf format specifier with parameter casting to -+ unsigned char -+ - 2009-03-15 Borut Razem <borut.razem AT siol.net> - - * support/scripts/repack_release.sh: added -diff -ruP sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.cc sdcc_2.9.0_new/sim/ucsim/cmd.src/cmdlex.cc ---- sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.cc 2004-07-16 18:32:30.000000000 +0200 -+++ sdcc_2.9.0_new/sim/ucsim/cmd.src/cmdlex.cc 2009-05-03 09:56:34.837824283 +0200 -@@ -1,6 +1,6 @@ --#line 2 "cmdlex.cc" -+#line 2 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.cc" - --#line 4 "cmdlex.cc" -+#line 4 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.cc" - - #define YY_INT_ALIGNED short int - -@@ -9,13 +9,16 @@ - #define FLEX_SCANNER - #define YY_FLEX_MAJOR_VERSION 2 - #define YY_FLEX_MINOR_VERSION 5 --#define YY_FLEX_SUBMINOR_VERSION 31 -+#define YY_FLEX_SUBMINOR_VERSION 35 - #if YY_FLEX_SUBMINOR_VERSION > 0 - #define FLEX_BETA - #endif - - /* The c++ scanner is a mess. The FlexLexer.h header file relies on the -- * following macro. -+ * following macro. This is required in order to pass the c++-multiple-scanners -+ * test in the regression suite. We get reports that it breaks inheritance. -+ * We will address this in a future release of flex, or omit the C++ scanner -+ * altogether. - */ - #define yyFlexLexer yyFlexLexer - -@@ -32,7 +35,15 @@ - - /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ - --#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L -+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -+ -+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, -+ * if you want the limit (max/min) macros for int types. -+ */ -+#ifndef __STDC_LIMIT_MACROS -+#define __STDC_LIMIT_MACROS 1 -+#endif -+ - #include <inttypes.h> - typedef int8_t flex_int8_t; - typedef uint8_t flex_uint8_t; -@@ -83,6 +94,7 @@ - /* begin standard C++ headers. */ - #include <iostream> - #include <errno.h> -+#include <cstdio> - #include <cstdlib> - #include <cstring> - /* end standard C++ headers. */ -@@ -94,11 +106,12 @@ - - #else /* ! __cplusplus */ - --#if __STDC__ -+/* C99 requires __STDC__ to be defined as 1. */ -+#if defined (__STDC__) - - #define YY_USE_CONST - --#endif /* __STDC__ */ -+#endif /* defined (__STDC__) */ - #endif /* ! __cplusplus */ - - #ifdef YY_USE_CONST -@@ -143,6 +156,10 @@ - #define YY_BUF_SIZE 16384 - #endif - -+/* The state buf must be large enough to hold one state per character in the main buffer. -+ */ -+#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) -+ - #ifndef YY_TYPEDEF_YY_BUFFER_STATE - #define YY_TYPEDEF_YY_BUFFER_STATE - typedef struct yy_buffer_state *YY_BUFFER_STATE; -@@ -172,14 +189,9 @@ - - #define unput(c) yyunput( c, (yytext_ptr) ) - --/* The following is because we cannot portably get our hands on size_t -- * (without autoconf's help, which isn't available because we want -- * flex-generated scanners to compile on their own). -- */ -- - #ifndef YY_TYPEDEF_YY_SIZE_T - #define YY_TYPEDEF_YY_SIZE_T --typedef unsigned int yy_size_t; -+typedef size_t yy_size_t; - #endif - - #ifndef YY_STRUCT_YY_BUFFER_STATE -@@ -405,8 +417,9 @@ - #define yymore() yymore_used_but_not_detected - #define YY_MORE_ADJ 0 - #define YY_RESTORE_YY_MORE_OFFSET --#line 1 "cmdlex.l" --#line 2 "cmdlex.l" -+#line 1 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" -+#line 2 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" -+#include <stdio.h> - #include "cmdlexcl.h" - #include "cmdpars.h" - -@@ -417,7 +430,7 @@ - #define tok(x) (YY_cl_ucsim_parser_CLASS::x) - #define lexer_obj (dynamic_cast<class cl_ucsim_lexer *>(this)) - --#line 421 "cmdlex.cc" -+#line 434 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.cc" - - #define INITIAL 0 - -@@ -517,14 +530,14 @@ - register char *yy_cp, *yy_bp; - register int yy_act; - --#line 14 "cmdlex.l" -+#line 15 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - - --#line 524 "cmdlex.cc" -+#line 537 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.cc" - -- if ( (yy_init) ) -+ if ( !(yy_init) ) - { -- (yy_init) = 0; -+ (yy_init) = 1; - - #ifdef YY_USER_INIT - YY_USER_INIT; -@@ -605,67 +618,67 @@ - - case 1: - YY_RULE_SETUP --#line 16 "cmdlex.l" -+#line 17 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - ; - YY_BREAK - case 2: - YY_RULE_SETUP --#line 18 "cmdlex.l" -+#line 19 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_PLUS)); - YY_BREAK - case 3: - YY_RULE_SETUP --#line 19 "cmdlex.l" -+#line 20 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_MINUS)); - YY_BREAK - case 4: - YY_RULE_SETUP --#line 20 "cmdlex.l" -+#line 21 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_ASTERIX)); - YY_BREAK - case 5: - YY_RULE_SETUP --#line 21 "cmdlex.l" -+#line 22 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_SLASH)); - YY_BREAK - case 6: - YY_RULE_SETUP --#line 22 "cmdlex.l" -+#line 23 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_LEFT_PAREN)); - YY_BREAK - case 7: - YY_RULE_SETUP --#line 23 "cmdlex.l" -+#line 24 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_RIGHT_PAREN)); - YY_BREAK - case 8: - YY_RULE_SETUP --#line 24 "cmdlex.l" -+#line 25 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_LEFT_BRACKET)); - YY_BREAK - case 9: - YY_RULE_SETUP --#line 25 "cmdlex.l" -+#line 26 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_RIGHT_BRACKET)); - YY_BREAK - case 10: - YY_RULE_SETUP --#line 26 "cmdlex.l" -+#line 27 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_EQUAL)); - YY_BREAK - case 11: - YY_RULE_SETUP --#line 27 "cmdlex.l" -+#line 28 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_DOT)); - YY_BREAK - case 12: - YY_RULE_SETUP --#line 28 "cmdlex.l" -+#line 29 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(tok(PTOK_AMPERSAND)); - YY_BREAK - case 13: - YY_RULE_SETUP --#line 30 "cmdlex.l" -+#line 31 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - { - yylval->number= strtol(yytext, 0, 0); - return(YY_cl_ucsim_parser_CLASS::PTOK_NUMBER); -@@ -673,20 +686,20 @@ - YY_BREAK - case 14: - YY_RULE_SETUP --#line 35 "cmdlex.l" -+#line 36 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - return(lexer_obj->check_id(yytext)); - YY_BREAK - case 15: - YY_RULE_SETUP --#line 37 "cmdlex.l" -+#line 38 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - ; - YY_BREAK - case 16: - YY_RULE_SETUP --#line 39 "cmdlex.l" -+#line 40 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - ECHO; - YY_BREAK --#line 690 "cmdlex.cc" -+#line 703 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.cc" - case YY_STATE_EOF(INITIAL): - yyterminate(); - -@@ -819,12 +832,14 @@ - } /* end of scanning one token */ - } /* end of yylex */ - -+/* The contents of this function are C++ specific, so the () macro is not used. -+ */ - yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ) - { - yyin = arg_yyin; - yyout = arg_yyout; - yy_c_buf_p = 0; -- yy_init = 1; -+ yy_init = 0; - yy_start = 0; - yy_flex_debug = 0; - yylineno = 1; // this will only get updated if %option yylineno -@@ -837,23 +852,28 @@ - yy_more_offset = yy_prev_more_offset = 0; - - yy_start_stack_ptr = yy_start_stack_depth = 0; -- yy_start_stack = 0; -+ yy_start_stack = NULL; - -- (yy_buffer_stack) = 0; -- (yy_buffer_stack_top) = 0; -- (yy_buffer_stack_max) = 0; -+ yy_buffer_stack = 0; -+ yy_buffer_stack_top = 0; -+ yy_buffer_stack_max = 0; - - yy_state_buf = 0; - - } - -+/* The contents of this function are C++ specific, so the () macro is not used. -+ */ - yyFlexLexer::~yyFlexLexer() - { - delete [] yy_state_buf; - yyfree(yy_start_stack ); - yy_delete_buffer( YY_CURRENT_BUFFER ); -+ yyfree(yy_buffer_stack ); - } - -+/* The contents of this function are C++ specific, so the () macro is not used. -+ */ - void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out ) - { - if ( new_in ) -@@ -954,7 +974,7 @@ - - else - { -- size_t num_to_read = -+ int num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) -@@ -999,7 +1019,7 @@ - - /* Read in more data. */ - YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), -- (yy_n_chars), num_to_read ); -+ (yy_n_chars), (size_t) num_to_read ); - - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } -@@ -1023,6 +1043,14 @@ - else - ret_val = EOB_ACT_CONTINUE_SCAN; - -+ if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { -+ /* Extend the array by 50%, plus the number we really need. */ -+ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); -+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); -+ if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) -+ YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); -+ } -+ - (yy_n_chars) += number_to_move; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; -@@ -1428,7 +1456,9 @@ - (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc - (num_to_alloc * sizeof(struct yy_buffer_state*) - ); -- -+ if ( ! (yy_buffer_stack) ) -+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); -+ - memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - - (yy_buffer_stack_max) = num_to_alloc; -@@ -1446,6 +1476,8 @@ - ((yy_buffer_stack), - num_to_alloc * sizeof(struct yy_buffer_state*) - ); -+ if ( ! (yy_buffer_stack) ) -+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - - /* zero only the new slots.*/ - memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); -@@ -1469,8 +1501,7 @@ - (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size ); - - if ( ! (yy_start_stack) ) -- YY_FATAL_ERROR( -- "out of memory expanding start-condition stack" ); -+ YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); - } - - (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; -@@ -1528,7 +1559,7 @@ - static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) - { - register int i; -- for ( i = 0; i < n; ++i ) -+ for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; - } - #endif -@@ -1537,7 +1568,7 @@ - static int yy_flex_strlen (yyconst char * s ) - { - register int n; -- for ( n = 0; s[n]; ++n ) -+ for ( n = 0; s[n]; ++n ) - ; - - return n; -@@ -1568,19 +1599,7 @@ - - #define YYTABLES_NAME "yytables" - --#undef YY_NEW_FILE --#undef YY_FLUSH_BUFFER --#undef yy_set_bol --#undef yy_new_buffer --#undef yy_set_interactive --#undef yytext_ptr --#undef YY_DO_BEFORE_ACTION -- --#ifdef YY_DECL_IS_OURS --#undef YY_DECL_IS_OURS --#undef YY_DECL --#endif --#line 39 "cmdlex.l" -+#line 40 "../../../../sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l" - - - -diff -ruP sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l sdcc_2.9.0_new/sim/ucsim/cmd.src/cmdlex.l ---- sdcc_2.9.0/sim/ucsim/cmd.src/cmdlex.l 2004-07-16 18:32:30.000000000 +0200 -+++ sdcc_2.9.0_new/sim/ucsim/cmd.src/cmdlex.l 2009-05-03 09:48:14.354802912 +0200 -@@ -1,4 +1,5 @@ - %{ -+#include <stdio.h> - #include "cmdlexcl.h" - #include "cmdpars.h" - -diff -ruP sdcc_2.9.0/src/pic16/glue.c sdcc_2.9.0_new/src/pic16/glue.c ---- sdcc_2.9.0/src/pic16/glue.c 2008-12-07 00:31:13.000000000 +0100 -+++ sdcc_2.9.0_new/src/pic16/glue.c 2009-05-03 13:50:18.000000000 +0200 -@@ -1399,9 +1399,9 @@ - - for(i=0;i<=(pic16->cwInfo.confAddrEnd-pic16->cwInfo.confAddrStart);i++) - if(pic16->cwInfo.crInfo[i].emit) //mask != -1) -- fprintf (of, "\t__config 0x%x, 0x%hhx\n", -+ fprintf (of, "\t__config 0x%x, 0x%02x\n", - pic16->cwInfo.confAddrStart+i, -- pic16->cwInfo.crInfo[i].value); -+ (unsigned char) pic16->cwInfo.crInfo[i].value); - } - - void pic16_emitIDRegs(FILE *of) -@@ -1410,9 +1410,9 @@ - - for(i=0;i<=(pic16->idInfo.idAddrEnd-pic16->idInfo.idAddrStart);i++) - if(pic16->idInfo.irInfo[i].emit) -- fprintf (of, "\t__idlocs 0x%06x, 0x%hhx\n", -+ fprintf (of, "\t__idlocs 0x%06x, 0x%02x\n", - pic16->idInfo.idAddrStart+i, -- pic16->idInfo.irInfo[i].value); -+ (unsigned char) pic16->idInfo.irInfo[i].value); - } - - -diff -ruP sdcc_2.9.0/src/pic16/pcode.c sdcc_2.9.0_new/src/pic16/pcode.c ---- sdcc_2.9.0/src/pic16/pcode.c 2009-03-10 02:29:02.000000000 +0100 -+++ sdcc_2.9.0_new/src/pic16/pcode.c 2009-05-03 13:50:18.000000000 +0200 -@@ -3977,7 +3977,7 @@ - - pcop->name = NULL; - //if(lit>=0) -- sprintf(s,"0x%02hhx", (unsigned char)lit); -+ sprintf(s,"0x%02x", (unsigned char) lit); - //else - // sprintf(s, "%i", lit); - -diff -ruP sdcc_2.9.0/src/SDCCsymt.c sdcc_2.9.0_new/src/SDCCsymt.c ---- sdcc_2.9.0/src/SDCCsymt.c 2008-11-15 15:13:47.000000000 +0100 -+++ sdcc_2.9.0_new/src/SDCCsymt.c 2009-05-03 13:50:32.000000000 +0200 -@@ -2324,7 +2324,7 @@ - srcScls = SPEC_SCLS (src); - - /* Compensate for const to const code change in checkSClass() */ -- if (!level & port->mem.code_ro && SPEC_CONST (dest)) -+ if (((!level) & port->mem.code_ro) && SPEC_CONST (dest)) - { - if (srcScls == S_CODE && destScls == S_FIXED) - destScls = S_CODE; -diff -ruP sdcc_2.9.0/support/cpp/sdcpp-opts.c sdcc_2.9.0_new/support/cpp/sdcpp-opts.c ---- sdcc_2.9.0/support/cpp/sdcpp-opts.c 2008-03-31 20:10:22.000000000 +0200 -+++ sdcc_2.9.0_new/support/cpp/sdcpp-opts.c 2009-05-03 13:57:25.445053848 +0200 -@@ -564,7 +564,7 @@ - - if (out_stream == NULL) - { -- fatal_error ("opening output file %s: %m", out_fname); -+ fatal_error ("opening output file %s: %s", out_fname, strerror(errno)); - return false; - } - -@@ -641,7 +641,7 @@ - { - deps_stream = fopen (deps_file, deps_append ? "a": "w"); - if (!deps_stream) -- fatal_error ("opening dependency file %s: %m", deps_file); -+ fatal_error ("opening dependency file %s: %s", deps_file, strerror(errno)); - } - } - -@@ -651,10 +651,10 @@ - - if (deps_stream && deps_stream != out_stream - && (ferror (deps_stream) || fclose (deps_stream))) -- fatal_error ("closing dependency file %s: %m", deps_file); -+ fatal_error ("closing dependency file %s: %s", deps_file, strerror(errno)); - - if (out_stream && (ferror (out_stream) || fclose (out_stream))) -- fatal_error ("when writing output to %s: %m", out_fname); -+ fatal_error ("when writing output to %s: %s", out_fname, strerror(errno)); - } - - /* Either of two environment variables can specify output of