Enea Zaffanella
b1b1b8ab71
Fixed bug in return type of __builtin_va_start().
...
llvm-svn: 194197
2013-11-07 08:14:26 +00:00
Richard Smith
c084bd2888
PR15132: Replace "address expression must be an lvalue or a function
...
designator" diagnostic with more correct and more human-friendly "cannot take
address of rvalue of type 'T'".
For the case of & &T::f, provide a custom diagnostic, rather than unhelpfully
saying "cannot take address of rvalue of type '<overloaded function type>'".
For the case of &array_temporary, treat it just like a class temporary
(including allowing it as an extension); the existing diagnostic wording
for the class temporary case works fine.
llvm-svn: 174262
2013-02-02 02:14:45 +00:00
Eli Friedman
6290ae476e
Add diagnostic for constructs like "va_arg(l, float)" which have undefined behavior. PR10201.
...
llvm-svn: 134926
2011-07-11 21:45:59 +00:00
David Majnemer
c75d1a1098
Properly diagnose using abstract and incomplete types in va_arg
...
- Move a test from test/SemaTemplate/instantiate-expr-3.cpp, it did not belong there
- Incomplete and abstract types are considered hard errors
llvm-svn: 132979
2011-06-14 05:17:32 +00:00
Daniel Dunbar
8fbe78f6fc
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
...
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).
llvm-svn: 91446
2009-12-15 20:14:24 +00:00
Daniel Dunbar
8b57697954
Eliminate &&s in tests.
...
- 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious.
llvm-svn: 86430
2009-11-08 01:45:36 +00:00
Eli Friedman
b8c4fd8cfd
PR2524: downgrade taking address of expression of type 'void' to an
...
extension warning.
llvm-svn: 70805
2009-05-03 22:36:05 +00:00
Chris Lattner
3f5cd77db2
Add a warning for questionable va_args usage.
...
llvm-svn: 68435
2009-04-05 00:59:53 +00:00
Chris Lattner
9e658eccab
GCC compatibility: gcc allows applying va_args to const
...
va_lists for some reason. This fixes rdar://6726818
llvm-svn: 68434
2009-04-05 00:52:59 +00:00
Daniel Dunbar
a45cf5b6b0
Rename clang to clang-cc.
...
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
2009-03-24 02:24:46 +00:00
Daniel Dunbar
6d0402d468
Fix va_arg bug noticed by Eli, __builtin_va_arg is not an l-value
...
designating an object.
llvm-svn: 64371
2009-02-12 09:21:08 +00:00
Eli Friedman
08c5dabf1b
Fix for PR3350: add special-casing for "references" to va_lists in
...
builtins.
Also, a minor tweak to va_copy for consistency.
llvm-svn: 62574
2009-01-20 07:46:22 +00:00
Eli Friedman
bb2b3be9e1
Make error handling for va_start a bit more robust. Fixes PR3213.
...
llvm-svn: 61055
2008-12-15 22:05:35 +00:00
Chris Lattner
962b4eed9d
Fix PR3075, __builtin_stdarg_start being misprototyped. This affects netbsd headers.
...
llvm-svn: 59419
2008-11-16 18:43:46 +00:00
Chris Lattner
4a80a59b6e
Fix va_arg handling to do argument decaying at the correct place. This
...
fixes problems handling references of va_list, which happens on x86_64.
This fixes PR2841 and rdar://6252231
llvm-svn: 56809
2008-09-29 22:28:25 +00:00
Anders Carlsson
6a8350b4f1
Get rid of bogus warnings when the second argument in va_start is either an implicit cast expr or a paren expr.
...
llvm-svn: 46950
2008-02-11 04:20:54 +00:00
Anders Carlsson
431ef632cb
Add some more diagnostics for va_start, fix tests so they pass with these new diags.
...
llvm-svn: 42917
2007-10-12 17:48:41 +00:00