check for Norcroft bug ; // comment remover portability

From-SVN: r26853
This commit is contained in:
Bruce Korb 1999-05-10 07:30:06 +00:00 committed by Bruce Korb
parent bf768f6402
commit c6a1d2ffbb
2 changed files with 62 additions and 4 deletions

View File

@ -1,3 +1,9 @@
Mon May 10 07:28:10 1999 Bruce Korb <autogen@autogen.freeservers.com>
* fixinc/inclhack.def(arm_norcroft_hint): check before fixing
(no_double_slash): portability
(math_exception): added reminder comment
Mon May 10 01:28:10 1999 Craig Burley <craig@jcb-sc.com>
From Fri May 7 9:31:41 1999 Donn Terry (donn@interix.com):

View File

@ -75,6 +75,7 @@ fix = {
*/
fix = {
hackname = arm_norcroft_hint;
select = "___type p_type";
files = "X11/Intrinsic.h";
sed = "s/___type p_type/p_type/";
};
@ -338,9 +339,10 @@ fix = {
* Also, only accept double slashes that are not part of URL's
* and are not the end of a quoted string.
*/
test = '-z `echo ${file} | egrep \'(cxx|\+\+)/\' `';
test = '-z `echo ${file} | egrep \'(CC|cxx|\+\+)/\' `';
select = '(^|[^:])//[^"*]';
sed = '/\(^|[^:]\)\/\/[^"*]/' "s|//.*$||g";
sed = 's,^//.*$,,';
sed = 's,[^:]//[^"].*$,,';
};
@ -832,8 +834,8 @@ fix = {
/*
* Fix non-ansi machine name defines
* This is split into two parts: the shell version as a single
* patch, and the program version with each patch separate.
* File selection is split into two parts: the shell version as
* a single patch, and the program version with each patch separate.
* Each is substantially faster for the particular environment.
* You have a dual maintenance problem here.
*/
@ -950,6 +952,56 @@ fix = {
"#ifdef __cplusplus\\\n"
"#undef exception\\\n"
"#endif\n";
#ifdef MATH_EXCEPTION_FIXED
I think this patch needs some more thinking.
This is from SVR4.2 (With '#' replaced with '@').
Perhaps we could do without the "/matherr/a" entries?
Can we bypass the entire fix if someone was astute
enough to have '#ifdef __cplusplus' anywhere in the file?
*** /usr/include/math.h Fri Apr 3 18:54:59 1998
--- math.h Sun May 9 07:28:58 1999
***************
*** 25,31 ****
--- 25,37 ----
@ifndef __cplusplus
+ @ifdef __cplusplus
+ @define exception __math_exception
+ @endif
struct exception
+ @ifdef __cplusplus
+ @undef exception
+ @endif
{
int type;
char *name;
***************
*** 34,40 ****
--- 40,58 ----
double retval;
};
+ @ifdef __cplusplus
+ @define exception __math_exception
+ @endif
+ @ifdef __cplusplus
+ @define exception __math_exception
+ @endif
extern int matherr(struct exception *);
+ @ifdef __cplusplus
+ @undef exception
+ @endif
+ @ifdef __cplusplus
+ @undef exception
+ @endif
@endif /*__cplusplus*/
#endif
};