]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Hopefully final comment on OSF!
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 18 Oct 2000 12:23:09 +0000 (12:23 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 18 Oct 2000 12:23:09 +0000 (12:23 +0000)
git-svn-id: https://svn.dealii.org/trunk@3448 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/platforms/dec-osf.html

index 2ae1f647dfafbcb05c87d89263e66df0ea2741a7..b91b37e6334da2b43ae8adca6824e2690db50d86 100644 (file)
     </p>
 
 
+    <p>
+    As a last note: we have experienced link problems when using the
+    ``squangle'' scheme of the compiler, with error messages like
+    <pre>
+      /usr/bin/ld:
+      Unresolved:
+      type_info::operator==(type_info const &) const
+      collect2: ld returned 1 exit status
+    </pre>
+    These errors are due to the fact that the function
+    <code class="member">type_info::operator==(const typeinfo &)</code>
+    can be squangled into the two strings
+    <code class="member">__eq__C9type_infoRC9type_info</code> and
+    <code class="member">__eq__C9type_infoRCB0</code> alike, with the
+    same meaning. The latter uses a ``back-reference'' to denote the
+    parameter with the same type as the class (this is the ``B0''
+    part, identifying the parameter type with the class type), while
+    the first version explicitely lists the parameter type. Of course,
+    the compiler should be consistent in what version it generates,
+    but it is not, unfortunately.
+    </p>
+
+    <p>
+    It is possible to work around this bug in the compiler by the
+    following small hack, which you have to compile and link in with
+    all programs that use the
+    <code class="member">type_info::operator==(const typeinfo &)</code>
+    function:
+    <pre>
+      extern "C" {
+        int __eq__C9type_infoRC9type_info (void *x1, void *x2);
+        int __eq__C9type_infoRCB0 (void *x1, void *x2) {
+          return __eq__C9type_infoRC9type_info(x1,x2);
+        };
+      };
+    </pre>
+    Note that the ``step-7'' example program uses this operator, and
+    therefore needs to be linked with this code
+    snippet. Alternatively, you can insert these lines into one of your
+    source files, if you experience the problems described above.
+    </p>
+
   </body>
 </html>

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.