- Mar 06, 2020
-
-
Matt Arsenault authored
This reverts commit 737394c4. The fp-model test was failing on platforms that enable denormal flushing based on -ffast-math. This needs to reset to IEEE, not the default in these cases. Change-Id: Ibbad32f66d0d0b89b9c1173a3a96fb1a570ddd89
-
Saar Raz authored
[Concepts] Add null check for TemplateTypeParmType::getDecl() in GetContainedInventedTypeParmVisitor GetContainedInventedTypeParmVisitor would not account for the case where TemplateTypeParmType::getDecl() is nullptr, causing bug #45102. Add the nullptr check.
-
Alexey Bataev authored
Added basic support (parsing/sema/serialization) for depobj dependency kind in depend clauses.
-
Aaron Puchert authored
Summary: The messages for two of the warnings are misleading: * warn_for_range_const_reference_copy suggests that the initialization of the loop variable results in a copy. But that's not always true, we just know that some conversion happens, potentially invoking a constructor or conversion operator. The constructor might copy, as in the example that lead to this message [1], but it might also not. However, the constructed object is bound to a reference, which is potentially misleading, so we rewrite the message to emphasize that. We also make sure that we print the reference type into the warning message to clarify that this warning only appears when operator* returns a reference. * warn_for_range_variable_always_copy suggests that a reference type loop variable initialized from a temporary "is always a copy". But we don't know this, the range might just return temporary objects which aren't copies of anything. (Assuming RVO a copy constructor might never have been called.) The message for warn_for_range_copy is a bit repetitive: the type of a VarDecl and its initialization Expr are the same up to cv-qualifiers, because Sema will insert implicit casts or constructor calls to make them match. [1] https://bugs.llvm.org/show_bug.cgi?id=32823 Reviewers: aaron.ballman, Mordante, rtrieu Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D75613
-
Stephan Herhut authored
This reverts commit a95cc77b. Causes an internal build failure. I followed up with the author by mail.
-
Richard Smith authored
dependent constructs. We previously assumed they were neither value- nor instantiation-dependent under any circumstances, which would lead to crashes and other misbehavior. This doesn't match GCC's behavior (where statement expressions appear to be treated as value-dependent if they appear in a dependent context), but seems to be the best thing we can do in the short term: it turns out to be remarkably difficult for us to correctly determine whether we are in a dependent context (and it's not even possible in some cases, such as in a generic lambda where we might not have seen the 'auto' yet).
-
Arthur Eubanks authored
Adds warnings to groups recently added in https://reviews.llvm.org/D72231. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D75708
-
- Mar 05, 2020
-
-
Alexey Bataev authored
Added codegen for update clause in depobj. Reads the number of the elements from the first element and updates flags for each element in the loop. ``` omp_depend_t x; kmp_depend_info *base = (kmp_depend_info *)x; intptr_t num = x[-1].base_addr; kmp_depend_info *end = x + num; kmp_depend_info *el = base; do { el.flags = new_flag; el = &el[1]; } while (el != end); ```
-
Alexey Bataev authored
in depobj object. The first element in the list of the dependencies is used for internal purposes to store the number of the elements in the provided list. The first element now is skipped and depobj object poits exactly to the list of dependencies.
-
Fangrui Song authored
Reviewed By: #powerpc, sfertile Differential Revision: https://reviews.llvm.org/D75494
-
Aaron Puchert authored
Summary: It's basically Doxygen's version of a link and can happen anywhere inside of a paragraph. Fixes a bogus warning about empty paragraphs when a parameter description starts with a link. Reviewers: gribozavr2 Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D75632
-
Adrian Prantl authored
Block copy/destroy helpers are now linkonce_odr functions, meant to be uniqued, and thus attaching debug information from one translation unit (or even just from one instance of many inside one translation unit) would be misleading and wrong in the general case. This effectively reverts commit 9c6b6826. <rdar://problem/59137040> Differential Revision: https://reviews.llvm.org/D75615
-
Benjamin Kramer authored
Revert "Fix regression in bdad0a1b: force rebuilding of StmtExpr nodes in", "PR45083: Mark statement expressions as being dependent if they appear in" This reverts commit f545ede9. This reverts commit bdad0a1b. This crashes clang. I'll follow up with reproduction instructions.
-
Jeremy Morse authored
This reverts commit c64ca930. This patch tripped a few build bots: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/24703/ http://lab.llvm.org:8011/builders/clang-cmake-x86_64-avx2-linux/builds/13465/ http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/15994/ Reverting to clear the bots.
-
Matt Arsenault authored
The IR hasn't switched the default yet, so explicitly add the ieee attributes. I'm still not really sure how the target default denormal mode should interact with -fno-unsafe-math-optimizations. The target may have selected the default mode to be non-IEEE based on the flags or based on its true behavior, but we don't know which is the case. Since the only users of a non-IEEE mode without a flag still support IEEE mode, just reset to IEEE.
-
- Mar 04, 2020
-
-
Alexey Bataev authored
If the destroy clause is appplied, the previously allocated memory for the dependency object must be destroyed.
-
Richard Smith authored
TreeTransform if the 'dependent' flag would change.
-
Alexey Bataev authored
Added codegen for 'depend' clause in depobj directive. The depend clause is emitted as kmp_depend_info <deps>[<number_of_items_in_clause> + 1]. The first element in this array is reserved for storing the number of elements in this array: <deps>[0].base_addr = <number_of_items_in_clause>; This extra element is required to implement 'update' and 'destroy' clauses. It is required to know the size of array to destroy it correctly and to update depency kind.
-
Jeremy Morse authored
The output of subprocess.check_output is decode()'d through the rest of this python program, but one appears to have been missed for the output of the call to "clang -print-file-name=include". On Windows, with Python 3.6, this leads to the 'args' array being a mix of bytes and strings, which causes exceptions later down the line. I can't easily test with python2 on Windows, but python2 on Ubuntu 18.04 was happy with this change.
-
Jeremy Morse authored
On my Windows machine at least, the path to python contains a space.
-
Alexey Bataev authored
Do not allow to use 'sink' and 'source' dependency kinds in 'depobj' directive.
-
Simon Tatham authored
Summary: The VSHLC instruction performs a left shift of a whole vector register by an immediate shift count up to 32, shifting in new bits at the low end from a GPR and delivering the shifted-out bits from the high end back into the same GPR. Since the instruction produces two outputs (the shifted vector register and the output GPR of shifted-out bits), it has to be instruction-selected in C++ rather than Tablegen. Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard Reviewed By: miyuki Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D75445
-
Simon Tatham authored
Summary: These are exactly parallel to the existing `vadciq` intrinsics, which we implemented last year as part of the original MVE intrinsics framework setup. Just like VADC/VADCI, the MVE VSBC/VSBCI instructions deliver two outputs, both of which the intrinsic exposes: a modified vector register and a carry flag. So they have to be instruction-selected in C++ rather than Tablegen. However, in this case, that's trivial: the same C++ isel routine we already have for VADC works unchanged, and all we have to do is to pass it a different instruction id. Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard Reviewed By: miyuki Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D75444
-
Charusso authored
Summary: The new way of checking fix-its is `%check_analyzer_fixit`. Reviewed By: NoQ, Szelethus, xazax.hun Differential Revision: https://reviews.llvm.org/D73729
-
Charusso authored
Summary: This patch introduces a way to apply the fix-its by the Analyzer: `-analyzer-config apply-fixits=true`. The fix-its should be testable, therefore I have copied the well-tested `check_clang_tidy.py` script. The idea is that the Analyzer's workflow is different so it would be very difficult to use only one script for both Tidy and the Analyzer, the script would diverge a lot. Example test: `// RUN: %check-analyzer-fixit %s %t -analyzer-checker=core` When the copy-paste happened the original authors were: @alexfh, @zinovy.nis, @JonasToth, @hokein, @gribozavr, @lebedev.ri Reviewed By: NoQ, alexfh, zinovy.nis Differential Revision: https://reviews.llvm.org/D69746
-
hsmahesha authored
Summary: hip-pinned-shadow global var should remain in the final code object irrespective of whether it is used or not within the code. Add it to used list, so that it will not get eliminated when it is unused. Reviewers: yaxunl, tra, hliao Reviewed By: yaxunl Subscribers: hliao, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75402
-
Richard Smith authored
operation needs to read from its operand.
-
Richard Smith authored
dependent contexts. We previously assumed they were neither value- nor instantiation-dependent under any circumstances, which would lead to crashes and other misbehavior.
-
- Mar 03, 2020
-
-
Michael Spencer authored
The -fsystem-module flag is used when explicitly building a module. It forces the module to be treated as a system module. This is used when converting an implicit build to an explicit build to match the systemness the implicit build would have had for a given module. Differential Revision: https://reviews.llvm.org/D75395
-
George Rokos authored
Lower priority of __tgt_register_lib in order to make sure that __tgt_register_requires is called before loading a libomptarget plugin. We want to know beforehand which requirements the user has asked for so that upon loading the plugin libomptarget can report how many devices there are that can satisfy these requirements. Differential Revision: https://reviews.llvm.org/D75223
-
Alexey Bataev authored
Added basic support (parsing/sema/serialization) for 'update' clause in 'depobj' directive.
-
Sid Manning authored
Pickup the default crt and libs when the target is musl. Resubmitting after updating the testcase. Differential Revision: https://reviews.llvm.org/D75139
-
Balazs Benics authored
Summary: This patch introduces the `clang_analyzer_isTainted` expression inspection check for checking taint. Using this we could query the analyzer whether the expression used as the argument is tainted or not. This would be useful in tests, where we don't want to issue warning for all tainted expressions in a given file (like the `debug.TaintTest` would do) but only for certain expressions. Example usage: ```lang=c++ int read_integer() { int n; clang_analyzer_isTainted(n); // expected-warning{{NO}} scanf("%d", &n); clang_analyzer_isTainted(n); // expected-warning{{YES}} clang_analyzer_isTainted(n + 2); // expected-warning{{YES}} clang_analyzer_isTainted(n > 0); // expected-warning{{YES}} int next_tainted_value = n; // no-warning return n; } ``` Reviewers: NoQ, Szelethus, baloghadamsoftware, xazax.hun, boga95 Reviewed By: Szelethus Subscribers: martong, rnkovacs, whisperity, xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, donat.nagy, Charusso, cfe-commits, boga95, dkrupp, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D74131
-
Hans Wennborg authored
and follow-ups: a2ca1c2d "build: disable zlib by default on Windows" 2181bf40 "[CMake] Link against ZLIB::ZLIB" 1079c68a "Attempt to fix ZLIB CMake logic on Windows" This changed the output of llvm-config --system-libs, and more importantly it broke stand-alone builds. Instead of piling on more fix attempts, let's revert this to reduce the risk of more breakages.
-
Sjoerd Meijer authored
This reverts commit 0a9fc923. Going to look at the asan failures. I find the failures in the test suite weird, because they look like compile time test and I don't understand how that can be failing, but will have a brief look at that too.
-
Sjoerd Meijer authored
This makes -fno-common the default for all targets because this has performance and code-size benefits and is more language conforming for C code. Additionally, GCC10 also defaults to -fno-common and so we get consistent behaviour with GCC. With this change, C code that uses tentative definitions as definitions of a variable in multiple translation units will trigger multiple-definition linker errors. Generally, this occurs when the use of the extern keyword is neglected in the declaration of a variable in a header file. In some cases, no specific translation unit provides a definition of the variable. The previous behavior can be restored by specifying -fcommon. As GCC has switched already, we benefit from applications already being ported and existing documentation how to do this. For example: - https://gcc.gnu.org/gcc-10/porting_to.html - https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common Differential revision: https://reviews.llvm.org/D75056
-
Awanish Pandey authored
This patch adds support for dwarf emission/dumping part of debuginfo generation for defaulted parameters. Reviewers: probinson, aprantl, dblaikie Reviewed By: aprantl, dblaikie Differential Revision: https://reviews.llvm.org/D73462
-
Erik Pilkington authored
When an implicitly generated decl was the first entry in the group, we attempted to lookup comments with an empty FileID, leading to crashes. Avoid this by trying to use the other declarations in the group, and then bailing out if none are valid. rdar://59919733 Differential revision: https://reviews.llvm.org/D75483
-
- Mar 02, 2020
-
-
Luboš Luňák authored
This reverts commit 398b4ed8. As requested in https://bugs.llvm.org/show_bug.cgi?id=43465#c37 .
-
Sid Manning authored
This reverts commit 63776766. Need to fix the testcase.
-