aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-openmp.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.ibm.com>2020-08-12 08:02:35 +0200
committerAndreas Krebbel <krebbel@linux.ibm.com>2020-08-12 08:11:37 +0200
commit220ffae474db36ba20487427be699f0987a00b0c (patch)
tree11453d3b3153b6c1ed6b153881d8443bfd13be5f /gcc/fortran/trans-openmp.c
parent1d17c38ac1d1d916abbce14e6b2e0d61517c6e9b (diff)
downloadgcc-220ffae474db36ba20487427be699f0987a00b0c.zip
gcc-220ffae474db36ba20487427be699f0987a00b0c.tar.gz
gcc-220ffae474db36ba20487427be699f0987a00b0c.tar.bz2
IBM Z: Fix PR96308
For the testcase a symbol with a TLS reloc and an unary minus is being generated. The backend didn't handle this correctly. In s390_cannot_force_const_mem an unary minus on a symbolic constant is rejected now since gas would not allow this. legitimize_tls_address now makes the NEG rtx the outermost operation by pulling it out of the CONST rtx. gcc/ChangeLog: PR target/96308 * config/s390/s390.c (s390_cannot_force_const_mem): Reject an unary minus for everything not being a numeric constant. (legitimize_tls_address): Move a NEG out of the CONST rtx. gcc/testsuite/ChangeLog: PR target/96308 * g++.dg/pr96308.C: New test.
Diffstat (limited to 'gcc/fortran/trans-openmp.c')
0 files changed, 0 insertions, 0 deletions