[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