This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: gdb/testsuite/compiler.c[c]: Identify clang
- From: Doug Evans <dje at google dot com>
- To: David Blaikie <dblaikie at gmail dot com>
- Cc: gdb-patches <gdb-patches at sourceware dot org>, Eric Christopher <echristo at gmail dot com>
- Date: Mon, 7 Apr 2014 14:16:00 -0700
- Subject: Re: gdb/testsuite/compiler.c[c]: Identify clang
- Authentication-results: sourceware.org; auth=none
- References: <CAENS6EvYff12_nS5JeLZ_B2-1rirWYdosj-4PseNktGfTtbR+Q at mail dot gmail dot com> <21315 dot 4246 dot 96784 dot 712706 at ruffy dot mtv dot corp dot google dot com> <CAENS6EsocWyv3HFb3fEKdgyRRFN4mNe-vmcgRrOPXOZrMe2QTA at mail dot gmail dot com>
On Mon, Apr 7, 2014 at 2:07 PM, David Blaikie <dblaikie@gmail.com> wrote:
> On Mon, Apr 7, 2014 at 1:54 PM, Doug Evans <dje@google.com> wrote:
>> David Blaikie writes:
>> > Adding support for the testsuite to correctly identify the clang
>> > compiler (previously it caught the generic GCC detection and was
>> > identified as GCC 4.2).
>> >
>> > This reduces some of the test failures when running the suite with
>> > Clang - for example the macro tests no longer run or fail (since
>> > they're only enabled for GCC).
>> >
>> > * compiler.c: identify the clang compiler
>> >
>> > (do I need a separate ChangeLog line for compiler.cc too? should the
>> > ChangeLog entry have the full path (gdb/testsuite/lib/compiler.c)?)
>> > diff --git gdb/testsuite/lib/compiler.c gdb/testsuite/lib/compiler.c
>> > index afa0e59..c28367b 100644
>> > --- gdb/testsuite/lib/compiler.c
>> > +++ gdb/testsuite/lib/compiler.c
>> > @@ -73,3 +73,7 @@ set need_a_set [regsub -all {\.} [join {xlc __xlc__} -] - compiler_info]
>> > #if defined (__ARMCC_VERSION)
>> > set compiler_info [join {armcc __ARMCC_VERSION} -]
>> > #endif
>> > +
>> > +#if defined (__clang__)
>> > +set compiler_info [join {clang __clang_major__ __clang_minor__ __clang_patchlevel__} -]
>> > +#endif
>> > diff --git gdb/testsuite/lib/compiler.cc gdb/testsuite/lib/compiler.cc
>> > index ee251bc..79c68b4 100644
>> > --- gdb/testsuite/lib/compiler.cc
>> > +++ gdb/testsuite/lib/compiler.cc
>> > @@ -61,3 +61,7 @@ set need_a_set [regsub -all {\.} [join {xlc __xlc__} -] - compiler_info]
>> > #if defined (__ARMCC_VERSION)
>> > set compiler_info [join {armcc __ARMCC_VERSION} -]
>> > #endif
>> > +
>> > +#if defined (__clang__)
>> > +set compiler_info [join {clang __clang_major__ __clang_minor__ __clang_patchlevel__} -]
>> > +#endif
>>
>> Hi.
>>
>> Here's a changelog entry to use for this particular case.
>> The format has lots of precise rules behind it, but Monkey-See-Monkey-Do hacking should get you most if not all of the way there.
>>
>> 2014-04-07 David Blaikie <dblaikie@gmail.com>
>>
>> * lib/compiler.c: Identify the clang compiler.
>> * lib/compiler.cc: Ditto.
>>
>> In general, all edited files need to be mentioned (though there is debate over this for some cases, wheee....), and path names are required to be relative to the directory in which the ChangeLog lives.
>> There is a convention for how to submit a changelog entry involving multiple ChangeLog files, but there's no need to go into that here.
>
> Thanks
>
> Oh, and I realized I didn't actually specify, but I don't have commit
> access to gdb so if the patch (and suggested ChangeLog) are acceptable
> it'd be great if someone could commit it for me.
>
> Thanks!
> - David
Done.