This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Modify gcc for use with gdb (issue5132047)


On Wed, Oct 5, 2011 at 8:51 PM, Diego Novillo <dnovillo@google.com> wrote:
> On Wed, Oct 5, 2011 at 14:20, Mike Stump <mikestump@comcast.net> wrote:
>> On Oct 5, 2011, at 6:18 AM, Diego Novillo wrote:
>>> I think we need to find a solution for this situation.
>>
>> The solution Apple found and implemented is a __nodebug__ attribute, as can be seen in Apple's gcc.
>>
>> We use it like so:
>>
>> #define __always_inline__ __always_inline__, __nodebug__
>> #undef __always_inline__
>>
>> in headers like mmintrn.h:
>>
>> __STATIC_INLINE void __attribute__((__always_inline__))
>> /* APPLE LOCAL end radar 5618945 */
>> _mm_empty (void)
>> {
>> ?__builtin_ia32_emms ();
>> }
>
> Ah, nice. ?Though, one of the things I am liking more and more about
> the blacklist solution is that it (a) does not need any modifications
> to the source code, and (b) it works with no-inline functions as well.
>
> This gives total control to the developer. ?I would blacklist a bunch
> of functions I never care to go into, for instance. ?Others may choose
> to blacklist a different set. ?And you can change that from debug
> session to the next.
>
> I agree with Jakub that artificial functions should be blacklisted
> automatically, however.
>
> Richi, Jakub, if the blacklist solution was implemented in GCC would
> you agree with promoting these macros into inline functions? ?This is
> orthogonal to http://sourceware.org/bugzilla/show_bug.cgi?id=13263, of
> course.

I know you are on to that C++ thing and ending up returning a reference
to make it an lvalue.  Which I very much don't like (please, if you go
that route add _set functions and lower the case of the macros).

What's the other advantage of using inline functions?  The gdb
annoyance with the macros can be solved with the .gdbinit macro
defines (which might be nice to commit to SVN btw).

Richard.

>
> Thanks. ?Diego.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]