| Commit message (Collapse) | Author | Age | Files | Lines | 
| ... |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This initial commit serves as an example -- the remainder of the
classes using pointer arithmetic for trailing objects will be
converted in subsequent changes.
Differential Revision: http://reviews.llvm.org/D11298
llvm-svn: 244262
 | 
| | 
| 
| 
|  | 
llvm-svn: 244261
 | 
| | 
| 
| 
| 
| 
|  | 
rdar://21896690
llvm-svn: 244245
 | 
| | 
| 
| 
| 
| 
|  | 
OpenMP 4.1 allows to use variables with reference types in private clauses and, therefore, in init expressions of the cannonical loop forms.
llvm-svn: 244209
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
When a thunk is generated with a call to the original adjusted function, 
the thunk appears in the debugger call stack. We want the backend to perform
tail-call optimization on the call, to make it invisible to the debugger.
This fixes PR24235
Patch by: amjad.aboud@intel.com
Differential Revision: http://reviews.llvm.org/D11476
llvm-svn: 244207
 | 
| | 
| 
| 
| 
| 
|  | 
Differential Revision: http://reviews.llvm.org/D11753
llvm-svn: 244201
 | 
| | 
| 
| 
|  | 
llvm-svn: 244193
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
determine the primary context, rather than sometimes registering the lookup
table on the wrong context.
This exposed a couple of bugs:
 * the odr violation check didn't deal properly with mergeable declarations
   if the declaration retained by name lookup wasn't in the canonical
   definition of the class
 * the (broken) RewriteDecl mechanism would emit two name lookup tables for
   the same DeclContext into the same module file (one as part of the
   rewritten declaration and one as a visible update for the old declaration)
These are both fixed too.
llvm-svn: 244192
 | 
| | 
| 
| 
| 
| 
|  | 
to match the rest of their brethren and reformat the bits that need it.
llvm-svn: 244186
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
scripts
These two arguments tend to refer to a local path that won't exist
when we try to reproduce a bug. Strip them.
llvm-svn: 244179
 | 
| | 
| 
| 
| 
| 
|  | 
use of the string.
llvm-svn: 244178
 | 
| | 
| 
| 
| 
| 
| 
|  | 
This new flag allows the user to disable a previous instance of
-fcoverage-mapping, if needed.
llvm-svn: 244170
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
useless return value. Switch to using it directly when completing the
redeclaration chain for an anonymous declaration, and reduce the set of
declarations that we load in the process to just those of the right kind.
llvm-svn: 244161
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This patch adds flags -fno-profile-instr-generate and
-fno-profile-instr-use, and the GCC aliases -fno-profile-generate and
-fno-profile-use.
These flags are used in situations where users need to disable profile
generation or use for specific files in a build, without affecting other
files.
llvm-svn: 244153
 | 
| | 
| 
| 
|  | 
llvm-svn: 244131
 | 
| | 
| 
| 
|  | 
llvm-svn: 244126
 | 
| | 
| 
| 
|  | 
llvm-svn: 244125
 | 
| | 
| 
| 
| 
| 
|  | 
Twine + const char * is supported.
llvm-svn: 244110
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Summary:
By default, 'clang' emits dwarf and 'clang-cl' emits codeview.  You can
force emission of one or both by passing -gcodeview and -gdwarf to
either driver.
Reviewers: dblaikie, hans
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11742
llvm-svn: 244097
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
With this option, clang can use -fsanitize=thread on AArch64.
Patch by Adhemerval Zanella.
llvm-svn: 244091
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This seems preferable to printing two warnings per unsupported option-
one warning about not supporting it, and one about not using it.
It also makes the '-Wno-' option do what you mean.
Differential Revision: http://reviews.llvm.org/D11766
llvm-svn: 244079
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
noticed until now.
The code for setting up the driver's InstalledDir didn't respect
-no-canonical-prefixes. Because of this, there are a few places in the
driver where we would unexpectedly form absolute paths, notably when
searching for and finding GCC installations to use, etc. The fix is
straightforward, and I've added this path to '-v' both so we can test it
sanely and so that it will be substantially more obvious the next time
someone has to debug something here.
Note that there is another bug that we don't actually *canonicalize* the
installed directory! I don't really want to fix that because I don't
have a realistic way to test the usage of this mode. I suspect that
folks using the shared module cache would care about getting this right
though, and so they might want to address it. I've left the appropriate
FIXMEs so that it is clear what to change, and I've updated the test
code to make it clear what is happening here.
llvm-svn: 244065
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Support for emitting libcalls for __atomic_fetch_nand and
__atomic_{add,sub,and,or,xor,nand}_fetch was missing; add it, and some
test cases.
Differential Revision: http://reviews.llvm.org/D10847
llvm-svn: 244063
 | 
| | 
| 
| 
|  | 
llvm-svn: 244051
 | 
| | 
| 
| 
| 
| 
|  | 
constructors, as well as functionality to determine whether a ctor initializer is a base initializer.
llvm-svn: 244036
 | 
| | 
| 
| 
| 
| 
|  | 
intended.
llvm-svn: 244028
 | 
| | 
| 
| 
|  | 
llvm-svn: 244027
 | 
| | 
| 
| 
|  | 
llvm-svn: 244026
 | 
| | 
| 
| 
|  | 
llvm-svn: 244024
 | 
| | 
| 
| 
|  | 
llvm-svn: 244018
 | 
| | 
| 
| 
|  | 
llvm-svn: 243992
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
SmallVector::set_size does not reallocate the vector. Sadly I have no
idea how to test this. The vector never has more than one member in all
of the regression tests.
Found by inspection.
llvm-svn: 243987
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
set_size only resets the end pointer and asserts if it is used to grow
the buffer. This would crash when mangling a float with more than 80 bits,
add a test with a ppc double double (128 bits).
Found by inspection.
llvm-svn: 243979
 | 
| | 
| 
| 
| 
| 
|  | 
No functionality change intended.
llvm-svn: 243974
 | 
| | 
| 
| 
| 
| 
|  | 
That's just ugly and not needed in this case. No functionality change.
llvm-svn: 243973
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
This brings ASTContext closer to LLVM's Allocator concept. Ideally we
would just derive ASTContext from llvm::AllocatorBase, but that does
not work because ASTContext's allocator is mutable and we allocate using
const ASTContext& everywhere.
llvm-svn: 243972
 | 
| | 
| 
| 
| 
| 
|  | 
No functional change intended.
llvm-svn: 243970
 | 
| | 
| 
| 
| 
| 
|  | 
OpenMP 4.1 allows 'linear' clause in loop directives. Patch adds support for it.
llvm-svn: 243969
 | 
| | 
| 
| 
|  | 
llvm-svn: 243968
 | 
| | 
| 
| 
|  | 
llvm-svn: 243966
 | 
| | 
| 
| 
| 
| 
|  | 
If a global variable is marked as private in OpenMP construct and then is used in of the private clauses of the same construct, it might cause compiler crash because of incorrect capturing.
llvm-svn: 243964
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
a BumpPtrAllocator. This at least now handles the case where there is no
concatentation without calling memcpy on a null pointer. It might be
interesting to handle the case where everything is empty without
round-tripping through the allocator, but it wasn't clear to me if the
pointer returned is significant in any way, so I've left it in
a conservatively more-correct state.
Again, found with UBSan.
llvm-svn: 243948
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
rather than forcing the bump pointer allocator to produce a viable
pointer. This also fixes UB when we would try to memcpy from the null
incoming StringRef.
llvm-svn: 243947
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
the nested name specifier code.
First, skip the entire thing when the input is empty.
Next, handle the case where we started off with a null buffer and a zero
capacity to skip copying and freeing.
This was found with UBSan.
llvm-svn: 243946
 | 
| | 
| 
| 
| 
| 
|  | 
the same anonymous union is defined across multiple modules.
llvm-svn: 243940
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Summary: In addition to checking compiler flags, the front-end also examines the attributes of the destructor definition to ensure that the SanitizeMemory attribute is attached.
Reviewers: eugenis, kcc
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11727
refactored test into new file, revised how function attribute examined
modified test to examine default dtor with and without attribute
removed attribute check
llvm-svn: 243912
 | 
| | 
| 
| 
| 
| 
|  | 
Differential Revision: http://reviews.llvm.org/D11581
llvm-svn: 243878
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
concept
Summary: Add IsConcept bit to VarDecl::NonParmVarDeclBitfields and associated isConcept/setConcept member functions. Set IsConcept to true when 'concept' specifier is in variable declaration. Create diagnostic when variable concept is not initialized.
Reviewers: fraggamuffin, hubert.reinterpretcast, faisalv, aaron.ballman, rsmith
Subscribers: aemerson, cfe-commits
Differential Revision: http://reviews.llvm.org/D11600
llvm-svn: 243876
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
in inline assembler.
Compiler crashed when vector elements / global register vars were used in inline assembler with "m" restriction. This patch fixes this.
Differential Revision: http://reviews.llvm.org/D10476
llvm-svn: 243870
 | 
| | 
| 
| 
| 
| 
|  | 
Differential Revision: http://reviews.llvm.org/D11642
llvm-svn: 243867
 |