- Aug 20, 2016
-
-
Simon Pilgrim authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279382 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
This replaces the old approach of fingerprinting every AST node into a string, which avoided collisions and was simple to implement, but turned out to be extremely ineffective with respect to both performance and memory. The collisions are now dealt with in a separate pass, which no longer causes performance problems because collisions are rare. Patch by Raphael Isemann! Differential Revision: https://reviews.llvm.org/D22515 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279378 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
This is valid in GNU C, which allows pointers to incomplete enums. GCC just pretends that the underlying type is 'int' in those cases, follow that behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279374 91177308-0d34-0410-b5e6-96231b3b80d8
-
Vassil Vassilev authored
In certain cases (mostly coming from modules), Sema's idea of the StdNamespace does not point to the first declaration of namespace std. Patch by Cristina Cristescu! Reviewed by Richard Smith. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279371 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
So far macro-generated code was treated by the CloneDetector as normal code. This caused that some macros where reported as false-positive clones because large chunks of code coming from otherwise concise macro expansions were treated as copy-pasted code. This patch ensures that macros are treated in the same way as literals/function calls. This prevents macros that expand into multiple statements from being reported as clones. Patch by Raphael Isemann! Differential Revision: https://reviews.llvm.org/D23316 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279367 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
For example, code samples `isa<Stmt>(S)' and `isa<Expr>(S)' are no longer considered to be clones. Patch by Raphael Isemann! Differential Revision: https://reviews.llvm.org/D23555 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279366 91177308-0d34-0410-b5e6-96231b3b80d8
-
Manman Ren authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279358 91177308-0d34-0410-b5e6-96231b3b80d8
-
Manman Ren authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279357 91177308-0d34-0410-b5e6-96231b3b80d8
-
Manman Ren authored
This is in preparation of adding a new type class ObjCTypeParamType that can take protocol qualifiers. ObjCProtocolQualifiers will be shared between ObjCObjectType and ObjCTypeParamType. rdar://24619481 rdar://25060179 Differential Revision: http://reviews.llvm.org/D23078 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279351 91177308-0d34-0410-b5e6-96231b3b80d8
-
Vedant Kumar authored
This is a follow-up to r279112 (which removed the need for the header) and in the same spirit as r279035 (which attempted to un-break out-of-tree builds). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279348 91177308-0d34-0410-b5e6-96231b3b80d8
-
Devin Coughlin authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279330 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 19, 2016
-
-
Tim Shen authored
Reviewers: dblaikie Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23726 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279329 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Shen authored
Currently nodes_iterator may dereference to a NodeType* or a NodeType&. Make them all dereference to NodeType*, which is NodeRef later. Differential Revision: https://reviews.llvm.org/D23704 Differential Revision: https://reviews.llvm.org/D23705 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279326 91177308-0d34-0410-b5e6-96231b3b80d8
-
Martin Probst authored
Summary: E.g. `{a: 1} as b`. Reviewers: djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D23714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279250 91177308-0d34-0410-b5e6-96231b3b80d8
-
Andrey Bokhanko authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279240 91177308-0d34-0410-b5e6-96231b3b80d8
-
Valery Pykhtin authored
Differential revision: https://reviews.llvm.org/D23668 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279235 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279207 91177308-0d34-0410-b5e6-96231b3b80d8
-
Yaxun Liu authored
There was a premature cast to pointer type in emitPointerArithmetic which caused assertion in tests with assertion enabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279206 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
from p0273r0 approved by EWG). We'll eventually need to handle this from the lexer as well, in order to disallow preprocessor directives preceding the module declaration and to support macro import. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279196 91177308-0d34-0410-b5e6-96231b3b80d8
-
Devin Coughlin authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279183 91177308-0d34-0410-b5e6-96231b3b80d8
-
Devin Coughlin authored
We should ignore paren casts when making sure that the semantic expression in a PseudoObjectExpr for an ObjC getter is a message send. This has no other intended functionality change. Adding a test for this exposed an interesting issue in another test case that only manifests under ARC. trackNullOrUndefValue() is not properly suppressing for nil values that are the result of nil propagation from a nil receiver when the nil is returned from a function. I've added a FIXME for that missing suppression. rdar://problem/27290568 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279181 91177308-0d34-0410-b5e6-96231b3b80d8
-
Changpeng Fang authored
Summary: int __builtin_amdgcn_ds_swizzle (int a, int imm); while imm is a constant. Differential Revision: http://reviews.llvm.org/D23682 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279165 91177308-0d34-0410-b5e6-96231b3b80d8
-
Vassil Vassilev authored
Reviewed by Richard Smith. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279164 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 18, 2016
-
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279163 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Bogner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279159 91177308-0d34-0410-b5e6-96231b3b80d8
-
Saleem Abdulrasool authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279154 91177308-0d34-0410-b5e6-96231b3b80d8
-
Cameron Desrochers authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279145 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Lebar authored
Summary: A bunch of related changes here to our CUDA math headers. - The second arg to nexttoward is a double (well, technically, long double, but we don't have that), not a float. - Add a forward-declare of llround(float), which is defined in the CUDA headers. We need this for the same reason we need most of the other forward-declares: To prevent a constexpr function in our standard library from becoming host+device. - Add nexttowardf implementation. - Pull "foobarf" functions defined by the CUDA headers in the global namespace into namespace std. This lets you do e.g. std::sinf. - Add overloads for math functions accepting integer types. This lets you do e.g. std::sin(0) without having an ambiguity between the overload that takes a float and the one that takes a double. With these changes, we pass testcases derived from libc++ for cmath and math.h. We can check these testcases in to the test-suite once support for CUDA lands there. Reviewers: tra Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23627 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279140 91177308-0d34-0410-b5e6-96231b3b80d8
-
Yaxun Liu authored
due to regressions in test/CodeGen/exprs.c on certain platforms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279127 91177308-0d34-0410-b5e6-96231b3b80d8
-
Zachary Turner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279122 91177308-0d34-0410-b5e6-96231b3b80d8
-
Yaxun Liu authored
Pointers of certain GPUs in AMDGCN target in private address space is 32 bit but pointers in other address spaces are 64 bit. size_t type should be defined as 64 bit for these GPUs so that it could hold pointers in all address spaces. Also fixed issues in pointer arithmetic codegen by using pointer specific intptr type. Differential Revision: https://reviews.llvm.org/D23361 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279121 91177308-0d34-0410-b5e6-96231b3b80d8
-
Zachary Turner authored
This patch introduced the ability to decide at runtime whether to parse JSON compilation database command lines using Gnu syntax or Windows syntax. However, there were many existing unit tests written that hardcoded Gnu-specific paths. These tests were now failing because the auto-detection logic was choosing to parse them using Windows rules. This resubmission of the patch fixes this by introducing an enum which defines the syntax mode, which defaults to auto-detect, but for which the unit tests force Gnu style parsing. Reviewed By: alexfh Differential Revision: https://reviews.llvm.org/D23628 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279120 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
In C, 'extern' is typically used to avoid tentative definitions when declaring variables in headers, but adding an intializer makes it a defintion. This is somewhat confusing, so GCC and Clang both warn on it. In C++, 'extern' is often used to give implictly static 'const' variables external linkage, so don't warn in that case. If selectany is present, this might be header code intended for C and C++ inclusion, so apply the C++ rules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279116 91177308-0d34-0410-b5e6-96231b3b80d8
-
Cameron Desrochers authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279114 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
<sys/resource.h> is available. This should fix out-of-tree builds, at the cost of not providing the higher rlimits to stage 1 clang when built with an old host compiler not implementing this feature yet (bootstrap builds should be fine, though). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279112 91177308-0d34-0410-b5e6-96231b3b80d8
-
Vedant Kumar authored
This reverts commit r279035. According to Richard Smith, llvm-config.h does not contain the right definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279097 91177308-0d34-0410-b5e6-96231b3b80d8
-
Manman Ren authored
In this mode, there is no need to load any module map and the programmer can simply use "@import" syntax to load the module directly from a prebuilt module path. When loading from prebuilt module path, we don't support rebuilding of the module files and we ignore compatible configuration mismatches. rdar://27290316 Differential Revision: http://reviews.llvm.org/D23125 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279096 91177308-0d34-0410-b5e6-96231b3b80d8
-
Cameron Desrochers authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279092 91177308-0d34-0410-b5e6-96231b3b80d8
-
Cameron Desrochers authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279085 91177308-0d34-0410-b5e6-96231b3b80d8
-
Cameron Desrochers authored
This complements the clang_getSkippedRanges function which returns skipped ranges filtered by a specific file. This function is useful when all the ranges are desired (and a lot more efficient than the equivalent of asking for the ranges file by file, since the implementation of clang_getSkippedRanges iterates over all ranges anyway). Differential Revision: https://reviews.llvm.org/D20132 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279076 91177308-0d34-0410-b5e6-96231b3b80d8
-