aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-03-26Fix a crasher by reporting a fatal error if we're unable to create the targetChad Rosier
machine and one is required. Part of rdar://13295753 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178042 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Add PRFCHW intrinsic supportMichael Liao
- Add head 'prfchwintrin.h' to define '_m_prefetchw' which is mapped to LLVM/clang prefetch builtin - Add option '-mprfchw' to enable PRFCHW feature and pre-define '__PRFCHW__' macro git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178041 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26[Preprocessor/Modules] Separate the macro directives kinds into their own ↵Argyrios Kyrtzidis
MacroDirective's subclasses. For each macro directive (define, undefine, visibility) have a separate object that gets chained to the macro directive history. This has several benefits: -No need to mutate a MacroDirective when there is a undefine/visibility directive. Stuff like PPMutationListener become unnecessary. -No need to keep extra source locations for the undef/visibility locations for the define directive object (which is the majority of the directives) -Much easier to hide/unhide a section in the macro directive history. -Easier to track the effects of the directives across different submodules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178037 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26[ms-cxxabi] Mangle vector typesReid Kleckner
Summary: The only vector types a user can pass from MSVC code to clang code are the ones from *mmintrin.h, so we only have to match the MSVC mangling for these types. MSVC mangles the __m128 family of types as tag types, which we match. For other vector types, we emit a unique tag type mangling that won't match anything produced by MSVC. Reviewers: rjmccall CC: chandlerc, timurrrr, cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D576 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178036 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Fix uninitialized read of CalleeWithThisReturn.Evgeniy Stepanov
CalleeWithThisReturn can be left initialized if HasThisReturn() is false. This change reverses the order of checks in EmitFunctionEpilog such that CalleeWithThisReturn is only examined when it has a meaningful value. Found with MemorySanitizer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178015 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Actually mark ASan-unfriendly test as XFAILAlexey Samsonov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177997 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Add asan/msan to the list of available features in LIT test runner. Mark ↵Alexey Samsonov
ASan-unfriendly test as XFAIL. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177995 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Manually specify the link dependencies. Turns out that all the work onChandler Carruth
LLVMBuild stuff didn't actually provide a single place for dependencies, it just added a third place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177989 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Handle CXXOperatorCallExpr when checking self referrnce during initialization ofRichard Trieu
class types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177987 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26The IRReader header is now part of its own library. Update the includeChandler Carruth
line and the library dependencies to reflect this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177972 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Remove FIXMEs: these are covered by a core issue which we don't yet implementRichard Smith
(but we happen to get this part right). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177958 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Implement special-case name lookup for inheriting constructors: memberRichard Smith
using-declarations with names which look constructor-like are interpreted as constructor names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177957 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Remove some no-op static_casts.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177954 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Objective-C: Property declaration overiding one inFariborz Jahanian
its super class or protocols inherit their availability/deprecated attribute. // rdar://13467644 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177948 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25clang/test/Index/crash-recovery-code-complete.c: Mark it as XFAIL:win32 for now.NAKAMURA Takumi
I know MemoryBuffer might affect this. Still investigating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177946 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13395022> Strip references when extracting an ↵Douglas Gregor
initializer_list's element type during application of an initialization sequence. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177944 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13185264> Don't crash when attempting to redundantly ↵Douglas Gregor
initialize a member of an anonymous union. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177941 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Fix layering violation harder.Matt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177940 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13358795> Teach CMake to check Subversion version ↵Douglas Gregor
information at build time, not configure time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177939 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Fix testcase.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177934 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25For printf checking, handle nested typedefs for darwin-specific checking.Ted Kremenek
Fixes <rdar://problem/13491605>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177931 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13459871> Allow forward declaration of enums with a fixed ↵Douglas Gregor
underlying type in Objective-C (as well as C++11). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177930 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Remove local path from test.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177925 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Use <time.h> rather than <sys/time.h>Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177924 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Use xargs rather than Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177923 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Fix a layering violation introduced in r177705.Matt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177922 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Use 'touch -t', which both BSD and Linux support.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177921 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Try harder to be signal-safe inside our signal handler. The most prominent ↵Nick Lewycky
behavioural difference is that we no longer clean the token before emitting it. This fixes a bug where clang hangs in the middle of crashing because the crash handler calls malloc from inside a crash that happened inside of free. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177919 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13434605> Periodically prune the module cache so that it ↵Douglas Gregor
does not grow forever. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177918 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Correct indentation. No functionality change.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177916 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Emit an error message instead of crashing when dereferencing an incomplete ↵Bill Wendling
pointer type. If the ASM statement is dereferencing an incomplete pointer type, issue an error instead of crashing. <rdar://problem/12700799> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177915 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25IR-gen should not generate an MMX types unless the code is explicitly using MMXChad Rosier
intrinsics. rdar://13213542 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177911 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25[analyzer] Set concrete offset bindings to UnknownVal when processing ↵Anna Zaks
symbolic offset binding, even if no bindings are present. This addresses an undefined value false positive from concreteOffsetBindingIsInvalidatedBySymbolicOffsetAssignment. Fixes PR14877; radar://12991168. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177905 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Added PR number for failing win64 tests.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177886 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Re-add clang-format tests to clang/test.Daniel Jasper
Also now use -strict-whitespace as the tests are confusing otherwise. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177853 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25[analyzer] Adds cplusplus.NewDelete checker that check for memory leaks, ↵Anton Yartsev
double free, and use-after-free problems of memory managed by new/delete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177849 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-24[analyzer] Teach ConstraintManager to ignore NonLoc <> NonLoc comparisons.Jordan Rose
These aren't generated by default, but they are needed when either side of the comparison is tainted. Should fix our internal buildbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177846 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-24Simplify code. No functionality change.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177842 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-24Reject -no-integrated-as on windows.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177840 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-24Generate metadata to implement the -cl-kernel-arg-info option.Guy Benyei
OpenCL 1.2 spec. 5.7.3. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177839 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-24Don't actually invoke codegen in driver test.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177838 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Make clang to mark static stack allocations with lifetime markers to enable ↵Nadav Rotem
a more aggressive stack coloring. Patch by John McCall with help by Shuxin Yang. rdar://13115369 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177819 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Revert svn r176894 and r177658.Bob Wilson
Changing -ccc-install-dir to affect cc1's resource-dir setting broke our internal LNT tests. After discussing the situation with Jim, we've decided to pursue an alternate approach. We really want the resource-dir to be located relative to clang, even when using -ccc-install-dir, but we're going to add a fallback setting for the libc++ headers if they don't exist alongside the compiler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177815 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Under ARC, when we're passing the address of a strong variableJohn McCall
to an out-parameter using the indirect-writeback conversion, and we copied the current value of the variable to the temporary, make sure that we register an intrinsic use of that value with the optimizer so that the value won't get released until we have a chance to retain it. rdar://13195034 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177813 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Strip off local qualifiers when converting from RecordType toRichard Trieu
TemplateSpecializationType during template type diffing. This allows the correct printing of diffing qualifiers on templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177809 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23[analyzer] Teach constraint managers about unsigned comparisons.Jordan Rose
In C, comparisons between signed and unsigned numbers are always done in unsigned-space. Thus, we should know that "i >= 0U" is always true, even if 'i' is signed. Similarly, "u >= 0" is also always true, even though '0' is signed. Part of <rdar://problem/13239003> (false positives related to std::vector) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177806 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23[analyzer] Loc-Loc operations (subtraction or comparison) produce a NonLoc.Jordan Rose
For two concrete locations, we were producing another concrete location and then casting it to an integer. We should just create a nonloc::ConcreteInt to begin with. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177805 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23[analyzer] CmpRuns.py: Accept single files as input.Jordan Rose
This allows us to compare two direct invocations of the analyzer on a single source file without having to wrap the output plists in their own directories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177804 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23[analyzer] Also transform "a < b" to "(b - a) > 0" in the constraint manager.Jordan Rose
We can support the full range of comparison operations between two locations by canonicalizing them as subtraction, as in the previous commit. This won't work (well) if either location includes an offset, or (again) if the comparisons are not consistent about which region comes first. <rdar://problem/13239003> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177803 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Add reverseComparisonOp and negateComparisonOp to BinaryOperator.Jordan Rose
...and adopt them in the analyzer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177802 91177308-0d34-0410-b5e6-96231b3b80d8