Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
7a544ce1
Commit
7a544ce1
authored
May 09, 2000
by
Bruce Korb
Committed by
Bruce Korb
May 09, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added 'test_text' for many fixes
From-SVN: r33801
parent
c8c6d887
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
163 additions
and
29 deletions
+163
-29
gcc/ChangeLog
+2
-0
gcc/fixinc/check.tpl
+78
-0
gcc/fixinc/inclhack.def
+83
-29
No files found.
gcc/ChangeLog
View file @
7a544ce1
2000
-
05
-
09
Bruce
Korb
<
bkorb
@gnu
.
org
>
*
fixinc
/
check
.
tpl
:
Template
for
checking
fixes
*
fixinc
/
inclhack
.
def
:
Added
'
test_text
'
for
many
fixes
*
fixinc
/
fixinc
.
sco
:
Oh
,
yes
,
we
don
'
t
need
this
any
more
.
Tue
May
9
16
:
30
:
27
MET
DST
2000
Jan
Hubicka
<
jh
@suse
.
cz
>
...
...
gcc/fixinc/check.tpl
0 → 100644
View file @
7a544ce1
[= autogen template sh=check.sh =]
[=
#
# This file contanes the shell template to run tests on the fixes
#
=]#!/bin/sh
set -e
[ -d testdir ]
&&
rm -rf testdir
mkdir testdir
cd testdir
TARGET_MACHINE='*'
DESTDIR=`pwd`/res
SRCDIR=`pwd`/inc
FIND_BASE='.'
export TARGET_MACHINE DESTDIR SRCDIR FIND_BASE
mkdir $
{
DESTDIR
}
$
{
SRCDIR
}
( cd $
{
SRCDIR
}
mkdir sys X11 Xm sundev sunwindow )
[=
_FOR fix =][=
_IF test_text _exist ! =][=
_IF replace _exist ! =]
echo No test for [=hackname=][=
_ENDIF =][=
_ELSE =]
cat >> inc/[=
_IF files _exist =][=
files[0] =][=
_ELSE =]testing.h[=
_ENDIF =]
<
<
-
'
_HACK_EOF_
'
#
ifndef
[=
hackname
_up=
]_CHECK
#
define
[=
hackname
_up=
]_CHECK
[=
test_text
"\
t
"
_prefix=
]
#
endif
/*
[=
hackname
_up=
]_CHECK
*/
_HACK_EOF_
[=
_ENDIF =
][=
/
fix
=
]
cd
inc
find
.
-type
f
|
../../
fixincl
cd
..
diff
-cr
inc
res
|
\
sed
-e
'
s
;^\(\*\*\*
inc
/[^
]*\)
.*$;\
1
;'
\
-e
'
s
;^\(
---
res
/[^
]*\)
.*$;\
1
;'
>
NEWDIFF
echo
echo Test output check:
[=
_FOR fix =][=
_IF test_text _exist =]
fgrep [=hackname _up=]_CHECK NEWDIFF > /dev/null 2>
&
1 || \
echo "[=_eval hackname _get "#%32s test failed. See inc/"
_printf =][=
_IF files _exist =][=
files[0] =][=
_ELSE =]testing.h[=
_ENDIF =]"[=
_ENDIF =][=
/fix
=][=
_eval _outfile "chmod +x %s" _printf _shell
=]
gcc/fixinc/inclhack.def
View file @
7a544ce1
/* -*- Mode: C -*- */
autogen definitions
inclhack
;
autogen definitions
fixincl
;
/* Define all the fixes we know about for repairing damaged headers.
Please see the README before adding or changing entries in this file.
...
...
@@ -521,11 +521,12 @@ fix = {
* of struct rusage, so the prototype (added by fixproto) causes havoc.
*/
fix = {
hackname = aix_syswait;
files = sys/wait.h;
select = "bos325,";
hackname
= aix_syswait;
files
= sys/wait.h;
select
= "bos325,";
sed = "/^extern pid_t wait3();$/i\\\n"
"struct rusage;\n";
test_text = "/* bos325, */\nextern pid_t wait3();";
};
...
...
@@ -536,11 +537,12 @@ fix = {
* required by ANSI C.
*/
fix = {
hackname = aix_volatile;
files = sys/signal.h;
select = "typedef volatile int sig_atomic_t";
hackname
= aix_volatile;
files
= sys/signal.h;
select
= "typedef volatile int sig_atomic_t";
sed = "s/typedef volatile int sig_atomic_t"
"/typedef int sig_atomic_t/";
test_text = "typedef volatile int sig_atomic_t;";
};
...
...
@@ -548,12 +550,13 @@ fix = {
* Fix getopt declarations in stdio.h and stdlib.h on Alpha OSF/1 and AIX.
*/
fix = {
hackname = alpha_getopt;
files = "stdio.h";
files = "stdlib.h";
select
= 'getopt\(int, char \*\[
';
hackname
= alpha_getopt;
files
= "stdio.h";
files
= "stdlib.h";
select
= 'getopt\(int, char \*\[\], *char \*\)
';
sed = 's/getopt(int, char \*\[\],[ ]*char \*)/'
'getopt(int, char *const[], const char *)/';
test_text = 'extern int getopt(int, char *[], char *);';
};
...
...
@@ -561,10 +564,11 @@ fix = {
* Remove erroneous parentheses in sym.h on Alpha OSF/1.
*/
fix = {
hackname = alpha_parens;
files = sym.h;
select = '#ifndef\(__mips64\)';
hackname
= alpha_parens;
files
= sym.h;
select
= '#ifndef\(__mips64\)';
sed = "s/#ifndef(__mips64)/#ifndef __mips64/";
test_text = "#ifndef(__mips64) /* bogus */\nextern int foo;\n#endif";
};
...
...
@@ -576,6 +580,7 @@ fix = {
files = unistd.h;
select = "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
sed = "s/char\\([ \t]*\\*[\t ]*sbrk[ \t]*(\\)/void\\1/";
test_text = "extern char* sbrk(ptrdiff_t increment);";
};
...
...
@@ -584,10 +589,11 @@ fix = {
* hint that is specific to the Norcroft compiler.
*/
fix = {
hackname = arm_norcroft_hint;
select = "___type p_type";
files = "X11/Intrinsic.h";
hackname
= arm_norcroft_hint;
select
= "___type p_type";
files
= "X11/Intrinsic.h";
sed = "s/___type p_type/p_type/";
test_text = "___type p_type mumble;";
};
...
...
@@ -601,6 +607,10 @@ fix = {
select = "#[ \t]*define[ \t]*__wchar_t";
sed = "s/\\(#[ \t]*ifndef[ \t]*\\)__wchar_t/\\1_GCC_WCHAR_T/";
sed = "s/\\(#[ \t]*define[ \t]*\\)__wchar_t/\\1_GCC_WCHAR_T/";
test_text =
"# ifndef \t __wchar_t /* we don't have wchar_t yet, ... */\n"
"# define __wchar_t short\n"
"# endif /* __wchar_t */";
};
...
...
@@ -614,6 +624,9 @@ fix = {
select = "#ifndef NOINLINE";
sed = "s|#ifndef NOINLINE"
"|#if !defined(NOINLINE) \\&\\& !defined(__GNUC__)|";
test_text =
"#ifndef NOINLINE /* ain't got no inline, so we got it */\n"
"#endif /* NOINLINE */";
};
...
...
@@ -661,6 +674,8 @@ fix = {
sed = "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/a\\\n"
"#endif\n";
test_text = "# define bool\t char \n"
"typedef unsigned int\tbool \t; /* bool type */";
};
...
...
@@ -673,6 +688,7 @@ fix = {
select = "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
sed = "s/^[ \t]*typedef[ \t][ \t]*"
"\\(struct[ \t][ \t]*term[ \t]*;[ \t]*\\)$/\\1/";
test_text = 'typedef struct term;';
};
...
...
@@ -684,6 +700,7 @@ fix = {
hackname = badquote;
files = sundev/vuid_event.h;
sed = "s/doesn't/does not/";
test_text = "/* doesn't have matched single quotes */";
};
...
...
@@ -699,7 +716,7 @@ fix = {
fix = {
hackname = bad_lval;
select = "^[ \t]*#[ \t]*pragma[ \t]
[ \t]*
extern_prefix";
select = "^[ \t]*#[ \t]*pragma[ \t]
+
extern_prefix";
files = libgen.h;
files = dirent.h;
...
...
@@ -716,8 +733,13 @@ fix = {
files = time.h;
files = unistd.h;
sed =
"s/^[ \t]*#[ \t]*define[ \t]
*
\\([^(]*\\)\\(([^)]*)\\)[ \t]*"
"s/^[ \t]*#[ \t]*define[ \t]
+
\\([^(]*\\)\\(([^)]*)\\)[ \t]*"
"\\(_.\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/";
test_text = '#pragma extern_prefix "_FOO"'"\n"
"#define something(x,y,z) _FOOsomething(x,y,z)\n"
"#define otherwise(x,y,z) BAR_Something(x,y,z)\n"
"#define mumble _FOOmumble";
};
...
...
@@ -728,9 +750,10 @@ fix = {
hackname = broken_assert_stdio;
files = assert.h;
select = stderr;
bypass = "include.*stdio.h";
bypass = "include.*stdio
\\
.h";
sed = "1i\\\n"
"#include <stdio.h>\n";
test_text = "extern FILE* stderr;";
};
...
...
@@ -741,11 +764,12 @@ fix = {
hackname = broken_assert_stdlib;
files = assert.h;
select = 'exit *\(|abort *\(';
bypass = "include.*stdlib.h";
bypass = "include.*stdlib
\\
.h";
sed = "1i\\\n"
"#ifdef __cplusplus\\\n"
"#include <stdlib.h>\\\n"
"#endif\n";
test_text = "extern void exit ( int );";
};
...
...
@@ -759,6 +783,11 @@ fix = {
select = '^extern double cabs';
sed = '/^extern double cabs();/d';
sed = '/^extern double cabs(struct dbl_hypot);/d';
test_text = "#ifdef __STDC__\n"
"extern double cabs(struct dbl_hypot);\n"
"#else\n"
"extern double cabs();\n"
"#endif";
};
...
...
@@ -773,6 +802,10 @@ fix = {
sed = "/^[ \t]*float[ \t]*fasm/i\\\n#ifdef __DECC\n";
sed = "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n"
"#endif\n";
test_text =
"float fasm {\n"
" ... asm stuff ...\n"
"};\n#pragma intrinsic( dasm )\n/* END ASM TEST*/";
};
...
...
@@ -784,6 +817,7 @@ fix = {
files = "sunwindow/win_lock.h";
files = "sunwindow/win_cursor.h";
sed = "s/ecd.cursor/ecd_cursor/";
test_text = "#ifdef ecd.cursor\n#error bogus\n#endif /* ecd+cursor */";
};
...
...
@@ -797,6 +831,7 @@ fix = {
select = 'include.*"\.\./machine/';
sed = "s,\"../machine/inline.h\",<machine/inline.h>,";
sed = "s,\"../machine/psl.h\",<machine/psl.h>,";
test_text = '# include "../machine/fumble.h"';
};
...
...
@@ -804,10 +839,11 @@ fix = {
* Check for (...) in C++ code in HP/UX sys/file.h.
*/
fix = {
hackname = hp_sysfile;
files = sys/file.h;
select = "HPUX_SOURCE";
hackname
= hp_sysfile;
files
= sys/file.h;
select
= "HPUX_SOURCE";
sed = 's/(\.\.\.)/(struct file *, ...)/';
test_text = "extern void foo(...); /* bad varargs */";
};
...
...
@@ -841,13 +877,15 @@ fix = {
* HPUX 10.x sys/param.h defines MAXINT which clashes with values.h
*/
fix = {
hackname = hpux_maxint;
files = sys/param.h;
hackname = hpux_maxint;
files = sys/param.h;
select = "^#[ \t]*define[ \t]*MAXINT[ \t]";
sed = "/^#[ \t]*define[ \t]*MAXINT[ \t]/i\\\n"
"#ifndef MAXINT\n";
sed = "/^#[ \t]*define[ \t]*MAXINT[ \t]/a\\\n"
"#endif\n";
test_text = '#define MAXINT 0x7FFFFFFF';
};
...
...
@@ -859,6 +897,7 @@ fix = {
files = sys/time.h;
select = "^extern struct sigevent;";
sed = "s/^extern struct sigevent;/struct sigevent;/";
test_text = 'extern struct sigevent;';
};
...
...
@@ -895,8 +934,10 @@ fix = {
fix = {
hackname = hpux11_uint32_c;
files = inttypes.h;
select = "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
select = "^#define UINT32_C\\(__c\\)[ \t]*"
"__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
sed = "s/^#define UINT32_C(__c)\\([ \t]*\\)__CONCAT__(__CONCAT_U__(__c),l)/#define UINT32_C(__c)\\1__CONCAT__(__c,ul)/";
c_fix_arg = '#define UINT32_C(__c) __CONCAT__(__c,ul)';
};
/*
...
...
@@ -915,10 +956,12 @@ fix = {
files = "sys/fcntl.h";
files = "sys/dirent.h";
select = "defined\(__STDC__\) && !defined\(_POSIX_SOURCE\)";
select = "
!
defined\(__STDC__\) && !defined\(_POSIX_SOURCE\)";
sed = "s/!defined(__STDC__) && !defined(_POSIX_SOURCE)/"
"!defined(_POSIX_SOURCE)/";
test_text = "#if !defined(__STDC__) && !defined(_POSIX_SOURCE) /* ? ! */"
"\nint foo;\n#endif";
};
/*
...
...
@@ -2506,6 +2549,7 @@ fix = {
files = time.h;
select = "uint_t[ \t][ \t]*_clocks_per_sec";
sed = "s/uint_t/unsigned int/";
test_text = "uint_t\t_clocks_per_sec;";
};
...
...
@@ -2562,6 +2606,10 @@ fix = {
"#else\n";
sed = "/char \\*class;/a\\\n"
"#endif\n";
test_text =
"struct {\n"
" char *class;\n"
"} mumble;\n";
};
...
...
@@ -2573,6 +2621,7 @@ fix = {
files = Xm/BaseClassI.h;
bypass = "__cplusplus";
sed = "s/ class[)]/ c_class)/g";
test_text = "extern mumble (int class);\n";
};
...
...
@@ -2593,6 +2642,10 @@ fix = {
"#endif\n";
sed = "s/Widget new,/Widget c_new,/g";
test_text =
"struct wedge {\n"
" Widget\told, new; /* fix the new */\n"
"};\nextern Wedged( Widget new, Widget old );";
};
...
...
@@ -2608,6 +2661,7 @@ fix = {
sed = "s,^extern char \\*\tsprintf();$,#ifndef __STDC__\\\n"
"extern char *\tsprintf();\\\n"
"#endif /* !defined __STDC__ */,";
test_text = "extern char *\tsprintf();";
};
/*EOF*/
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment