This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] fixinclude for Tru64's PTHREAD_MUTEX_INITIALIZER
- From: Bruce Korb <bkorb at veritas dot com>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 20 Nov 2004 22:34:39 -0800
- Subject: Re: [PATCH] fixinclude for Tru64's PTHREAD_MUTEX_INITIALIZER
- Organization: Home
- References: <Pine.LNX.4.44.0411201600010.6088-100000@www.eyesopen.com>
Roger Sayle wrote:
>
> Tru64's pthread.h contains incorrect definitions of the initialization
> macros PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER and related
Smells like Solaris. :-)
> Ok for mainline and the 3.4 branch?
Yes, but you will need to protect the CVS keywords, or they'll
show up as the keywords from the "inclhack.def" file. Not
what you want. Some guidance for the select clause below,
the "test-text" I'll leave to you:
> + select = " \\* @\\(#\\)\\$RCSfile: pthread\\.h,v \\$"
> + " \\$Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\)"
> + " \\$Date: 2000/08/15 15:30:13 \\$";
select = ' \* @\(#\)\$' 'RCSfile: pthread\.h,v \$'
' \$' 'Revision: 1\.1\.33\.21 \$ \(DEC\)'
' \$' 'Date: 2000/08/15 15:30:13 \$';
Thank you! - Bruce
> + mach = "alpha*-dec-osf*";
> + sed = "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n"
> + "s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n"
> + "s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n"
> + "s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n"
> + "s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n"
> + "s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n";
> + test_text = "/*\n"
> + " * @(#)\\$RCSfile: pthread.h,v \\$ \\$Revision: 1.1.33.21"
> + " \\$ (DEC) \\$Date: 2000/08/15 15:30:13 \\$\n"
> + " */\n"
> + "#ifndef _PTHREAD_NOMETER_STATIC\n"
> + "# define PTHREAD_MUTEX_INITIALIZER \\\n"
> + " {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA}\n"
> + "# define PTHREAD_COND_INITIALIZER \\\n"
> + " {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA}\n"
> + "# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \\\n"
> + " {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}\n"
> + "# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \\\n"
> + " {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}\n"
> + "#else\n"
> + "# define PTHREAD_MUTEX_INITIALIZER {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA}\n"
> + "# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \\\n"
> + " {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}\n"
> + "# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \\\n"
> + " {0, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}\n"
> + "#endif\n\n"
> + "#define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA}\n"
> + "#define PTHREAD_RWLOCK_INITWITHNAME_NP(_n_,_a_) \\\n"
> + " {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA, _n_, _a_}\n";
> + };