summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Support
Commit message (Collapse)AuthorAgeFilesLines
...
* Amends r236990, because I failed at hitting "save" before commit.Aaron Ballman2015-05-111-2/+1
| | | | llvm-svn: 236991
* Replacing a range-based for loop with an old-style for loop. This code was ↵Aaron Ballman2015-05-111-2/+3
| | | | | | previously causing a warning with MSVC about a compiler-generated local variable because TargetRegistry::begin() and end() are static member functions. NFC. llvm-svn: 236990
* Unbreak build: Makefile must have the same change as CMakeLists.txtDouglas Katzman2015-05-081-1/+1
| | | | | | | This was omitted from http://reviews.llvm.org/D9441 (the irony is that that was to detect omissions in something else) llvm-svn: 236878
* Prevent further errors of omission when adding backend names.Douglas Katzman2015-05-082-0/+45
| | | | | | Differential Revision: http://reviews.llvm.org/D9441 llvm-svn: 236865
* YAML: Fix crash in the skip method of KeyValueNode class. Alex Lorenz2015-05-061-0/+4
| | | | | | | | | | | | | This commit changes the 'skip' method in the 'KeyValueNode' class to ensure that it doesn't dereference a null pointer when calling the 'skip' method of its value child node. It also adds a unittest that ensures that the crash doesn't occur. This change is motivated by a patch that implements parsing of YAML block scalars (http://reviews.llvm.org/D9503), as one of the unittests in that patch triggered this problem. llvm-svn: 236669
* YAML: Add an optional 'flow' field to the mapping trait to allow flow ↵Alex Lorenz2015-05-041-0/+85
| | | | | | | | | | | | | mapping output. This patch adds an optional 'flow' field to the MappingTrait class so that yaml IO will be able to output flow mappings. Reviewers: Justin Bogner Differential Revision: http://reviews.llvm.org/D9450 llvm-svn: 236456
* YAML: Fix the output of sequences that contain flow sequences. Alex Lorenz2015-05-011-0/+65
| | | | | | | | | | | | | | | | | | | | | | | This patch fixes a bug where the YAML Output class emitted a sequence of flow sequences without the '-' characters. Before: seq: [ a, b ] [ c, d ] After: seq: - [ a, b ] - [ c, d ] Reviewers: Justin Bogner Differential Revision: http://reviews.llvm.org/D9206 llvm-svn: 236329
* Fix infinite recursion in ScaledNumber::toInt.Diego Novillo2015-05-011-0/+5
| | | | | | | | | Patch from dexonsmith. The call to toInt() was calling compareTo() which in some cases would call back to toInt(), creating an infinite loop. Fixed by simplifying the logic in compareTo() to avoid the co-recursion. llvm-svn: 236326
* Fix private constructor for ScaledNumber.Diego Novillo2015-04-301-0/+24
| | | | | | | | | | | | | | | | | | | | | | | Summary: The private constructor for ScaledNumber was using uint64_t instead of DigitsT. This was preventing instantiations of ScaledNumber with anything other than uint64_t types. In implementing the tests, I ran into another issue. Operators >>= and <<= did not have variants for accepting other ScaledNumber as the shift argument. This is expected by the SCALED_NUMBER_BOP. It makes no sense to allow shifting a ScaledNumber by another ScaledNumber, so the patch includes two new templates for shifting ScaledNumbers. Reviewers: dexonsmith Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9350 llvm-svn: 236232
* Fix typo in comment. NFC.Diego Novillo2015-04-301-1/+1
| | | | llvm-svn: 236227
* Disable failing TestDevNull test on WindowsReid Kleckner2015-04-291-0/+2
| | | | llvm-svn: 236126
* Relax assert to avoid spurious failures with /dev/null.Rafael Espindola2015-04-291-0/+29
| | | | llvm-svn: 236106
* Don't allow pwrite to resize a stream.Rafael Espindola2015-04-201-1/+9
| | | | | | | | | | | | | | | | | | | | | The current implementations could exhibit some behavior differences: raw_fd_ostream: Whatever the underlying fd does with seek+write. In a normal file, the write position would be back to the old offset. raw_svector_ostream: The write position is always the end of the stream, so after pwrite the write position would be the new end. This matches what OS_X (all BSD?) do with a pwrite in a O_APPEND fd. Given that we don't need that feature and don't use O_APPEND a lot in LLVM, just disallow it. I am open to suggestions on renaming pwrite to something else, but this fixes the issue for now. Thanks to Yaron Keren for reporting it. llvm-svn: 235303
* Add raw_pwrite_stream type.Rafael Espindola2015-04-142-0/+26
| | | | | | | This is a raw_ostream that also supports pwrite. I will be used in a sec. llvm-svn: 234895
* Use 'override/final' instead of 'virtual' for overridden methodsAlexander Kornienko2015-04-114-13/+19
| | | | | | | | | | | | | | The patch is generated using clang-tidy misc-use-override check. This command was used: tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py \ -checks='-*,misc-use-override' -header-filter='llvm|clang' \ -j=32 -fix -format http://reviews.llvm.org/D8925 llvm-svn: 234679
* [support] Add a macro wrapper for alignas and simplify some code.Benjamin Kramer2015-04-021-18/+4
| | | | | | | | We wrap __attribute((aligned)) for GCC 4.7 and __declspec(align) for MSVC. The latter behaves weird in some contexts so this should be used carefully. llvm-svn: 233910
* Supress MSVC padding warning in alignment testAndrew Kaylor2015-03-261-0/+6
| | | | llvm-svn: 233305
* Don't treat .foo as two path components in path::iteratorsBen Langmuir2015-03-101-0/+43
| | | | | | | We were treating '/.foo' as ['/', '.', 'foo'] instead of ['/', '.foo'], which lead to insanity. Same for '..'. llvm-svn: 231727
* Detect malformed YAML sequence in yaml::Input::beginSequence()Justin Bogner2015-03-021-0/+86
| | | | | | | | | | | | | | | | | | | | | When reading a yaml::SequenceTraits object, YAMLIO does not report an error if the yaml item is not a sequence. Instead, YAMLIO reads an empty sequence. For example: --- seq: foo: 1 bar: 2 ... If `seq` is a SequenceTraits object, then reading the above yaml will yield `seq` as an empty sequence. Fix this to report an error for the above mapping ("not a sequence") Patch by William Fisher. Thanks! llvm-svn: 230976
* Silence some Win64 clang-cl warnings about unused stuff due to ifdefsReid Kleckner2015-02-261-0/+2
| | | | llvm-svn: 230685
* Object: Handle Mach-O kext bundle filesJustin Bogner2015-02-251-0/+2
| | | | | | This particular subtype of Mach-O was missing. Add it. llvm-svn: 230567
* Removing LLVM_EXPLICIT, as MSVC 2012 was the last reason for requiring the ↵Aaron Ballman2015-02-151-1/+1
| | | | | | macro. NFC; LLVM edition. llvm-svn: 229335
* Support: Add dwarf::getOperationEncoding()Duncan P. N. Exon Smith2015-02-131-0/+14
| | | | llvm-svn: 229001
* Try to fix the MSVC build.Benjamin Kramer2015-02-121-1/+1
| | | | | | | 0xFFFFFFFFFFFFFFFFLL doesn't fit in a long long so it should have type 'unsigned long long'. MSVC thinks it's a (signed) __int64. llvm-svn: 228950
* MathExtras: Bring Count(Trailing|Leading)Ones and CountPopulation in line ↵Benjamin Kramer2015-02-121-7/+4
| | | | | | | | with countTrailingZeros Update all callers. llvm-svn: 228930
* Support: Fix tests for VirtualityStringDuncan P. N. Exon Smith2015-02-071-4/+7
| | | | | | | | | Since these `dwarf` functions return `const char *`, the tests need to use `StringRef` for checks. Should fix, e.g., hexagon [1]. [1]: http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/22435 llvm-svn: 228478
* Support: Add dwarf::getVirtuality()Duncan P. N. Exon Smith2015-02-071-0/+12
| | | | llvm-svn: 228474
* Support: Use Dwarf.def for DW_VIRTUALITY, NFCDuncan P. N. Exon Smith2015-02-071-0/+14
| | | | | | | Use definition file for `DW_VIRTUALITY_*`. Add a `DW_VIRTUALITY_max` both for ease of testing and for future use by the `LLParser`. llvm-svn: 228473
* Support: Add dwarf::getAttributeEncoding()Duncan P. N. Exon Smith2015-02-061-0/+16
| | | | llvm-svn: 228470
* Support: Stop stringifying DW_ATE_{lo,hi}_userDuncan P. N. Exon Smith2015-02-061-0/+10
| | | | llvm-svn: 228468
* Support: Add dwarf::getLanguage()Duncan P. N. Exon Smith2015-02-061-0/+17
| | | | llvm-svn: 228458
* Support: Stop stringifying DW_LANG_{lo,hi}_userDuncan P. N. Exon Smith2015-02-061-0/+10
| | | | llvm-svn: 228451
* Add support for double / float to EndianStreamMatt Arsenault2015-02-052-0/+158
| | | | | | Also add new unit tests for endian::Writer llvm-svn: 228269
* SpecialCaseList: Add support for parsing multiple input files.Alexey Samsonov2015-02-041-6/+32
| | | | | | | | | | | | | | | | | | | | | | | Summary: This change allows users to create SpecialCaseList objects from multiple local files. This is needed to implement a proper support for -fsanitize-blacklist flag (allow users to specify multiple blacklists, in addition to default blacklist, see PR22431). DFSan can also benefit from this change, as DFSan instrumentation pass now accepts ABI-lists both from -fsanitize-blacklist= and -mllvm -dfsan-abilist flags. Go bindings are fixed accordingly. Test Plan: regression test suite Reviewers: pcc Subscribers: llvm-commits, axw, kcc Differential Revision: http://reviews.llvm.org/D7367 llvm-svn: 228155
* Support: Add string => unsigned mapping for DW_TAGDuncan P. N. Exon Smith2015-02-031-0/+16
| | | | | | Add `dwarf::getTag()` to translate from `StringRef` to `unsigned`. llvm-svn: 228031
* Support: Stop stringifying DW_TAG_{lo,hi}_userDuncan P. N. Exon Smith2015-02-032-0/+30
| | | | | | | | `dwarf::TagString()` shouldn't stringify `DW_TAG_lo_user` or `DW_TAG_hi_user`. These aren't actual tags; they're markers for the edge of vendor-specific tag regions. llvm-svn: 228029
* Support: Add missing header to BlockFrequencyTest.cpp, NFCDuncan P. N. Exon Smith2015-02-021-0/+9
| | | | llvm-svn: 227825
* Refactoring llvm command line parsing and option registration.Chris Bieneman2015-01-281-7/+5
| | | | | | | | | | | | | | | | | | | | | Summary: The primary goal of this patch is to remove the need for MarkOptionsChanged(). That goal is accomplished by having addOption and removeOption properly sort the options. This patch puts the new add and remove functionality on a CommandLineParser class that is a placeholder. Some of the functionality in this class will need to be merged into the OptionRegistry, and other bits can hopefully be in a better abstraction. This patch also removes the RegisteredOptionList global, and the need for cl::Option objects to be linked list nodes. The changes in CommandLineTest.cpp are required because these changes shift when we validate that options are not duplicated. Before this change duplicate options were only found during certain cl API calls (like cl::ParseCommandLine). With this change duplicate options are found during option construction. Reviewers: dexonsmith, chandlerc, pete Reviewed By: pete Subscribers: pete, majnemer, llvm-commits Differential Revision: http://reviews.llvm.org/D7132 llvm-svn: 227345
* Re-landing changes to use ArrayRef instead of SmallVectorImpl, and new API test.Chris Bieneman2015-01-271-3/+28
| | | | | | This contains the changes from r227148 & r227154, and also fixes to the test case to properly clean up the stack options. llvm-svn: 227255
* Revert r227148 & r227154 which added a test which infinitely loops.Richard Trieu2015-01-271-25/+0
| | | | | | | | | | | | r227148 added test CommandLineTest.HideUnrelatedOptionsMulti which repeatedly outputs two following lines: -tool: CommandLine Error: Option 'test-option-1' registered more than once! -tool: CommandLine Error: Option 'test-option-2' registered more than once! r227154 depends on changes from r227148 llvm-svn: 227167
* Fix unsigned/signed comparison warning.Eric Christopher2015-01-271-1/+1
| | | | llvm-svn: 227158
* One more fix to the new API to fix const-correctness.Chris Bieneman2015-01-271-1/+2
| | | | llvm-svn: 227154
* Pete Cooper suggested the new API should use ArrayRef instead of ↵Chris Bieneman2015-01-261-0/+24
| | | | | | SmallVectorImpl. Also adding a test case. llvm-svn: 227148
* Add a UTF8 to UTF16 conversion wrapper for use in the pdb dumperReid Kleckner2015-01-261-0/+14
| | | | | | | | | This can also be used instead of the WindowsSupport.h ConvertUTF8ToUTF16 helpers, but that will require massaging some character types. The Windows support routines want wchar_t output, but wchar_t is often 32 bits on non-Windows OSs. llvm-svn: 227122
* Teach raw_ostream to support hex formatting without a prefix '0x'.Zachary Turner2015-01-261-0/+2
| | | | | | | | | | Previously using format_hex() would always print a 0x prior to the hex characters. This allows this to be optional, so that one can choose to print (e.g.) 255 as either 0xFF or just FF. Differential Revision: http://reviews.llvm.org/D7151 llvm-svn: 227108
* Putting all the standard tool options into a "Generic" category.Chris Bieneman2015-01-261-0/+5
| | | | | | | | | | | | | | | Summary: This puts all the options that CommandLine.cpp implements into a category so that the APIs to hide options can not hide based on the generic category instead of string matching a partial list of argument strings. This patch is pretty simple and straight forward but it does impact the -help output of all tools using cl::opt. Specifically the options implemented in CommandLine.cpp (help, help-list, help-hidden, help-list-hidden, print-options, print-all-options, version) are all grouped together into an Option category, and these options are never hidden by the cl::HideUnrelatedOptions API. Reviewers: dexonsmith, chandlerc, majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7150 llvm-svn: 227093
* Adding a new cl::HideUnrelatedOptions API to allow clang to migrate off ↵Chris Bieneman2015-01-211-0/+11
| | | | | | | | | | | | | | | | cl::getRegisteredOptions. Summary: cl::getRegisteredOptions really exposes some of the innards of how command line parsing is implemented. Exposing new APIs that allow us to disentangle client code from implementation details will allow us to make more extensive changes to command line parsing. Reviewers: chandlerc, dexonsmith, beanz Reviewed By: dexonsmith Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7100 llvm-svn: 226729
* Suppress the newly added Clang warning for the inaccessible base in thisChandler Carruth2015-01-191-4/+4
| | | | | | | | test. Do that after we suppress the warnings for unknown pragmas as this warning flag is quite new in Clang and so old Clang's would warn all the time on this file. llvm-svn: 226444
* [cleanup] Re-sort all the #include lines in LLVM usingChandler Carruth2015-01-145-5/+3
| | | | | | | | | | | utils/sort_includes.py. I clearly haven't done this in a while, so more changed than usual. This even uncovered a missing include from the InstrProf library that I've added. No functionality changed here, just mechanical cleanup of the include order. llvm-svn: 225974
* ConvertUTFTest: fix misleading empty lineDmitri Gribenko2015-01-101-1/+1
| | | | llvm-svn: 225580
OpenPOWER on IntegriCloud