summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* SCEVExpander fix. RAUW needs to update the InsertedExpressions cache.Andrew Trick2013-01-143-4/+89
| | | | | | | | Note that this bug is only exposed because LTO fails to use TTI. Fixes self-LTO of clang. rdar://13007381. llvm-svn: 172462
* Make <cmath> classification macros work with integral types.Howard Hinnant2013-01-142-42/+60
| | | | llvm-svn: 172461
* Fix typo in comment.Nick Lewycky2013-01-141-1/+1
| | | | llvm-svn: 172460
* Topologically sort the link options generated for modules based onDouglas Gregor2013-01-143-70/+123
| | | | | | | module-import dependencies, so we'll get the link order correct for those silly linkers that need it. llvm-svn: 172459
* Fix a race in the construction of future. This fixes ↵Howard Hinnant2013-01-142-2/+6
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14934. llvm-svn: 172456
* [ADT/StringMap] Add a constructor in StringMap that accepts both anArgyrios Kyrtzidis2013-01-141-0/+3
| | | | | | initial size and an allocator. llvm-svn: 172455
* Fix DenseMap when LLVM_HAS_RVALUE_REFERENCES is defined but equals 0.Joe Groff2013-01-141-1/+1
| | | | llvm-svn: 172454
* Add DenseMap::insert(value_type&&) method.Joe Groff2013-01-141-0/+18
| | | | | | | Use the existing move implementation of the internal DenseMap::InsertIntoBucket method to provide a user-facing move insert method. llvm-svn: 172453
* Changed SmallPtrSet.count guard + SmallPtrSet.insert to just SmallPtrSet.insert.Michael Gottesman2013-01-141-2/+1
| | | | llvm-svn: 172452
* Move CheckForValidSection to the MCAsmParser interface.Eli Bendersky2013-01-142-1/+5
| | | | | | | | | | | | | Now that it behaves itself in terms of streamer independence (r172450), this method can be moved to MCAsmParser to be available to all extensions, overriding, etc. -- -This line, and those below, will be ignored-- M lib/MC/MCParser/AsmParser.cpp M include/llvm/MC/MCParser/MCAsmParser.h llvm-svn: 172451
* Expose an InitToTextSection through MCStreamer.Eli Bendersky2013-01-1410-11/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The aim of this patch is to fix the following piece of code in the platform-independent AsmParser: void AsmParser::CheckForValidSection() { if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) { TokError("expected section directive before assembly directive"); Out.SwitchSection(Ctx.getMachOSection( "__TEXT", "__text", MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS, 0, SectionKind::getText())); } } This was added for the "-n" option of llvm-mc. The proposed fix adds another virtual method to MCStreamer, called InitToTextSection. Conceptually, it's similar to the existing InitSections which initializes all common sections and switches to text. The new method is implemented by each platform streamer in a way that it sees fit. So AsmParser can now do this: void AsmParser::CheckForValidSection() { if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) { TokError("expected section directive before assembly directive"); Out.InitToTextSection(); } } Which is much more reasonable. llvm-svn: 172450
* Move ParseMacroArgument to the MCAsmParser interfance.Eli Bendersky2013-01-142-13/+20
| | | | | | | | | | | | Since it's used by extensions. One further step to fully decoupling GenericAsmParser from an intimate knowledge of the internals of AsmParser, pointing it to the MCASmParser interface instead (like all other parser extensions do). Since this change moves the MacroArgument type to the interface header, it's renamed to be a bit more descriptive in a general context. llvm-svn: 172449
* When forming the link options for an imported module, also include theDouglas Gregor2013-01-143-6/+12
| | | | | | link options for the modules it imports. llvm-svn: 172448
* Fix string conversions functions to throw out_of_range properly. Fixes ↵Howard Hinnant2013-01-143-62/+80
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14919. llvm-svn: 172447
* [analyzer] Add ProgramStatePartialTrait<const void *>.Jordan Rose2013-01-143-5/+18
| | | | | | This should fix cast-away-const warnings reported by David Greene. llvm-svn: 172446
* [analyzer] Fix cast-away-const warning by using const_cast.Jordan Rose2013-01-141-1/+1
| | | | | | Patch by David Greene, modified by me. llvm-svn: 172445
* [analyzer] -drain is not an alias for -release.Jordan Rose2013-01-142-4/+15
| | | | | | | | | | | This was previously added to support -[NSAutoreleasePool drain], which behaves like -release under non-GC and "please collect" under GC. We're not currently modeling the autorelease pool stack, though, so we can just take this out entirely. Fixes PR14927. llvm-svn: 172444
* Fix a logic error in the condition for a warning log message.Jim Ingham2013-01-142-2/+2
| | | | llvm-svn: 172442
* Switch autolinking metadata format over to actual linker options, e.g.,Douglas Gregor2013-01-143-35/+38
| | | | | | | | | | | | | | | | | | | !0 = metadata !{metadata !"-lautolink"} !1 = metadata !{metadata !"-framework", metadata !"autolink_framework"} referenced from llvm.module.linkoptions, e.g., !llvm.module.linkoptions = !{!0, !1, !2, !3} This conceptually moves the logic for figuring out the syntax the linker will accept from LLVM into Clang. Moreover, it makes it easier to support MSVC's #pragma comment(linker, "some option") in the future, should anyone care to do so. llvm-svn: 172441
* Encapsulate the MacroEnabled flag in AsmParser behind accessor methods.Eli Bendersky2013-01-142-4/+11
| | | | | | | | The methods are also exposed via the MCAsmParser interface, which allows more than one client to control them. Previously, GenericAsmParser was playing with a member var in AsmParser directly (by virtue of being its friend). llvm-svn: 172440
* Infer "link" lines for top-level frameworks. Essentially, a frameworkDouglas Gregor2013-01-145-2/+50
| | | | | | | | will have a shared library with the same name as its framework (and no suffix!) within its .framework directory. Detect this both when inferring the whole top-level framework and when parsing a module map. llvm-svn: 172439
* This patch addresses varargs processing for small complex types underBill Schmidt2013-01-142-1/+112
| | | | | | | | | | | | | | | | | | | the 64-bit PowerPC ELF ABI. The ABI requires that the real and imaginary parts of a complex argument each occupy their own doubleword. Arguments smaller than 8 bytes are right-adjusted within the doubleword. Clang expects EmitVAARG() to return a pointer to a structure in which the real and imaginary parts are packed adjacently in memory. To accomplish this, we generate code to load the code appropriately from the varargs location and pack the values into a temporary variable in the form Clang expects, returning a pointer to that structure. The test case demonstrates correct code generation for all "small" complex types on PPC64: int, short, char, and float. llvm-svn: 172438
* Implement parsing, AST, (de-)serialization, and placeholder globalDouglas Gregor2013-01-1414-8/+227
| | | | | | | | | | | | | | | | | | | | | | | | | metadata for linking against the libraries/frameworks for imported modules. The module map language is extended with a new "link" directive that specifies what library or framework to link against when a module is imported, e.g., link "clangAST" or link framework "MyFramework" Importing the corresponding module (or any of its submodules) will eventually link against the named library/framework. For now, I've added some placeholder global metadata that encodes the imported libraries/frameworks, so that we can test that this information gets through to the IR. The format of the data is still under discussion. llvm-svn: 172437
* Michael van der Westhuizen: Improve support for testing on Linux. Fixes ↵Howard Hinnant2013-01-142-6/+30
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14892. llvm-svn: 172436
* Michael van der Westhuizen: Patches for Linux. Fixes ↵Howard Hinnant2013-01-143-2/+8
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14648. llvm-svn: 172435
* Test source file name in diagnosticsAlexander Kornienko2013-01-141-1/+1
| | | | llvm-svn: 172434
* Fixes formatting of nested brace initializers.Manuel Klimek2013-01-142-7/+44
| | | | | | | | | | | | | | | | We now format this correctly: Status::Rep Status::global_reps[3] = { { kGlobalRef, OK_CODE, NULL, NULL, NULL }, { kGlobalRef, CANCELLED_CODE, NULL, NULL, NULL }, { kGlobalRef, UNKNOWN_CODE, NULL, NULL, NULL } }; - fixed a bug where BreakBeforeClosingBrace would be set on the wrong state - added penalties for breaking between = and {, and between { and any other non-{ token llvm-svn: 172433
* Add support for Chromium style.Daniel Jasper2013-01-141-3/+12
| | | | llvm-svn: 172432
* Make single-line if statements optional.Daniel Jasper2013-01-143-10/+35
| | | | | | | | | Now, "if (a) return;" is only allowed, if this option is set. Also add a Chromium style which is currently identical to Google style except for this option. llvm-svn: 172431
* [ubsan] Use __sanitizer::atomic_exchange(), prefer shared impl.Will Dietz2013-01-141-1/+4
| | | | | | | | | Specify weaker memory order in case we optimize for it in the future, presently still doing same __sync_lock_test_and_set() as before. Change suggested by Alexey Samsonov, thanks! llvm-svn: 172429
* Fix a bug in the line merging.Daniel Jasper2013-01-142-0/+4
| | | | | | | If the first line of a merge would exactly fit into the column limit, an unsigned overflow made us not break. llvm-svn: 172426
* Fix bug that would lead to joining preprocessor directives.Daniel Jasper2013-01-142-7/+8
| | | | | | | Before: #include "a.h" #include "b.h" After: #include "a.h" #include "b.h" llvm-svn: 172424
* Put simple preprocessor directives on a single line.Daniel Jasper2013-01-142-10/+30
| | | | | | | Before: #define A \ A After: #define A A llvm-svn: 172423
* Move large part of asan_test_utils.h to sanitizer_common.Evgeniy Stepanov2013-01-145-79/+99
| | | | | | | | | Move my_rand() to the common header. This lets us avoid the use of rand_r in sanitizer_common tests. There is no rand_r on Android. llvm-svn: 172421
* Turns out there is a simpler way of getting a set difference in bash than ↵Benjamin Kramer2013-01-141-1/+1
| | | | | | parsing diff output. llvm-svn: 172420
* Fix-up copypasto from r172410Alexey Samsonov2013-01-141-1/+1
| | | | llvm-svn: 172419
* asan: fix windows buildDmitry Vyukov2013-01-141-0/+1
| | | | llvm-svn: 172415
* Adding a .gitignore to tools-extraEdwin Vane2013-01-141-0/+31
| | | | | | Reviewers: klimek llvm-svn: 172414
* Put short if statements on a single line.Daniel Jasper2013-01-142-36/+63
| | | | | | | | | | | Before: if (a) return; After: if (a) return; Not yet sure, whether this is always desired, but we can add options and make this a style parameter as we go along. llvm-svn: 172413
* Revert r171829 "Split changeset_ty using iterators instead of loops" as it ↵Timur Iskhodzhanov2013-01-141-8/+6
| | | | | | breaks the VS2008 build llvm-svn: 172411
* Build rules for sanitizer_common tests on Android.Evgeniy Stepanov2013-01-141-0/+25
| | | | llvm-svn: 172410
* Dump comments in -ast-dump.Alexander Kornienko2013-01-145-280/+265
| | | | | | | | | | | http://llvm-reviews.chandlerc.com/D269 "Added dumping of declaration comments in ASTDumper. This required moving the comment dumping code from CommentDumper so that the indentation is correct." Patch by Philip Craig! llvm-svn: 172409
* Remove thread-locals from sanitizer_common tests.Evgeniy Stepanov2013-01-143-5/+4
| | | | | | Not supported on Android. llvm-svn: 172408
* Added a test for clang-format diagnostics.Alexander Kornienko2013-01-142-1/+6
| | | | llvm-svn: 172407
* Fix: correct file name in diagnostics.Alexander Kornienko2013-01-141-4/+5
| | | | llvm-svn: 172405
* clang/test/SemaCXX/cxx11-gnu-attrs.cpp: Add explicit -triple ↵NAKAMURA Takumi2013-01-141-1/+1
| | | | | | x86_64-unknown-unknown, or it doesn't work for targetting win32. llvm-svn: 172404
* Refactor datastructure used in clang-format.Daniel Jasper2013-01-141-123/+138
| | | | | | | | | | | Main difference, add an AnnotatedLine class to hold information about a line while formatting. At the same time degrade the UnwrappedLine class to a class solely used for communicating between the UnwrappedLineParser and the Formatter. No functional changes intended. llvm-svn: 172403
* Improve understanding post increment and decrement.Daniel Jasper2013-01-142-1/+6
| | | | | | | | Before: (a->f()) ++; a[42] ++; After: (a->f())++; a[42]++; llvm-svn: 172400
* Custom DiagnosticConsumer parameter of reformat() + silence diagnostics in ↵Alexander Kornienko2013-01-143-13/+21
| | | | | | | | | | | | | | | | | | unit tests. Summary: Added tests for clang-format diagnostics. Added DiagnosticConsumer argument to clang::format::reformat(). Reviewers: klimek, djasper Reviewed By: djasper CC: cfe-commits, thakis, rafael.espindola Differential Revision: http://llvm-reviews.chandlerc.com/D290 llvm-svn: 172399
* ASan: Disable alloc/dealloc mismatch test on Android. It's not supposed to ↵Alexey Samsonov2013-01-141-4/+4
| | | | | | work there llvm-svn: 172398
OpenPOWER on IntegriCloud