- Feb 20, 2009
-
-
Daniel Dunbar authored
- PR3463 (again). llvm-svn: 65133
-
Daniel Dunbar authored
- Remove an unused variant of EmitCallExpr overload. llvm-svn: 65130
-
-
Daniel Dunbar authored
llvm-svn: 65115
-
Eli Friedman authored
llvm-svn: 65106
-
Eli Friedman authored
llvm-svn: 65105
-
Eli Friedman authored
This prevents emitting diagnostics which are almost certainly useless. (Note that the test is checking that we emit only one diagnostic.) llvm-svn: 65101
-
-
Chris Lattner authored
information about types. We often print diagnostics where we say "foo_t" is bad, but the user doesn't know how foo_t is declared (because it is a typedef). Fix this by expanding sugar when present in a diagnostic (and not one of a few special cases, like vectors). Before: t.m:5:2: error: invalid operands to binary expression ('typeof(P)' and 'typeof(F)') MAX(P, F); ^~~~~~~~~ t.m:1:78: note: instantiated from: #define MAX(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; }) ^ After: t.m:5:2: error: invalid operands to binary expression ('typeof(P)' (aka 'struct mystruct') and 'typeof(F)' (aka 'float')) MAX(P, F); ^~~~~~~~~ t.m:1:78: note: instantiated from: #define MAX(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; }) ^ llvm-svn: 65081
-
- Feb 19, 2009
-
-
Daniel Dunbar authored
- PR3463, PR3398, <rdar://problem/6553401> crash on relocatable symbol addresses as constants in static locals. - There are many more scenarious we could handle (like arithmetic on such an int) but this is the main use case. llvm-svn: 65074
-
Daniel Dunbar authored
- <rdar://problem/6094103> sema fails to promote type arguments to __builtin_isgreater (and friends) llvm-svn: 65059
-
Anders Carlsson authored
llvm-svn: 65056
-
Anders Carlsson authored
llvm-svn: 65055
-
Ted Kremenek authored
llvm-svn: 65048
-
Zhongxing Xu authored
llvm-svn: 65037
-
Zhongxing Xu authored
llvm-svn: 65036
-
Daniel Dunbar authored
- <rdar://problem/6584606> clang/x86-64 - too many reg saves llvm-svn: 65032
-
Anders Carlsson authored
llvm-svn: 65023
-
Anders Carlsson authored
llvm-svn: 65021
-
Daniel Dunbar authored
situation where a tentative decl was emitted *after* the actual initialization. This occurs in some rare situations with static decls. - PR3613. - I'm not particularly happy with this fix, but I don't see a simpler or more elegant solution yet. llvm-svn: 65018
-
Anders Carlsson authored
llvm-svn: 65013
-
Ted Kremenek authored
llvm-svn: 65004
-
Douglas Gregor authored
llvm-svn: 64993
-
Douglas Gregor authored
llvm-svn: 64985
-
- Feb 18, 2009
-
-
Douglas Gregor authored
C*. They're required errors in C++. llvm-svn: 64964
-
Ted Kremenek authored
llvm-svn: 64960
-
Douglas Gregor authored
llvm-svn: 64957
-
Douglas Gregor authored
(as GCC does), except when we've performed overload resolution and found an unavailable function: in this case, we actually error. Merge the checking of unavailable functions with the checking for deprecated functions. This unifies a bit of code, and makes sure that we're checking for unavailable functions in the right places. Also, this check can cause an error. We may, eventually, want an option to make "unavailable" warnings into errors. Implement much of the logic needed for C++0x deleted functions, which are effectively the same as "unavailable" functions (but always cause an error when referenced). However, we don't have the syntax to specify deleted functions yet :) llvm-svn: 64955
-
Daniel Dunbar authored
This knocks out another 8 gcc/compat/i386 & x86_64 failures. llvm-svn: 64947
-
Chris Lattner authored
and escaped newlines don't throw off the offset computation. On this testcase: printf("abc\ def" "%*d", (unsigned) 1, 1); Before: t.m:5:5: warning: field width should have type 'int', but argument has type 'unsigned int' def" ^ after: t.m:6:12: warning: field width should have type 'int', but argument has type 'unsigned int' "%*d", (unsigned) 1, 1); ^ ~~~~~~~~~~~~ llvm-svn: 64930
-
Chris Lattner authored
llvm-svn: 64929
-
Chris Lattner authored
First step, handle diagnostics in StringLiteral's that are due to token pasting. For example, we now handle: id str2 = @"foo" "bar" @"baz" " b\0larg"; // expected-warning {{literal contains NUL character}} Correctly: test/SemaObjC/exprs.m:17:15: warning: CFString literal contains NUL character " b\0larg"; // expected-warning {{literal contains NUL character}} ~~~^~~~~~~ There are several other related issues still to be done. llvm-svn: 64924
-
Douglas Gregor authored
any named parameters, e.g., this is accepted in C: void f(...) __attribute__((overloadable)); although this would be rejected: void f(...); To do this, moved the checking of the "ellipsis without any named arguments" condition from the parser into Sema (where it belongs anyway). llvm-svn: 64902
-
Douglas Gregor authored
to do in this area, since there are other places that reference FunctionDecls. Don't allow "overloadable" functions (in C) to be declared without a prototype. llvm-svn: 64897
-
Chris Lattner authored
llvm-svn: 64886
-
rdar://6597252Chris Lattner authored
compatible, even if they are weird implicit objc pointer types like Class. llvm-svn: 64885
-
Eli Friedman authored
question. Use __builtin_alloca instead, which is guaranteed to mean the right thing without any includes. llvm-svn: 64868
-
Eli Friedman authored
llvm-svn: 64867
-
Daniel Dunbar authored
Add assert to isICE that, on success, result must be the same as EvaluateAsInt()... this enforces a minimum level of sanity. llvm-svn: 64865
-
Ted Kremenek authored
Update several tests to explicitly use BasicConstraintManager as well as to use RangeConstraintManager with RegionStoreManager. llvm-svn: 64854
-