summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* ABIArgInfo's constructor is private and only used by the static get* methods.Rafael Espindola2012-07-241-6/+6
| | | | | | No need to abuse default arguments. llvm-svn: 160684
* Comment parsing: allow newlines between \param, direction specification (e.g.,Dmitri Gribenko2012-07-242-50/+110
| | | | | | [in]), parameter name and description paragraph. llvm-svn: 160682
* Tweak warning text for returning incomplete type from extern "C" functions.Hans Wennborg2012-07-243-4/+10
| | | | | | | | | | A warning was added in r150128 for returning non-C compatible user-defined types from functions with C linkage. This makes the text more clear for the case when the type isn't decidedly non-C compatible, but incomplete. llvm-svn: 160681
* Comment parsing: couple TextTokenRetokenizer and comment parser together toDmitri Gribenko2012-07-242-50/+44
| | | | | | | remove one of the two variable-length lookahead buffers. Now retokenizer will ask for more tokens when it needs them. llvm-svn: 160680
* Move TextTokenRetokenizer from CommentLexer.h to CommentParser.cpp since it isDmitri Gribenko2012-07-242-203/+203
| | | | | | an implementation detail of the parser. llvm-svn: 160679
* Comment parsing: retokenized text tokens are now pushed back in correct (notDmitri Gribenko2012-07-243-3/+31
| | | | | | reverse) order llvm-svn: 160675
* Introduces a new concept for binding results to matchersManuel Klimek2012-07-243-53/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | as per Chandler's request: - introduces a new matcher base type BindableMatcher that provides the bind() call - makes all dynamic-cast matcher creation functions return BindableMatchers; the special case about dynamic-cast matchers is that the node they match on and the node their child matchers match on are the same node, just casted to a different type; thus, there is no ambiguity on what bind() matches on; additionally, those are the matchers that we name with nouns in the matcher language, so it's easy for users to intuitively know which matchers are bindable To make this change possible, we got rid of a non-orthogonal implementation of thisPointerType, which had an implicit dynamic-cast matcher from CallExpr to CXXMemberCallExpr; as alternative, we now provide a memberCall dynamic-cast matcher and thisPointerType is a predicate on CXXMemberCallExpr. Last, the ArgumentAdaptingMatcher is actually not required for the implementation of makeDynCastAllOfComposite - this simplification makes it more obvious where the bind() call can be used based on the matcher creation function types. llvm-svn: 160673
* Fix PR13207 (Mangling of templates with back references when using -cxx-abi ↵Timur Iskhodzhanov2012-07-242-34/+120
| | | | | | microsoft) llvm-svn: 160667
* Change the way KEYNOMS is defined to be more comprehensible. Francois Pichet2012-07-241-2/+2
| | | | llvm-svn: 160663
* clang/test/CodeGenCXX/debug-info-globalinit.cpp: Fix for -Asserts.NAKAMURA Takumi2012-07-241-4/+4
| | | | llvm-svn: 160660
* Emit debug info for dynamic initializers. Permit __attribute__((nodebug)) onNick Lewycky2012-07-248-24/+68
| | | | | | | variables that have static storage duration, it removes debug info on the emitted initializer function but not all debug info about this variable. llvm-svn: 160659
* Fix whitespace, whoops missed a spot!Nick Lewycky2012-07-241-1/+1
| | | | llvm-svn: 160658
* Fix whitespace, tabs to spaces. No functionality change.Nick Lewycky2012-07-241-6/+6
| | | | llvm-svn: 160657
* move X86_32ABIInfo::computeInfo out of line.Rafael Espindola2012-07-241-8/+9
| | | | llvm-svn: 160652
* Comment parser unit tests: split a huge test caseDmitri Gribenko2012-07-231-34/+51
| | | | llvm-svn: 160649
* Make classifyReturnType and classifyArgumentType private.Rafael Espindola2012-07-231-3/+3
| | | | llvm-svn: 160648
* Comment parser unit tests: reduce code duplicationDmitri Gribenko2012-07-231-122/+45
| | | | llvm-svn: 160647
* Do not warn about a function decl / direct init ambiguity if the function ↵Richard Smith2012-07-232-2/+4
| | | | | | has a trailing return type. llvm-svn: 160646
* Change APInt to APSInt in one instance. Also change a call to operator==() toRichard Trieu2012-07-234-6/+6
| | | | | | APSInt::isSameValue() when comparing different sized APSInt's. llvm-svn: 160641
* add AST unittests to CMake build systemDmitri Gribenko2012-07-232-0/+2
| | | | llvm-svn: 160640
* libclang comments AST: clang_ParamCommandComment_getParamName: don't assertDmitri Gribenko2012-07-232-25/+35
| | | | | | | when a \param command does not have a parameter name, just return an empty string instead. llvm-svn: 160638
* Refactor handler functions for thread safety attributes.Michael Han2012-07-231-100/+205
| | | | | | | | Make handler functions for thread safety attributes consistent with other attributes handler functions by removing the bool parameter from some of the thread safety attributes handler functions and extracting common checks out of different handler functions. llvm-svn: 160635
* Comment Sema: refactor handling of 'ParmVarDecl's and save them in Sema members.Dmitri Gribenko2012-07-232-30/+72
| | | | llvm-svn: 160634
* Comment AST: add InlineContentComment::RenderKind to specify a defaultDmitri Gribenko2012-07-239-41/+175
| | | | | | | | rendering mode for clients that don't want to interpret Doxygen commands. Also add a libclang API to query this information. llvm-svn: 160633
* Follow-up: fix the quotesTimur Iskhodzhanov2012-07-231-3/+3
| | | | llvm-svn: 160626
* Replace wrong CHECK array mangling expectations with correct CHECK-NOT+FIXME ↵Timur Iskhodzhanov2012-07-231-4/+9
| | | | | | (PR13182) llvm-svn: 160625
* Fix a typo (the the => the)Sylvestre Ledru2012-07-2330-32/+32
| | | | llvm-svn: 160622
* Add diagnostics for comma at end of enum and for extra semicolon at namespaceRichard Smith2012-07-2311-45/+88
| | | | | | | | scope to -Wc++11-extensions. Move extra semicolon after member function definition diagnostic out of -pedantic, since C++ allows a single semicolon there. Keep it in -Wextra-semi, though, since it's still questionable. llvm-svn: 160618
* When we have an Objective-C object with non-trivial lifetime in aDouglas Gregor2012-07-234-5/+53
| | | | | | | | structor class under ARC, that struct/class does not have a trivial move constructor or move assignment operator. Fixes the rest of <rdar://problem/11738725>. llvm-svn: 160615
* PR12917: Remove incorrect assumption that lambda mangling information cannotRichard Smith2012-07-226-76/+105
| | | | | | | | | | change once it's been assigned. It can change in two ways: 1) In a template instantiation, the context declaration should be the instantiated declaration, not the declaration in the template. 2) If a lambda appears in the pattern of a variadic pack expansion, the mangling number will depend on the pack length. llvm-svn: 160614
* Allow the parser to recover gracefully if a typename is used to introduce a ↵Francois Pichet2012-07-222-3/+7
| | | | | | | | | | decltype type. In Microsoft mode, we emit a warning instead of an error. This fixes a couple of errors when parsing the MSVC 11 RC headers with clang. llvm-svn: 160613
* char16_t and char32_t are defined via typedef in MSVC 11 RC. So introduce a ↵Francois Pichet2012-07-223-3/+11
| | | | | | way to disable keywords under Microsoft mode. llvm-svn: 160612
* Comment AST nodes: add NumHTMLStartTagCommentBits member.Dmitri Gribenko2012-07-211-0/+1
| | | | llvm-svn: 160600
* Comment to HTML conversion: add more CSS classes to identify function argumentsDmitri Gribenko2012-07-213-75/+78
| | | | | | | by index. This is useful if the user does not document all arguments, and we can't find a particular argument by index via :nth-of-type() CSS selector. llvm-svn: 160595
* Rename -fms-inline-asm to -fenable-experimental-ms-inline-asm.Chad Rosier2012-07-204-6/+6
| | | | llvm-svn: 160590
* Add "long double" to permitted list of ARM complex homogeneous aggregates.Tim Northover2012-07-202-1/+9
| | | | | | | Under AAPCS, long double is the same as double, which means it should be allowed as part of a homogeneous aggregate. llvm-svn: 160586
* Remove unused private member variable uncovered by the recent changes to ↵Benjamin Kramer2012-07-201-2/+1
| | | | | | clang's -Wunused-private-field. llvm-svn: 160584
* Fix c-index-test to compile as C89.Dmitri Gribenko2012-07-201-8/+14
| | | | llvm-svn: 160582
* Tidy up.Chad Rosier2012-07-201-7/+7
| | | | llvm-svn: 160581
* Add the mechanics for -fms-inline-asm. No easy way to test at this time.Chad Rosier2012-07-203-0/+6
| | | | llvm-svn: 160580
* Add libclang APIs to walk comments ASTs and an API to convert a comment to anDmitri Gribenko2012-07-2010-23/+1686
| | | | | | | | | | | HTML fragment. For testing, c-index-test now has even more output: * HTML rendering of a comment * comment AST tree dump in S-expressions like Comment::dump(), but implemented * with libclang APIs. llvm-svn: 160577
* Revert accidental commit.Chad Rosier2012-07-201-2/+0
| | | | llvm-svn: 160574
* Add a new flag, -fms-inline-asm, that enables the output of MS-style inlineChad Rosier2012-07-204-0/+11
| | | | | | | | | | | assembly. By default, we don't emit IR for MS-style inline assembly (see r158833 as to why). This is strictly for testing purposes and should not be enabled with the expectation that things will work. This is a temporary flag and will be removed once MS-style inline assembly is fully supported. llvm-svn: 160573
* No longer assuming the number of prototype arguments is always less than the ↵Aaron Ballman2012-07-202-1/+6
| | | | | | number of formal parameters for a variadic function call. llvm-svn: 160570
* Fix PR13411: Comment parsing: failed assertion on unterminated verbatim block.Dmitri Gribenko2012-07-203-20/+74
| | | | | | | | | | The assertion was wrong in case we have a verbatim block without a closing command. Also add tests for closing command name in a verbatim block, since now it can be empty in such cases. llvm-svn: 160568
* Re-apply r160319 "Don't crash when emitting fixits following Unicode chars"Jordan Rose2012-07-203-30/+57
| | | | | | | | | This time, make sure we don't try to print fixits with newline characters, since they don't have a valid column width, and they don't look good anyway. PR13417 (and originally <rdar://problem/11877454>) llvm-svn: 160561
* Add a reverse iterator to DeclStmt, and use it when building a CFG.Jordan Rose2012-07-202-5/+12
| | | | | | | The CFG creates dummy DeclStmts with one Decl per statement, and it has to do so from last to first in order to build the graph correctly. llvm-svn: 160560
* Don't need to specify the abi as it's the default.Eric Christopher2012-07-201-1/+1
| | | | | | rdar://11842763 llvm-svn: 160554
* Fixes an ObjC++ parse crash caused by delayed parsingFariborz Jahanian2012-07-202-1/+8
| | | | | | | | of c-functions nested in namespace in method implementations by turning off its delayed parsing until a proper solution is figured out. pr13418 llvm-svn: 160552
* CommentBriefParser: coding style fixDmitri Gribenko2012-07-201-2/+1
| | | | llvm-svn: 160551
OpenPOWER on IntegriCloud