]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
check for Norcroft bug ; // comment remover portability
authorBruce Korb <autogen@autogen.freeservers.com>
Mon, 10 May 1999 07:30:06 +0000 (07:30 +0000)
committerBruce Korb <korbb@gcc.gnu.org>
Mon, 10 May 1999 07:30:06 +0000 (07:30 +0000)
From-SVN: r26853

gcc/ChangeLog
gcc/fixinc/inclhack.def

index 8e7cc8e666ed97c67e390ab45773cb141f27b8b7..50be90525cb21e8b3ebd5e0ea23e0a97828d60cf 100644 (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):
index 0ba268ceab2141a01072550fda6bf112dc436d32..1cd520fc7da32d6988f5334489db36ba22fe2b22 100644 (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
 };