]> https://gitweb.dealii.org/ - dealii.git/commitdiff
impose a negativ-list of names we do not want to
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 29 Jun 1999 17:48:24 +0000 (17:48 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 29 Jun 1999 17:48:24 +0000 (17:48 +0000)
 have in this file. this is due to a compiler bug in
 egcs 1.1.2, which does not gracefully handle local
 template classes if their name is globally defined,
 for example

 template <int dim> struct Y;
 struct X {template <int dim> struct Y{}; };
 X::Y<1> y;

 does not work. So we filter out these classes at
 present. A better way would certainly be to only
 allow those classes into the forward-declarations.h
 file that are global, but that would mean parsing
 the include files instead of just searching for
 small bits...

git-svn-id: https://svn.dealii.org/trunk@1502 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/Make_forward_declarations

index 04167c363f1c05c1688d52295718edd49f858bc5..a44f4657f8eff7f71a90391d41f64749509f88fc 100644 (file)
@@ -74,7 +74,27 @@ sub parse_class_declarations {
                $declaration =~ s/\s\s+/ /g;
                $declaration =~ s/^\s+//g;
                $declaration =~ s/\s+$//g;
-               print $declaration, ";\n";
+
+               # impose a negativ-list of names we do not want to
+               # have in this file. this is due to a compiler bug in
+               # egcs 1.1.2, which does not gracefully handle local
+               # template classes if their name is globally defined,
+               # for example
+               #
+               # template <int dim> struct Y;
+               # struct X {template <int dim> struct Y{}; };
+               # X::Y<1> y;
+               #
+               # does not work. So we filter out these classes at 
+               # present. A better way would certainly be to only
+               # allow those classes into the forward-declarations.h
+               # file that are global, but that would mean parsing
+               # the include files instead of just searching for
+               # small bits...
+               if ( ! ($declaration =~ /EpsGrid|Patch/ ))
+               {
+                   print $declaration, ";\n";
+               }
            }
        }
     }

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.