aboutsummaryrefslogtreecommitdiff
path: root/clang
AgeCommit message (Collapse)AuthorFilesLines
2016-08-19Minor change to OpenCL release notes to add one missing item.Anastasia Stulova1-0/+2
llvm-svn: 279224
2016-08-18ReleaseNotes: missing charHans Wennborg1-1/+1
llvm-svn: 279176
2016-08-18ReleaseNotes: sphinx build fixesHans Wennborg1-7/+10
llvm-svn: 279146
2016-08-18ReleaseNotes: clean upHans Wennborg1-74/+11
llvm-svn: 279134
2016-08-18ReleaseNotes: remove in-progress warningHans Wennborg1-14/+3
llvm-svn: 279131
2016-08-18Merging r278988:Hans Wennborg1-8/+13
------------------------------------------------------------------------ r278988 | cbieneman | 2016-08-17 14:54:30 -0700 (Wed, 17 Aug 2016) | 14 lines [Darwin] Stop linking libclang_rt.eprintf.a Summary: The eprintf library was added before the general OS X builtins library existed as a place to store one builtin function. Since we have for several years had an actual mandated builtin library for OS X > 10.5, we should just merge eprintf into the main library. This change will resolve PR28855. As a follow up I'll also patch compiler-rt to not generate the eprintf library anymore. Reviewers: ddunbar, bob.wilson Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23531 ------------------------------------------------------------------------ llvm-svn: 279103
2016-08-18Removed extra space in OpenCL release notesAnastasia Stulova1-1/+1
llvm-svn: 279083
2016-08-17Merging r278786:Hans Wennborg4-2/+24
------------------------------------------------------------------------ r278786 | jamesm | 2016-08-16 02:45:36 -0700 (Tue, 16 Aug 2016) | 4 lines Left shifts of negative values are defined if -fwrapv is set This means we shouldn't emit ubsan detection code or warn. Fixes PR25552. ------------------------------------------------------------------------ llvm-svn: 278989
2016-08-17Merging r277852:Hans Wennborg2-4/+32
------------------------------------------------------------------------ r277852 | dblaikie | 2016-08-05 12:03:01 -0700 (Fri, 05 Aug 2016) | 7 lines PR26423: Assert on valid use of using declaration of a function with an undeduced auto return type For now just disregard the using declaration in this case. Suboptimal, but wiring up the ability to have declarations of functions that are separate from their definition (we currently only do that for member functions) and have differing return types (we don't have any support for that) is more work than seems reasonable to at least fix this crash. ------------------------------------------------------------------------ llvm-svn: 278877
2016-08-17ReleaseNotes: mention new /imsvc flagHans Wennborg1-0/+4
llvm-svn: 278876
2016-08-16Merging r278763:Hans Wennborg2-0/+23
------------------------------------------------------------------------ r278763 | rsmith | 2016-08-15 17:13:47 -0700 (Mon, 15 Aug 2016) | 5 lines PR28978: If we need overload resolution for the move constructor of an anonymous union member of a class, we need overload resolution for the move constructor of the class itself too; we can't rely on Sema to do the right thing for us for anonymous union types. ------------------------------------------------------------------------ llvm-svn: 278817
2016-08-16[Branch 3.9] Remove any traces of partial constexpr lambda implementation Faisal Vali9-183/+12
This patch essentially reverses all the changes from the following commit: https://reviews.llvm.org/rL264513 for branch 3.9. Requested by Richard and Approved by Hans here: https://reviews.llvm.org/D23485 llvm-svn: 278771
2016-08-15Merging r277783 and r278156 to unbreak Clang on the branch after r278674Hans Wennborg4-2/+8
------------------------------------------------------------------------ r277783 | timshen | 2016-08-04 16:03:44 -0700 (Thu, 04 Aug 2016) | 9 lines [ADT] Migrate DepthFirstIterator to use NodeRef Summary: The corresponding LLVM change is D23146. Reviewers: dblaikie, chandlerc Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23147 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r278156 | timshen | 2016-08-09 13:22:55 -0700 (Tue, 09 Aug 2016) | 16 lines [ADT] Change iterator_adaptor_base's default template arguments to forward more underlying typedefs Summary: The corresponding LLVM change: D23217. LazyVector::iterator breaks, because int isn't an iterator type. Since iterator_adaptor_base shouldn't be blamed to break at the call to iterator_traits<int>::xxx, I'd rather "fix" LazyVector::iterator. The perfect solution is to model "relative pointer", but it's beyond the goal of this patch. Reviewers: chandlerc, bkramer Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23218 ------------------------------------------------------------------------ llvm-svn: 278678
2016-08-15OpenCL release notesAnastasia Stulova1-1/+46
llvm-svn: 278677
2016-08-13Merge r278393 and r278395.Ed Schouten6-12/+47
LLVM/Clang 3.8 is directly usable as a cross compiler for CloudABI/i686. In 3.9rc1 there are a couple of regressions in the driver that cause it to be less usable: - PIE was enabled unconditionally, even though it's only available for x86-64 and aarch64. - Some inline assembly fails to build, due to a shortage of registers, as frame pointers are not omitted. Both these changes are fairly low risk (read: they don't affect other targets), so go ahead and merge them into 3.9, so we can use an unmodified compiler on all architectures. llvm-svn: 278605
2016-08-12Merging r278471:George Burgess IV3-1/+49
------------------------------------------------------------------------ r278471 | gbiv | 2016-08-11 21:12:31 -0700 (Thu, 11 Aug 2016) | 11 lines [Sema] Fix a crash on variadic enable_if functions. Currently, when trying to evaluate an enable_if condition, we try to evaluate all arguments a user passes to a function. Given that we can't use variadic arguments from said condition anyway, not converting them is a reasonable thing to do. So, this patch makes us ignore any varargs when attempting to check an enable_if condition. We'd crash because, in order to convert an argument, we need its ParmVarDecl. Variadic arguments don't have ParmVarDecls. ------------------------------------------------------------------------ llvm-svn: 278479
2016-08-12Update release notes for new warnings.Richard Trieu1-1/+7
Document -Wcomma, -Wfloat-zero-conversion, and -Wfloat-overflow-conversion llvm-svn: 278441
2016-08-11Merging r277522:Hans Wennborg2-1/+26
------------------------------------------------------------------------ r277522 | dcoughlin | 2016-08-02 14:07:23 -0700 (Tue, 02 Aug 2016) | 8 lines [CFG] Fix crash finding destructor of lifetime-extended temporary. Fix a crash under -Wthread-safety when finding the destructor for a lifetime-extending reference. A patch by Nandor Licker! Differential Revision: https://reviews.llvm.org/D22419 ------------------------------------------------------------------------ llvm-svn: 278376
2016-08-11Merging r276900:Hans Wennborg2-24/+44
------------------------------------------------------------------------ r276900 | epilk | 2016-07-27 11:25:10 -0700 (Wed, 27 Jul 2016) | 5 lines [Sema] Teach getCurrentThisType to reconize lambda in in-class initializer Fixes PR27994, a crash on valid. Differential revision: https://reviews.llvm.org/D21145 ------------------------------------------------------------------------ llvm-svn: 278374
2016-08-10Merging r278234 and r278235:Hans Wennborg2-8/+16
------------------------------------------------------------------------ r278234 | joey | 2016-08-10 08:57:02 -0700 (Wed, 10 Aug 2016) | 5 lines [OpenCL] Change block descriptor address space to constant. The block descriptor is a GlobalVariable in the LLVM IR, so it shouldn't be in the private address space. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r278235 | joey | 2016-08-10 09:04:14 -0700 (Wed, 10 Aug 2016) | 2 lines [OpenCL] Fix typo in test that I accidentally introduced in my previous commit. ------------------------------------------------------------------------ llvm-svn: 278248
2016-08-10Merging r278139:Hans Wennborg2-4/+9
------------------------------------------------------------------------ r278139 | rnk | 2016-08-09 10:23:56 -0700 (Tue, 09 Aug 2016) | 6 lines [clang-cl] Make -gline-tables-only imply -gcodeview It's surprising that you have to pass /Z7 in addition to -gcodeview to get debug info. The sanitizer runtime, for example, expects that if the compiler supports the -gline-tables-only flag, then it will emit debug info. ------------------------------------------------------------------------ llvm-svn: 278240
2016-08-09[docs] Update 3.9 release notes for the static analyzer.Devin Coughlin1-16/+11
llvm-svn: 278175
2016-08-08Merging r277796, r277797, r277866, r277889 and r277900:Hans Wennborg7-3/+185
------------------------------------------------------------------------ r277796 | rtrieu | 2016-08-04 19:39:30 -0700 (Thu, 04 Aug 2016) | 6 lines Allow -1 to assign max value to unsigned bitfields. Silence the -Wbitfield-constant-conversion warning for when -1 or other negative values are assigned to unsigned bitfields, provided that the bitfield is wider than the minimum number of bits needed to encode the negative value. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r277797 | rtrieu | 2016-08-04 20:16:36 -0700 (Thu, 04 Aug 2016) | 7 lines Fix crash in template type diffing. When the type being diffed is a type alias, and the orginal type is not a templated type, then there will be no unsugared TemplateSpecializationType. When this happens, exit early from the constructor. Also add assertions to the other iterator accessor to prevent the iterator from being used. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r277866 | rtrieu | 2016-08-05 14:02:34 -0700 (Fri, 05 Aug 2016) | 12 lines Fix false positive in -Wunsequenced and templates. For builtin logical operators, there is a well-defined ordering of argument evaluation. For overloaded operator of the same type, there is no argument evaluation order, similar to other function calls. When both are present, uninstantiated templates with an operator&& is treated as an unresolved function call. Unresolved function calls are treated as normal function calls, and may result in false positives when the builtin logical operator is used. Have the unsequenced checker ignore dependent expressions to avoid this false positive. The check also happens in template instantiations to catch when the overloaded operator is used. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r277889 | rtrieu | 2016-08-05 16:24:47 -0700 (Fri, 05 Aug 2016) | 9 lines Fix two false positives in -Wreturn-stack-address If the return type is a pointer and the function returns the reference to a pointer, don't warn since only the value is returned, not the reference. If a reference function parameter appears in the reference chain, don't warn since binding happens at the caller scope, so addresses returned are not to local stack. This includes default arguments as well. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r277900 | rtrieu | 2016-08-05 18:44:06 -0700 (Fri, 05 Aug 2016) | 2 lines Fix typos from r277797 and unused variable from r277889. ------------------------------------------------------------------------ llvm-svn: 278020
2016-08-08Merging r277743:Hans Wennborg2-16/+17
------------------------------------------------------------------------ r277743 | bader | 2016-08-04 11:06:27 -0700 (Thu, 04 Aug 2016) | 12 lines [OpenCL] Added underscores to the names of 'to_addr' OpenCL built-ins. Summary: In order to re-define OpenCL built-in functions 'to_{private,local,global}' in OpenCL run-time library LLVM names must be different from the clang built-in function names. Reviewers: yaxunl, Anastasia Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23120 ------------------------------------------------------------------------ llvm-svn: 278019
2016-08-04[docs] Add 3.9 release notes for the static analyzer.Devin Coughlin1-1/+21
llvm-svn: 277772
2016-08-04Add a note about clang-cl pch support to the 3.9 release notes.Nico Weber1-0/+5
llvm-svn: 277751
2016-08-04grammar fixNico Weber1-1/+1
llvm-svn: 277750
2016-08-02Merging r277095:Hans Wennborg2-3/+19
------------------------------------------------------------------------ r277095 | epilk | 2016-07-28 17:55:40 -0700 (Thu, 28 Jul 2016) | 5 lines [Parser] Fix bug where delayed typo in conditional expression was corrected twice Patch by David Tarditi! Differential revision: https://reviews.llvm.org/D22930 ------------------------------------------------------------------------ llvm-svn: 277525
2016-08-02Merging r277457Diana Picus3-7/+7
[clang-cl] Fix PCH tests to use x86_64 as target These tests require x86-registered-target, but they don't force the target as x86 on the command line, which means they will be run and they might fail when building the x86 backend on another platform (such as AArch64). Fixes https://llvm.org/bugs/show_bug.cgi?id=28797 llvm-svn: 277462
2016-08-02Merging r277307:Dimitry Andric1-1/+7
------------------------------------------------------------------------ r277307 | dim | 2016-07-31 22:23:23 +0200 (Sun, 31 Jul 2016) | 23 lines Add more gcc compatibility names to clang's cpuid.h Summary: Some cpuid bit defines are named slightly different from how gcc's cpuid.h calls them. Define a few more compatibility names to appease software built for gcc: * `bit_PCLMUL` alias of `bit_PCLMULQDQ` * `bit_SSE4_1` alias of `bit_SSE41` * `bit_SSE4_2` alias of `bit_SSE42` * `bit_AES` alias of `bit_AESNI` * `bit_CMPXCHG8B` alias of `bit_CX8` While here, add the misssing 29th bit, `bit_F16C` (which is how gcc calls this bit). Reviewers: joerg, rsmith Subscribers: bruno, cfe-commits Differential Revision: https://reviews.llvm.org/D22010 ------------------------------------------------------------------------ llvm-svn: 277425
2016-08-01Merging r277221:Hans Wennborg1-1/+0
------------------------------------------------------------------------ r277221 | echristo | 2016-07-29 15:11:11 -0700 (Fri, 29 Jul 2016) | 3 lines Remove unused variable. Fixes PR28761. ------------------------------------------------------------------------ llvm-svn: 277384
2016-07-29Delete offloading-interoperability.cllvmorg-3.9.0-rc1Hans Wennborg1-17/+0
The test is now failing on Windows. This is causing too much pain, let's just drop it from the branch. llvm-svn: 277207
2016-07-29Merging r276983, r277138 and r277141:Hans Wennborg1-2/+2
------------------------------------------------------------------------ r276983 | sfantao | 2016-07-28 07:56:19 -0700 (Thu, 28 Jul 2016) | 5 lines [OpenMP] Fix link command pattern in offloading interoperability test. It was causing a few bots to fail. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r277138 | d0k | 2016-07-29 06:07:09 -0700 (Fri, 29 Jul 2016) | 4 lines Make test not fail on hosts where the default omp library is gomp. This is the case on some linuxes, just force libomp so we get the desired results. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r277141 | djasper | 2016-07-29 06:45:03 -0700 (Fri, 29 Jul 2016) | 1 line Add missing '-no-canonical-prefixes' in test. ------------------------------------------------------------------------ llvm-svn: 277193
2016-07-28Merging r276653:Hans Wennborg3-1/+21
------------------------------------------------------------------------ r276653 | ssrivastava | 2016-07-25 10:17:06 -0700 (Mon, 25 Jul 2016) | 11 lines Support '#pragma once' in headers when using PCH The '#pragma once' directive was erroneously ignored when encountered in the header-file specified in generate-PCH-mode. This resulted in compile-time errors in some cases with legal code, and also a misleading warning being produced. Patch by Warren Ristow! Differential Revision: http://reviews.llvm.org/D19815 ------------------------------------------------------------------------ llvm-svn: 277075
2016-07-28Merging r276979:Hans Wennborg2-2/+23
------------------------------------------------------------------------ r276979 | sfantao | 2016-07-28 07:29:18 -0700 (Thu, 28 Jul 2016) | 12 lines [OpenMP][CUDA] Do not forward OpenMP flags for CUDA device actions. Summary: This patch prevents OpenMP flags from being forwarded to CUDA device commands. That was causing the CUDA frontend to attempt to emit OpenMP code which is not supported. This fixes the bug reported in https://llvm.org/bugs/show_bug.cgi?id=28723. Reviewers: hfinkel, carlo.bertolli, arpith-jacob, kkwli0, tra, ABataev Subscribers: caomhin, cfe-commits Differential Revision: https://reviews.llvm.org/D22895 ------------------------------------------------------------------------ llvm-svn: 277004
2016-07-28Mention of proper support for "__unaligned" type qualifier in 3.9 clang ↵Hans Wennborg1-0/+3
release notes Patch by: Andrey Bokhanko <andreybokhanko@gmail.com> Differential Revision: https://reviews.llvm.org/D22913 llvm-svn: 276994
2016-07-28Merging r276102:Hans Wennborg8-23/+33
------------------------------------------------------------------------ r276102 | rksimon | 2016-07-20 03:18:01 -0700 (Wed, 20 Jul 2016) | 11 lines [X86][SSE] Reimplement SSE fp2si conversion intrinsics instead of using generic IR D20859 and D20860 attempted to replace the SSE (V)CVTTPS2DQ and VCVTTPD2DQ truncating conversions with generic IR instead. It turns out that the behaviour of these intrinsics is different enough from generic IR that this will cause problems, INF/NAN/out of range values are guaranteed to result in a 0x80000000 value - which plays havoc with constant folding which converts them to either zero or UNDEF. This is also an issue with the scalar implementations (which were already generic IR and what I was trying to match). This patch changes both scalar and packed versions back to using x86-specific builtins. It also deals with the other scalar conversion cases that are runtime rounding mode dependent and can have similar issues with constant folding. Differential Revision: https://reviews.llvm.org/D22105 ------------------------------------------------------------------------ llvm-svn: 276991
2016-07-28Merging r276350:Hans Wennborg2-0/+17
------------------------------------------------------------------------ r276350 | epilk | 2016-07-21 15:31:40 -0700 (Thu, 21 Jul 2016) | 3 lines [CodeGen] Fix a crash when constant folding switch statement Differential revision: https://reviews.llvm.org/D22542 ------------------------------------------------------------------------ llvm-svn: 276985
2016-07-27Merging r276887:Hans Wennborg1-1/+17
------------------------------------------------------------------------ r276887 | hans | 2016-07-27 09:39:45 -0700 (Wed, 27 Jul 2016) | 1 line Update cxx_dr_Status after 3.9 branch ------------------------------------------------------------------------ llvm-svn: 276892
2016-07-27Generate docs/AttributeReference.rstHans Wennborg1-6/+2729
$ bin/clang-tblgen -gen-attr-docs -I../cfe.src/include \ ../cfe.src/include/clang/Basic/Attr.td \ -o ../cfe.src/docs/AttributeReference.rst llvm-svn: 276890
2016-07-27Merging r276887:Hans Wennborg2-11/+11
------------------------------------------------------------------------ r276887 | hans | 2016-07-27 09:39:45 -0700 (Wed, 27 Jul 2016) | 1 line Update cxx_dr_Status after 3.9 branch ------------------------------------------------------------------------ llvm-svn: 276888
2016-07-26Merging r276716:Hans Wennborg2-3/+17
------------------------------------------------------------------------ r276716 | vedantk | 2016-07-25 17:24:59 -0700 (Mon, 25 Jul 2016) | 10 lines [Coverage] Do not write out coverage mappings with zero entries After r275121, we stopped mapping regions from system headers. Lambdas declared in regions belonging to system headers started producing empty coverage mappings, since the files corresponding to their spelling locs were being ignored. The coverage reader doesn't know what to do with these empty mappings. This commit makes sure that we don't produce them and adds a test. I'll make the reader stricter in a follow-up commit. ------------------------------------------------------------------------ llvm-svn: 276801
2016-07-26Merging r276473:Hans Wennborg10-10/+76
------------------------------------------------------------------------ r276473 | vvassilev | 2016-07-22 14:08:24 -0700 (Fri, 22 Jul 2016) | 13 lines [modules] Teach the ASTWriter to ignore mutations coming from the ASTReader. Processing update records (and loading a module, in general) might trigger unexpected calls to the ASTWriter (being a mutation listener). Now we have a mechanism to suppress those calls to the ASTWriter but notify other possible mutation listeners. Fixes https://llvm.org/bugs/show_bug.cgi?id=28332 Patch by Cristina Cristescu and me. Reviewed by Richard Smith (D21800). ------------------------------------------------------------------------ llvm-svn: 276757
2016-07-25Merging r276361:Hans Wennborg2-49/+1
------------------------------------------------------------------------ r276361 | wolfgangp | 2016-07-21 16:28:18 -0700 (Thu, 21 Jul 2016) | 5 lines Reverting r275115 which caused PR28634. When empty (forwarding) basic blocks that are referenced by user labels are removed, incorrect code may be generated. ------------------------------------------------------------------------ llvm-svn: 276656
2016-07-25Merging Clang-side of r275967: (the LLVM side already merged in r276561)Hans Wennborg2-6/+6
------------------------------------------------------------------------ r275967 | dsanders | 2016-07-19 03:49:03 -0700 (Tue, 19 Jul 2016) | 16 lines [mips] Correct label prefixes for N32 and N64. Summary: N32 and N64 follow the standard ELF conventions (.L) whereas O32 uses its own ($). This fixes the majority of object differences between -fintegrated-as and -fno-integrated-as. Reviewers: sdardis Subscribers: dsanders, sdardis, llvm-commits Differential Revision: https://reviews.llvm.org/D22412 ------------------------------------------------------------------------ llvm-svn: 276643
2016-07-22Merging r276232:George Burgess IV2-1/+14
------------------------------------------------------------------------ r276232 | gbiv | 2016-07-20 20:28:13 -0700 (Wed, 20 Jul 2016) | 13 lines [Sema] Fix PR28623. In atomic builtins, we assumed that the LValue conversion on the first argument would succeed. So, we would crash given code like: ``` void ovl(char); void ovl(int); __atomic_store_n(ovl, 0, 0); ``` This patch makes us not assume that said conversion is successful. :) ------------------------------------------------------------------------ llvm-svn: 276489
2016-07-22ReleaseNotes: s/3.7/3.8/ in 'since the 3.7 release'Hans Wennborg1-1/+1
llvm-svn: 276421
2016-07-20Add attribute abi_tag to the release notesHans Wennborg1-0/+3
Patch by Dmitry Polukhin <dmitry.polukhin@gmail.com>! Differential Revision: https://reviews.llvm.org/D21970 llvm-svn: 276113
2016-07-18Merging r275880:Hans Wennborg8-231/+3
------------------------------------------------------------------------ r275880 | dcoughlin | 2016-07-18 11:57:50 -0700 (Mon, 18 Jul 2016) | 3 lines Revert "[analyzer] Add checker modeling potential C++ self-assignment" This reverts commit r275820. It is failing on the bots. ------------------------------------------------------------------------ llvm-svn: 275902
2016-07-18Analyzer docs: update version to 3.9Hans Wennborg1-2/+2
llvm-svn: 275851