summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* clean up xcode projChris Lattner2009-09-181-2/+2
| | | | llvm-svn: 82272
* allow clearing this value.Chris Lattner2009-09-181-2/+2
| | | | llvm-svn: 82271
* More mangling work.Anders Carlsson2009-09-181-7/+9
| | | | llvm-svn: 82265
* C++ code completion after the "operator" keyword. Provide overloadedDouglas Gregor2009-09-187-5/+134
| | | | | | operators, type specifiers, type names, and nested-name-specifiers. llvm-svn: 82264
* Make the mangler conform even better to the grammar.Anders Carlsson2009-09-181-12/+8
| | | | llvm-svn: 82262
* Make our char vector types not be explicitly signed to match GCC and to fix ↵Anders Carlsson2009-09-183-2/+11
| | | | | | compilation with C++ and -fno-lax-vector-conversions llvm-svn: 82254
* Generate more of the vbase virtual offset for covariant thunks. WIP.Mike Stump2009-09-181-8/+72
| | | | llvm-svn: 82253
* Introduce four new code-completion hooks for C++:Douglas Gregor2009-09-1810-3/+279
| | | | | | | | | | - after "using", show anything that can be a nested-name-specifier. - after "using namespace", show any visible namespaces or namespace aliases - after "namespace", show any namespace definitions in the current scope - after "namespace identifier = ", show any visible namespaces or namespace aliases llvm-svn: 82251
* More mangler mangling.Anders Carlsson2009-09-181-12/+26
| | | | llvm-svn: 82250
* Call mangleTemplatePrefix.Anders Carlsson2009-09-181-5/+7
| | | | llvm-svn: 82247
* Change manglePrefix to return early if the DC is the translation unit.Anders Carlsson2009-09-181-2/+4
| | | | llvm-svn: 82246
* Don't perform name lookup into a given declaration context more than once ↵Douglas Gregor2009-09-182-4/+34
| | | | | | during code completion llvm-svn: 82234
* Handle using declarations and overload sets in code completion.Douglas Gregor2009-09-182-2/+22
| | | | llvm-svn: 82233
* For code completion in C++ member access expressions and tag names,Douglas Gregor2009-09-184-9/+61
| | | | | | | | | | | | | look into the current scope for anything that could start a nested-names-specifier. These results are ranked worse than any of the results actually found in the lexical scope. Perform a little more pruning of the result set, eliminating constructors, __va_list_tag, and any duplication of declarations in the result set. For the latter, implemented NamespaceDecl::getCanonicalDecl. llvm-svn: 82231
* Fix PR4923.Anders Carlsson2009-09-181-2/+14
| | | | | | Fix error in _mm_set_pd/_mm_setr_pd and add _mm_set_epi64x/_mm_set1_epi64x. Patch by Laurent Morichetti! llvm-svn: 82228
* When gathering results for code completion, only include hiddenDouglas Gregor2009-09-183-2/+46
| | | | | | | results when there is some way to refer to them in the language, such as with a qualified name in C++. llvm-svn: 82223
* Implement code completion for tags, e.g., code completion after "enum"Douglas Gregor2009-09-189-28/+277
| | | | | | | | | | | | | will provide the names of various enumerations currently visible. Introduced filtering of code-completion results when we build the result set, so that we can identify just the kinds of declarations we want. This implementation is incomplete for C++, since we don't consider that the token after the tag keyword could start a nested-name-specifier. llvm-svn: 82222
* Make the GCC warning flags passed by CMake the same as the warning flags ↵Douglas Gregor2009-09-181-0/+7
| | | | | | passed in the make build llvm-svn: 82221
* Disable questionable code for handling isNullPointerConstant on value dependentDaniel Dunbar2009-09-182-2/+5
| | | | | | expression. llvm-svn: 82217
* Force a triple.Daniel Dunbar2009-09-181-1/+1
| | | | llvm-svn: 82216
* Split Darwin toolchain into Clang and GCC Darwin toolchains with a common base.Daniel Dunbar2009-09-184-48/+136
| | | | llvm-svn: 82213
* Lift AddLinkRuntimeLibArgs into Darwin tool chain.Daniel Dunbar2009-09-183-43/+52
| | | | llvm-svn: 82212
* Move isMacosxVersionLT helpers to Darwin tool chain.Daniel Dunbar2009-09-182-26/+32
| | | | llvm-svn: 82211
* Lift getMacosxVersionMin out into Darwin ToolChain.Daniel Dunbar2009-09-183-13/+20
| | | | llvm-svn: 82210
* Lift AddLinkerSearchPaths() into Darwin tool chain.Daniel Dunbar2009-09-183-26/+42
| | | | llvm-svn: 82209
* Rename a variable to match its semantics.Daniel Dunbar2009-09-181-16/+16
| | | | llvm-svn: 82208
* Revert most of r82198, which was causing a large number of crashesTed Kremenek2009-09-184-140/+10
| | | | | | | | | | when running the analyzer on real projects. We'll keep the change to AnalysisManager.cpp in r82198 so that -fobjc-gc analyzes code correctly in both GC and non-GC modes, although this may emit two diagnostics for each bug in some cases (a better solution will come later). llvm-svn: 82201
* Introduce caching of diagnostics in BugReporter. This provides extraTed Kremenek2009-09-185-25/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | pruning of diagnostics that may be emitted multiple times. This is accomplished by adding FoldingSet profiling support to PathDiagnostic, and then having BugReporter record what diagnostics have been issued. This was motived to a serious bug introduced by moving the 'divide-by-zero' checking outside of GRExprEngine into a separate 'Checker' class. When analyzing code using the '-fobjc-gc' option, a given function would be analyzed twice, but the second time various "internal checks" would be disabled to avoid emitting multiple diagnostics (e.g., "null dereference") for the same issue. The problem is that such checks also effect path pruning and don't just emit diagnostics. This resulted in an assertion failure involving a real divide-by-zero in some analyzed code where we would get an assertion failure in APInt because the 'DivZero' check was disabled and didn't prune the logic that resulted in the divide-by-zero in the analyzer. The implemented solution is somewhat of a hack, and may not perform extremely well. This will need to be cleaned up over time. As a regression test, 'misc-ps.m' has been modified so that its tests are run using -fobjc-gc to test this diagnostic pruning behavior. llvm-svn: 82198
* don't stick an uninitialized 'stat' buf into the stat cache, fill itChris Lattner2009-09-181-0/+1
| | | | | | with zeros. This avoids a GCC warning (PR5000) llvm-svn: 82194
* More mangling goodness.Anders Carlsson2009-09-182-23/+53
| | | | llvm-svn: 82193
* Fix error in test.Anders Carlsson2009-09-181-3/+0
| | | | llvm-svn: 82190
* Handle mangling of TemplateSpecializationType.Anders Carlsson2009-09-182-12/+72
| | | | llvm-svn: 82189
* Fixed a bug in generation of the new write-barriers when Fariborz Jahanian2009-09-183-5/+49
| | | | | | array syntax is used to derefernce and assign to ivar pointee. llvm-svn: 82183
* Fix typo.Mike Stump2009-09-171-1/+1
| | | | llvm-svn: 82170
* Initial implementation of a code-completion interface in Clang. InDouglas Gregor2009-09-1723-12/+808
| | | | | | | | | | | | | | | | | | | | | | | | | | | essence, code completion is triggered by a magic "code completion" token produced by the lexer [*], which the parser recognizes at certain points in the grammar. The parser then calls into the Action object with the appropriate CodeCompletionXXX action. Sema implements the CodeCompletionXXX callbacks by performing minimal translation, then forwarding them to a CodeCompletionConsumer subclass, which uses the results of semantic analysis to provide code-completion results. At present, only a single, "printing" code completion consumer is available, for regression testing and debugging. However, the design is meant to permit other code-completion consumers. This initial commit contains two code-completion actions: one for member access, e.g., "x." or "p->", and one for nested-name-specifiers, e.g., "std::". More code-completion actions will follow, along with improved gathering of code-completion results for the various contexts. [*] In the current -code-completion-dump testing/debugging mode, the file is truncated at the completion point and EOF is translated into "code completion". llvm-svn: 82166
* Fix typo.Mike Stump2009-09-171-1/+1
| | | | llvm-svn: 82164
* Tweak clang testing.Daniel Dunbar2009-09-174-42/+41
| | | | | | | | | | | | | | - Move CMake to using the new test runner. - Switch Makefiles to use the lit.site.cfg.in template. - Remove explicit --path arguments, instead this gets written into the site configuration. This means running lit from the command line should use the exact same configuration as is used in 'make test', assuming it can find the site configuration file. You still need to run 'make test' (or the cmake build target equivalent) at least once. llvm-svn: 82160
* Merge uninstantiated default arguments more carefully, and try not toDouglas Gregor2009-09-173-3/+15
| | | | | | | complain about specializations of member functions that are not definitions. Fixes PR4995. llvm-svn: 82159
* Add clang_disposeTranslationUnit() and clang_disposeIndex().Steve Naroff2009-09-172-0/+15
| | | | llvm-svn: 82154
* ARM: Incremental improvement to preprocessor defines.Daniel Dunbar2009-09-171-13/+38
| | | | | | - Based on patch by Shantonu. llvm-svn: 82147
* Ignore extern "C++" { } when mangling.Anders Carlsson2009-09-172-3/+14
| | | | llvm-svn: 82146
* Force triple for tests using __strong.Daniel Dunbar2009-09-172-4/+3
| | | | llvm-svn: 82133
* Add ARM register names and aliases.Daniel Dunbar2009-09-172-75/+128
| | | | | | | | - Patch by Shantonu Sen! <rdar://problem/6922650> clang doesn't know about ARM registers for inline asm clobber lists llvm-svn: 82132
* Driver: Change -O to mean -O2, -O1 is meaningless.Daniel Dunbar2009-09-171-2/+2
| | | | llvm-svn: 82131
* Fix two crashes on value dependent expressions (shift and null-pointer check).Daniel Dunbar2009-09-173-1/+49
| | | | | | | | - Doug, please check. - PR4940. llvm-svn: 82129
* Remove trailing whitespace.Daniel Dunbar2009-09-172-17/+16
| | | | llvm-svn: 82128
* Add a bunch of math builtins, #include <cmath> passes now.Daniel Dunbar2009-09-171-9/+75
| | | | llvm-svn: 82126
* Revert r82123 for now.Anders Carlsson2009-09-172-29/+14
| | | | llvm-svn: 82125
* Temporary band-aid for handling empty classes somewhat better.Anders Carlsson2009-09-172-1/+8
| | | | llvm-svn: 82124
* Treat an unqualified RecordType as a RecordDecl when substituting.Anders Carlsson2009-09-172-14/+29
| | | | llvm-svn: 82123
OpenPOWER on IntegriCloud