HomePhabricator

[OpenCL] Disallow negative attribute arguments

Description

[OpenCL] Disallow negative attribute arguments

Summary:
Negative arguments in kernel attributes are silently bitcast'ed to
unsigned, for example:

__attribute__((reqd_work_group_size(1, -1, 1)))
__kernel void k() {}

is a complete equivalent of:

__attribute__((reqd_work_group_size(1, 4294967294, 1)))
__kernel void k() {}

This is likely an error, so the patch forbids negative arguments in
several OpenCL attributes. Users who really want 4294967294 can still
use it as an unsigned representation.

Reviewers: Anastasia, yaxunl, bader

Reviewed By: Anastasia, yaxunl, bader

Subscribers: bader, cfe-commits

Differential Revision: https://reviews.llvm.org/D50259

Details

Committed
asavonicSep 6 2018, 4:54 AM
Reviewer
Anastasia
Differential Revision
D50259: [OpenCL] Disallow negative attribute arguments
Parents
rL341538: [clangd] Fix data race in async fuzzyFind tests.
Branches
Unknown
Tags
Unknown