* inclhack.def (solaris_mutex_init_2): Update for Solaris9.
Prevent it from running on solaris10 or later.
(solaris_once_init_2): Fix comment.
* tests/base/pthread.h: Update.
* fixincl.x: Regenerate.
From-SVN: r117310
+2006-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * inclhack.def (solaris_mutex_init_2): Update for Solaris9.
+ Prevent it from running on solaris10 or later.
+ (solaris_once_init_2): Fix comment.
+ * tests/base/pthread.h: Update.
+
+ * fixincl.x: Regenerate.
+
2006-09-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* inclhack.def (solaris_once_init_2): New fix.
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
- * It has been AutoGen-ed Wednesday September 27, 2006 at 08:16:42 PM EDT
+ * It has been AutoGen-ed Thursday September 28, 2006 at 11:06:33 PM EDT
* From the definitions inclhack.def
* and the template file fixincl
*/
-/* DO NOT CVS-MERGE THIS FILE, EITHER Wed Sep 27 20:16:42 EDT 2006
+/* DO NOT CVS-MERGE THIS FILE, EITHER Thu Sep 28 23:06:33 EDT 2006
*
* You must regenerate it. Use the ./genfixes script.
*
/*
* Machine/OS name selection pattern
*/
-#define apzSolaris_Mutex_Init_2Machs (const char**)NULL
+tSCC* apzSolaris_Mutex_Init_2Machs[] = {
+ "*-*-solaris2.[0-9]",
+ "*-*-solaris2.[0-9][!0-9]*",
+ (const char*)NULL };
/*
* content selection pattern - do fix if pattern found
"#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
%0\n\
#else\n\
-%1, {0}}%3\n\
+%1, {0}}%4\n\
#endif",
- "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
+ "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+(|/*.**/[ \t]*\\\\\n\
+[ \t]*)\\{.*),[ \t]*0\\}(|[ \t].*)$",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
hackname = solaris_mutex_init_2;
select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
files = pthread.h;
+ /*
+ * On Solaris 10, this fix is unnecessary because upad64_t is
+ * always defined correctly regardless of the definition of the
+ * __STDC__ macro. The first "mach" pattern matches up to
+ * solaris9. The second "mach" pattern will not match any two (or
+ * more) digit solaris version, but it will match e.g. 2.5.1.
+ */
+ mach = '*-*-solaris2.[0-9]', '*-*-solaris2.[0-9][!0-9]*';
c_fix = format;
c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n"
"%0\n"
"#else\n"
- "%1, {0}}%3\n"
+ "%1, {0}}%4\n"
"#endif";
- c_fix_arg = "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*)"
+ c_fix_arg = "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+"
+ "(|/\*.*\*/[ \t]*\\\\\n[ \t]*)\\{.*)"
",[ \t]*0\\}" "(|[ \t].*)$";
test_text =
'#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n"
"#define PTHREAD_MUTEX_INITIALIZER\t{{{0},0}, {{{0}}}, 0}\n"
- "#define PTHREAD_COND_INITIALIZER\t{{{0}, 0}, 0}\t/* DEFAULTCV */";
+ "#define PTHREAD_COND_INITIALIZER\t{{{0}, 0}, 0}\t/* DEFAULTCV */\n"
+ "#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \\\\\n"
+ " {{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, 0}\n"
+ "#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \\\\\n"
+ " {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}";
};
/*
* On Solaris 10, this fix is unnecessary because upad64_t is
* always defined correctly regardless of the definition of the
- * __STDC__ macro. The first "match" pattern matches up to
+ * __STDC__ macro. The first "mach" pattern matches up to
* solaris9. The second "mach" pattern will not match any two (or
* more) digit solaris version, but it will match e.g. 2.5.1.
*/
#else
#define PTHREAD_COND_INITIALIZER {{{0}, 0}, {0}} /* DEFAULTCV */
#endif
+#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
+#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \
+ {{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, 0}
+#else
+#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \
+ {{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, {0}}
+#endif
+#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
+#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \
+ {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}
+#else
+#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \
+ {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, {0}}
+#endif
#endif /* SOLARIS_MUTEX_INIT_2_CHECK */