summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Loosen the test from r150238 a bit to make some of our bots happy.Evgeniy Stepanov2012-02-101-4/+4
| | | | llvm-svn: 150242
* Track whether a function type has a trailing return type as type sugar. Use thisRichard Smith2012-02-1014-45/+121
| | | | | | | | | | | to pretty-print such function types better, and to fix a case where we were not instantiating templates in lexical order. In passing, move the Variadic bit from Type's bitfields to FunctionProtoType to get the Type bitfields down to 32 bits. Also ensure that we always substitute the return type of a function when substituting explicitly-specified arguments, since that can cause us to bail out with a SFINAE error before we hit a hard error in parameter substitution. llvm-svn: 150241
* --lies.Richard Smith2012-02-101-2/+0
| | | | llvm-svn: 150240
* Add a lambda example from the working draft.Douglas Gregor2012-02-101-0/+9
| | | | llvm-svn: 150239
* Fix function prolog codegen whe coerce-to type is a struct.Evgeniy Stepanov2012-02-102-9/+42
| | | | | | | | | | This changes function prolog in such a way as to avoid out-of-bounds stack store in the case when coerce-to type has a larger storage size than the real argument type. Fixes PR11905. llvm-svn: 150238
* Add various tests for captures and the reaching scope of the lambdaDouglas Gregor2012-02-104-1/+84
| | | | | | | expression. Implement C++11 [expr.prim.lambda]p12's requirement that capturing a variable will odr-use it. llvm-svn: 150237
* Implement the conversion to a function pointer for lambda expressions,Douglas Gregor2012-02-104-8/+79
| | | | | | per C++ [expr.prim.lambda]p6. llvm-svn: 150236
* Extend CXXRecordDecl with a function that determines the mapping fromDouglas Gregor2012-02-104-3/+57
| | | | | | | the variables captured by a lambda to the fields that store the captured values. To be used in IRgen. llvm-svn: 150235
* Update to new resolution for DR1458. When taking the address of an object ofRichard Smith2012-02-103-18/+4
| | | | | | | incomplete class type which has an overloaded operator&, it's now just unspecified whether the overloaded operator or the builtin is used. llvm-svn: 150234
* comment grammarAndrew Trick2012-02-101-1/+1
| | | | llvm-svn: 150233
* make/clang_darwin: Tweak CheckArches function to force the integrated-as and useDaniel Dunbar2012-02-101-8/+13
| | | | | | | | the stub SDK to try and ensure we always pick up the right archs when they should be able to be used. - Also, warn when we drop an architecture. llvm-svn: 150232
* Remove stray semi-colon.Daniel Dunbar2012-02-101-1/+1
| | | | llvm-svn: 150231
* Move -Wswitch from -Wmost to -Wall, consitent with GCC.David Blaikie2012-02-101-3/+2
| | | | | | | | | This is a relatively noisy warning for a codebase not explicitly designed for it (effectively enforcing a stylistic constraint about the use of defaults in switches over enums) & there's nothing Clang does to clean up the noise when compared to GCC's implementation so the same decision seems suitable. llvm-svn: 150230
* update --enable-targets listJia Liu2012-02-101-1/+1
| | | | llvm-svn: 150229
* unnecessary includeAndrew Trick2012-02-101-1/+0
| | | | llvm-svn: 150228
* PTX no longer needs to provide its own backend.Andrew Trick2012-02-102-255/+21
| | | | llvm-svn: 150227
* RegAlloc superpass: includes phi elimination, coalescing, and scheduling.Andrew Trick2012-02-1024-134/+180
| | | | | | | | | | | | | | | | Creates a configurable regalloc pipeline. Ensure specific llc options do what they say and nothing more: -reglloc=... has no effect other than selecting the allocator pass itself. This patch introduces a new umbrella flag, "-optimize-regalloc", to enable/disable the optimizing regalloc "superpass". This allows for example testing coalscing and scheduling under -O0 or vice-versa. When a CodeGen pass requires the MachineFunction to have a particular property, we need to explicitly define that property so it can be directly queried rather than naming a specific Pass. For example, to check for SSA, use MRI->isSSA, not addRequired<PHIElimination>. CodeGen transformation passes are never "required" as an analysis ProcessImplicitDefs does not require LiveVariables. We have a plan to massively simplify some of the early passes within the regalloc superpass. llvm-svn: 150226
* whitespaceAndrew Trick2012-02-101-11/+11
| | | | llvm-svn: 150225
* Remove unused 'isAlias' parameter.Lang Hames2012-02-102-9/+4
| | | | llvm-svn: 150224
* Revert r145999. This turned out to be a bad idea. Unfortunately, 'id' is ↵Ted Kremenek2012-02-105-45/+16
| | | | | | | | | used so profusely in many APIs and large codebases that this made the deprecated warning trigger happy to the point of not being useful. llvm-svn: 150223
* ARM on darwin, v6 implies the presence of VFP for the assembler.Jim Grosbach2012-02-101-3/+11
| | | | | | rdar://10838899 llvm-svn: 150222
* Make sure we convert struct layout pragmas to attributes for class templates ↵Eli Friedman2012-02-102-0/+15
| | | | | | the same way we do for non-template classes. <rdar://problem/10791194>. llvm-svn: 150221
* Constrain the regmask search space for local live ranges.Jakob Stoklund Olesen2012-02-101-3/+13
| | | | | | | When checking a local live range for interference, restrict the binary search to the single block. llvm-svn: 150220
* Cache basic block boundaries for faster RegMaskSlots access.Jakob Stoklund Olesen2012-02-102-1/+36
| | | | | | | Provide API to get a list of register mask slots and bits in a basic block. llvm-svn: 150219
* Optimize LiveIntervals::intervalIsInOneMBB().Jakob Stoklund Olesen2012-02-102-20/+26
| | | | | | | | No looping and binary searches necessary. Return a pointer to the containing block instead of just a bool. llvm-svn: 150218
* Fixed a bunch of ownership problems with the expressionSean Callanan2012-02-104-160/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | parser. Specifically: - ClangUserExpression now keeps weak pointers to the structures it needs and then locks them when needed. This ensures that they continue to be valid without leaking memory if the ClangUserExpression is long lived. - ClangExpressionDeclMap, instead of keeping a pointer to an ExecutionContext, now contains an ExecutionContext. This prevents bugs if the pointer or its contents somehow become stale. It also no longer requires that ExecutionContexts be passed into any function except its initialization function, since it can count on the ExecutionContext still being around. There's a lot of room for improvement (specifically, ClangExpressionDeclMap should also use weak pointers insetad of shared pointers) but this is an important first step that codifies assumptions that already existed in the code. llvm-svn: 150217
* [analyzer] MallocChecker: add a list of false positives based on runningAnna Zaks2012-02-101-0/+82
| | | | | | the checker over postgres and sqlite. llvm-svn: 150216
* [analyzer] MallocChecker Cleanup - harden against crashes, fix an errorAnna Zaks2012-02-103-20/+43
| | | | | | (use of return instead of continue), wording. llvm-svn: 150215
* Cache iterators. Some of these are expensive to create.Benjamin Kramer2012-02-101-14/+16
| | | | llvm-svn: 150214
* fixing a macro name mismatch that was making our test case succeed for the ↵Enrico Granata2012-02-102-2/+4
| | | | | | wrong reason; plus a minor code change to the CPP side of the test which eases debugging efforts llvm-svn: 150213
* objc translator: mode modern abi stuff.Fariborz Jahanian2012-02-101-0/+96
| | | | llvm-svn: 150212
* Caching the DIE for the DeclContext as reportedSean Callanan2012-02-091-1/+3
| | | | | | | by GetClangDeclContextContainingDIE, for better debuggability. llvm-svn: 150211
* Remove evil const_cast that's not needed anymore.Bill Wendling2012-02-091-3/+1
| | | | llvm-svn: 150210
* Switching to using dyn_cast_or_null, and fixing line endings in the test case.Aaron Ballman2012-02-092-8/+8
| | | | llvm-svn: 150209
* Use SmallVector when we can instead of std::vector.Bill Wendling2012-02-091-23/+23
| | | | | | | This looks like it had a small, but measurable performance improvement on -O0 compile time for our ObjC tests. llvm-svn: 150208
* [analyzer] Proactively avoid inlining vararg functions and blocks until we ↵Ted Kremenek2012-02-092-1/+54
| | | | | | properly support them. llvm-svn: 150207
* objc: If a method is not implemented in the category implementation butFariborz Jahanian2012-02-095-48/+88
| | | | | | | | has been declared in its primary class, superclass, or in one of their protocols, no need to issue unimplemented method. // rdar://10823023 llvm-svn: 150206
* Fix compile time warnings for the inferior program.Johnny Chen2012-02-092-2/+2
| | | | llvm-svn: 150205
* Make sure a variable with a C++ direct initializer triggers jump scope ↵Eli Friedman2012-02-092-0/+16
| | | | | | checking. Fixes PR10620 / <rdar://problem/9958362> . llvm-svn: 150204
* Added a logging helper class for SymbolFileDWARF::ParseType() that willGreg Clayton2012-02-091-19/+92
| | | | | | | | enable us to track the depth of parsing and what is being parsed. This helps when trying to track down difficult type parsing issues and is only enabled in non-production builds. llvm-svn: 150203
* examples/analyzer-plugin/: unbreak buildDylan Noblesmith2012-02-091-2/+3
| | | | | | | It was never updated for API changes in r149311/r149336/r149339 and r147688. llvm-svn: 150202
* cmake: create a relative symlink to clang, not absoluteDylan Noblesmith2012-02-091-3/+4
| | | | | | | Hardcoding the location of the build directory seems like it would break at `make install`/packaging time. llvm-svn: 150201
* Class objects passed by value follow the same rules as structure objects.Akira Hatanaka2012-02-092-3/+21
| | | | | | | Double fields of by-value class objects should be passed in floating point registers. llvm-svn: 150200
* Kill the brief and full explanation fields from StaticDiagInfoRec. They were ↵Benjamin Kramer2012-02-0912-65/+14
| | | | | | | | unused and wasted space for nothing. - per PR11952. llvm-svn: 150199
* Setting terminal type to 'xterm' on Darwin; otherwise, to 'vt100'.Johnny Chen2012-02-091-1/+4
| | | | llvm-svn: 150198
* Change default error_code ctor to a 'named ctor' so it's more self-documenting.David Blaikie2012-02-097-59/+58
| | | | | | | | | | | Unify default construction of error_code uses on this idiom so that users don't feel compelled to make static globals for naming convenience. (unfortunately I couldn't make the original ctor private as some APIs don't return their result, instead using an out parameter (that makes sense to default construct) - which is a bit of a pity. I did, however, find/fix some cases of unnecessary default construction of error_code before I hit the unfixable cases) llvm-svn: 150197
* Fix bugs in function MipsABIInfo::returnAggregateInRegs. Functions returningAkira Hatanaka2012-02-092-14/+58
| | | | | | class objects follow the same rules as those returning struct objects. llvm-svn: 150196
* Add error handling for missing option terminator "--" and a test scenario ↵Johnny Chen2012-02-092-6/+19
| | | | | | | | for it. Also fix a logic error for a missing return stmt. Oops. llvm-svn: 150195
* Don't allow deduction of a lambda result type from an initializerDouglas Gregor2012-02-093-2/+13
| | | | | | list; it is not an expression. llvm-svn: 150194
* [libclang] Add a libclang test I neglected to commit.Argyrios Kyrtzidis2012-02-092-0/+15
| | | | llvm-svn: 150193
OpenPOWER on IntegriCloud