- Aug 23, 2016
-
-
Adrian Prantl authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279489 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
to DiagnoseUninstantiableTemplate, teach hasVisibleDefinition to correctly determine whether a function definition is visible, and mark both the function and the template as visible when merging function template definitions to provide hasVisibleDefinition with the relevant information. The change to always pass the right declaration as the PatternDef to DiagnoseUninstantiableTemplate also caused those checks to happen before other diagnostics in InstantiateFunctionDefinition, giving worse diagnostics for the same situations, so I sunk the relevant diagnostics into DiagnoseUninstantiableTemplate. Those parts of this patch are based on changes in reviews.llvm.org/D23492 by Vassil Vassilev. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279486 91177308-0d34-0410-b5e6-96231b3b80d8
-
Adrian Prantl authored
in isDefinedInClangModule() and assume that the incomplete definition is not defined in the module. This broke the -gmodules self host recently. rdar://problem/27894367 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279485 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 22, 2016
-
-
Bruno Cardoso Lopes authored
Fix crash-on-invalid in ObjC Sema by avoiding to rebuild a message expression to a 'super' class in case the method to call does not exist (i.e. comes from another missing identifier). In this case, the typo transform is invoked upon the message expression in an attempt to solve a typo in a 'super' call parameters, but it crashes since it assumes the method to call has a valid declaration. rdar://problem/27305403 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279481 91177308-0d34-0410-b5e6-96231b3b80d8
-
Davide Italiano authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279479 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Shen authored
This should finish the GraphTraits migration. Differential Revision: http://reviews.llvm.org/D23730 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279475 91177308-0d34-0410-b5e6-96231b3b80d8
-
Matt Arsenault authored
Structs are currently handled as pointer + byval, which makes AMDGPU LLVM backend generate incorrect code when structs are used. This patch changes struct argument to be handled directly and without flattening, which Clover (Mesa 3D Gallium OpenCL state tracker) will be able to handle. Flattening would expand the struct to individual elements and pass each as a separate argument, which Clover can not handle. Furthermore, such expansion does not fit the OpenCL programming model which requires to explicitely specify each argument index, size and memory location. Patch by Vedran Miletić git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279463 91177308-0d34-0410-b5e6-96231b3b80d8
-
Duncan P. N. Exon Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279457 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Belevich authored
If they are, we end up with the last intermediary output preserved in the current directory after compilation. Added a test case to verify that we're using appropriate filenames for outputs of different phases. Differential Revision: https://reviews.llvm.org/D23526 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279455 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279445 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Blaikie authored
test/CodeGenCXX/debug-info-zero-length-arrays.cpp tests this functionality more comprehensively git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279444 91177308-0d34-0410-b5e6-96231b3b80d8
-
Martin Probst authored
Before: x as{x: number} After: x as {x: number} Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D23761 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279436 91177308-0d34-0410-b5e6-96231b3b80d8
-
Gabor Horvath authored
Differential Revision: https://reviews.llvm.org/D15227 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279427 91177308-0d34-0410-b5e6-96231b3b80d8
-
Gabor Horvath authored
Also simplify the constraints generated by the checker. Differential Revision: https://reviews.llvm.org/D23112 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279425 91177308-0d34-0410-b5e6-96231b3b80d8
-
Elad Cohen authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279419 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 21, 2016
-
-
Asaf Badouh authored
add "__" prefix Bug 28842 https://llvm.org/bugs/show_bug.cgi?id=29040 Differential Revision: https://reviews.llvm.org/D23753 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@279392 91177308-0d34-0410-b5e6-96231b3b80d8
-
- 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
-