https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88703
--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> --- Author: vries Date: Sat Jan 12 10:27:12 2019 New Revision: 267877 URL: https://gcc.gnu.org/viewcvs?rev=267877&root=gcc&view=rev Log: [nvptx] Verify dimension limits after applying defaults There's a problem in oacc_validate_dims that when f.i. the worker dimension is set using -fopenacc-dim=:32, and the vector_length is set using a "vector_length (128)" clause, the compiler combines, accepts and emits the values, while the combination of the two is invalid. The reason for this is that while oacc_validate_dims validates the dimensions using targetm.goacc.validate_dims before applying default or minimum values, it does not do so afterwards. Work around this in the nvptx port by applying the defaults from oacc_default_dims at the end of nvptx_goacc_validate_dims_1, as oacc_validate_dims would do it, and then apply the dimensions limits. 2019-01-12 Tom de Vries <tdevr...@suse.de> PR middle-end/88703 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults from oacc_default_dims, as oacc_validate_dims would do it, and apply dimensions limits. Modified: trunk/gcc/ChangeLog trunk/gcc/config/nvptx/nvptx.c