Mercurial > mxe-octave
annotate src/build-flex-1-fixes.patch @ 4584:a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
* src/build-flex-1-fixes.patch: new file
* dist-files.mk: add ref to build-flex-1-fixes.patch
author | John D |
---|---|
date | Thu, 21 Dec 2017 09:58:43 -0500 |
parents | |
children | 073464b5e319 |
rev | line source |
---|---|
4584
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
1 From 4b5111d9772b5c160340ca96f08d30d7f6db5cda Mon Sep 17 00:00:00 2001 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
2 From: Explorer09 <explorer09@gmail.com> |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
3 Date: Mon, 4 Sep 2017 08:28:53 +0800 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
4 Subject: [PATCH] scanner: Include flexdef.h at %top block of scan.l |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
5 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
6 config.h may define macros that alter the API of the standard library |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
7 funtions, and so it should be included before any other standard |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
8 header, even before the skeleton's standard header inclusion. |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
9 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
10 For example: config.h may #define _GNU_SOURCE that would expose the |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
11 reallocarray() prototype from <stdlib.h> on glibc 2.26+ systems. If we |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
12 include <stdlib.h> before config.h, reallocarray() would not be |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
13 available for use in lex file since the second include doesn't help |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
14 due to header guard. |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
15 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
16 For now our config.h might `#define malloc rpl_malloc` -- this |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
17 substitution must work before including stdlib.h, or else the compiler |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
18 will complain about missing prototypes, and may result in incorrect |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
19 code in scan.l (gcc warning: return makes pointer from integer without |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
20 a cast [-Wint-conversion]). |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
21 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
22 Fixes #247. |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
23 --- |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
24 src/scan.l | 7 ++++++- |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
25 1 file changed, 6 insertions(+), 1 deletion(-) |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
26 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
27 diff --git a/src/scan.l b/src/scan.l |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
28 index 3995bcf1..4f497acd 100644 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
29 --- a/src/scan.l |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
30 +++ b/src/scan.l |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
31 @@ -1,5 +1,11 @@ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
32 /* scan.l - scanner for flex input -*-C-*- */ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
33 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
34 +%top{ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
35 +/* flexdef.h includes config.h, which may contain macros that alter the API */ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
36 +/* of libc functions. Must include first before any libc header. */ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
37 +#include "flexdef.h" |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
38 +} |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
39 + |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
40 %{ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
41 /* Copyright (c) 1990 The Regents of the University of California. */ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
42 /* All rights reserved. */ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
43 @@ -32,7 +38,6 @@ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
44 /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
45 /* PURPOSE. */ |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
46 |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
47 -#include "flexdef.h" |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
48 #include "parse.h" |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
49 extern bool tablesverify, tablesext; |
a0e30199373f
build-flex: add patch for new gcc version issues (Bug #52708)
John D
parents:
diff
changeset
|
50 extern int trlcontxt; /* Set in parse.y for each rule. */ |