summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Cache a commonly used reference.Bill Wendling2012-08-081-10/+12
| | | | llvm-svn: 161529
* Unify the codepaths for emitting deprecation warnings. The test changes are ↵Eli Friedman2012-08-089-53/+47
| | | | | | just to account for us emitting notes more consistently. llvm-svn: 161528
* Address code review comments for Wstrncat-size warning (r161440).Anna Zaks2012-08-083-27/+36
| | | | llvm-svn: 161527
* [ms-inline asm] Use more idiomatic logic. Thanks, Bill.Chad Rosier2012-08-081-2/+2
| | | | llvm-svn: 161526
* Implicitly annotate __CFStringMakeConstantString with format_arg(1).Jordan Rose2012-08-082-3/+10
| | | | | | | | | We handled the builtin version of this function in r157968, but the builtin isn't used when compiling as -fno-constant-cfstrings. This should complete <rdar://problem/6157200>. llvm-svn: 161525
* [ms-inline asm] Add basic codegen support for simple asm stmts. Currently,Chad Rosier2012-08-082-1/+17
| | | | | | only machine specific clobbers are modeled. llvm-svn: 161524
* Don't add attributes for "#pragma pack" and friends to tag declarations whichEli Friedman2012-08-083-5/+24
| | | | | | | are not definitions. This follows the behavior of both gcc and earlier versions of clang. Regression from r156531. <rdar://problem/12048621>. llvm-svn: 161523
* [ms-inline asm] Make sure IsSimple is correctly handled.Chad Rosier2012-08-081-3/+3
| | | | llvm-svn: 161522
* Remove extraneous comment.Chad Rosier2012-08-081-1/+0
| | | | llvm-svn: 161521
* [ms-inline asm] Add a very simple test case. Basically, we're only testing forChad Rosier2012-08-082-0/+13
| | | | | | crashers at the moment (and coincidentally this case was causing a crash). llvm-svn: 161520
* Add test triples to fix win32 failures. Revert workaround from r161292.Bob Wilson2012-08-0811-27/+24
| | | | | | I don't have a win32 system to test, so hopefully I got them all fixed here. llvm-svn: 161519
* [ms-inline asm] Refactor the logic to generate the AsmString into Sema. NoChad Rosier2012-08-086-73/+53
| | | | | | functional change intended. llvm-svn: 161518
* Whitespace.Chad Rosier2012-08-081-90/+90
| | | | llvm-svn: 161517
* Whitespace.Chad Rosier2012-08-081-572/+572
| | | | llvm-svn: 161516
* Remove OpenBSD defines:Bill Wendling2012-08-082-24/+0
| | | | | | | | | - The defines are in stddint.h, which is #include'd already. - The block wasn't used anyway, since it was _OpenBSD_, and not __OpenBSD__ Patch by David Hill! llvm-svn: 161515
* Add a copy of the LLVM license here so that even a stand-alone checkoutChandler Carruth2012-08-081-0/+63
| | | | | | includes the proper license text. llvm-svn: 161514
* Heed -stress-early-ifcvt.Jakob Stoklund Olesen2012-08-081-0/+4
| | | | llvm-svn: 161513
* [analyzer] Clean up the printing of FieldRegions for leaks.Jordan Rose2012-08-084-14/+37
| | | | | | | | | | | | | | Unfortunately, generalized region printing is very difficult: - ElementRegions are used both for casting and as actual elements. - Accessing values through a pointer means going through an intermediate SymbolRegionValue; symbolic regions are untyped. - Referring to implicitly-defined variables like 'this' and 'self' could be very confusing if they come from another stack frame. We fall back to simply not printing the region name if we can't be sure it will print well. This will allow us to improve in the future. llvm-svn: 161512
* [analyzer] Track malloc'd regions stored in structs.Jordan Rose2012-08-084-43/+41
| | | | | | | | | | | The main blocker on this (besides the previous commit) was that ScanReachableSymbols was not looking through LazyCompoundVals. Once that was fixed, it's easy enough to clear out malloc data on return, just like we do when we bind to a global region. <rdar://problem/10872635> llvm-svn: 161511
* [analyzer] Revamp RegionStore to distinguish regions with symbolic offsets.Jordan Rose2012-08-088-202/+287
| | | | | | | | | | | | | | | | | RegionStore currently uses a (Region, Offset) pair to describe the locations of memory bindings. However, this representation breaks down when we have regions like 'array[index]', where 'index' is unknown. We used to store this as (SubRegion, 0); now we mark them specially as (SubRegion, SYMBOLIC). Furthermore, ProgramState::scanReachableSymbols depended on the existence of a sub-region map, but RegionStore's implementation doesn't provide for such a thing. Moving the store-traversing logic of scanReachableSymbols into the StoreManager allows us to eliminate the notion of SubRegionMap altogether. This fixes some particularly awkward broken test cases, now in array-struct-region.c. llvm-svn: 161510
* Constify CXXRecordDecl::isVirtuallyDerivedFrom.Jordan Rose2012-08-082-5/+9
| | | | | | | No functionality change. A couple ugly const_casts because the ancestor search code is used for other purposes as well. llvm-svn: 161509
* [ms-inline asm] Add support for detecting simple ms-style inline asm. SimpleChad Rosier2012-08-081-2/+104
| | | | | | | | | | | asm statements are those that don't reference variable names, function names, and labels. Add logic to generate a patched AsmString that will eventually be consumed by the AsmParser. No functional change at this point, so unfortunately no test case. llvm-svn: 161508
* Get the MispredictPenalty from MCSchedModel.Jakob Stoklund Olesen2012-08-081-5/+6
| | | | | | Thanks, Andy! llvm-svn: 161507
* Replace the stub README with a proper one based on Clang's.Chandler Carruth2012-08-082-4/+22
| | | | | | Also test the commit hooks for the new repository. llvm-svn: 161506
* revert my previous patchSebastian Pop2012-08-082-11/+7
| | | | llvm-svn: 161505
* enable Hexagon target from cmakeSebastian Pop2012-08-082-7/+11
| | | | | | | | | | | | | | | This patch allows us to use cmake to specify a cross compiler for Hexagon. In particular, the patch adds a missing case for the target Hexagon in cmake/config-ix.cmake, and it moves LLVM_DEFAULT_TARGET_TRIPLE and TARGET_TRIPLE variables from cmake/config-ix.cmake to the toplevel CMakeLists.txt to make them available at configure time. Here is the command line that I have used to test my patches: $ cmake -G Ninja -D BUILD_SHARED_LIBS:BOOL=ON -D LLVM_TARGETS_TO_BUILD:STRING=Hexagon -D TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_DEFAULT_TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_TARGET_ARCH:STRING=hexagon-unknown-linux-gnu -D LLVM_ENABLE_PIC:BOOL=OFF .. $ ninja check llvm-svn: 161504
* Add the IsSimple/IsVolatile parameters to the MSAsmStmt constructor.Chad Rosier2012-08-083-5/+7
| | | | llvm-svn: 161503
* Added a 'void' format so that the user can manuallySean Callanan2012-08-085-31/+41
| | | | | | | | | suppress all non-error output from the "expression" command. <rdar://problem/11225150> llvm-svn: 161502
* Implement warning for integral null pointer constants other than the literal 0.David Blaikie2012-08-0810-22/+53
| | | | | | | | | | | | | | | | | | | | This is effectively a warning for code that violates core issue 903 & thus will become standard error in the future, hopefully. It catches strange null pointers such as: '\0', 1 - 1, const int null = 0; etc... There's currently a flaw in this warning (& the warning for 'false' as a null pointer literal as well) where it doesn't trigger on comparisons (ptr == '\0' for example). Fix to come in a future patch. Also, due to this only being a warning, not an error, it triggers quite frequently on gtest code which tests expressions for null-pointer-ness in a SFINAE context (so it wouldn't be a problem if this was an error as in an actual implementation of core issue 903). To workaround this for now, the diagnostic does not fire in unevaluated contexts. Review by Sean Silva and Richard Smith. llvm-svn: 161501
* objc: Include all types when issuing warning underFariborz Jahanian2012-08-083-6/+10
| | | | | | -Wdirect-ivar-access. llvm-svn: 161500
* Add various MC components to clang build to support MS-style inline assembly.Chad Rosier2012-08-087-8/+14
| | | | llvm-svn: 161498
* Change size of reference count field in __libcpp_nmstr from 32 bits to 64 ↵Howard Hinnant2012-08-081-3/+3
| | | | | | bits for 64 bit targets. This is controls the data layout of all exceptions defined in <stdexcept>. This aligns the ABI with that of gcc-4.2. llvm-svn: 161497
* Change size of reference count field in __libcpp_nmstr from 32 bits to 64 ↵Howard Hinnant2012-08-081-3/+3
| | | | | | bits for 64 bit targets. This is controls the data layout of all exceptions defined in <stdexcept>. This aligns the ABI with that of gcc-4.2. llvm-svn: 161496
* Preprocessor: fix __OPTIMIZE_SIZE__ and -OzDylan Noblesmith2012-08-082-21/+32
| | | | | | | | | | | | Add some tests for __OPTIMIZE_SIZE__ and __NO_INLINE__, removing the superfluous copies in the target-specific tests, since it's target-independent. This uncovered a bug in the handling of -Oz: it would attempt to store the value 2 in the 1-bit bitfield OptimizeSize, leaving a value of 0 and never defining __OPTIMIZE_SIZE__. llvm-svn: 161495
* Frontend: further document __BYTE_ORDER__Dylan Noblesmith2012-08-081-1/+3
| | | | llvm-svn: 161494
* Indentation fix for dotest.py.Filipe Cabecinhas2012-08-081-1/+1
| | | | llvm-svn: 161493
* Make dotest.py runnable from a directory other than lldb/testFilipe Cabecinhas2012-08-081-7/+8
| | | | llvm-svn: 161492
* Typedefs and indentation fixes from the Andy Zhang/PAX macro argument patch.Rafael Espindola2012-08-081-26/+28
| | | | | | Committing it first as it makes the "real" patch a lot easier to read. llvm-svn: 161491
* llvm/test/MC/COFF/seh.s: Fixup corresponding to r161487.NAKAMURA Takumi2012-08-081-1/+0
| | | | llvm-svn: 161489
* Fix for .pdata and .xdata section attributes on COFF.Anton Korobeynikov2012-08-082-8/+4
| | | | | | Patch by kai@redstar.de ! llvm-svn: 161487
* [Sanitizer] cleanup CMake files for interception and sanitizer_common helper ↵Alexey Samsonov2012-08-082-26/+35
| | | | | | libraries llvm-svn: 161485
* Remove unused variables.Benjamin Kramer2012-08-082-9/+0
| | | | llvm-svn: 161483
* Revert part of r161175 which was wrong for OpenBSD's PowerPC target.Hans Wennborg2012-08-081-1/+0
| | | | | | Contributed by Brad Smith <brad@comstyle.com> llvm-svn: 161481
* Sphinxify the CommandLine document.Bill Wendling2012-08-083-1977/+1617
| | | | llvm-svn: 161479
* Move header so that it can be picked up by other .rst files.Bill Wendling2012-08-081-4/+4
| | | | llvm-svn: 161478
* Add `.pushsection', `.popsection', and `.previous' directives to Darwin ASM.Bill Wendling2012-08-083-2/+68
| | | | | | | | | | | | | | | | | | | | There are situations where inline ASM may want to change the section -- for instance, to create a variable in the .data section. However, it cannot do this without (potentially) restoring to the wrong section. E.g.: asm volatile (".section __DATA, __data\n\t" ".globl _fnord\n\t" "_fnord: .quad 1f\n\t" ".text\n\t" "1:" :::); This may be wrong if this is inlined into a function that has a "section" attribute. The user should use `.pushsection' and `.popsection' here instead. The addition of `.previous' is added for completeness. <rdar://problem/12048387> llvm-svn: 161477
* Implement final piece of DR963 and also DR587:Richard Smith2012-08-084-31/+88
| | | | | | | | | | | A conditional operator between glvalues of types cv1 T and cv2 T produces a glvalue if the expressions are of the same value kind and one of cv1 and cv2 is a subset of the other. A conditional operator between two null pointer constants is permitted if one of them is of type std::nullptr_t. llvm-svn: 161476
* clarify that the advantages of the BSD license apply to when you incorporate ↵Chris Lattner2012-08-081-7/+9
| | | | | | | | clang into proprietary code bases, patch by Jonathan Sauer. llvm-svn: 161475
* Get rid of an early return in Sema::ActOnFields which doesn't make sense ↵Eli Friedman2012-08-084-10/+14
| | | | | | | | | anymore. Fixes a crash (<rdar://problem/11067144>), and generally seems to improve recovery in other cases. llvm-svn: 161474
* Fix an assertion failure with a C++ constructor initializing aEli Friedman2012-08-084-31/+19
| | | | | | member of reference type in an anonymous struct. PR13154. llvm-svn: 161473
OpenPOWER on IntegriCloud