s390.c (s390_asm_output_function_label): Fix crash caused by bad second argument to warning_at() with -mhotpatch and...
2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/s390/s390.c (s390_asm_output_function_label): Fix crash caused by bad second argument to warning_at() with -mhotpatch and nested functions (e.g. with gfortran). 2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com> * gcc.target/s390/hotpatch-compile-8.c: New test. From-SVN: r207753
This commit is contained in:
parent
37eb01c282
commit
e697d1191c
4 changed files with 35 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||||
|
||||
* config/s390/s390.c (s390_asm_output_function_label): Fix crash
|
||||
caused by bad second argument to warning_at() with -mhotpatch and
|
||||
nested functions (e.g. with gfortran).
|
||||
|
||||
2014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* opts.c (option_name): Remove "enabled by default" rider.
|
||||
|
|
|
@ -5305,9 +5305,8 @@ s390_asm_output_function_label (FILE *asm_out_file, const char *fname,
|
|||
if (hotpatch_trampoline_halfwords >= 0
|
||||
&& decl_function_context (decl) != NULL_TREE)
|
||||
{
|
||||
warning_at (0, DECL_SOURCE_LOCATION (decl),
|
||||
"hotpatch_prologue is not compatible with nested"
|
||||
" function");
|
||||
warning_at (DECL_SOURCE_LOCATION (decl), OPT_mhotpatch,
|
||||
"hotpatching is not compatible with nested functions");
|
||||
hotpatch_trampoline_halfwords = -1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||||
|
||||
* gcc.target/s390/hotpatch-compile-8.c: New test.
|
||||
|
||||
2014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* gcc.dg/pr59605.c: Convert to a compile test. Protect MAX_COPY
|
||||
|
|
23
gcc/testsuite/gcc.target/s390/hotpatch-compile-8.c
Normal file
23
gcc/testsuite/gcc.target/s390/hotpatch-compile-8.c
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* Functional tests for the function hotpatching feature. */
|
||||
|
||||
/* { dg-do run } */
|
||||
/* { dg-options "-O3 -mzarch -mhotpatch" } */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int hp1(void)
|
||||
{
|
||||
int nested1(void) /* { dg-warning "hotpatching is not compatible with nested functions" } */
|
||||
{ return 1; }
|
||||
|
||||
__attribute__ ((hotpatch))
|
||||
int nested2(void) /* { dg-warning "hotpatching is not compatible with nested functions" } */
|
||||
{ return 1; }
|
||||
|
||||
return nested1() - nested2();
|
||||
}
|
||||
|
||||
int main (void)
|
||||
{
|
||||
return hp1();
|
||||
}
|
Loading…
Add table
Reference in a new issue