Commit 3c5b4c6d by Thomas Schwinge Committed by Thomas Schwinge

[PR translation/79638] "%ntid.y" confuses gcc.pot generation

	gcc/
	* config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".

From-SVN: r245623
parent 319633cd
2017-02-21 Thomas Schwinge <thomas@codesourcery.com>
PR translation/79638
* config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".
2017-02-21 Eric Botcazou <ebotcazou@adacore.com> 2017-02-21 Eric Botcazou <ebotcazou@adacore.com>
PR ada/67205 PR ada/67205
......
...@@ -1123,13 +1123,15 @@ write_omp_entry (FILE *file, const char *name, const char *orig) ...@@ -1123,13 +1123,15 @@ write_omp_entry (FILE *file, const char *name, const char *orig)
func_decls << ".extern .func gomp_nvptx_main (.param.u" << POINTER_SIZE func_decls << ".extern .func gomp_nvptx_main (.param.u" << POINTER_SIZE
<< " %in_ar1, .param.u" << POINTER_SIZE << " %in_ar2);\n"; << " %in_ar1, .param.u" << POINTER_SIZE << " %in_ar2);\n";
} }
/* PR79332. Single out this string; it confuses gcc.pot generation. */
#define NTID_Y "%ntid.y"
#define ENTRY_TEMPLATE(PS, PS_BYTES, MAD_PS_32) "\ #define ENTRY_TEMPLATE(PS, PS_BYTES, MAD_PS_32) "\
(.param.u" PS " %arg, .param.u" PS " %stack, .param.u" PS " %sz)\n\ (.param.u" PS " %arg, .param.u" PS " %stack, .param.u" PS " %sz)\n\
{\n\ {\n\
.reg.u32 %r<3>;\n\ .reg.u32 %r<3>;\n\
.reg.u" PS " %R<4>;\n\ .reg.u" PS " %R<4>;\n\
mov.u32 %r0, %tid.y;\n\ mov.u32 %r0, %tid.y;\n\
mov.u32 %r1, %ntid.y;\n\ mov.u32 %r1, " NTID_Y ";\n\
mov.u32 %r2, %ctaid.x;\n\ mov.u32 %r2, %ctaid.x;\n\
cvt.u" PS ".u32 %R1, %r0;\n\ cvt.u" PS ".u32 %R1, %r0;\n\
" MAD_PS_32 " %R1, %r1, %r2, %R1;\n\ " MAD_PS_32 " %R1, %r1, %r2, %R1;\n\
...@@ -1157,6 +1159,7 @@ write_omp_entry (FILE *file, const char *name, const char *orig) ...@@ -1157,6 +1159,7 @@ write_omp_entry (FILE *file, const char *name, const char *orig)
static const char entry64[] = ENTRY_TEMPLATE ("64", "8", "mad.wide.u32"); static const char entry64[] = ENTRY_TEMPLATE ("64", "8", "mad.wide.u32");
static const char entry32[] = ENTRY_TEMPLATE ("32", "4", "mad.lo.u32 "); static const char entry32[] = ENTRY_TEMPLATE ("32", "4", "mad.lo.u32 ");
#undef ENTRY_TEMPLATE #undef ENTRY_TEMPLATE
#undef NTID_Y
const char *entry_1 = TARGET_ABI64 ? entry64 : entry32; const char *entry_1 = TARGET_ABI64 ? entry64 : entry32;
/* Position ENTRY_2 after the embedded nul using strlen of the prefix. */ /* Position ENTRY_2 after the embedded nul using strlen of the prefix. */
const char *entry_2 = entry_1 + strlen (entry64) + 1; const char *entry_2 = entry_1 + strlen (entry64) + 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment