http://llvm.org/bugs/show_bug.cgi?id=13555

             Bug #: 13555
           Summary: RTTI information unavailable from shared libraries
                    only when method overriding
           Product: clang
           Version: 3.1
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected], [email protected]
    Classification: Unclassified


Created attachment 9014
  --> http://llvm.org/bugs/attachment.cgi?id=9014
Reduced XCode project files.

Summary: When a program dynamically loads a shared library and receives an
object instantiated in the shared library, if the class of the object overrides
a method the RTTI information not retrievable.  If the class of the object does
not override a method the RTTI information is available as expected.

These test cases were tested with XCode 4.3, 4.4, and 4.4.1.

Steps to Reproduce:
Attached is an XCode project.

Establishing good behavior:
Open the project and build scheme test2, the shared library.  Then build scheme
testproj, the application.  Run the application and note that it will complete
successfully, result1 and result2 are both true.

Demonstrating incorrect behavior:
Edit test3.h and uncomment "void foo () override;" Edit test3.cpp and uncomment
method c2::foo Build scheme test2, build scheme testproj.  Run testproj. 
Notice the incorrect output, result1 is false while result2 remains true.  The
RTTI was lost when overriding a method.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to