- May 12, 2016
-
-
Filipe Cabecinhas authored
Summary: This option allows the user to control how much of the file name is emitted by UBSan. Tuning this option allows one to save space in the resulting binary, which is helpful for restricted execution environments. With a positive N, UBSan skips the first N path components. With a negative N, UBSan only keeps the last N path components. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19666 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269309 91177308-0d34-0410-b5e6-96231b3b80d8
-
Anastasia Stulova authored
Diagnostics should note version dependent issues by giving a hint about current version being compiled for. This patch changes diagnostics of static storage class specifier and generic type qualifier to specify OpenCL version as well as converts other diagnostics to match the style. Patch by Vedran Miletic! Review: http://reviews.llvm.org/D19780 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269305 91177308-0d34-0410-b5e6-96231b3b80d8
-
Martin Probst authored
Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D20200 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269282 91177308-0d34-0410-b5e6-96231b3b80d8
-
Marcin Koscielnicki authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269279 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bruno Cardoso Lopes authored
Reverts r269270, buildbots still failing: http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/12119 http://bb.pgr.jp/builders/ninja-clang-i686-msc19-R/builds/2847 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269276 91177308-0d34-0410-b5e6-96231b3b80d8
-
Etienne Bergeron authored
Summary: This patch is adding support for a matcher to check string literal length. This matcher is used in clang-tidy checkers and is part of this refactoring: see: http://reviews.llvm.org/D19841 Reviewers: sbenza, klimek, aaron.ballman Subscribers: alexfh, klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D19876 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269274 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
Bases can be zero-initialized: the storage is zero-initialized before the base constructor is run. The MS ABI has a quirk where base VBPtrs are not installed by the base constructor but by the most derived class. In particular, they are installed before the base constructor is run. The derived constructor must be careful to zero-initialize only the bits of the class which haven't already been populated by virtual base pointers. While we correctly avoided this scenario, we didn't handle the case where the base class has virtual bases which have virtual bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269271 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bruno Cardoso Lopes authored
The way we currently build the internal VFS overlay representation leads to inefficient path search and might yield wrong answers when asked for recursive or regular directory iteration. Currently, when reading an YAML file, each YAML root entry is placed inside a new root in the filesystem overlay. In the crash reproducer, a simple "@import Foundation" currently maps to 43 roots, and when looking up paths, we traverse a directory tree for each of these different roots, until we find a match (or don't). This has two consequences: - It's slow. - Directory iteration gives incomplete results since it only return results within one root - since contents of the same directory can be declared inside different roots, the result isn't accurate. This is in part fault of the way we currently write out the YAML file when emitting the crash reproducer - we could generate only one root and that would make it fast and correct again. However, we should not rely on how the client writes the YAML, but provide a good internal representation regardless. This patch builds a proper virtual directory tree out of the YAML representation, allowing faster search and proper iteration. Besides the crash reproducer, this potentially benefits other VFS clients. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269270 91177308-0d34-0410-b5e6-96231b3b80d8
-
Etienne Bergeron authored
Summary: The inline keywords are redundant. Introduce by this commit to try to fix broken build bots: http://reviews.llvm.org/D20180 Tested on Debug and Release build [linux]. Tested on Release + Shared (-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON) [linux] Tested on Release [windows] Reviewers: alexfh Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D20189 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269257 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 11, 2016
-
-
Simon Pilgrim authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269242 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bruno Cardoso Lopes authored
Do not rely on any specific order while comparing the results of directory iteration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269234 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
This is in preparation for C++ P0136R1, which switches the model for inheriting constructors over from synthesizing a constructor to finding base class constructors (via using shadow decls) when looking for derived class constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269231 91177308-0d34-0410-b5e6-96231b3b80d8
-
Devin Coughlin authored
Fix a crash in the generics checker where DynamicTypePropagation tries to get the superclass of a root class. This is a spot-fix for a deeper issue where the checker makes assumptions that may not hold about subtyping between the symbolically-tracked type of a value and the compile-time types of a cast on that value. I've added a TODO to address the underlying issue. rdar://problem/26086914 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269227 91177308-0d34-0410-b5e6-96231b3b80d8
-
Etienne Bergeron authored
Summary: The missing keyword "inline" is causing some buildbot to fail. The symbol is not available. see: http://lab.llvm.org:8011/builders/clang-ppc64be-linux-multistage/builds/2281/ Reviewers: rnk Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D20180 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269224 91177308-0d34-0410-b5e6-96231b3b80d8
-
Andrey Bokhanko authored
This patch implements __unaligned (MS extension) as a proper type qualifier (before that, it was implemented as an ignored attribute). It also fixes PR27367 and PR27666. Differential Revision: http://reviews.llvm.org/D20103 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269220 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269214 91177308-0d34-0410-b5e6-96231b3b80d8
-
Steven Wu authored
Summary: Teach clang to embed bitcode inside bitcode. When -fembed-bitcode cc1 option is used, clang will embed both the input bitcode and cc1 commandline into the bitcode in special sections before compiling to the object file. Using -fembed-bitcode-marker will only introduce a marker in both sections. Depends on D17390 Reviewers: rsmith Subscribers: yaron.keren, vsk, cfe-commits Differential Revision: http://reviews.llvm.org/D17392 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269202 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
[ Copied from https://llvm.org/bugs/show_bug.cgi?id=26404 ] clang support on Haiku is lagging a bit, and missing on x86_64. This patch updates support for x86 and add support for x86_64. It should apply directly to trunk and it's harmless in the sense that it only affects Haiku. Reviewers: rnk, rsmith Patch by Jérôme Duval Differential Revision: http://reviews.llvm.org/D16797 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269201 91177308-0d34-0410-b5e6-96231b3b80d8
-
Krzysztof Parzyszek authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269200 91177308-0d34-0410-b5e6-96231b3b80d8
-
Etienne Bergeron authored
Summary: This is the refactoring to lift some FixItHint into tooling. used by: http://reviews.llvm.org/D19807 Reviewers: klimek, alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19941 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269188 91177308-0d34-0410-b5e6-96231b3b80d8
-
Michael Zuckerman authored
Differential Revision: http://reviews.llvm.org/D20099 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269172 91177308-0d34-0410-b5e6-96231b3b80d8
-
Michael Zuckerman authored
Differential Revision: http://reviews.llvm.org/D20096 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269170 91177308-0d34-0410-b5e6-96231b3b80d8
-
Sean Silva authored
Bruno made a couple valiant attempts but the bot is still red. This reverts r269100 (primary commit), r269108 (fix attempt), r269133 (fix attempt). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269160 91177308-0d34-0410-b5e6-96231b3b80d8
-
George Burgess IV authored
This patch fixes a bug where we would assume all value-dependent enable_if conditions give successful results. Instead, we consider value-dependent enable_if conditions to always fail. While this isn't ideal, this is the best we can realistically do without changing both enable_if's semantics and large parts of Sema (specifically, all of the parts that don't expect type dependence to come out of nowhere, and that may interact with overload resolution). Differential Revision: http://reviews.llvm.org/D20130 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269154 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269148 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bruno Cardoso Lopes authored
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/5110 Follow up from r269100. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269133 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 10, 2016
-
-
Reid Kleckner authored
Oops. :( git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269118 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
Summary: This only warns on casts of the address of a function defined in the current TU. In this case, the fix is likely to be local and the warning useful. Here are some things we could experiment with in the future: - Fire on declarations as well as definitions - Limit the warning to non-void function prototypes - Limit the warning to mismatches of caller and callee cleanup CCs This warning is currently off by default while we study its usefulness. Reviewers: thakis, rtrieu Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D17348 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269116 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Collingbourne authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269111 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bruno Cardoso Lopes authored
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/5103 Follow up from r269100. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269108 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bruno Cardoso Lopes authored
The way we currently build the internal VFS overlay representation leads to inefficient path search and might yield wrong answers when asked for recursive or regular directory iteration. Currently, when reading an YAML file, each YAML root entry is placed inside a new root in the filesystem overlay. In the crash reproducer, a simple "@import Foundation" currently maps to 43 roots, and when looking up paths, we traverse a directory tree for each of these different roots, until we find a match (or don't). This has two consequences: - It's slow. - Directory iteration gives incomplete results since it only return results within one root - since contents of the same directory can be declared inside different roots, the result isn't accurate. This is in part fault of the way we currently write out the YAML file when emitting the crash reproducer - we could generate only one root and that would make it fast and correct again. However, we should not rely on how the client writes the YAML, but provide a good internal representation regardless. This patch builds a proper virtual directory tree out of the YAML representation, allowing faster search and proper iteration. Besides the crash reproducer, this potentially benefits other VFS clients. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269100 91177308-0d34-0410-b5e6-96231b3b80d8
-
Derek Schuff authored
It didn't work on non-asserts builds git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269099 91177308-0d34-0410-b5e6-96231b3b80d8
-
Derek Schuff authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269089 91177308-0d34-0410-b5e6-96231b3b80d8
-
Derek Schuff authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269088 91177308-0d34-0410-b5e6-96231b3b80d8
-
Derek Schuff authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269087 91177308-0d34-0410-b5e6-96231b3b80d8
-
Derek Schuff authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269086 91177308-0d34-0410-b5e6-96231b3b80d8
-
Derek Schuff authored
Summary: For a static object with a nontrivial destructor, clang generates an initializer function (__cxx_global_var_init) which registers that object's destructor using __cxa_atexit. However some ABIs (ARM, WebAssembly) use destructors that return 'this' instead of having void return (which does not match the signature of function pointers passed to __cxa_atexit). This results in undefined behavior when the destructors are called. All the calling conventions I know of on ARM can tolerate this, but WebAssembly requires the signatures of indirect calls to match the called function. This patch disables that direct registration of destructors for ABIs that have this-returning destructors. Subscribers: aemerson, jfb, cfe-commits, dschuff Differential Revision: http://reviews.llvm.org/D19275 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269085 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269079 91177308-0d34-0410-b5e6-96231b3b80d8
-
Chris Bieneman authored
Not passing this causes Compiler-RT to fail to configure on multi-lib systems. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269069 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269063 91177308-0d34-0410-b5e6-96231b3b80d8
-