Skip to content
Snippets Groups Projects
  • Mariya Podchishchaeva's avatar
    52e8f58d
    [SYCL] Diagnose uses of zero length arrays · 52e8f58d
    Mariya Podchishchaeva authored
    Adds diagnosing on attempt to use zero length arrays, pointers, refs, arrays
    of them and structs/classes containing all of it.
    In case a struct/class with zero length array is used this emits a set
    of notes pointing out how zero length array got into used struct, like
    this:
    ```
    struct ContainsArr {
      int A[0]; // note: field of illegal type declared here
    };
    struct Wrapper {
      ContainsArr F; // note: within field of type ContainsArr declared here
      // ...
    }
    
    // Device code
    Wrapper W;
    W.use(); // error: zero-length arrays are not permitted
    
    ```
    Total deep check of each used declaration may result in double
    diagnosing at the same location.
    
    Reviewed By: aaron.ballman
    
    Differential Revision: https://reviews.llvm.org/D114080
    52e8f58d
    History
    [SYCL] Diagnose uses of zero length arrays
    Mariya Podchishchaeva authored
    Adds diagnosing on attempt to use zero length arrays, pointers, refs, arrays
    of them and structs/classes containing all of it.
    In case a struct/class with zero length array is used this emits a set
    of notes pointing out how zero length array got into used struct, like
    this:
    ```
    struct ContainsArr {
      int A[0]; // note: field of illegal type declared here
    };
    struct Wrapper {
      ContainsArr F; // note: within field of type ContainsArr declared here
      // ...
    }
    
    // Device code
    Wrapper W;
    W.use(); // error: zero-length arrays are not permitted
    
    ```
    Total deep check of each used declaration may result in double
    diagnosing at the same location.
    
    Reviewed By: aaron.ballman
    
    Differential Revision: https://reviews.llvm.org/D114080
Code owners
Assign users and groups as approvers for specific file changes. Learn more.