- Jan 14, 2009
-
-
Fariborz Jahanian authored
objects as an objective-c object. llvm-svn: 62197
-
- Jan 13, 2009
-
-
Anders Carlsson authored
llvm-svn: 62170
-
Anders Carlsson authored
llvm-svn: 62148
-
Douglas Gregor authored
llvm-svn: 62147
-
Daniel Dunbar authored
llvm-svn: 62139
-
Zhongxing Xu authored
- put the killed region in the kill set. - set its default value to unknown. - removes all bindings for its subregions. llvm-svn: 62138
-
Fariborz Jahanian authored
llvm-svn: 62135
-
Ted Kremenek authored
llvm-svn: 62132
-
Ted Kremenek authored
llvm-svn: 62130
-
Douglas Gregor authored
assignment operator candidate (C++ [over.match.oper]p4). llvm-svn: 62128
-
Douglas Gregor authored
type. It leads to very weird errors. llvm-svn: 62124
-
Fariborz Jahanian authored
to access a field of its type. llvm-svn: 62123
-
Douglas Gregor authored
llvm-svn: 62121
-
Ted Kremenek authored
llvm-svn: 62119
-
Ted Kremenek authored
Extend string-literal checking for printf() format string to handle conditional ternary operators where both sides are literals. This fixes PR 3319: http://llvm.org/bugs/show_bug.cgi?id=3319 llvm-svn: 62117
-
- Jan 12, 2009
-
-
Douglas Gregor authored
C++ handle anonymous structs/unions in the same way. Addresses several bugs: <rdar://problem/6259534> <rdar://problem/6481130> <rdar://problem/6483159> The test case in PR clang/1750 now passes with -fsyntax-only, but CodeGen for inline assembler still fails. llvm-svn: 62112
-
Ted Kremenek authored
- Refactor a bunch of logic in the retain/release checker, making it more condense and easier to read. - Add support for "Create" methods in the DiskArbitration framework retain/release tests: - Rename CFDate.m to retain-release.m, and move test from CFString.c to retain-release.m - Add DiskArbitration framework tests cases. - Add/refine and few more retain/release GC test cases. llvm-svn: 62106
-
Fariborz Jahanian authored
assigned to when it has user declared setter method defined in the class implementation (but no declaration in the class itself). llvm-svn: 62098
-
Douglas Gregor authored
or enum to be outside that struct, union, or enum. Fixes several regressions: <rdar://problem/6487662> <rdar://problem/6487669> <rdar://problem/6487684> <rdar://problem/6487702> PR clang/3305 PR clang/3312 There is still some work to do in Objective-C++, but this requires that each of the Objective-C entities (interfaces, implementations, etc.) to be introduced into the context stack with PushDeclContext/PopDeclContext. This will be a separate fix, later. llvm-svn: 62091
-
Anders Carlsson authored
llvm-svn: 62069
-
Chris Lattner authored
llvm-svn: 62062
-
Nuno Lopes authored
make ScalarExprEmitter::EmitCompare() emit the expression with the correct type instead of always zext it to an int this fixes codegen of simple exprs in C++ like 'if (x != 0)' llvm-svn: 62060
-
- Jan 11, 2009
-
-
Anders Carlsson authored
llvm-svn: 62049
-
Anders Carlsson authored
llvm-svn: 62043
-
- Jan 10, 2009
-
-
Fariborz Jahanian authored
prohibition of 'readonly' properties in an assignment. llvm-svn: 62028
-
-
- Jan 09, 2009
-
-
Douglas Gregor authored
that is neither a definition nor a forward declaration and where X has not yet been declared as a tag, introduce a declaration into the appropriate scope (which is likely *not* to be the current scope). The rules for the placement of the declaration differ slightly in C and C++, so we implement both and test the various corner cases. This implementation isn't 100% correct due to some lingering issues with the function prototype scope (for a function parameter list) not being the same scope as the scope of the function definition. Testcase is FIXME'd; this probably isn't an important issue. Addresses <rdar://problem/6484805>. llvm-svn: 62014
-
Ted Kremenek authored
Dead stores checker: Don't flag dead stores for self-assignments (common escape hatch for 'unused variable' warnings). llvm-svn: 62010
-
Fariborz Jahanian authored
in designated protocols lazily. llvm-svn: 62007
-
Sebastian Redl authored
llvm-svn: 62003
-
Douglas Gregor authored
of ScopedDecls (using the new ScopedDecl::NextDeclInScope pointer). Performance-wise: - It's a net win in memory utilization, since DeclContext is now one pointer smaller than it used to be (std::vectors are typically 3 pointers; we now use 2 pointers) and - Parsing Cocoa.h with -fsyntax-only (with a Release-Asserts Clang) is about 1.9% faster than before, most likely because we no longer have the memory allocations and copying associated with the std::vector. I'll re-enable serialization of DeclContexts once I've sorted out the NextDeclarator/NextDeclInScope question. llvm-svn: 62001
-
-
Daniel Dunbar authored
categories. - Also, simplify nesting via early return. llvm-svn: 61968
-
Ted Kremenek authored
llvm-svn: 61965
-
Ted Kremenek authored
llvm-svn: 61960
-
Ted Kremenek authored
llvm-svn: 61958
-
Ted Kremenek authored
llvm-svn: 61957
-
Fariborz Jahanian authored
are related to setter syntax under -Wreadonly-setter-attrs to prevent warnings in projects built with gcc. llvm-svn: 61953
-
- Jan 08, 2009
-
-
Douglas Gregor authored
introduce a Scope for the body of a tag. This reduces the number of semantic differences between C and C++ structs and unions, and will help with other features (e.g., anonymous unions) in C. Some important points: - Fields are now in the "member" namespace (IDNS_Member), to keep them separate from tags and ordinary names in C. See the new test in Sema/member-reference.c for an example of why this matters. In C++, ordinary and member name lookup will find members in both the ordinary and member namespace, so the difference between IDNS_Member and IDNS_Ordinary is erased by Sema::LookupDecl (but only in C++!). - We always introduce a Scope and push a DeclContext when we're defining a tag, in both C and C++. Previously, we had different actions and different Scope/CurContext behavior for enums, C structs/unions, and C++ structs/unions/classes. Now, it's one pair of actions. (Yay!) There's still some fuzziness in the handling of struct/union/enum definitions within other struct/union/enum definitions in C. We'll need to do some more cleanup to eliminate some reliance on CurContext before we can solve this issue for real. What we want is for something like this: struct X { struct T { int x; } t; }; to introduce T into translation unit scope (placing it at the appropriate point in the IdentifierResolver chain, too), but it should still have struct X as its lexical declaration context. PushOnScopeChains isn't smart enough to do that yet, though, so there's a FIXME test in nested-redef.c llvm-svn: 61940
-
Fariborz Jahanian authored
gen issue fix. llvm-svn: 61901
-