Yeah, I saw there are also checks in SymbolFileDWARF.cpp for "id",
"Class" and "SEL" but at least those are behind ObjC language checks.
The platform we're running on doesn't support ObjC. From what I can see
these checks in ClangASTSource do no language checking so are applied to
everything regardless.
Colin
On 06/03/2014 23:07, Greg Clayton wrote:
What Jim said was true, but I believe it goes a bit further. If we are asked to lookup "id" or
"Class", we will find something in the DWARF which will cause a type to be created which isn't compatible
with the internally defined "id" and "Class" that the compiler knows about for Objective C. Then
this causes problems evaluating expressions...
What platform are you running your expressions on? We might be able to disable objective C for
platforms that don't support it (ObjC should be enabled for anything that is
"*-apple-macosx" or "*-apple-ios").
Greg
On Mar 6, 2014, at 8:41 AM, Colin Riley <[email protected]> wrote:
Hey folks,
I'm interested in the following code in ClangASTSource.cpp -
ClangASTSource::FindExternalVisibleDecls(), around line 605.
...
static ConstString id_name("id");
static ConstString Class_name("Class");
if (name == id_name || name == Class_name)
return;
...
Is this a legacy bit of ObjC early exit magic? I've been wondering why
expression evaluation was failing only ever on variables called 'id' ;) I don't
have the ability to validate implications of removal of the code on ObjC. Any
opinions on whether this is actually still needed?
Colin
--
Colin Riley
Codeplay Software Ltd
45 York Place, Edinburgh, EH1 3HP
Phone: +44 131 466 0503
Fax: +44 131 557 6600
Website: http://www.codeplay.com
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
--
Colin Riley
Codeplay Software Ltd
45 York Place, Edinburgh, EH1 3HP
Phone: +44 131 466 0503
Fax: +44 131 557 6600
Website: http://www.codeplay.com
Twitter: @codeplaysoft
This email and any attachments may contain confidential and /or privileged
information and is for use by the addressee only. If you are not the intended
recipient, please notify Codeplay Software Ltd immediately and delete the
message from your computer. You may not copy or forward it,or use or disclose
its contents to any other person. Any views or other information in this
message which do not relate to our business are not authorized by Codeplay
software Ltd, nor does this message form part of any contract unless so stated.
As internet communications are capable of data corruption Codeplay Software Ltd
does not accept any responsibility for any changes made to this message after
it was sent. Please note that Codeplay Software Ltd does not accept any
liability or responsibility for viruses and it is your responsibility to scan
any attachments.
Company registered in England and Wales, number: 04567874
Registered office: 81 Linkfield Street, Redhill RH1 6BY
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev