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
a8228686
Commit
a8228686
authored
May 20, 2000
by
Bruce Korb
Committed by
Bruce Korb
May 20, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
yet more applications of c_fix=format + tests
From-SVN: r34055
parent
fbd40359
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
228 additions
and
101 deletions
+228
-101
gcc/ChangeLog
+1
-0
gcc/fixinc/check.diff
+88
-12
gcc/fixinc/fixincl.x
+69
-50
gcc/fixinc/inclhack.def
+70
-39
No files found.
gcc/ChangeLog
View file @
a8228686
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
*
fixinc
/
inclhack
.
def
:
more
applications
of
c_fix
=
format
+
tests
*
fixinc
/
inclhack
.
def
:
more
applications
of
c_fix
=
format
+
tests
*
fixinc
/
check
.
diff
:
regenerated
*
fixinc
/
check
.
diff
:
regenerated
*
fixinc
/
fixincl
.
x
:
regenerated
Sat
May
20
09
:
30
:
55
2000
Richard
Kenner
<
kenner
@vlsi1
.
ultra
.
nyu
.
edu
>
Sat
May
20
09
:
30
:
55
2000
Richard
Kenner
<
kenner
@vlsi1
.
ultra
.
nyu
.
edu
>
gcc/fixinc/check.diff
View file @
a8228686
...
@@ -81,6 +81,36 @@
...
@@ -81,6 +81,36 @@
};
};
! extern Wedged( Widget c_new, Widget old );
! extern Wedged( Widget c_new, Widget old );
#endif /* X11_NEW_CHECK */
#endif /* X11_NEW_CHECK */
*** inc/ansi/math.h
--- res/ansi/math.h
***************
*** 1,5 ****
#if defined( NEXT_MATH_PREFIX_CHECK )
! extern double __const__ mumble();
#endif /* NEXT_MATH_PREFIX_CHECK */
--- 1,5 ----
#if defined( NEXT_MATH_PREFIX_CHECK )
! extern double mumble();
#endif /* NEXT_MATH_PREFIX_CHECK */
*** inc/ansi/stdlib.h
--- res/ansi/stdlib.h
***************
*** 1,5 ****
#if defined( NEXT_VOLITILE_CHECK )
! extern volatile void abort();
#endif /* NEXT_VOLITILE_CHECK */
--- 1,5 ----
#if defined( NEXT_VOLITILE_CHECK )
! extern void abort();
#endif /* NEXT_VOLITILE_CHECK */
*** inc/assert.h
*** inc/assert.h
--- res/assert.h
--- res/assert.h
***************
***************
...
@@ -109,6 +139,21 @@
...
@@ -109,6 +139,21 @@
+ #endif /* FIXINC_BROKEN_ASSERT_STDIO_CHECK */
+ #endif /* FIXINC_BROKEN_ASSERT_STDIO_CHECK */
+
+
+ #endif /* FIXINC_BROKEN_ASSERT_STDLIB_CHECK */
+ #endif /* FIXINC_BROKEN_ASSERT_STDLIB_CHECK */
*** inc/bsd/libc.h
--- res/bsd/libc.h
***************
*** 1,5 ****
#if defined( NEXT_TEMPLATE_CHECK )
! extern mumble( char * template); /* fix */
#endif /* NEXT_TEMPLATE_CHECK */
--- 1,5 ----
#if defined( NEXT_TEMPLATE_CHECK )
! extern mumble( char *); /* fix */
#endif /* NEXT_TEMPLATE_CHECK */
*** inc/c_asm.h
*** inc/c_asm.h
--- res/c_asm.h
--- res/c_asm.h
***************
***************
...
@@ -235,10 +280,25 @@
...
@@ -235,10 +280,25 @@
# define DBL_DIG 0 /* somthin' */
# define DBL_DIG 0 /* somthin' */
+ #endif
+ #endif
#endif /* LIMITS_IFNDEFS_CHECK */
#endif /* LIMITS_IFNDEFS_CHECK */
*** inc/machine/ansi.h
--- res/machine/ansi.h
***************
*** 1,5 ****
#if defined( MACHINE_ANSI_H_VA_LIST_CHECK )
! # define _BSD_VA_LIST_ char**
#endif /* MACHINE_ANSI_H_VA_LIST_CHECK */
--- 1,5 ----
#if defined( MACHINE_ANSI_H_VA_LIST_CHECK )
! # define _BSD_VA_LIST_ __builtin_va_list
#endif /* MACHINE_ANSI_H_VA_LIST_CHECK */
*** inc/math.h
*** inc/math.h
--- res/math.h
--- res/math.h
***************
***************
*** 1,4
4
****
*** 1,4
1
****
#if defined( BROKEN_CABS_CHECK )
#if defined( BROKEN_CABS_CHECK )
...
@@ -280,10 +340,7 @@
...
@@ -280,10 +340,7 @@
#endif /* M88K_BAD_HYPOT_OPT_CHECK */
#endif /* M88K_BAD_HYPOT_OPT_CHECK */
#if defined( MATH_EXCEPTION_CHECK )
--- 1,61 ----
typedef struct exception t_math_exception;
#endif /* MATH_EXCEPTION_CHECK */
--- 1,69 ----
+ #ifndef FIXINC_MATH_EXCEPTION_CHECK
+ #ifndef FIXINC_MATH_EXCEPTION_CHECK
+ #define FIXINC_MATH_EXCEPTION_CHECK 1
+ #define FIXINC_MATH_EXCEPTION_CHECK 1
+
+
...
@@ -345,9 +402,16 @@
...
@@ -345,9 +402,16 @@
#endif /* M88K_BAD_HYPOT_OPT_CHECK */
#endif /* M88K_BAD_HYPOT_OPT_CHECK */
#if defined( MATH_EXCEPTION_CHECK )
***************
typedef struct exception t_math_exception;
*** 45,49 ****
#endif /* MATH_EXCEPTION_CHECK */
--- 65,76 ----
#if defined( MATH_HUGE_VAL_IFNDEF_CHECK )
+ #ifndef HUGE_VAL
# define HUGE_VAL 3.4e+40
+ #endif
#endif /* MATH_HUGE_VAL_IFNDEF_CHECK */
+ #ifdef __cplusplus
+ #ifdef __cplusplus
+ #undef exception
+ #undef exception
+ #endif
+ #endif
...
@@ -469,7 +533,7 @@
...
@@ -469,7 +533,7 @@
*** inc/stdlib.h
*** inc/stdlib.h
--- res/stdlib.h
--- res/stdlib.h
***************
***************
*** 1,
7
****
*** 1,
12
****
#if defined( ARM_WCHAR_CHECK )
#if defined( ARM_WCHAR_CHECK )
...
@@ -477,7 +541,12 @@
...
@@ -477,7 +541,12 @@
! # define __wchar_t short
! # define __wchar_t short
# endif /* __wchar_t */
# endif /* __wchar_t */
#endif /* ARM_WCHAR_CHECK */
#endif /* ARM_WCHAR_CHECK */
--- 1,7 ----
#if defined( NEWS_OS_RECURSION_CHECK )
#include <stdlib.h>
#endif /* NEWS_OS_RECURSION_CHECK */
--- 1,14 ----
#if defined( ARM_WCHAR_CHECK )
#if defined( ARM_WCHAR_CHECK )
...
@@ -485,6 +554,13 @@
...
@@ -485,6 +554,13 @@
! # define _GCC_WCHAR_T short
! # define _GCC_WCHAR_T short
# endif /* __wchar_t */
# endif /* __wchar_t */
#endif /* ARM_WCHAR_CHECK */
#endif /* ARM_WCHAR_CHECK */
#if defined( NEWS_OS_RECURSION_CHECK )
+ #ifdef BOGUS_RECURSION
#include <stdlib.h>
+ #endif
#endif /* NEWS_OS_RECURSION_CHECK */
*** inc/sundev/vuid_event.h
*** inc/sundev/vuid_event.h
--- res/sundev/vuid_event.h
--- res/sundev/vuid_event.h
***************
***************
...
@@ -729,7 +805,7 @@
...
@@ -729,7 +805,7 @@
*** inc/testing.h
*** inc/testing.h
--- res/testing.h
--- res/testing.h
***************
***************
*** 1,3
5
****
*** 1,3
6
****
#if defined( CTRL_QUOTES_DEF_CHECK )
#if defined( CTRL_QUOTES_DEF_CHECK )
...
@@ -763,7 +839,7 @@
...
@@ -763,7 +839,7 @@
#define NULL ((void*)0)
#define NULL ((void*)0)
#endif /* UNDEFINE_NULL_CHECK */
#endif /* UNDEFINE_NULL_CHECK */
--- 1,
39
----
--- 1,
40
----
#if defined( CTRL_QUOTES_DEF_CHECK )
#if defined( CTRL_QUOTES_DEF_CHECK )
...
...
gcc/fixinc/fixincl.x
View file @
a8228686
This diff is collapsed.
Click to expand it.
gcc/fixinc/inclhack.def
View file @
a8228686
...
@@ -611,8 +611,11 @@ fix = {
...
@@ -611,8 +611,11 @@ fix = {
hackname = arm_wchar;
hackname = arm_wchar;
files = stdlib.h;
files = stdlib.h;
select = "#[ \t]*define[ \t]*__wchar_t";
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/";
c_fix = format;
c_fix_arg = "%1_GCC_WCHAR_T";
c_fix_arg = "(#[ \t]*(ifndef|define)[ \t]+)__wchar_t";
test_text =
test_text =
"# ifndef \t __wchar_t /* we don't have wchar_t yet, ... */\n"
"# ifndef \t __wchar_t /* we don't have wchar_t yet, ... */\n"
"# define __wchar_t short\n"
"# define __wchar_t short\n"
...
@@ -651,6 +654,7 @@ fix = {
...
@@ -651,6 +654,7 @@ fix = {
files = tinfo.h;
files = tinfo.h;
select = "#[ \t]*define[ \t]+bool[ \t]";
select = "#[ \t]*define[ \t]+bool[ \t]";
bypass = "we must use the C\\+\\+ compiler's type";
c_fix = format;
c_fix = format;
c_fix_arg = "#ifndef __cplusplus\n%0\n#endif";
c_fix_arg = "#ifndef __cplusplus\n%0\n#endif";
...
@@ -667,6 +671,7 @@ fix = {
...
@@ -667,6 +671,7 @@ fix = {
files = tinfo.h;
files = tinfo.h;
select = "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
select = "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
bypass = "we must use the C\\+\\+ compiler's type";
c_fix = format;
c_fix = format;
c_fix_arg = "#ifndef __cplusplus\n%0\n#endif";
c_fix_arg = "#ifndef __cplusplus\n%0\n#endif";
...
@@ -684,6 +689,12 @@ fix = {
...
@@ -684,6 +689,12 @@ fix = {
* properly in most cases, they don't allow you to take a pointer to the
* properly in most cases, they don't allow you to take a pointer to the
* "something" being modified. To get around this limitation, change these
* "something" being modified. To get around this limitation, change these
* statements to be of the form '#define something _FOOsomething'.
* statements to be of the form '#define something _FOOsomething'.
*
* sed ain't egrep, lesson 2463: sed can use self-referential
* regular expressions. In the substitute expression below,
* "\\1" and "\\2" refer to subexpressions found earlier in the
* same match. So, we continue to use sed. "extern_prefix" will
* be a rare match anyway...
*/
*/
fix = {
fix = {
hackname = bad_lval;
hackname = bad_lval;
...
@@ -1096,7 +1107,10 @@ fix = {
...
@@ -1096,7 +1107,10 @@ fix = {
hackname = hpux_systime;
hackname = hpux_systime;
files = sys/time.h;
files = sys/time.h;
select = "^extern struct sigevent;";
select = "^extern struct sigevent;";
sed = "s/^extern struct sigevent;/struct sigevent;/";
c_fix = format;
c_fix_arg = "struct sigevent;";
test_text = 'extern struct sigevent;';
test_text = 'extern struct sigevent;';
};
};
...
@@ -1210,10 +1224,9 @@ fix = {
...
@@ -1210,10 +1224,9 @@ fix = {
bypass = "ifndef[ \t]+FLT_MIN";
bypass = "ifndef[ \t]+FLT_MIN";
c_fix = format;
c_fix = format;
c_fix_arg = "#ifndef %1\n%0
#endif\n
";
c_fix_arg = "#ifndef %1\n%0
\n#endif
";
c_fix_arg = "^[ \t]*#[ \t]*define[ \t]+"
c_fix_arg = "^[ \t]*#[ \t]*define[ \t]+"
"((FLT|DBL)_(MIN|MAX|DIG))"
"((FLT|DBL)_(MIN|MAX|DIG))[ \t].*";
"[ \t][^\n]*\n";
test_text = " #\tdefine\tDBL_DIG \t 0 /* somthin' */";
test_text = " #\tdefine\tDBL_DIG \t 0 /* somthin' */";
};
};
...
@@ -1312,10 +1325,14 @@ fix = {
...
@@ -1312,10 +1325,14 @@ fix = {
fix = {
fix = {
hackname = machine_ansi_h_va_list;
hackname = machine_ansi_h_va_list;
files = machine/ansi.h;
files = machine/ansi.h;
select =
'_BSD_VA_LIST_'
;
select =
"define[ \t]+_BSD_VA_LIST_[ \t]"
;
bypass = '__builtin_va_list';
bypass = '__builtin_va_list';
sed = "s/\\(_BSD_VA_LIST_[ \t][ \t]*\\).*$/\\1__builtin_va_list/";
c_fix = format;
c_fix_arg = "%1__builtin_va_list";
c_fix_arg = "(define[ \t]+_BSD_VA_LIST_[ \t]+).*";
test_text = " # define _BSD_VA_LIST_\tchar**";
};
};
...
@@ -1326,11 +1343,10 @@ fix = {
...
@@ -1326,11 +1343,10 @@ fix = {
hackname = machine_name;
hackname = machine_name;
c_test = machine_name;
c_test = machine_name;
c_fix = machine_name;
c_fix = machine_name;
test_text =
test_text = "/* MACH_DIFF: */\n"
"#if /* MACH_DIFF: */ \\\n"
"#if defined( i386 )"
"\t defined( i386 ) \\\n"
" || defined( sparc )"
"\t|| defined( sparc ) /*\n"
"\n/* no uniform test, so be careful :-) */";
"no uniform test, so be careful :-) */";
};
};
...
@@ -1347,7 +1363,7 @@ fix = {
...
@@ -1347,7 +1363,7 @@ fix = {
hackname = math_exception;
hackname = math_exception;
files = math.h;
files = math.h;
select = "struct exception";
select = "struct exception";
bypass =
"We have a problem when using C\\+\\+"
;
bypass =
'We have a problem when using C\+\+'
;
c_fix = wrap;
c_fix = wrap;
c_fix_arg = "#ifdef __cplusplus\n"
c_fix_arg = "#ifdef __cplusplus\n"
...
@@ -1361,6 +1377,13 @@ fix = {
...
@@ -1361,6 +1377,13 @@ fix = {
test_text = "typedef struct exception t_math_exception;";
test_text = "typedef struct exception t_math_exception;";
};
};
/*
* This looks pretty broken to me. ``dbl_max_def'' will contain
* "define DBL_MAX " at the start, when what we really want is just
* the value portion. Can't figure out how to write a test case
* for this either :-(
*/
fix = {
fix = {
hackname = math_huge_val_from_dbl_max;
hackname = math_huge_val_from_dbl_max;
files = math.h;
files = math.h;
...
@@ -1387,16 +1410,21 @@ fix = {
...
@@ -1387,16 +1410,21 @@ fix = {
"\tfi";
"\tfi";
};
};
/*
/*
* In any case, put #ifndef .. #endif around #define HUGE_VAL in math.h.
* In any case, put #ifndef .. #endif around #define HUGE_VAL in math.h.
*/
*/
fix = {
fix = {
hackname = math_huge_val_ifndef;
hackname = math_huge_val_ifndef;
files = math.h;
files = math/math.h;
files = math/math.h;
select = "define[ \t]
*
HUGE_VAL";
select = "define[ \t]
+
HUGE_VAL";
sed = "/define[ \t]HUGE_VAL[ \t]/i\\\n#ifndef HUGE_VAL\n";
c_fix = format;
sed = "/define[ \t]HUGE_VAL[ \t]/a\\\n#endif\n";
c_fix_arg = "#ifndef HUGE_VAL\n%0\n#endif";
c_fix_arg = "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*";
test_text = "# define\tHUGE_VAL 3.4e+40";
};
};
...
@@ -1457,11 +1485,11 @@ fix = {
...
@@ -1457,11 +1485,11 @@ fix = {
fix = {
fix = {
hackname = news_os_recursion;
hackname = news_os_recursion;
files = stdlib.h;
files = stdlib.h;
select =
"#include <stdlib.h>"
;
select =
'#include <stdlib\.h>'
;
sed = "/^#include <stdlib.h>/i\\\n"
"#ifdef BOGUS_RECURSION\n"
;
c_fix = format
;
sed = "/^#include <stdlib.h>/a\\\n"
c_fix_arg = "#ifdef BOGUS_RECURSION\n%0\n#endif";
"#endif\n
";
test_text = "#include <stdlib.h>
";
};
};
...
@@ -1470,32 +1498,32 @@ fix = {
...
@@ -1470,32 +1498,32 @@ fix = {
* These conflict with the built-in functions.
* These conflict with the built-in functions.
*/
*/
fix = {
fix = {
hackname = next_math_prefix;
hackname = next_math_prefix;
files = ansi/math.h;
files = ansi/math.h;
select = "^extern.*double.*__const__.*";
select = "^extern[ \t]+double[ \t]+__const__[ \t]";
c_fix = format;
c_fix_arg = "extern double %1(";
c_fix_arg = "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(";
sed = "/^extern.*double.*__const__.*sqrt(/s/__const__//";
test_text = "extern\tdouble\t__const__\tmumble();";
sed = "/^extern.*double.*__const__.*fabs(/s/__const__//";
sed = "/^extern.*double.*__const__.*cos(/s/__const__//";
sed = "/^extern.*double.*__const__.*hypot(/s/__const__//";
sed = "/^extern.*double.*__const__.*sin(/s/__const__//";
};
};
/*
/*
* NeXT 3.2 uses the word "template" as a parameter for some
* NeXT 3.2 uses the word "template" as a parameter for some
* functions. GCC reports an invalid use of a reserved key word
* functions. GCC reports an invalid use of a reserved key word
* with the built-in functions. NeXT 3.2 includes the keyword
* with the built-in functions.
* volatile in the prototype for abort(). This conflicts with
* the built-in definition.
*/
*/
fix = {
fix = {
hackname = next_template;
hackname = next_template;
files = bsd/libc.h;
files = bsd/libc.h;
select =
template
;
select =
"[ \t]template\\)"
;
sed = '/\(.*template\)/s/template//';
c_fix = format;
sed = "/extern.*volatile.*void.*abort/s/volatile//";
c_fix_arg = "(%1)";
c_fix_arg = "\\(([^)]*)[ \t]template\\)";
test_text = "extern mumble( char * template); /* fix */";
};
};
...
@@ -1506,10 +1534,13 @@ fix = {
...
@@ -1506,10 +1534,13 @@ fix = {
fix = {
fix = {
hackname = next_volitile;
hackname = next_volitile;
files = ansi/stdlib.h;
files = ansi/stdlib.h;
select = volatile;
select = "^extern[ \t]+volatile[ \t]+void[ \t]";
c_fix = format;
c_fix_arg = "extern void %1(";
c_fix_arg = "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(";
sed = "/extern.*volatile.*void.*exit/s/volatile//";
test_text = "extern\tvolatile\tvoid\tabort();";
sed = "/extern.*volatile.*void.*abort/s/volatile//";
};
};
...
...
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