summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Silencing some MSVC warnings about not all control paths returning a value ↵Aaron Ballman2013-11-061-0/+2
| | | | | | when they actually do. llvm-svn: 194156
* [libclang] Some changes on the linker options for libclang on a CMake build.Argyrios Kyrtzidis2013-11-062-3/+50
| | | | | | | | - Use the 'libclang.exports' file. - Pass -Wl,-current_version - Set install name to "@rpath" llvm-svn: 194134
* Fix PR17738 - add support for vtordisp thunks when using -cxx-abi microsoftTimur Iskhodzhanov2013-11-069-55/+621
| | | | llvm-svn: 194132
* Implement AArch64 Neon instruction set Perm.Jiangning Liu2013-11-064-0/+1174
| | | | llvm-svn: 194124
* Implement AArch64 Neon instruction set Bitwise Extract.Jiangning Liu2013-11-063-0/+157
| | | | llvm-svn: 194119
* More constant evaluation cleanup, and fix an issue where we'd override anRichard Smith2013-11-062-25/+28
| | | | | | | earlier 'non-constant' diagnostic with a later one if the earlier one was from a side-effect we thought we could evaluate past. llvm-svn: 194117
* Microsoft adds weird padding before virtual bases if the last field was a ↵Warren Hunt2013-11-062-0/+93
| | | | | | | | | | bitfield This patch adds the same behavior to clang. Differential Revision: http://llvm-reviews.chandlerc.com/D2103 llvm-svn: 194115
* Introduce DynTypedNode::print, dump and getSourceRange.Peter Collingbourne2013-11-064-0/+186
| | | | | | | | | These functions can generally be applied to multiple kinds of AST node, so it makes sense to add them to DynTypedNode. Differential Revision: http://llvm-reviews.chandlerc.com/D2096 llvm-svn: 194113
* Introduce BoundNodes::getMap.Peter Collingbourne2013-11-063-1/+21
| | | | | | | | | The purpose of this function is to allow clients of the dynamic AST matcher to enumerate each binding. Differential Revision: http://llvm-reviews.chandlerc.com/D2095 llvm-svn: 194112
* Thread safety analysis: check pt_guarded_by attribute when calling -> and *DeLesley Hutchins2013-11-052-0/+92
| | | | | | on smart pointers. -Wthread-safety-beta only. llvm-svn: 194103
* ObjectiveC migrator. Please annotation of properties with Fariborz Jahanian2013-11-056-3/+14
| | | | | | | | NS_RETURNS_INNER_POINTER under -objcmt-returns-innerpointer-property flag (off by default), as older compilers do not support such annotations. // rdar://15396636 llvm-svn: 194100
* Simplify: we don't care why constant evaluation might have failed when we'reRichard Smith2013-11-053-14/+8
| | | | | | checking an expression for constant overflow. llvm-svn: 194099
* Refactor constant expression handling and make a couple of tweaks to make it aRichard Smith2013-11-052-64/+173
| | | | | | | | | bit more robust against future changes. This includes a slight diagnostic improvement: if we know we're only trying to form a constant expression, take the first diagnostic which shows the expression is not a constant expression, rather than preferring the first one which makes the expression unfoldable. llvm-svn: 194098
* With this patch -Wwrite-strings is still implemented with the terribleRafael Espindola2013-11-054-11/+8
| | | | | | | | | | | hack of passing -fconst-strings to -cc1, but at least the driver uses the regular warning checking code path. Since we don't support a warning that is DefaultIgnore in one language but not in another, this patch creates a dummy C only warning in the same group as the existing one to get the desired effect. llvm-svn: 194097
* Produce direct calls instead of alias to linkonce_odr functions.Rafael Espindola2013-11-055-28/+51
| | | | | | | This is a small optimization on linux, but should help more on windows where msvc only outputs one destructor if there would be two identical ones. llvm-svn: 194095
* Documentation tweaks: Fix a typo in a reference to the C++ standard,James Dennett2013-11-051-5/+6
| | | | | | | | another typo in a comment, and update formatting of some comments to use Doxygen \brief annotations instead of repeating the name of the documented entity. llvm-svn: 194092
* clang-format: Allow line merging and partial formatting of nested blocksDaniel Jasper2013-11-053-414/+458
| | | | | | | | | | | | | | | | Before, clang-format would always format entire nested blocks, which can be unwanted e.g. for long DEBUG({...}) statements. Also clang-format would not allow to merge lines in nested blocks (e.g. to put "if (a) return;" on one line in Google style). This is the first step of several refactorings mostly focussing on the additional functionality (by reusing the "format many lines" code to format the children of a nested block). The next steps are: * Pull out the line merging into its own class. * Seperate the formatting of many lines from the formatting of a single line (and the analysis of the solution space). llvm-svn: 194090
* Revert "Try to correct a mistyped "-" or ">" to "->" for some C++ cases."Kaelyn Uhrain2013-11-053-56/+0
| | | | | | | Revert this patch until cases of rejected valid code (e.g. identifiers that require ADL to be resolved properly) are fixed. llvm-svn: 194088
* Implement AArch64 Neon Crypto instruction classes AES, SHA, and 3 SHA.Jiangning Liu2013-11-053-30/+181
| | | | llvm-svn: 194086
* Fix vbtable indices when a class shares the vbptr with a non-virtual baseTimur Iskhodzhanov2013-11-0513-107/+244
| | | | llvm-svn: 194082
* Disable test fully with REQUIRESAlp Toker2013-11-051-2/+3
| | | | | | Third time's the charm, sorry for the noise. llvm-svn: 194076
* Disable the test that crashesAlp Toker2013-11-051-3/+2
| | | | | | XFAIL wasn't enough for some of the build servers. llvm-svn: 194073
* Fix a test that was never being run, mark it XFAILAlp Toker2013-11-051-1/+3
| | | | | | | | | | | Turns out this has always been crashing since the test landed in r186647: Assertion failed: (Access != AS_none && "Access specifier is AS_none inside a record decl"), function CheckAccessDeclContext, file clang/lib/AST/DeclBase.cpp, line 690. Needs attention. llvm-svn: 194072
* Make test run reliablyAlp Toker2013-11-051-3/+2
| | | | | | | | llc waits for input on stdin, which was not provided in this test. It was running only thanks to a quirk in the way lit concatenates commands. llvm-svn: 194071
* Fix test that was not being runAlp Toker2013-11-051-1/+1
| | | | llvm-svn: 194070
* Fix test that wasn't testing anythingAlp Toker2013-11-051-1/+1
| | | | llvm-svn: 194069
* Do not allow functions or kernels called 'main' in OpenCL.Joey Gouly2013-11-053-1/+16
| | | | llvm-svn: 194068
* Simplify test case added in r194059David Majnemer2013-11-051-1/+1
| | | | llvm-svn: 194061
* Lex: Require that '#' be followed by a macro parameter name when preceded by ↵David Majnemer2013-11-052-6/+3
| | | | | | | | | | | | | | | | | | '##' After lexing a '##', we would look ahead and check to see if it was followed by '__VA_ARGS__'. After doing so, we would then go ahead and lex the token. However we would fail in the case where the '##' was followed by a '#' followed by an identifier because we would have lexed the '#' separately from the identifier, bypassing our parameter validation logic. Instead, lex the tokens coming after the '##' later. This fixes PR17804. llvm-svn: 194059
* Remove stray comma from documentation.Richard Smith2013-11-051-1/+1
| | | | llvm-svn: 194056
* C++1y sized deallocation: if we have a use, but not a definition, of a sizedRichard Smith2013-11-0510-23/+87
| | | | | | | | | | | | | deallocation function (and the corresponding unsized deallocation function has been declared), emit a weak discardable definition of the function that forwards to the corresponding unsized deallocation. This allows a C++ standard library implementation to provide both a sized and an unsized deallocation function, where the unsized one does not just call the sized one, for instance by putting both in the same object file within an archive. llvm-svn: 194055
* Enable links now that they work.Richard Smith2013-11-051-2/+2
| | | | llvm-svn: 194054
* Sema: Improve comment introduced in r193397David Majnemer2013-11-051-0/+5
| | | | llvm-svn: 194052
* Expand the test a bit.Rafael Espindola2013-11-051-1/+4
| | | | llvm-svn: 194050
* Add a testcase from the recent bootstrap failure.Rafael Espindola2013-11-051-0/+13
| | | | llvm-svn: 194049
* Revert "Produce direct calls instead of alias to linkonce_odr functions."Rafael Espindola2013-11-053-29/+25
| | | | | | | This reverts commit r194046. Debugging a bootstrap issue. llvm-svn: 194047
* Produce direct calls instead of alias to linkonce_odr functions.Rafael Espindola2013-11-053-25/+29
| | | | | | | This is a small optimization on linux, but should help more on windows where msvc only outputs one destructor if there would be two identical ones. llvm-svn: 194046
* Implemented aarch64 neon intrinsic vcopy_lane with float type.Kevin Qin2013-11-054-17/+266
| | | | llvm-svn: 194042
* ObjectiveC. Method implementations should only check forFariborz Jahanian2013-11-052-8/+27
| | | | | | | "Missing call to Super" in the overriding method and not in the method itself. // rdar://15385981. llvm-svn: 194031
* Include non-explicit submodules in exported module listDmitri Gribenko2013-11-048-10/+53
| | | | | | | | | | | | | | | | This change fixes Richard's testcase for r193815. Now we include non-explicit submodules into the list of exports. The test failed previously because: - recursive_visibility_a1.inner is not imported (only recursive_visibility_a1 is), - thus the 'inner' submodule is not showing up in any of the import lists, - and because of this getExportedModules() is not returning the correct module set -- it only considers modules that are imported. The fix is to make Module::getExportedModules() include non-explicit submodules into the list of exports. llvm-svn: 194018
* [analyzer] Track the count of NSOrderedSet similarly to other fast enumerations.Anna Zaks2013-11-042-1/+17
| | | | llvm-svn: 194005
* [analyzer] Suppress warnings coming out of std::basic_string.Anna Zaks2013-11-044-1/+34
| | | | | | The analyzer cannot reason about the internal invariances of the data structure (radar://15194597). llvm-svn: 194004
* Try to correct a mistyped "-" or ">" to "->" for some C++ cases.Kaelyn Uhrain2013-11-043-0/+56
| | | | | | | | | | | | Similar C code isn't caught as it seems to hit a different code path. Also, as the check is only done for record pointers, cases involving an overloaded operator-> are not handled either. Note that the reason this check is done in the parser instead of Sema is not related to having enough knowledge about the current state as it is about being able to fix up the parser's state to be able to recover and traverse the correct code paths. llvm-svn: 194002
* Use aliases for more constructors and destructors.Rafael Espindola2013-11-045-50/+118
| | | | | | | | | | | | | | | | With this patch we produce alias for cases like template<typename T> struct foobar { foobar() { } }; template struct foobar<void>; We just have to be careful to produce the same aliases in every TU because of comdats. llvm-svn: 194000
* clang-format this if.Rafael Espindola2013-11-041-5/+5
| | | | llvm-svn: 193997
* CodeGen: Test that simple expressions are simplified at -O0Justin Bogner2013-11-041-0/+22
| | | | llvm-svn: 193995
* CodeGen: Use EmitBranchOnBool when generating For and CXXForRangeJustin Bogner2013-11-041-5/+2
| | | | | | | | | | | | | A while ago EmitForStmt was changed to explicitly evaluate the condition expression and create a branch instead of using EmitBranchOnBool, so that the condition expression could be used for some cleanup logic. The cleanup stuff has since been reorganized, and this is no longer necessary. In EmitCXXForRange, the evaluated condition was never used for anything else. The logic was presumably modeled on EmitForStmt. llvm-svn: 193994
* CodeGen: Move an initialization away from an unrelated commentJustin Bogner2013-11-041-1/+1
| | | | | | | | An initialization somehow found its way in between a comment and the block of code the comment is about. Moving the initialization makes this less confusing. llvm-svn: 193993
* clang/lib/Parse/CMakeLists.txt: Fixup corresponding to r193989. ↵NAKAMURA Takumi2013-11-041-0/+1
| | | | | | ClangAttrTypeArg is required here. llvm-svn: 193991
* Updating the makefile to reflect CMake; addendum to r193989.Aaron Ballman2013-11-041-1/+7
| | | | llvm-svn: 193990
OpenPOWER on IntegriCloud