[cfe-dev] codegening constants
nunoplopes at sapo.pt
Thu Aug 14 11:28:39 PDT 2008
>>>>> I've noticed that currently clang's codegen isn't marking some
>>>>> consts as
>>>>> llvm constants (e.g. const char = "foo").
>>>>> The attached patch fixes just that. As it adds some methods to
>>>>> QualType and
>>>>> Type classes, I'm sending to the list to get approval before commit.
>>>>> please comment on it! :)
>>>> The getAsArrayType* methods were moved to ASTContext for a reason...
>>>> you shouldn't be moving them back.
>>> Yep, this change should not pass the regression test suite. Nuno, did
>>> you test it?
>> Yes, and it does pass the whole regression test suite (minus one test
>> that was already failing).
>> Also, I didn't see any method in ASTContext that is appropriate to what
>> I needed. getAsArrayType() in ASTContext are (in my understanding) to
>> make new types, not to cast a Type* into an xxArrayType*.
> getAsArrayType can return a different type than passed in. Specifically,
> if you ask for the array type of a "const array of int", you will get
> back an "array of const int" instead of an "array of int".
>From my quick testing I think I was getting 'correct' results. Anyway I
include a second patch in attach that uses the methods in ASTContext. (I
dunno why I missed those on the first time..).
What do you think about this second version?
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the cfe-dev