git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Honor HP C's noreturn attribute
@ 2011-03-07 12:13 Michal Rokos
  2011-03-08 19:00 ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Michal Rokos @ 2011-03-07 12:13 UTC (permalink / raw)
  To: GIT

HP C for Integrity servers (Itanium) gained support for noreturn attribute sometime in 2006. It was released in Compiler Version A.06.10 and made available in July 2006.

The __HP_cc define detects the HP C compiler version. Precede the __GNUC__ check so it works well when compiling with HP C using -Agcc option that enables partial support for the GNU C dialect. The -Agcc defines the __GNUC__ too.

Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>

diff --git a/git-compat-util.h b/git-compat-util.h
index 9c23622..bf947b1 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -214,7 +214,10 @@ extern char *gitbasename(char *);
 #define is_dir_sep(c) ((c) == '/')
 #endif
 
-#ifdef __GNUC__
+#if __HP_cc >= 61000
+#define NORETURN __attribute__((noreturn))
+#define NORETURN_PTR
+#elif defined(__GNUC__)
 #define NORETURN __attribute__((__noreturn__))
 #define NORETURN_PTR __attribute__((__noreturn__))
 #elif defined(_MSC_VER)

--

Michal Rokos

NextSoft spol. s r.o.
Vyskočilova 1/1410
140 21 Praha 4
Czech Republic
mobile: +420 736 646 591
fax:    +420 267 224 307
e-mail: rokos@nextsoft.cz

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Honor HP C's noreturn attribute
  2011-03-07 12:13 [PATCH] Honor HP C's noreturn attribute Michal Rokos
@ 2011-03-08 19:00 ` Junio C Hamano
  2011-03-08 19:26   ` Piotr Krukowiecki
  2011-03-08 22:09   ` Michal Rokos
  0 siblings, 2 replies; 4+ messages in thread
From: Junio C Hamano @ 2011-03-08 19:00 UTC (permalink / raw)
  To: Michal Rokos; +Cc: GIT

Michal Rokos <rokos@nextsoft.cz> writes:

> HP C for Integrity servers (Itanium) gained support for noreturn
> attribute sometime in 2006. It was released in Compiler Version A.06.10
> and made available in July 2006.
>
> The __HP_cc define detects the HP C compiler version. Precede the
> __GNUC__ check so it works well when compiling with HP C using -Agcc
> option that enables partial support for the GNU C dialect. The -Agcc
> defines the __GNUC__ too.
>
> Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>

We tend to prefer new code be appended at the end of if/elif/.../then/fi
cascade when there is no strong reason to do otherwise; your log message
clearly explains why this particular #if needs to come before the existing
one.

I love it when people write a very readable log message to explain why the
patch _has_ to be the way it is.  Very good job.

Except for the overlooooooooong lines in the message, which I line-wrapped
locally before applying, that is.

Thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Honor HP C's noreturn attribute
  2011-03-08 19:00 ` Junio C Hamano
@ 2011-03-08 19:26   ` Piotr Krukowiecki
  2011-03-08 22:09   ` Michal Rokos
  1 sibling, 0 replies; 4+ messages in thread
From: Piotr Krukowiecki @ 2011-03-08 19:26 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Michal Rokos, GIT

On Tue, Mar 8, 2011 at 8:00 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Michal Rokos <rokos@nextsoft.cz> writes:
>
>> HP C for Integrity servers (Itanium) gained support for noreturn
>> attribute sometime in 2006. It was released in Compiler Version A.06.10
>> and made available in July 2006.
>>
>> The __HP_cc define detects the HP C compiler version. Precede the
>> __GNUC__ check so it works well when compiling with HP C using -Agcc
>> option that enables partial support for the GNU C dialect. The -Agcc
>> defines the __GNUC__ too.
>>
>> Signed-off-by: Michal Rokos <michal.rokos@nextsoft.cz>
>
> We tend to prefer new code be appended at the end of if/elif/.../then/fi
> cascade when there is no strong reason to do otherwise; your log message
> clearly explains why this particular #if needs to come before the existing
> one.
>
> I love it when people write a very readable log message to explain why the
> patch _has_ to be the way it is.  Very good job.

I liked it too, but it'd be even better to put the comment in the code IMO.
I don't think anyone would check the commit to see if he can change the
order of the #ifdefs ...

(So please comment in code more!)


-- 
Piotr Krukowiecki

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Honor HP C's noreturn attribute
  2011-03-08 19:00 ` Junio C Hamano
  2011-03-08 19:26   ` Piotr Krukowiecki
@ 2011-03-08 22:09   ` Michal Rokos
  1 sibling, 0 replies; 4+ messages in thread
From: Michal Rokos @ 2011-03-08 22:09 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: GIT

Dear Junio,

On 8.3.2011, at 20:00, Junio C Hamano wrote:

> Michal Rokos <rokos@nextsoft.cz> writes:
> 
>> The __HP_cc define detects the HP C compiler version. Precede the
>> __GNUC__ check so it works well when compiling with HP C using -Agcc
>> option that enables partial support for the GNU C dialect. The -Agcc
>> defines the __GNUC__ too.
> 
> I love it when people write a very readable log message to explain why the
> patch _has_ to be the way it is.  Very good job.
> 
> Except for the overlooooooooong lines in the message, which I line-wrapped
> locally before applying, that is.


thank you for your review. I will try to improve overall patch and the commit
log quality when sending something more.

Michal

--

Michal Rokos

NextSoft spol. s r.o.
Vyskočilova 1/1410
140 21 Praha 4
Czech Republic
mobile: +420 736 646 591
fax:    +420 267 224 307
e-mail: rokos@nextsoft.cz

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-03-08 22:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-07 12:13 [PATCH] Honor HP C's noreturn attribute Michal Rokos
2011-03-08 19:00 ` Junio C Hamano
2011-03-08 19:26   ` Piotr Krukowiecki
2011-03-08 22:09   ` Michal Rokos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).