Eli Bendersky
9a220fca4a
CUDA: Fix incorrect target inference for implicit members.
...
As PR20495 demonstrates, Clang currenlty infers the CUDA target (host/device,
etc) for implicit members (constructors, etc.) incorrectly. This causes errors
and even assertions in Clang when compiling code (assertions in C++11 mode where
implicit move constructors are added into the mix).
Fix the problem by inferring the target from the methods the implicit member
should call (depending on its base classes and fields).
llvm-svn: 218624
2014-09-29 20:38:29 +00:00
Eli Bendersky
291a57e2c2
Fix PR20886 - enforce CUDA target match in method calls
...
http://reviews.llvm.org/D5298
llvm-svn: 218482
2014-09-25 23:59:08 +00:00
Aaron Ballman
8ed8dbd96a
Automate attribute argument count semantic checking when there are variadic or optional arguments present. With this, the only time you should have to manually check attribute argument counts is when HasCustomParsing is set to true, or when you have variadic arguments that aren't really variadic (like ownership_holds and friends).
...
Updating the diagnostics in the launch_bounds test since they have been improved in that case. Adding a test for nonnull since it has little test coverage, but has truly variadic arguments.
llvm-svn: 214407
2014-07-31 16:37:04 +00:00
Eli Bendersky
3468d9d929
Move all CUDA testing inputs to Inputs/ subdirectory inside the tests.
...
llvm-svn: 207453
2014-04-28 22:21:28 +00:00
Alp Toker
07508405f4
Disallow driver use in more Sema tests
...
There are now only a handful of Sema tests remaining that use %clang in
SemaCXX, SemaObjC and SemaTemplate.
llvm-svn: 206688
2014-04-19 19:07:31 +00:00
Aaron Ballman
05e420abad
Updated the wording of two attribute-related diagnostics so that they print the offending attribute name. Also updates the associated test cases.
...
llvm-svn: 198355
2014-01-02 21:26:14 +00:00
Aaron Ballman
66039937e8
Added a comment about the launch_bounds attribute's AST node being required. Since there were no test cases for the attribute, some have been added. This promptly demonstrated a bug with the semantic handling, which is also fixed.
...
llvm-svn: 197637
2013-12-19 00:41:31 +00:00
Peter Collingbourne
7277fe8aed
CUDA: diagnose invalid calls across targets
...
llvm-svn: 140978
2011-10-02 23:49:40 +00:00
Peter Collingbourne
619a8c7df3
CUDA: add separate diagnostics for too few/many exec config args
...
llvm-svn: 140977
2011-10-02 23:49:29 +00:00
Peter Collingbourne
34a20b081e
CUDA: diagnose unconfigured calls to global functions
...
llvm-svn: 140975
2011-10-02 23:49:15 +00:00
Peter Collingbourne
4b66c47a16
Sema: diagnose kernel calls to non-global functions
...
llvm-svn: 126292
2011-02-23 01:53:29 +00:00
Peter Collingbourne
5eec5f0422
Parse: add support for parsing CUDA kernel calls
...
llvm-svn: 125219
2011-02-09 21:12:02 +00:00
Peter Collingbourne
9e2c81f00a
AST, Sema, Serialization: keep track of cudaConfigureCall
...
llvm-svn: 125216
2011-02-09 21:04:32 +00:00
Peter Collingbourne
e8cfaf4258
Sema: diagnose kernel functions with non-void return type
...
llvm-svn: 121653
2010-12-12 23:02:57 +00:00
Peter Collingbourne
6ab610ce57
Basic, Sema: add support for CUDA location attributes
...
llvm-svn: 120545
2010-12-01 03:15:31 +00:00