summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant check.Dmitri Gribenko2012-06-281-0/+2
| | | | llvm-svn: 159355
* Attaching comments to declarations: don't attach comments to implicit ↵Dmitri Gribenko2012-06-281-0/+4
| | | | | | declarations. llvm-svn: 159354
* Disable devirtualization when we have covariant returns. I will open a bugRafael Espindola2012-06-281-0/+3
| | | | | | for tracking this. llvm-svn: 159351
* Don't devirtualize calls when we don't have the correct type of the this pointerRafael Espindola2012-06-281-19/+36
| | | | | | | | | handy. It can be done, but we would have to build a derived-to-base cast during codegen to compute the correct this pointer. I will handle covariant returns next. llvm-svn: 159350
* Add -ftls-model command-line flag.Hans Wennborg2012-06-285-29/+84
| | | | | | This allows for setting the default TLS model. (PR9788) llvm-svn: 159336
* Add warning flag -Winvalid-pp-token for preprocessing-tokens which haveRichard Smith2012-06-281-3/+3
| | | | | | | | undefined behaviour, and move the diagnostic for '' from an Error into an ExtWarn in this group. This is important for some users of the preprocessor, and is necessary for gcc compatibility. llvm-svn: 159335
* Fix another issue with devirtualizing calls to final methods by passing themRafael Espindola2012-06-282-25/+38
| | | | | | | | the correct this pointer. There is some potential for sharing a bit more code with canDevirtualizeMemberFunctionCalls, but that can be done in an independent patch. llvm-svn: 159326
* Cleanup \brief comment. Since it is a single paragraph, no need to save ↵Dmitri Gribenko2012-06-281-1/+30
| | | | | | newlines there. llvm-svn: 159325
* Fix grammar.Eric Christopher2012-06-281-1/+1
| | | | llvm-svn: 159321
* Update the #include to find the DebugInfo.h in the correct placeBill Wendling2012-06-281-1/+1
| | | | llvm-svn: 159315
* Teach \brief parser about commands that start a new paragraph implicitlyDmitri Gribenko2012-06-281-7/+19
| | | | llvm-svn: 159309
* Fix uninitialized variable use bug found by the clairvoyant static analyzer.Argyrios Kyrtzidis2012-06-271-0/+1
| | | | | | | Commit::canReplaceText would not initialize its out 'Len' parameter before returning true and it would be used uninitialized in Commit::replaceText. llvm-svn: 159306
* Attaching documentation comments to declarations: don't attach a comment to ↵Dmitri Gribenko2012-06-271-2/+3
| | | | | | a declaration if there is a preprocessor directive between them. llvm-svn: 159305
* Fix an infinite loop in comment lexer: we were not advancing in the input ↵Dmitri Gribenko2012-06-271-0/+5
| | | | | | character stream when we saw a '<' that is not a start of an HTML tag. llvm-svn: 159303
* Propagate lvalue alignment into bitfields. Per report on cfe-dev.Eli Friedman2012-06-276-32/+28
| | | | llvm-svn: 159295
* objective-c mrc: Issue warning for mrc, as is done for arc, whenFariborz Jahanian2012-06-271-2/+1
| | | | | | | property retains a block object as it could be on the stack. // rdar://11761511 llvm-svn: 159293
* Refactoring after r159290: don't hold onto and check a misleading QualType.Richard Smith2012-06-271-4/+3
| | | | llvm-svn: 159292
* Check for non-POD vararg argument type after default argument promotion, notRichard Smith2012-06-271-1/+1
| | | | | | before, so we don't incorrectly think arguments of function type are non-POD. llvm-svn: 159290
* patch to suggest 'static' function should be 'static inline' Fariborz Jahanian2012-06-271-3/+11
| | | | | | | when it appears to be unused and occurs in a header. // rdar://11202617 llvm-svn: 159282
* Implement John McCall's review of r159212 other than the this pointer notRafael Espindola2012-06-273-12/+6
| | | | | | being updated. Will fix that in a second. llvm-svn: 159280
* Fix a crash I introduced in r159212.Rafael Espindola2012-06-272-1/+3
| | | | llvm-svn: 159279
* Remove unsigned and a pointer from a comment token (so that each token can ↵Dmitri Gribenko2012-06-271-8/+19
| | | | | | have only one semantic string value attached to it), at a cost of adding an additional token. llvm-svn: 159270
* Comment lexer: counting backwards from token end is thought to be confusing. ↵Dmitri Gribenko2012-06-271-14/+20
| | | | | | We already have a pointer to the beginning of the token, so use it to extract the text instead. llvm-svn: 159269
* Fix for r159256 on Windows.Axel Naumann2012-06-271-0/+4
| | | | llvm-svn: 159262
* From Vassil Vassilev:Axel Naumann2012-06-271-0/+13
| | | | | | | add interface for removing a FileEntry from the cache. Forces a re-read the contents from disk, e.g. because a tool (like cling) wants to pick up a modified file. llvm-svn: 159256
* Initialize RawComment::BriefTextValid in other constructor, too.Dmitri Gribenko2012-06-271-1/+2
| | | | llvm-svn: 159253
* Introduce __has_feature(attribute_unused_on_fields) to determine whetherDaniel Jasper2012-06-271-0/+1
| | | | | | | the current version of clang understands __attribute__((unused)) on fields. llvm-svn: 159252
* Simplify logic in BriefParser::Parse(), per Jordan's comment.Dmitri Gribenko2012-06-271-14/+7
| | | | llvm-svn: 159247
* [analyzer] RetainCountChecker: remove unused SelfOwn ArgEffect kind.Jordan Rose2012-06-271-4/+1
| | | | llvm-svn: 159245
* [analyzer] Remove unneeded helper function (it's in ASTContext.h)Jordan Rose2012-06-271-9/+0
| | | | llvm-svn: 159244
* Whitespace.Chad Rosier2012-06-261-147/+147
| | | | llvm-svn: 159235
* [Windows] Improve mangling of templates when back references are presentTimur Iskhodzhanov2012-06-261-0/+7
| | | | llvm-svn: 159234
* Enable -mcpu=native and -march=native for arm targets.Benjamin Kramer2012-06-261-34/+53
| | | | | | This is only implemented on linux at the moment. llvm-svn: 159232
* Whitespace.Chad Rosier2012-06-261-107/+107
| | | | llvm-svn: 159229
* preprocessing: gcc supports #line 0. So, treat thisFariborz Jahanian2012-06-261-8/+4
| | | | | | | | as a gcc supported extension with usual treatment with -pedantic (warn) and -pedantic-errors (error). // rdar://11550996 llvm-svn: 159226
* Remove typedef which is unused after r159189.Richard Smith2012-06-261-4/+0
| | | | llvm-svn: 159224
* Implement a lexer for structured comments.Dmitri Gribenko2012-06-265-2/+777
| | | | llvm-svn: 159223
* X86: add GATHER intrinsics (AVX2) in ClangManman Ren2012-06-261-0/+64
| | | | | | | | | Support the following intrinsics: _mm_mask_i32gather_pd, _mm256_mask_i32gather_pd, _mm_mask_i64gather_pd _mm256_mask_i64gather_pd, _mm_mask_i32gather_ps, _mm256_mask_i32gather_ps _mm_mask_i64gather_ps, _mm256_mask_i64gather_ps llvm-svn: 159222
* Fix a bug in my previous patch: If we are not doing a virtual call becauseRafael Espindola2012-06-261-0/+4
| | | | | | | the member expression is qualified, call the method specified in the code, not the most derived one we can find. llvm-svn: 159219
* Remove spurious semicolons committed in r159216.David Blaikie2012-06-261-2/+2
| | | | llvm-svn: 159218
* Add template type diffing to Clang. This feature will provide a betterRichard Trieu2012-06-266-5/+1045
| | | | | | | | | | | | comparison between two templated types when they both appear in a diagnostic. Type elision will remove indentical template arguments, which can be disabled with -fno-elide-type. Cyan highlighting is applied to the differing types. For more formatting, -fdiagnostic-show-template-tree will output the template type as an indented text tree, with differences appearing inline. Template tree works with or without type elision. llvm-svn: 159216
* During codegen of a virtual call we would extract any casts in the expressionRafael Espindola2012-06-264-33/+118
| | | | | | | | to see if we had an underlying final class or method, but we would then use the cast type to do the call, resulting in a direct call to the wrong method. llvm-svn: 159212
* block literal irgen: several improvements on naming blockFariborz Jahanian2012-06-266-15/+40
| | | | | | | | | | | | literal helper functions. All helper functions (global and locals) use block_invoke as their prefix. Local literal helper names are prefixed by their enclosing mangled function names. Blocks in non-local initializers (e.g. a global variable or a C++11 field) are prefixed by their mangled variable name. The descriminator number added to end of the name starts off with blank (for first block) and _<N> (for the N+2-th block). llvm-svn: 159206
* [asan] add missing asan instrumentation in generated global init functionsKostya Serebryany2012-06-261-0/+3
| | | | llvm-svn: 159191
* Fix lifetime issue for backing APValue of OpaqueValueExpr in recursiveRichard Smith2012-06-261-41/+7
| | | | | | | | | | constexpr function evaluation, and corresponding ASan / valgrind issue in tests, by storing the corresponding value with the relevant stack frame. This also prevents re-evaluation of the source of the underlying OpaqueValueExpr, which makes a major performance difference for certain contrived code (see testcase update). llvm-svn: 159189
* Give L__FUNCTION__ the right type in templates. PR13206.Nico Weber2012-06-251-1/+5
| | | | llvm-svn: 159171
* ARM: enable struct byval for APCS.Manman Ren2012-06-251-6/+10
| | | | | | Revert r136662 which disables ARM byval. llvm-svn: 159168
* PR12937: Explicitly deleting an explicit template specialization.David Blaikie2012-06-251-2/+7
| | | | | | | | | | | | | | | This works around a quirk in the way that explicit template specializations are handled in Clang. We generate an implicit declaration from the original template which the explicit specialization is considered to redeclare. This trips up the explicit delete logic. This change only works around that strange representation. At some point it'd be nice to remove those extra declarations to make the AST more accurately reflect the C++ semantics. Review by Doug Gregor. llvm-svn: 159167
* Extend the "expected ';' after struct" logic to also apply to enums, and toRichard Smith2012-06-252-77/+106
| | | | | | struct and enum forward-declarations. llvm-svn: 159164
* Use std::map instead of llvm::DenseMap because we rely on the stability of ↵Eli Friedman2012-06-251-2/+6
| | | | | | references to values in these maps. PR13197. llvm-svn: 159161
OpenPOWER on IntegriCloud