On Thu, Aug 11, 2011 at 6:54 PM, Gabriel Charette <gch...@google.com> wrote:
> On Thu, Aug 11, 2011 at 12:27 AM, Richard Guenther
> <richard.guent...@gmail.com> wrote:
>> On Wed, Aug 10, 2011 at 8:22 PM, Gabriel Charette <gch...@google.com> wrote:
>>> There was a bug where c_finish_options would create some builtins and 
>>> assign them source_locations in the linemap other than BUILTINS_LOCATION == 
>>> 1.
>>>
>>> Thus, when calling DECL_IS_BUILTIN to know if a decl is a builtin, some of 
>>> them would return false as they had a source_location other than 
>>> BUILTINS_LOCATION within the line_map entry that was incorrectly created in 
>>> c_finish_options.
>>
>> DECL_IS_BUILTIN is almost never the appropriate thing to use, instead
>> you should use DECL_BUILT_IN (and grepping, I see some suspicious uses
>> ...).
>
> Why don't all builtins have BUILTINS_LOCATION as their location? It
> doesn't make sense to me that we need to create a line_table entry for
> builtins as they don't have line/col information.

Because we want the source location of the actual declaration if there was any,
like when including math.h.

Richard.

> Gabriel
>

Reply via email to