From: Wolfgang Bangerth Date: Tue, 29 Jun 1999 17:48:24 +0000 (+0000) Subject: impose a negativ-list of names we do not want to X-Git-Tag: v8.0.0~21819 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fa2d87351d2c4f1f64068db5e878d80fa839263;p=dealii.git 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 struct Y; struct X {template 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 --- diff --git a/deal.II/deal.II/Make_forward_declarations b/deal.II/deal.II/Make_forward_declarations index 04167c363f..a44f4657f8 100644 --- a/deal.II/deal.II/Make_forward_declarations +++ b/deal.II/deal.II/Make_forward_declarations @@ -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 struct Y; + # struct X {template 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"; + } } } }