[llvm-commits] [llvm-gcc-4.2] r61874 - in /llvm-gcc-4.2/trunk/gcc: llvm-debug.cpp testsuite/llvm.objc/2009-01-07-dwarf.m

Devang Patel dpatel at apple.com
Wed Jan 7 11:19:22 PST 2009


Author: dpatel
Date: Wed Jan  7 13:19:22 2009
New Revision: 61874

URL: http://llvm.org/viewvc/llvm-project?rev=61874&view=rev
Log:

Sometimes, objective-c creates multiple tree nodes for "id". In such cases, only the main variant tree node has all the info. 

If a type node's main variant is neither used for typedef nor for qualified types then reuse main varinat type.

Added:
    llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2009-01-07-dwarf.m
Modified:
    llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp

Modified: llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp?rev=61874&r1=61873&r2=61874&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp Wed Jan  7 13:19:22 2009
@@ -387,6 +387,10 @@
     return Ty;
   }
 
+  // If, for some reason, main type varaint type is seen then use it.
+  if (!MainTy.isNull())
+    return MainTy;
+
   // Work out details of type.
   switch (TREE_CODE(type)) {
     case ERROR_MARK:

Added: llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2009-01-07-dwarf.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2009-01-07-dwarf.m?rev=61874&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2009-01-07-dwarf.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/llvm.objc/2009-01-07-dwarf.m Wed Jan  7 13:19:22 2009
@@ -0,0 +1,15 @@
+/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-options "-g" } */
+
+ at protocol MyProtocol
+- (void) method;
+ at end
+
+ at interface MyClass
+ at end
+
+int main()
+{
+  id <MyProtocol> obj_p =  ((void *)0);
+  return 0;
+}





More information about the llvm-commits mailing list