- Sep 10, 2013
-
-
Hans Wennborg authored
The test filename (%s) is easily confused with an option when it starts with /Users... llvm-svn: 190435
-
Reid Kleckner authored
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
-
Hans Wennborg authored
llvm-svn: 190432
-
Rui Ueyama authored
Process::GetEnv() uses GetEnvironmentVariableW, which is a Windows API to get an environment variable and is preferable over getenv(). llvm-svn: 190431
-
Matt Arsenault authored
llvm-svn: 190429
-
Hans Wennborg authored
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
-
Reid Kleckner authored
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
-
Matt Arsenault authored
llvm-svn: 190426
-
Matt Arsenault authored
llvm-svn: 190425
-
Matt Arsenault authored
llvm-svn: 190424
-
Rui Ueyama authored
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
-
Benjamin Kramer authored
llvm-svn: 190422
-
Manman Ren authored
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
-
Fariborz Jahanian authored
with a suitable 'getter' attribute. llvm-svn: 190420
-
Hans Wennborg authored
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
-
Manman Ren authored
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
-
Jim Grosbach authored
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
-
Ed Maste authored
llvm.org/pr17184 expression interpreter fails for crash/assert tests llvm-svn: 190416
-
Ed Maste authored
http://llvm.org/pr17183 expression w/ varargs printf() fails http://llvm.org/pr15302 'anonymous namespace' prefix missing llvm-svn: 190415
-
Alexey Samsonov authored
Fixup for r190410: use lazy initialization for symbolizer as some compilers emit global constructor to setup vptr llvm-svn: 190414
-
Hans Wennborg authored
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
-
Logan Chien authored
This commit removes the unused "AttributeItem" from ObjectAttributeEmitter. llvm-svn: 190412
-
Timur Iskhodzhanov authored
llvm-svn: 190411
-
Alexey Samsonov authored
[Sanitizer] Refactor symbolization interface: use class instead of several functions. Move some code around to get rid of extra source files llvm-svn: 190410
-
Renato Golin authored
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
-
http://llvm.org/PR17144Alexander Kornienko authored
Reviewers: djasper Reviewed By: djasper CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D1639 llvm-svn: 190408
-
Kostya Serebryany authored
[asan] refactor the use-after-return API so that the size class is computed at compile time instead of at run-time. llvm part llvm-svn: 190407
-
Kostya Serebryany authored
[asan] refactor the use-after-return API so that the size class is computed at compile time instead of at run-time. compiler-rt part llvm-svn: 190406
-
Alexander Kornienko authored
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
-
Richard Sandiford authored
llvm-svn: 190404
-
Evgeniy Stepanov authored
This way msan annotations can be used with both normal and volatile memory. llvm-svn: 190403
-
Evgeniy Stepanov authored
llvm-svn: 190402
-
Daniel Jasper authored
Before: typedef typeof(int(int, int)) * MyFunc; After: typedef typeof(int(int, int)) *MyFunc; This fixes llvm.org/PR17178. llvm-svn: 190401
-
Richard Sandiford authored
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
-
Daniel Sanders authored
The dotp_[su].b instructions never existed in any revision of the MSA spec. llvm-svn: 190399
-
Daniel Sanders authored
The dotp_[su].b instructions never existed in any revision of the MSA spec. llvm-svn: 190398
-
Vladimir Medic authored
Add test cases for Mips mthc1/mfhc1 instructions. Add check for odd value of register when PFU is 32 bit. llvm-svn: 190397
-
Vladimir Medic authored
llvm-svn: 190396
-
Alexander Kornienko authored
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
-
Alexey Samsonov authored
llvm-svn: 190394
-