summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Link in profile library on Linux using --whole-archiveAlexey Samsonov2014-03-281-8/+6
| | | | llvm-svn: 205012
* clang-format: Fix aligning of comments and escaped newlines in macros.Daniel Jasper2014-03-281-0/+4
| | | | | | | | | | | | | | Before: #define A \ int i; /*a*/ \ int jjj; /*b*/ After: #define A \ int i; /*a*/ \ int jjj; /*b*/ llvm-svn: 205011
* Add ARM big endian Target (armeb, thumbeb)Christian Pirker2014-03-287-44/+214
| | | | | | Reviewed at http://llvm-reviews.chandlerc.com/D3096 llvm-svn: 205008
* Get rid of the adapted isLiteral method.Manuel Klimek2014-03-282-7/+6
| | | | | | We don't want to deviate from clang's standard terminology. llvm-svn: 204997
* clang-format: Recognize more ObjC blocks with parameters/return type.Daniel Jasper2014-03-281-2/+6
| | | | llvm-svn: 204990
* clang-cl wants MSVC-style win32Hans Wennborg2014-03-281-1/+3
| | | | | | | This should fix the clang-cl tests after the Windows target triple canonicalization (r204978) llvm-svn: 204985
* Use the new Windows environment for target detectionSaleem Abdulrasool2014-03-278-79/+124
| | | | | | | | | This follows the LLVM change to canonicalise the Windows target triple spellings. Rather than treating each Windows environment as a single entity, the environments are now modelled properly as an environment. This is a mechanical change to convert the triple use to reflect that change. llvm-svn: 204978
* Reverting r204968 and r204969; while more build bots are happy with the ↵Aaron Ballman2014-03-273-21/+15
| | | | | | results, some still have link errors. llvm-svn: 204974
* Reapplying r204952 with fixes which should hopefully resolve linking issues ↵Aaron Ballman2014-03-273-15/+21
| | | | | | with non-MSVC compilers. llvm-svn: 204968
* Objective-C. Make multiple selector warningFariborz Jahanian2014-03-271-2/+2
| | | | | | | an opt-in option under -Wselector-type-mismatch. // rdar://16445728 llvm-svn: 204965
* Support for -Wa,-compress-debug-sections.David Blaikie2014-03-273-1/+11
| | | | | | Also, while I'm here, support -nocompress-debug-sections too. llvm-svn: 204959
* Reverting r204952, while I figure out what's going on with the makefile build.Aaron Ballman2014-03-273-24/+15
| | | | llvm-svn: 204955
* Don't emit exit-time destructor warnings for trivial explicitly defaulted dtorsStephan Tolksdorf2014-03-271-1/+2
| | | | | | | | This commit also adds an additional test case for the global destructor warning. Reviewed in http://llvm-reviews.chandlerc.com/D3205 llvm-svn: 204954
* Recognize simple cases of trivial explicitly defaulted public dtors as ↵Stephan Tolksdorf2014-03-271-3/+8
| | | | | | | | irrelevant Reviewed in http://llvm-reviews.chandlerc.com/D3190 llvm-svn: 204953
* Clean up the __has_attribute implementation without modifying its behavior. Aaron Ballman2014-03-273-15/+24
| | | | | | | | Replaces the tablegen-driven AttrSpellings.inc, which lived in the lexing layer with AttrHasAttributeImpl.inc, which lives in the basic layer. Updates the preprocessor to call through to this new functionality which can take additional information into account (such as scopes and syntaxes). Expose the ability for parts of the compiler to ask whether an attribute is supported for a given spelling (including scope), syntax, triple and language options. llvm-svn: 204952
* Fix PR18307: Properly (de)serialize inherited constructors and their using ↵Stephan Tolksdorf2014-03-273-8/+29
| | | | | | | | declarations Reviewed in http://llvm-reviews.chandlerc.com/D3102 llvm-svn: 204951
* Improve handling of bool expressions in template arguments.Manuel Klimek2014-03-272-3/+11
| | | | | | | Now correctly formats: foo<true && false>(); llvm-svn: 204950
* Add an explanatory comment and FIXME about the function declarationEric Christopher2014-03-271-0/+5
| | | | | | for a subprogram DIE. llvm-svn: 204949
* Comment parsing: attach comments to enums declared using the NS_ENUM macroDmitri Gribenko2014-03-271-5/+17
| | | | | | Previously we would only attach comments to the typedef. llvm-svn: 204942
* Enforce the restriction that a parameter to a kernel functionDavid Tweed2014-03-271-2/+15
| | | | | | | | | cannot be a pointer to the private address space (as clarified in the OpenCL 1.2 specification). Patch by Fraser Cormack! llvm-svn: 204941
* InstrProf: Pull in runtime on non-DarwinDuncan P. N. Exon Smith2014-03-271-0/+7
| | | | | | | r204379 changed the way the profile runtime gets pulled in, but missed updating non-Darwin targets. llvm-svn: 204939
* clang-format: Avoid line-breaks that increase the current column.Daniel Jasper2014-03-271-5/+9
| | | | | | | | | | | | | | | | | | While these might make sense for some rule (e.g. break after multi-line operand), they generally appear ugly and confusing. Before: fffffffffff(R\"x( multiline raw string literal xxxxxxxxxxxxxx )x\" + bbbbbb) After: fffffffffff(R\"x( multiline raw string literal xxxxxxxxxxxxxx )x\" + bbbbbb) llvm-svn: 204937
* Comment parsing: when comment ranges are deserialized from multiple modules,Dmitri Gribenko2014-03-273-3/+23
| | | | | | | | | correctly order comments in SourceManager::isBeforeInTranslationUnit() order Unfortunately, this is not as simple as it was implemented previously, and actually requires doing a merge sort. llvm-svn: 204936
* Handle and warn on aliases to weak aliases.Rafael Espindola2014-03-271-1/+29
| | | | | | | This produces valid IR now that llvm rejects aliases to weak aliases and warns the user that the resolution is not changed if the weak alias is overridden. llvm-svn: 204935
* [OPENMP] OMPExecutableDirective re-factoringAlexander Musman2014-03-271-2/+2
| | | | | | | | Store the number of clauses and children of OMPExecutableDirective and dynamically compute the locations of corresponding arrays. http://llvm-reviews.chandlerc.com/D2977 llvm-svn: 204933
* clang-format: Extract getNewLineColumn out of addTokenOnNewLine.Daniel Jasper2014-03-272-74/+103
| | | | | | No functional changes intended. llvm-svn: 204930
* Fix bool expression special case.Manuel Klimek2014-03-271-4/+17
| | | | | | | | Clang-format now correctly formats: some_type<a * b> v; template <bool a, bool b> typename enabled_if<a && b>::type f() {} llvm-svn: 204913
* clang-format: Correctly identify ObjC Block with return type.Daniel Jasper2014-03-273-12/+10
| | | | llvm-svn: 204905
* Revert "Just call getContextDescriptor to get the context for subprograms"Eric Christopher2014-03-271-3/+8
| | | | | | | | while I investigate as it seems to be causing issues with the gdb bot. This reverts commit r204874. llvm-svn: 204896
* PR19252: Fix crash if alignas is used with an auto-typed variable. Don't checkRichard Smith2014-03-272-7/+3
| | | | | | the type of the variable until it's known. llvm-svn: 204887
* Don't produce a L symbol in __DATA,__data.Rafael Espindola2014-03-271-1/+1
| | | | | | The section __DATA,__data is atomized by the linker and cannot have L symbols. llvm-svn: 204879
* MS asm: Filter out fpsw clobbersReid Kleckner2014-03-271-0/+5
| | | | | | | | | | | | | | | | When parsing MS inline assembly, we note that fpsw is an implicit def of most x87 FP operations, and add it to the clobber list. However, we don't recognize fpsw as a gcc register name, and we assert. Clang always adds an fpsr clobber, which means the same thing to LLVM, so we can just use that. This test case was broken by my LLVM change r196939. Reviewers: echristo Differential Revision: http://llvm-reviews.chandlerc.com/D2993 llvm-svn: 204878
* Just call getContextDescriptor to get the context for subprogramsEric Christopher2014-03-261-8/+3
| | | | | | | | instead of rolling an inefficient version of the function. This changes some order of emission of metadata nodes, fix up those testcases and make them more flexible to some changes. llvm-svn: 204874
* PR19254: If a thread_local data member of a class is accessed via member accessRichard Smith2014-03-264-19/+21
| | | | | | syntax, don't forget to run its initializer. llvm-svn: 204869
* Objective-C. Improve diagnostic error for '@import' Fariborz Jahanian2014-03-261-3/+3
| | | | | | when modules are disabled. // rdar://15505492 llvm-svn: 204862
* Objective-C. Fixes a bogus warning on unimplementedFariborz Jahanian2014-03-261-5/+9
| | | | | | | | selectors because we were not going through entire elements in list of all implemented selectors. // rdar://16428638 llvm-svn: 204852
* InstrProf: Use unique_ptrDuncan P. N. Exon Smith2014-03-262-25/+16
| | | | llvm-svn: 204846
* InstrProf: Use referencesDuncan P. N. Exon Smith2014-03-261-54/+52
| | | | llvm-svn: 204845
* Fix atomic libcall.Logan Chien2014-03-261-2/+4
| | | | | | | | This commit fixes a cast instruction assertion failure due to the incompatible type cast. This will only happen when the target requires atomic libcalls. llvm-svn: 204834
* [analyzer] Handle the M_ZERO and __GFP_ZERO flags in kernel mallocs.Jordan Rose2014-03-262-5/+115
| | | | | | | | | | | | | | | | | | | | | Add M_ZERO awareness to malloc() static analysis in Clang for FreeBSD, NetBSD, and OpenBSD in a similar fashion to O_CREAT for open(2). These systems have a three-argument malloc() in the kernel where the third argument contains flags; the M_ZERO flag will zero-initialize the allocated buffer. This should reduce the number of false positives when running static analysis on BSD kernels. Additionally, add kmalloc() (Linux kernel malloc()) and treat __GFP_ZERO like M_ZERO on Linux. Future work involves a better method of checking for named flags without hardcoding values. Patch by Conrad Meyer, with minor modifications by me. llvm-svn: 204832
* Intrin.h: Implement _InterlockedExchangePointerReid Kleckner2014-03-261-0/+6
| | | | llvm-svn: 204827
* -Wglobal-constructors: Don't warn on trivial defaulted dtorsReid Kleckner2014-03-261-1/+1
| | | | | | Fixes PR19253. llvm-svn: 204825
* -fms-extensions: Add __va_start builtin, which is used for x64Reid Kleckner2014-03-262-1/+5
| | | | | | | | | | The main difference between __va_start and __builtin_va_start is that the address of the va_list has already been taken, and the va_list is always a char*. __va_end and __va_arg are not needed. llvm-svn: 204821
* Add support for __builtin___clear_cache in ClangRenato Golin2014-03-261-0/+6
| | | | | | Adding the mapping between __builtin___clear_cache into @llvm.clear_cache llvm-svn: 204820
* From Matt Thomas: use long long for [u]int64_t and [u]intmax_t onJoerg Sonnenberger2014-03-261-5/+9
| | | | | | NetBSD/aarch64 to simplify code sharing with NetBSD/arm. llvm-svn: 204798
* Make the 'for (auto ...)' names more readableTimur Iskhodzhanov2014-03-261-34/+35
| | | | llvm-svn: 204787
* Fix PR19066 - 0-sized vftable in the presence of virtual inheritanceTimur Iskhodzhanov2014-03-261-1/+10
| | | | | | Reviewed at http://llvm-reviews.chandlerc.com/D3181 llvm-svn: 204786
* Revert "Update for llvm api change."Rafael Espindola2014-03-261-1/+1
| | | | | | This reverts commit r204783. llvm-svn: 204785
* Update for llvm api change.Rafael Espindola2014-03-261-1/+1
| | | | llvm-svn: 204783
* Move the -i[no-]system-prefix options from CC1Options.td to Options.td.Alexander Kornienko2014-03-261-4/+4
| | | | | | | | | | | | | | | | Summary: This allows them to be used without -cc1 the same way as -I and -isystem. Renamed the options to --system-header-prefix=/--no-system-header-prefix to avoid interference with -isystem and make the intent of the option cleaner. Reviewers: rsmith Reviewed By: rsmith CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D3185 llvm-svn: 204775
OpenPOWER on IntegriCloud