| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 190445
|
| |
|
|
|
|
|
| |
call; remove its 'number of explicit arguments' and 'what kind of call'
parameters.
llvm-svn: 190444
|
| |
|
|
|
|
|
|
|
|
| |
trunk clang is a bit more aggressive about emitting unused-declaration
warnings, so adjust some AST code to match. Specifically, use
LLVM_ATTRIBUTE_UNUSED for declarations which are never supposed to be
referenced, and turn references to declarations which are supposed to be
referenced into odr-uses.
llvm-svn: 190443
|
| |
|
|
| |
llvm-svn: 190442
|
| |
|
|
|
|
|
|
|
|
| |
As requested when applying the same logic to calling conventions.
Reviewers: rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D1634
llvm-svn: 190441
|
| |
|
|
| |
llvm-svn: 190440
|
| |
|
|
|
|
|
| |
treat such subtractions as being non-constant. Patch by Serge Pavlov! With a
few tweaks by me.
llvm-svn: 190439
|
| |
|
|
| |
llvm-svn: 190438
|
| |
|
|
|
|
|
|
|
| |
Make sure we perform the correct "referenced-but-not-used" check for
static member constants.
Fixes bug reported on cfe-commits by Alexey Samsonov.
llvm-svn: 190437
|
| |
|
|
|
|
| |
The wrong method was being called in some instances here, causing class lookups to fail
llvm-svn: 190436
|
| |
|
|
|
|
|
| |
The test filename (%s) is easily confused with an option when
it starts with /Users...
llvm-svn: 190435
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Dynamic initializers are mangled as ??__E <name> YAXXZ.
Reviewers: timurrrr
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1477
llvm-svn: 190434
|
| |
|
|
| |
llvm-svn: 190432
|
| |
|
|
|
|
|
| |
Process::GetEnv() uses GetEnvironmentVariableW, which is a Windows API
to get an environment variable and is preferable over getenv().
llvm-svn: 190431
|
| |
|
|
| |
llvm-svn: 190429
|
| |
|
|
|
|
|
|
| |
This adds driver support for building DLLs (the /LD and /LDd flags).
It basically does two things: runtime selection and passing -dll and
-implib to the linker.
llvm-svn: 190428
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Static locals requiring initialization are not thread safe on Windows.
Unfortunately, it's possible to create static locals that are actually
externally visible with inline functions and templates. As a result, we
have to implement an initialization guard scheme that is compatible with
TUs built by MSVC, which makes thread safety prohibitively difficult.
MSVC's scheme is that every function that requires a guard gets an i32
bitfield. Each static local is assigned a bit that indicates if it has
been initialized, up to 32 bits, at which point a new bitfield is
created. MSVC rejects inline functions with more than 32 static locals,
and the externally visible mangling (?_B) only allows for one guard
variable per function.
On Eli's recommendation, I used MangleNumberingContext to track which
bit each static corresponds to.
Implements PR16888.
Reviewers: rjmccall, eli.friedman
Differential Revision: http://llvm-reviews.chandlerc.com/D1416
llvm-svn: 190427
|
| |
|
|
| |
llvm-svn: 190426
|
| |
|
|
| |
llvm-svn: 190425
|
| |
|
|
| |
llvm-svn: 190424
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows, character encoding of multibyte environment variable varies
depending on settings. The only reliable way to handle it I think is to use
GetEnvironmentVariableW().
GetEnvironmentVariableW() works on wchar_t string, which is on Windows UTF16
string. That's not ideal because we use UTF-8 as the internal encoding in LLVM.
This patch defines a wrapper function which takes and returns UTF-8 string for
GetEnvironmentVariableW().
The wrapper function does not do any conversion and just forwards the argument
to getenv() on Unix.
Differential Revision: http://llvm-reviews.chandlerc.com/D1612
llvm-svn: 190423
|
| |
|
|
|
|
| |
scan the whole block.
llvm-svn: 190422
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We try to create the scope children DIEs after we create the scope DIE. But
to avoid emitting empty lexical block DIE, we first check whether a scope
DIE is going to be null, then create the scope children if it is not null.
From the number of children, we decide whether to actually create the scope DIE.
This patch also removes an early exit which checks for a special condition.
It also removes deletion of un-used children DIEs that are generated
because we used to generate children DIEs before the scope DIE.
Deletion of un-used children DIEs may cause problem because we sometimes keep
created DIEs in a member variable of a CU.
llvm-svn: 190421
|
| |
|
|
|
|
| |
with a suitable 'getter' attribute.
llvm-svn: 190420
|
| |
|
|
|
|
|
|
|
|
|
| |
It was removed in r189130, but it turns out this makes life hard for
folks packaging LLVM and Clang and building the latter based on the
LLVM package.
Note that this only adds back the LLVM tblgen, and it's obviously
not included when LLVM_INSTALL_TOOLCHAIN_ONLY is set.
llvm-svn: 190419
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Specialize the constructors for DIRef<DIScope> and DIRef<DIType> to make sure
the Value is indeed a scope ref and a type ref.
Use DIScopeRef for DIScope::getContext and DIType::getContext and use DITypeRef
for getContainingType and getClassType.
DIScope::generateRef now returns a DIScopeRef instead of a "Value *" for
readability and type safety.
llvm-svn: 190418
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were figuring out whether to use tPICADD or PICADD, then just using
tPICADD unconditionally anyway. Oops.
A testcase from someone familiar enough with ELF to produce one would
be appreciated. The existing PIC testcase correctly verifies the .s
generated, but that doesn't catch this bug, which only showed up in
direct-to-object mode.
http://llvm.org/bugs/show_bug.cgi?id=17180
llvm-svn: 190417
|
| |
|
|
|
|
| |
llvm.org/pr17184 expression interpreter fails for crash/assert tests
llvm-svn: 190416
|
| |
|
|
|
|
|
| |
http://llvm.org/pr17183 expression w/ varargs printf() fails
http://llvm.org/pr15302 'anonymous namespace' prefix missing
llvm-svn: 190415
|
| |
|
|
|
|
| |
emit global constructor to setup vptr
llvm-svn: 190414
|
| |
|
|
|
|
|
|
|
|
|
| |
Dotfiles are impractical on Windows. This makes clang-format search
for the style configuration file as '_clang-format' in addition to
the usual '.clang-format'. This is similar to how VIM searches for
'_vimrc' on Windows.
Differential Revision: http://llvm-reviews.chandlerc.com/D1629
llvm-svn: 190413
|
| |
|
|
|
|
|
| |
This commit removes the unused "AttributeItem" from
ObjectAttributeEmitter.
llvm-svn: 190412
|
| |
|
|
|
|
| |
Windows
llvm-svn: 190411
|
| |
|
|
|
|
| |
functions. Move some code around to get rid of extra source files
llvm-svn: 190410
|
| |
|
|
|
|
|
|
|
|
|
| |
LibXML2 config doesn't specify lzma as a dependency, which breaks
cross-compilation builds using new linkers (ld 2.21 or higher).
There is a bug on libxml2 to fix that, but since it's going to take
a while for things to go round and back, so we should have a harmless
addition of the library until then.
llvm-svn: 190409
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D1639
llvm-svn: 190408
|
| |
|
|
|
|
| |
at compile time instead of at run-time. llvm part
llvm-svn: 190407
|
| |
|
|
|
|
| |
at compile time instead of at run-time. compiler-rt part
llvm-svn: 190406
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This also unifies the handling of escaped newlines for all tokens.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D1638
llvm-svn: 190405
|
| |
|
|
| |
llvm-svn: 190404
|
| |
|
|
|
|
| |
This way msan annotations can be used with both normal and volatile memory.
llvm-svn: 190403
|
| |
|
|
| |
llvm-svn: 190402
|
| |
|
|
|
|
|
|
|
|
|
| |
Before:
typedef typeof(int(int, int)) * MyFunc;
After:
typedef typeof(int(int, int)) *MyFunc;
This fixes llvm.org/PR17178.
llvm-svn: 190401
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The main complication here is that TM and TMY (the memory forms) set
CC differently from the register forms. When the tested bits contain
some 0s and some 1s, the register forms set CC to 1 or 2 based on the
value the uppermost bit. The memory forms instead set CC to 1
regardless of the uppermost bit.
Until now, I've tried to make it so that a branch never tests for an
impossible CC value. E.g. NR only sets CC to 0 or 1, so branches on the
result will only test for 0 or 1. Originally I'd tried to do the same
thing for TM and TMY by using custom matching code in ISelDAGToDAG.
That ended up being very ugly though, and would have meant duplicating
some of the chain checks that the common isel code does.
I've therefore gone for the simpler alternative of adding an extra
operand to the TM DAG opcode to say whether a memory form would be OK.
This means that the inverse of a "TM;JE" is "TM;JNE" rather than the
more precise "TM;JNLE", just like the inverse of "TMLL;JE" is "TMLL;JNE".
I suppose that's arguably less confusing though...
llvm-svn: 190400
|
| |
|
|
|
|
| |
The dotp_[su].b instructions never existed in any revision of the MSA spec.
llvm-svn: 190399
|
| |
|
|
|
|
| |
The dotp_[su].b instructions never existed in any revision of the MSA spec.
llvm-svn: 190398
|
| |
|
|
|
|
| |
register when PFU is 32 bit.
llvm-svn: 190397
|
| |
|
|
| |
llvm-svn: 190396
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This fixes various issues with mixed tabs and spaces handling, e.g.
when realigning block comments.
Reviewers: klimek, djasper
Reviewed By: djasper
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1608
llvm-svn: 190395
|
| |
|
|
| |
llvm-svn: 190394
|