summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* [ms-abi] Update Alignment for VtorDispsWarren Hunt2013-12-192-9/+41
| | | | | | | | The alignment impact of the virtual bases apperas to be applied in order, rather than up front. This patch adds the new behavior and provides a test case. llvm-svn: 197639
* Added a comment about the launch_bounds attribute's AST node being required. ↵Aaron Ballman2013-12-194-4/+26
| | | | | | Since there were no test cases for the attribute, some have been added. This promptly demonstrated a bug with the semantic handling, which is also fixed. llvm-svn: 197637
* Refactor the Microsoft inheritance attribute handling so that it no longer ↵Aaron Ballman2013-12-189-72/+33
| | | | | | has special treatment. Also fixes a minor bug where the attributes were being parsed as though they were GNU-style attributes when they were in fact keyword attributes. llvm-svn: 197629
* Fix the DataLayout string produced by clang for NaCl.Rafael Espindola2013-12-182-5/+16
| | | | | | Reviewed by Derek Schuff. llvm-svn: 197628
* Implemented delayed processing of 'unavailable' checking, just like with ↵Ted Kremenek2013-12-1843-217/+300
| | | | | | | | | | | | | | | | | | | | | | | | | 'deprecated'. Fixes <rdar://problem/15584219> and <rdar://problem/12241361>. This change looks large, but all it does is reuse and consolidate the delayed diagnostic logic for deprecation warnings with unavailability warnings. By doing so, it showed various inconsistencies between the diagnostics, which were close, but not consistent. It also revealed some missing "note:"'s in the deprecated diagnostics that were showing up in the unavailable diagnostics, etc. This change also changes the wording of the core deprecation diagnostics. Instead of saying "function has been explicitly marked deprecated" we now saw "'X' has been been explicitly marked deprecated". It turns out providing a bit more context is useful, and often we got the actual term wrong or it was not very precise (e.g., "function" instead of "destructor"). By just saying the name of the thing that is deprecated/deleted/unavailable we define this issue away. This diagnostic can likely be further wordsmithed to be shorter. llvm-svn: 197627
* Use getAsCXXRecordDecl to shorten some gets and castsReid Kleckner2013-12-181-10/+5
| | | | llvm-svn: 197626
* ObjectiveC. support "section" attribute on propertiesFariborz Jahanian2013-12-184-4/+24
| | | | | | and methods. rdar://15450637 llvm-svn: 197625
* Require the type of a by-copy capture to be complete before creating its field.Douglas Gregor2013-12-183-0/+20
| | | | | | | | | | | | The problem here is more serious than the fix implies. Adding a field to a class updates the triviality bits for the class (among other things). Failing to require a complete type before adding the field meant that these updates don't happen in the well-formed case where the capture is an uninstantiated class template specialization, leading the lambda itself to be treated as having a trivial copy constructor when it shouldn't. Fixes <rdar://problem/15560464>. llvm-svn: 197623
* Add a test for mipsel-nacl too.Rafael Espindola2013-12-181-0/+4
| | | | llvm-svn: 197617
* Enhance OpenMP parser tests from r197553 / r197598Alp Toker2013-12-182-4/+8
| | | | | | | | | Move some of the verifier directives away from the end of the pragma line. This ensures that the diagnostics relate to the trailing token being tested and not the verifier comments which are themselves part of the token stream. llvm-svn: 197616
* Debug info: Implement (rvalue) reference qualifiers for C++11 non-staticAdrian Prantl2013-12-182-2/+35
| | | | | | | | member functions. Paired commit with LLVM. rdar://problem/15356637 llvm-svn: 197612
* Allow Objective-C pointer conversions following an explicit user conversion.Douglas Gregor2013-12-183-6/+29
| | | | | | Finishes the work started in r194224, and fixes <rdar://problem/15494681>. llvm-svn: 197609
* clang-format-diff.py: fix -regex/-iregex matchingAlp Toker2013-12-181-4/+4
| | | | | | | | | | While debating the finer points of file extension matching, we somehow missed the bigger problem that the current code will match anything starting with the default or user-specified pattern (e.g. lit.site.cfg.in). Fix this by doing what find(1) does, implicitly wrapping the pattern with ^$. llvm-svn: 197608
* Objective-C. After providing a fix-it for aFariborz Jahanian2013-12-188-46/+36
| | | | | | | | cstring, converted to NSString, produce the matching AST for it. This also required some refactoring of the previous code. // rdar://14106083 llvm-svn: 197605
* Make setABIAPCS and setABIAAPCS easier to reason about.Rafael Espindola2013-12-181-25/+39
| | | | | | | These functions now always set the same variables in the same order and they don't overlap with thep constructor. llvm-svn: 197604
* Split setABI in two helpers. No functionality change.Rafael Espindola2013-12-181-44/+50
| | | | llvm-svn: 197603
* Fix OpenMP recovery with trailing tokens following the pragmaAlp Toker2013-12-183-0/+20
| | | | | | | | The recovery was failing due to a missing case in SkipUntil(). Also add back tests from r197553 that were reverted in the previous commit. llvm-svn: 197598
* Revert "[OPENMP] Fix for parsing OpenMP directives with extra braces, ↵Alp Toker2013-12-186-86/+41
| | | | | | | | | | | brackets and parens" These parser changes were redundant. The same or better recovery can be achieved with a one-line fix to SkipUntil() due to land in the next commit. This reverts commit r197553. llvm-svn: 197597
* Adding a win32-targeted test into Tooling/multi-jobs.cpp, to make sure it ↵Artyom Skrobov2013-12-181-0/+1
| | | | | | | | doesn't get broken again (prompted by NAKAMURA Takumi) llvm-svn: 197596
* check-clang: Fixup r197576, to replace CMAKE_CFG_INTDIR on clang_tools_dir.NAKAMURA Takumi2013-12-181-0/+1
| | | | llvm-svn: 197593
* OpenCL: Do not force 64 bit floats for (embedded) targets with only 32bit ↵Pekka Jaaskelainen2013-12-181-2/+8
| | | | | | floats. llvm-svn: 197592
* ObjectiveC. Fixes the sentence in a diagnostic.Fariborz Jahanian2013-12-182-2/+2
| | | | | | // rdar://15397430 llvm-svn: 197586
* clang-format parts of the file.Rafael Espindola2013-12-181-18/+9
| | | | | | | I am about to send a patch for review touching these and clang-formating first makes the patch much easier to read. llvm-svn: 197585
* Implement the MSABI and SysVABI calling conventions for Objective-C method ↵Aaron Ballman2013-12-182-4/+13
| | | | | | declarations. This appears to be an omission from r189644. llvm-svn: 197584
* Adding some comments about AST node requirements for attributes which create ↵Aaron Ballman2013-12-181-0/+5
| | | | | | AST nodes but never actually make use of them. No functional changes. llvm-svn: 197582
* Whitespace cleanup.Rafael Espindola2013-12-181-2/+2
| | | | llvm-svn: 197580
* Remove OpenCL-specific type keywords and specifiersAlp Toker2013-12-1811-161/+22
| | | | | | | | | | | | | | | This commit kills off custom type specifier and keyword handling of OpenCL C data types. Although the OpenCL spec describes them as keywords, we can handle them more elegantly as predefined types. This should provide better error correction and code completion as well as simplifying the implementation. The primary intention is however to simplify the C/C++ parser and save some packed bits on AST structures that had been extended in r170432 just for OpenCL. llvm-svn: 197578
* Add -f64:32:64 to the darwin ppc32 DataLayout.Rafael Espindola2013-12-182-5/+3
| | | | | | A f64 inside a struct can be 32 bit aligned on darwin. llvm-svn: 197577
* check-clang: Introduce clang_tools_dir in lit.site.cfg, for clang separated ↵NAKAMURA Takumi2013-12-184-1/+8
| | | | | | from llvm. llvm-svn: 197576
* clang/test/CMakeLists.txt: Prune CLANG_SOURCE_DIR and CLANG_BINARY_DIR. They ↵NAKAMURA Takumi2013-12-181-3/+0
| | | | | | are set at top. llvm-svn: 197575
* clang-format: Fix indentation corner case.Daniel Jasper2013-12-182-1/+8
| | | | | | | | | | | | | | | | | | | | | | Before: aaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa( aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa); aaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa( aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(); After: aaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa( aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa); aaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa( aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(); Probably still not ideal, but should be a step into the right direction. llvm-svn: 197557
* [OPENMP] Fix for parsing OpenMP directives with extra braces, brackets and ↵Alexey Bataev2013-12-186-41/+86
| | | | | | parens llvm-svn: 197553
* clang-format: Fix ObjC method expr in binary expressions.Daniel Jasper2013-12-182-1/+3
| | | | | | | | | | | | | | Before: bool a = ([aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaa || [aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaaaaa); After: bool a = ([aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaa || [aaaaaaaa aaaaa] == aaaaaaaaaaaaaaaaaaaa); This fixes llvm.org/PR18271. llvm-svn: 197552
* Use arm-nacl-gnueabi instead of arm-nacl to match the previous tests.Rafael Espindola2013-12-181-1/+1
| | | | llvm-svn: 197550
* Split this test into one per supporter nacl arch.Rafael Espindola2013-12-181-3/+13
| | | | | | | | | Right now clang produces the same DataLayout for all of them, but it could, for example, add 'n' specifications when the end architecture is given. No functionality change, this should just make future changes easier to read. llvm-svn: 197549
* Print the 'p' specification before the 'i' specification.Rafael Espindola2013-12-182-3/+2
| | | | | | No functionality change. llvm-svn: 197548
* Fix comment-code function name mismatchHans Wennborg2013-12-181-2/+2
| | | | llvm-svn: 197544
* clang-format-diff.py: add the OpenCL file extensionAlp Toker2013-12-181-1/+1
| | | | | | It's handled correctly as a C-family language. llvm-svn: 197542
* ObjectiveC. typo fix in my last patch,Fariborz Jahanian2013-12-183-6/+4
| | | | | | per Jordan's review. llvm-svn: 197540
* Add a 's' specifications to AArch64.Rafael Espindola2013-12-172-4/+2
| | | | | | | | This has no functionality change as clang adds explicit alignment info for byval arguments. The only difference is that now the clang produced DataLayout string for AArch64 is identical to the LLVM produced one. llvm-svn: 197538
* Move some more test-and-consumes over to TryConsumeToken()Alp Toker2013-12-171-36/+20
| | | | llvm-svn: 197537
* Objctive-C. warn if dealloc is being overridden inFariborz Jahanian2013-12-174-2/+30
| | | | | | a category implementation. // rdar://15397430 llvm-svn: 197534
* Documentation comment parsing: when checking if we have typedef to somethingDmitri Gribenko2013-12-172-0/+17
| | | | | | | that we consider a function for the purposes of checking \param and \returns, look through reference types. llvm-svn: 197530
* Documentation comment parsing: allow \param and \returns on std::function,Dmitri Gribenko2013-12-172-0/+57
| | | | | | boost::function and similar function-like objects llvm-svn: 197528
* None of these attributes currently make use of an AST node, so setting ↵Aaron Ballman2013-12-171-0/+9
| | | | | | ASTNode = 0 to reduce complexity. No functional change intended. llvm-svn: 197525
* Use triples that match the -target-abi option.Rafael Espindola2013-12-171-2/+2
| | | | llvm-svn: 197522
* Use the integrated assembler by default on FreeBSD/ppc and ppc64.Roman Divacky2013-12-171-1/+6
| | | | llvm-svn: 197521
* [ms-cxxabi] The 'most derived' ctor parameter usually comes lastReid Kleckner2013-12-1710-107/+170
| | | | | | | | | | | | | | Unlike Itanium's VTTs, the 'most derived' boolean or bitfield is the last parameter for non-variadic constructors, rather than the second. For variadic constructors, the 'most derived' parameter comes after the 'this' parameter. This affects constructor calls and constructor decls in a variety of places. Reviewers: timurrrr Differential Revision: http://llvm-reviews.chandlerc.com/D2405 llvm-svn: 197518
* Documentation comment parsing: rearrange tests to clarify the intent of ↵Dmitri Gribenko2013-12-171-14/+22
| | | | | | these tests llvm-svn: 197517
* Fix line endings in microsoft-dtor-lookup-cxx11.cppHans Wennborg2013-12-171-13/+13
| | | | llvm-svn: 197516
OpenPOWER on IntegriCloud