re PR lto/44184 ("asm goto" does not work with LTO)
gcc/ PR lto/44184 * lto-streamer-out.c (output_gimple_stmt): Output number of labels in a GIMPLE_ASM. * lto-streamer-in.c (input_gimple_stmt): Read number of labels in a GIMPLE_ASM. testsuite/ PR lto/44184 * gcc.dg/lto/20100518_0.c: New test. From-SVN: r159531
This commit is contained in:
parent
1307793110
commit
174f391c12
5 changed files with 28 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
|
||||
|
||||
PR lto/44184
|
||||
* lto-streamer-out.c (output_gimple_stmt): Output number of labels
|
||||
in a GIMPLE_ASM.
|
||||
* lto-streamer-in.c (input_gimple_stmt): Read number of labels
|
||||
in a GIMPLE_ASM.
|
||||
|
||||
2010-05-18 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR debug/41371
|
||||
|
|
|
@ -1044,6 +1044,7 @@ input_gimple_stmt (struct lto_input_block *ib, struct data_in *data_in,
|
|||
stmt->gimple_asm.ni = lto_input_uleb128 (ib);
|
||||
stmt->gimple_asm.no = lto_input_uleb128 (ib);
|
||||
stmt->gimple_asm.nc = lto_input_uleb128 (ib);
|
||||
stmt->gimple_asm.nl = lto_input_uleb128 (ib);
|
||||
str = input_string_cst (data_in, ib);
|
||||
stmt->gimple_asm.string = TREE_STRING_POINTER (str);
|
||||
}
|
||||
|
|
|
@ -1702,6 +1702,7 @@ output_gimple_stmt (struct output_block *ob, gimple stmt)
|
|||
lto_output_uleb128_stream (ob->main_stream, gimple_asm_ninputs (stmt));
|
||||
lto_output_uleb128_stream (ob->main_stream, gimple_asm_noutputs (stmt));
|
||||
lto_output_uleb128_stream (ob->main_stream, gimple_asm_nclobbers (stmt));
|
||||
lto_output_uleb128_stream (ob->main_stream, gimple_asm_nlabels (stmt));
|
||||
output_string (ob, ob->main_stream, gimple_asm_string (stmt));
|
||||
/* Fallthru */
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
|
||||
|
||||
PR lto/44184
|
||||
* gcc.dg/lto/20100518_0.c: New test.
|
||||
|
||||
2010-05-18 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gnat.dg/specs/lto3.ads: Add missing dg-options.
|
||||
|
|
13
gcc/testsuite/gcc.dg/lto/20100518_0.c
Normal file
13
gcc/testsuite/gcc.dg/lto/20100518_0.c
Normal file
|
@ -0,0 +1,13 @@
|
|||
/* { dg-lto-do assemble } */
|
||||
/* Forgot to steam in/out the number of labels for asm goto. PR44184. */
|
||||
|
||||
extern int printf (__const char *__restrict __format, ...);
|
||||
|
||||
int x = 1;
|
||||
int main ()
|
||||
{
|
||||
asm goto ("decl %0; jnz %l[a]" :: "m"(x) : "memory" : a);
|
||||
printf ("Hello world\n");
|
||||
a:
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Reference in a new issue