- Oct 28, 2011
-
-
John McCall authored
a binary operator involving a dependently-typed overload set. llvm-svn: 143172
-
Richard Trieu authored
string is part of the function call, then there is no difference. If the format string is not, the warning will point to the call site and a note will point to where the format string is. Fix-it hints for strings are moved to the note if a note is emitted. This will prevent changes to format strings that may be used in multiple places. llvm-svn: 143168
-
Richard Smith authored
llvm-svn: 143166
-
Richard Smith authored
rvalue. An assertion to catch this is in ImpCastExprToType will follow, but vector operations currently trip over this (due to omitting the usual arithmetic conversions). Also add an assert to catch missing lvalue-to-rvalue conversions on the LHS of ->. llvm-svn: 143155
-
- Oct 27, 2011
-
-
Ted Kremenek authored
llvm-svn: 143150
-
Fariborz Jahanian authored
property refactoring. // rdar://10327068 llvm-svn: 143139
-
Peter Collingbourne authored
The OpenCL single precision division operation is only required to be accurate to 2.5ulp. Annotate the fdiv instruction with metadata which signals to the backend that an imprecise divide instruction may be used. llvm-svn: 143136
-
Ted Kremenek authored
Move ASTUnit's handling of temporary files and the preamble file into a lazily-created static DenseMap. This DenseMap is cleared (and the files erased) via an atexit routine in the case an ASTUnit is not destroyed. Fixes <rdar://problem/10293367>. llvm-svn: 143115
-
Douglas Gregor authored
AST file more lazy, so that we don't eagerly load that information for all known identifiers each time a new AST file is loaded. The eager reloading made some sense in the context of precompiled headers, since very few identifiers were defined before PCH load time. With modules, however, a huge amount of code can get parsed before we see an @import, so laziness becomes important here. The approach taken to make this information lazy is fairly simple: when we load a new AST file, we mark all of the existing identifiers as being out-of-date. Whenever we want to access information that may come from an AST (e.g., whether the identifier has a macro definition, or what top-level declarations have that name), we check the out-of-date bit and, if it's set, ask the AST reader to update the IdentifierInfo from the AST files. The update is a merge, and we now take care to merge declarations before/after imports with declarations from multiple imports. The results of this optimization are fairly dramatic. On a small application that brings in 14 non-trivial modules, this takes modules from being > 3x slower than a "perfect" PCH file down to 30% slower for a full rebuild. A partial rebuild (where the PCH file or modules can be re-used) is down to 7% slower. Making the PCH file just a little imperfect (e.g., adding two smallish modules used by a bunch of .m files that aren't in the PCH file) tips the scales in favor of the modules approach, with 24% faster partial rebuilds. This is just a first step; the lazy scheme could possibly be improved by adding versioning, so we don't search into modules we already searched. Moreover, we'll need similar lazy schemes for all of the other lookup data structures, such as DeclContexts. llvm-svn: 143100
-
Hans Wennborg authored
The code had it backwards, thinking size_t was signed, and using that for "%zd". Also let the analysis get the types for (u)intmax_t while we are at it. llvm-svn: 143099
-
Nick Lewycky authored
from r143097. llvm-svn: 143098
-
-
Fariborz Jahanian authored
decl. in Darwin due to certain projects requirement. // rdar://10277579 llvm-svn: 143082
-
Douglas Gregor authored
llvm-svn: 143077
-
- Oct 26, 2011
-
-
Fariborz Jahanian authored
value and ABI requires return slot to be passed as first argument to message sent. // rdar://10331109 llvm-svn: 143053
-
Rafael Espindola authored
llvm-svn: 143052
-
Rafael Espindola authored
itself via an asm label. available_externally functions are supposed to correspond to an external function, and that is not the case in the examples in pr9614. llvm-svn: 143049
-
Douglas Gregor authored
llvm-svn: 143048
-
Douglas Gregor authored
essence, the redeclaration chain for a class could end up in an inconsistent state while deserializing multiple declarations in that chain, where the circular linked list was not, in fact, circular. Since only two redeclarations of the same entity will get loaded when we're in this state, restore circularity when both have been loaded. Fixes <rdar://problem/10324940> / PR11195. llvm-svn: 143037
-
Douglas Gregor authored
llvm-svn: 143027
-
Eli Friedman authored
llvm-svn: 143021
-
Eli Friedman authored
Correctly perform integral promotions on wchar_t/char16_t/char32_t in C++. <rdar://problem/10309088>. llvm-svn: 143019
-
Richard Smith authored
member expression. Refactoring to follow. llvm-svn: 143017
-
Richard Smith authored
instantiations too. llvm-svn: 143016
-
- Oct 25, 2011
-
-
Douglas Gregor authored
llvm-svn: 142951
-
David Blaikie authored
llvm-svn: 142937
-
David Blaikie authored
llvm-svn: 142935
-
John McCall authored
GCC compiler workaround. llvm-svn: 142931
-
David Blaikie authored
Fix cases where the optional nested-name-specifier erroneously preceeded a decltype-specification when specifying a base type. llvm-svn: 142928
-
David Blaikie authored
llvm-svn: 142926
-
NAKAMURA Takumi authored
r142914: "Introduce a placeholder type for "pseudo object"" r142915: "Pull the pseudo-object stuff into its own file." llvm-svn: 142921
-
John McCall authored
expressions: expressions which refer to a logical rather than a physical l-value, where the logical object is actually accessed via custom getter/setter code. A subsequent patch will generalize the AST for these so that arbitrary "implementing" sub-expressions can be provided. Right now the only client is ObjC properties, but this should be generalizable to similar language features, e.g. Managed C++'s __property methods. llvm-svn: 142914
-
Richard Smith authored
dependent ->, where the member being referred to is an anonymous struct or union. This path was missed by the fix in r142890. llvm-svn: 142910
-
Ted Kremenek authored
Relax restriction of assigning to 'self' in ARC when a method is attributed with ns_consumes_self. Fixes <rdar://problem/10274056>. llvm-svn: 142909
-
Ted Kremenek authored
Tweak printf format string parsing to accept 'hh' conversion specifier to accept any char, not just signed char. Fixes <rdar://problem/10303638>. llvm-svn: 142908
-
Douglas Gregor authored
llvm-svn: 142907
-
Douglas Gregor authored
Microsoft __if_exists/__if_not_exists statement. Also note that we weren't traversing DeclarationNameInfo *at all* within the RecursiveASTVisitor, which would be rather fatal for variadic templates. llvm-svn: 142906
-
Douglas Gregor authored
valid C++98/03 code. However, add these warnings to -Wall, for those who obviously already like clean code. llvm-svn: 142903
-
Douglas Gregor authored
statements. As noted in the documentation for the AST node, the semantics of __if_exists/__if_not_exists are somewhat different from the way Visual C++ implements them, because our parsed-template representation can't accommodate VC++ semantics without serious contortions. Hopefully this implementation is "good enough". llvm-svn: 142901
-
Richard Smith authored
llvm-svn: 142895
-