echuraev added inline comments.

================
Comment at: test/SemaOpenCL/clang-builtin-version.cl:32
+  work_group_reserve_write_pipe(tmp, tmp); // expected-error{{implicit 
declaration of function 'work_group_reserve_write_pipe' is invalid in OpenCL}}
+  // expected-note@-1{{did you mean 'work_group_reserve_read_pipe'?}}
+  // expected-note@-2{{'work_group_reserve_write_pipe' declared here}}
----------------
Anastasia wrote:
> Anastasia wrote:
> > echuraev wrote:
> > > Anastasia wrote:
> > > > Why do we get this note now? I believe work_group_reserve_read_pipe 
> > > > shouldn't be available either?
> > > May be I don't understand something but I think that it is the right 
> > > diagnostic message. We called work_group_reserve_read_pipe in line 29. So 
> > > for this case we will get the following message: 
> > > //clang-builtin-version.cl: 31 error: implicit declaration of function 
> > > 'work_group_reserve_write_pipe' is invalid in OpenCL
> > > clang-builtin-version.cl: 31 note: did you mean 
> > > 'work_group_reserve_read_pipe'?
> > > clang-builtin-version.cl: 29 note: 'work_group_reserve_read_pipe' 
> > > declared here//
> > But there is an error now given for the call to 
> > 'work_group_reserve_read_pipe'. Why is it still added to the declarations? 
> > I think we should prevent this.
> Also do you know why we didn't have these notes before? I don't see anything 
> related in your change.
I run this test and got a log with errors. The full log you can find in the end 
of the message.
I think that the diagnostic messages are right. First error we get for implicit 
declaration of **//work_group_reserve_read_pipe//**. After that we call 
function **//work_group_reserve_write_pipe//** and get the same error about 
implicit declaration of function. But also we get two diagnostic messages. 
Compiler already know about **//work_group_reserve_read_pipe//** and make a 
hypothesis: "//note: did you mean 'work_group_reserve_read_pipe'?//" and 
"//note: 'work_group_reserve_read_pipe' declared here//".
As well, next we have declaration of **//work_group_commit_read_pipe//**. And 
we get an error about implicit declaration of this function and also get a note 
messages: "//note: did you mean 'work_group_reserve_read_pipe'?//" and "//note: 
'work_group_reserve_read_pipe' declared here//".


> Also do you know why we didn't have these notes before? I don't see anything 
> related in your change.

Unfortunately, I don't know why we get these notes. They have appeared when I 
changed the status of diagnostic message for implicit declaration from warning 
to error. If we had only warning messages then we wouldn't have these notes.




```
clang-builtin-version.cl:35:3: error: implicit declaration of function 
'work_group_reserve_read_pipe' is invalid in OpenCL
  work_group_reserve_read_pipe(tmp, tmp);
  ^

clang-builtin-version.cl:37:3: error: implicit declaration of function 
'work_group_reserve_write_pipe' is invalid in OpenCL
  work_group_reserve_write_pipe(tmp, tmp);
  ^
clang-builtin-version.cl:37:3: note: did you mean 
'work_group_reserve_read_pipe'?
clang-builtin-version.cl:35:3: note: 'work_group_reserve_read_pipe' declared 
here
  work_group_reserve_read_pipe(tmp, tmp);
  ^

clang-builtin-version.cl:50:3: error: implicit declaration of function 
'work_group_commit_read_pipe' is invalid in OpenCL
  work_group_commit_read_pipe(tmp, tmp);
  ^
clang-builtin-version.cl:50:3: note: did you mean 
'work_group_reserve_read_pipe'?
clang-builtin-version.cl:35:3: note: 'work_group_reserve_read_pipe' declared 
here
  work_group_reserve_read_pipe(tmp, tmp);
  ^
```


https://reviews.llvm.org/D31745



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to