summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* clang-format: Escape '*' in generated flag documentation.Daniel Jasper2014-12-022-1/+2
| | | | llvm-svn: 223118
* clang-format: Add option to suppress operator alignment.Daniel Jasper2014-12-026-8/+96
| | | | | | | | | | | | | | | | With alignment: int aaaaaa = aa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb * cccccccccccccccccccccccccccccccc; Without alignment: int aaaaaa = aa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb * cccccccccccccccccccccccccccccccc; This fixes llvm.org/PR21666. llvm-svn: 223117
* [NVPTX] Fix type error for some builtins in BuiltinsNVPTX.defJustin Holewinski2014-12-022-15/+17
| | | | llvm-svn: 223116
* Emit warning if define or undef reserved identifier or keyword.Serge Pavlov2014-12-028-2/+115
| | | | | | | | | | | | | | | | | | | | | Summary: This change implements warnings if macro name is identical to a keyword or reserved identifier. The warnings are different depending on the "danger" of the operation. Defining macro that replaces a keyword is on by default. Other cases produce warning that is off by default but can be turned on using option -Wreserved-id-macro. This change fixes PR11488. Reviewers: rnk Reviewed By: rnk Subscribers: rnk, cfe-commits Differential Revision: http://reviews.llvm.org/D6194 llvm-svn: 223114
* clang-format: precedence-based indentation when breaking before operators.Daniel Jasper2014-12-022-21/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa == aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb && aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > ccccccccccccccccccccccccccccccccccccccccc; After: bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa == aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb && aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > ccccccccccccccccccccccccccccccccccccccccc; Not particularly pretty, but can probably help to uncover bugs. And if this bugs somebody, parentheses can help. llvm-svn: 223111
* Re-apply "Revert r166370 and r166540 now that Xcode 4.6 has been available ↵Bob Wilson2014-12-022-7/+0
| | | | | | | | | | | for a while." This reverts commit r176892. I had reverted this a while back to give Chromium more time to update, and Nico says it should be OK now. llvm-svn: 223108
* clang/test/Modules/malformed.cpp REQUIRES shell due to "cd".NAKAMURA Takumi2014-12-021-0/+2
| | | | llvm-svn: 223107
* CMake: make the regexes used for setting HOST_LINK_VERSION more forgiving ↵Hans Wennborg2014-12-021-1/+1
| | | | | | | | | | | | | (PR21268) If the output of 'ld -v' didn't match the regexes, CMake would previously error with a message like: CMake Error at tools/clang/CMakeLists.txt:269 (string): string sub-command REGEX, mode REPLACE regex "[^0-9]*([0-9.]*).*" matched an empty string. llvm-svn: 223106
* Try to fix the MSVC build.Hans Wennborg2014-12-022-11/+10
| | | | llvm-svn: 223105
* Rely on fewer features of the 'env' command. Darwin only supports '-i'.Chandler Carruth2014-12-021-2/+2
| | | | | | | I'm explicitly setting LC_ALL=C somewhat for documentation, but hopefully this also removes some host variation from the test results. llvm-svn: 223102
* Add a test that ensures the Clang driver behaves itself when the PATHChandler Carruth2014-12-021-0/+25
| | | | | | | | environment variable is changed to strange things out from under it. Prior to r223099 in LLVM, these test cases would crash in various ways (assert fails, stack exhaustion, etc.). llvm-svn: 223100
* Remove special case for aarch64 static vs. PIC code in iOS kernel code.Bob Wilson2014-12-023-4/+4
| | | | | | | | | | I added this check a while back but then made a note to myself that it should be completely unnecessary since iOS always uses PIC code-gen for aarch64. Since I could never come up with any reason why it would be necessary, I'm just going to remove it and we'll see if anything breaks. rdar://problem/13627985 llvm-svn: 223097
* [modules] Track how 'header' directives were written in module map files,Richard Smith2014-12-0213-144/+238
| | | | | | | | | | | | | rather than trying to extract this information from the FileEntry after the fact. This has a number of beneficial effects. For instance, diagnostic messages for failed module builds give a path relative to the "module root" rather than an absolute file path, and the contents of the module includes file is no longer dependent on what files the including TU happened to inspect prior to triggering the module build. llvm-svn: 223095
* Perform correct lookup when '__super' is used in class with dependent base.Nikola Smiljanic2014-12-015-13/+36
| | | | llvm-svn: 223090
* Make -fuse-ld=lld work properly on Windows.Zachary Turner2014-12-012-4/+23
| | | | | | | | | | | | Using lld on Windows requires calling link-lld.exe instead of lld.exe. This patch puts this knowledge into clang so that when using the GCC style clang driver, it can properly delegate to lld. Differential Revision: http://reviews.llvm.org/D6428 Reviewed by: Reid Kleckner, Rui Ueyama llvm-svn: 223086
* Use nullptr to silence -Wsentinel when self-hosting on WindowsReid Kleckner2014-12-0110-52/+52
| | | | | | | | | | | Richard rejected my Sema change to interpret an integer literal zero in a varargs context as a null pointer, so -Wsentinel sees an integer literal zero and fires off a warning. Only CodeGen currently knows that it promotes integer literal zeroes in this context to pointer size on Windows. I didn't want to teach -Wsentinel about that compatibility hack. Therefore, I'm migrating to C++11 nullptr. llvm-svn: 223079
* Add missing 'break's, found by inspection. No functionality change; theRichard Smith2014-12-011-0/+2
| | | | | | fallthrough happened to do the right thing in both cases. llvm-svn: 223064
* Add a test for devirtualization of virtual operator calls.Nico Weber2014-12-011-3/+6
| | | | | | | | There was no test coverage for this before: Modifiying EmitCXXOperatorMemberCallee() to not call CanDevirtualizeMemberFunctionCall() didn't make any test fail. llvm-svn: 223056
* Update R600 address space map to include genericMatt Arsenault2014-12-011-2/+1
| | | | llvm-svn: 223046
* Make the function pointer a template argument instead of a runtime value.Samuel Benzaquen2014-12-011-22/+37
| | | | | | | | | | | | | | | | | Summary: Speed up the variadic matchers by removing one indirect call. Making the function pointer a template arguments allows the compiler to inline the call instead of doing an runtime call by pointer. Also, optimize the allOf() case to avoid redundant kind checks. This speeds up our clang-tidy benchmark by ~2% Reviewers: klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D6424 llvm-svn: 223029
* [OPENMP] Formating and code improvement for codegen of 'omp critical' directive.Alexey Bataev2014-12-013-47/+28
| | | | | | No functional changes, only code improvements. llvm-svn: 223010
* Revert "Remove threshold for lifetime marker insertion of named temporaries"Arnaud A. de Grandmaison2014-12-0115-294/+34
| | | | | | Revert r222993 while I investigate some MemorySanitizer failures. llvm-svn: 222995
* Remove threshold for lifetime marker insertion of named temporariesArnaud A. de Grandmaison2014-12-0115-34/+294
| | | | | | | | | Now that TailRecursionElimination has been fixed with r222354, the threshold on size for lifetime marker insertion can be removed. This only affects named temporary though, as the patch for unnamed temporaries is still in progress. llvm-svn: 222993
* clang/test/CodeGenOpenCL/opencl_types.cl: Appease i686-msvc.NAKAMURA Takumi2014-11-301-1/+1
| | | | llvm-svn: 222969
* Fix typo.Nico Weber2014-11-291-1/+1
| | | | llvm-svn: 222964
* Fix grammar error in err_bad_reinterpret_cast_reference error message.Nathan Sidwell2014-11-291-1/+1
| | | | llvm-svn: 222963
* Tweak clang/test/CodeGenOpenCL/opencl_types.cl to appease msvc since r222941.NAKAMURA Takumi2014-11-291-1/+1
| | | | llvm-svn: 222956
* AST: Consider pseudo-struct builtin types as substitutableDavid Majnemer2014-11-283-1/+21
| | | | | | | | We didn't consider types like ObjCSel as a substitution candidate. This fixes PR21688. llvm-svn: 222941
* Add additional arguments for -mfpu optionsRichard Barton2014-11-282-0/+8
| | | | | | | | | Add neon-vfpv3 to allow specifying both at the same time. This is not an option that GCC supports, but follows the same track and should be non-controversial. Change-Id: Id9ec157c835937d7d11ad0f49dbe5171fac17658 llvm-svn: 222933
* Add -mfpu=neon-vfpv4Richard Barton2014-11-282-8/+16
| | | | | | | This enables user to architecturally specify ARMv7A + VFPv4 + NEON. Change-Id: I779b01fef5c47e5e4ac702ae24ed2f76a0e4c63f llvm-svn: 222932
* [OPENMP] Additional processing of 'omp atomic write' directive.Alexey Bataev2014-11-284-16/+128
| | | | | | According to OpenMP standard, Section 2.12.6, atomic Construct, '#pragma omp atomic write' is allowed to be used only for expression statements of form 'x = expr;', where x is a lvalue expression and expr is an expression with scalar type. Patch adds checks for it. llvm-svn: 222913
* Create a new 'flag_enum' attribute.Alexis Hunt2014-11-2812-80/+286
| | | | | | | | | | | This attribute serves as a hint to improve warnings about the ranges of enumerators used as flag types. It currently has no working C++ implementation due to different semantics for enums in C++. For more explanation, see the docs and testcases. Reviewed by Aaron Ballman. llvm-svn: 222906
* AArch64: simplify PCS mapping.Tim Northover2014-11-276-175/+57
| | | | | | | | | | | | Now that LLVM can count the registers needed to implement AAPCS rules, we don't need to duplicate that logic here. This means we can drop the explicit padding and also use more natural types in many cases (e.g. "struct { float arr[3]; }" used to end up as "[2 x double]" to avoid holes on the stack. The one wrinkle is that AAPCS va_arg was also using the register counting machinery. But the local replacement isn't too bad. llvm-svn: 222904
* Sphinx does not have a lexer for OpenCL, so falling back to C for the ↵Aaron Ballman2014-11-271-8/+8
| | | | | | language on the code block. Also fixing an indentation warning. NFC to the content of the documentation itself. llvm-svn: 222894
* clang-format: [JS] Contract fewer functions to a single line.Daniel Jasper2014-11-272-2/+8
| | | | | | | | | | | | | Before: var someVariable = function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); }; After: var someVariable = function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); }; llvm-svn: 222893
* clang-format: [JS] Try not to break in container literals.Daniel Jasper2014-11-272-0/+7
| | | | | | | | | | | | | | | | | Before: var obj = { fooooooooo: function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); } }; After: var obj = { fooooooooo: function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); } }; llvm-svn: 222892
* clang-format: [JS] new and delete are valid function names.Daniel Jasper2014-11-272-3/+4
| | | | | | | | | | | | Before: someObject.new (); someObject.delete (); After: someObject.new(); someObject.delete(); llvm-svn: 222890
* clang-format: [JS] Make Closure module detection more narrow.Daniel Jasper2014-11-272-1/+7
| | | | | | | | | | | Before: var MyLongClassName = goog.module.get('my.long.module.name.followedBy.MyLongClassName'); After: var MyLongClassName = goog.module.get('my.long.module.name.followedBy.MyLongClassName'); llvm-svn: 222888
* clang-format: Don't use column layout with AlignAfterOpenBrackets.Daniel Jasper2014-11-272-0/+11
| | | | | | This fixes llvm.org/PR21676. llvm-svn: 222886
* [c++1z] Remove terse range-based for loops; they've been removed fromRichard Smith2014-11-274-24/+24
| | | | | | consideration for C++17 for now. Update C++ status page to match. llvm-svn: 222865
* When checking for uninitialized values, do not confuse "std::move" with everyRichard Trieu2014-11-274-3/+50
| | | | | | other function named "move". llvm-svn: 222863
* OpenCL: fix test for lack of names in release buildsTim Northover2014-11-261-2/+2
| | | | llvm-svn: 222853
* [analyzer] Indented code within the DisplayHelp sub.Anton Yartsev2014-11-261-84/+84
| | | | llvm-svn: 222851
* Fix buildbot failure on LLP64 platforms like MSVC x86_64.Richard Smith2014-11-261-1/+1
| | | | llvm-svn: 222848
* clang-format: [Java] Don't line-wrap package declarations.Daniel Jasper2014-11-263-2/+11
| | | | | | This fixes llvm.org/PR21677. llvm-svn: 222843
* clang-format: Tweak -style=Chromium for Java files.Nico Weber2014-11-262-6/+26
| | | | | | | | | | | For Java, don't do any of the deviations from Google Style that Chromium style does for C++. Chromium's Java follows Android Java style [1], which is roughly Google Java style with an indent of 4 and a continuation indent of 8. 1: https://source.android.com/source/code-style.html llvm-svn: 222839
* Adding an explicit triple to this test to get it to pass all build bots.Aaron Ballman2014-11-261-1/+1
| | | | llvm-svn: 222837
* [OpenCL] Implemented restrictions for pointer conversions specified in ↵Anastasia Stulova2014-11-268-17/+325
| | | | | | | | | | | | OpenCL v2.0. OpenCL v2.0 s6.5.5 restricts conversion of pointers to different address spaces: - the named address spaces (__global, __local, and __private) => __generic - implicitly converted; - __generic => named - with an explicit cast; - named <=> named - disallowed; - __constant <=> any other - disallowed. llvm-svn: 222834
* [OpenCL] Generic address space parsing and diagnostics test (forgotten ↵Anastasia Stulova2014-11-261-0/+26
| | | | | | previously) llvm-svn: 222832
* [OpenCL] Generic address space has been added in OpenCL v2.0.Anastasia Stulova2014-11-2611-11/+143
| | | | | | | | | | To support it in the frontend, the following has been added: - generic address space type attribute; - documentation for the OpenCL address space attributes; - parsing of __generic(generic) keyword; - test code for the parser and diagnostics. llvm-svn: 222831
OpenPOWER on IntegriCloud