summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Skip transparent contexts when looking for using directives in name lookup.Douglas Gregor2013-04-092-5/+13
| | | | | | Fixes the bootstrap regression I introduced in r179067. llvm-svn: 179079
* Mark as referenced the functions from instantiated UserDefinedLiterals.Argyrios Kyrtzidis2013-04-092-0/+15
| | | | | | Fixes rdar://13589856 llvm-svn: 179078
* Fixed the way we allocate executable memory onSean Callanan2013-04-091-1/+1
| | | | | | | | | behalf of the JIT. We don't need it to be writable since we are using special APIs to write into it. <rdar://problem/13599185> llvm-svn: 179077
* More uses for SymbolTableEntryBase.Rafael Espindola2013-04-091-35/+9
| | | | llvm-svn: 179076
* [analyzer] Keep tracking the pointer after the escape to more aggressively ↵Anna Zaks2013-04-094-165/+212
| | | | | | | | | | | report mismatched deallocator Test that the path notes do not change. I don’t think we should print a note on escape. Also, I’ve removed a check that assumed that the family stored in the RefStete could be AF_None and added an assert in the constructor. llvm-svn: 179075
* Add a SymbolTableEntryBase.Rafael Espindola2013-04-092-52/+38
| | | | | | Use it when we don't need to know if we have a 32 or 64 bit SymbolTableEntry. llvm-svn: 179074
* Fix PointerIntPair to be enum class compatible.Joe Groff2013-04-091-26/+26
| | | | | | | | | | | Some parts of PointerIntPair assumed that the IntType of the pair was implicitly convertible to intptr_t, which is not the case for enum class values. Add a static_cast<intptr_t> to make these conversions explicit and allow PointerIntPair to be used with an enum class IntType. While we're here, rename some of the argument values so we don't have variables named "Int" floating around. llvm-svn: 179073
* Add a SectionBase struct.Rafael Espindola2013-04-082-24/+30
| | | | | | | Use it to share code and when we don't need to know if we have a 32 or 64 bit Section. llvm-svn: 179072
* c++ new operators are not malloc-like functions because they do not return ↵Nadav Rotem2013-04-084-25/+21
| | | | | | | | uninitialized memory. Users may overide new-operators and implement any function that they like. llvm-svn: 179071
* Add test case calling a deprecated method from a subclass that reimplements ↵Ted Kremenek2013-04-081-0/+28
| | | | | | | | that method gets a warning. Test case from <rdar://problem/11627873>. llvm-svn: 179070
* Don't copy just to capture a strong block pointer under ARC.John McCall2013-04-082-7/+66
| | | | | | | | | It turns out that the optimizer can't eliminate this without extra information, for which there's a separate bug. rdar://13588325 llvm-svn: 179069
* <rdar://problem/13584715> Converted constant expressions are expected to ↵Douglas Gregor2013-04-082-1/+17
| | | | | | | | | | | | | | have integral values. We were assuming that any expression used as a converted constant expression would either not have a folded constant value or would be an integer, which is not the case for some ill-formed constant expressions. Because converted constant expressions are only used where integral values are expected, we can simply treat this as an error path. If that ever changes, we'll need to widen the interface of Sema::CheckConvertedConstantExpression() anyway. llvm-svn: 179068
* <rdar://problem/13540899> Collect using directives from all of the semantic ↵Douglas Gregor2013-04-082-8/+44
| | | | | | | | | | | | contexts not represented by scopes. This fixes a regression I introduced in r178136, where we would not consider the using directives from the semantic declaration contexts that aren't represented by the lexical scopes (Scope) when performing unqualified name lookup. This lead to horribly funny diagnostics like "no identifier named 'foo'; did you mean 'foo'?". llvm-svn: 179067
* InstructionSimplify.cpp: Fix a ligature, "fi", to get rid of utf8 in comment.NAKAMURA Takumi2013-04-081-1/+1
| | | | llvm-svn: 179066
* clang/test/Index/annotate-tokens.cpp: Appease msvc-targets with ↵NAKAMURA Takumi2013-04-081-1/+1
| | | | | | -fno-delayed-template-parsing. llvm-svn: 179065
* Recognize function-like macro usages without semicolon in declaration context.Alexander Kornienko2013-04-082-9/+32
| | | | | | | | | | | | | | | | | | | | Summary: Preserve line breaks after function-like macro usages without semicolon, e.g.: QQQ(xxx) class X { }; Reviewers: djasper, klimek Reviewed By: djasper CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D638 llvm-svn: 179064
* Redo the fix Benjamin Kramer committed in r178793 about iterator ↵Shuxin Yang2013-04-081-12/+14
| | | | | | | | | | | | | | | | | invalidation in Reassociate. I brazenly think this change is slightly simpler than r178793 because: - no "state" in functor - "OpndPtrs[i]" looks simpler than "&Opnds[OpndIndices[i]]" While I can reproduce the probelm in Valgrind, it is rather difficult to come up a standalone testing case. The reason is that when an iterator is invalidated, the stale invalidated elements are not yet clobbered by nonsense data, so the optimizer can still proceed successfully. Thank Benjamin for fixing this bug and generously providing the test case. llvm-svn: 179062
* Fix typo in assertion.Nick Lewycky2013-04-081-1/+1
| | | | llvm-svn: 179061
* Update the docs about the fact that the loop vectorizer is enabled by ↵Nadav Rotem2013-04-081-9/+4
| | | | | | default for -O3. llvm-svn: 179060
* The PNaCl target no longer permits __attribute__((regparm)).Eli Bendersky2013-04-083-73/+18
| | | | | | | Remove the custom lowering code dealing with it, disallow it in PNaclTargetInfo and adjust tests accordingly. llvm-svn: 179059
* Update PlatformDarwinKernel::GetMacDirectoriesToSearch to also tryJason Molenda2013-04-081-0/+6
| | | | | | | /Volumes/KernelDebugKit (the default mount point for the Kernel Debug Kit dmgs). llvm-svn: 179058
* <rdar://problem/13559825> Further reduce template instantiation depth down ↵Douglas Gregor2013-04-082-2/+2
| | | | | | to 256, since we're blowing the stack for a trivial "factorial" class template. llvm-svn: 179057
* Fix PR15634, better error message for template deduction failure.Richard Trieu2013-04-083-4/+48
| | | | | | | | | | | | | When two template decls with the same name are used in this diagnostic, force them to print their qualified names. This changes the bad message of: candidate template ignored: could not match 'array' against 'array' to the better message of: candidate template ignored: could not match 'NS2::array' against 'NS1::array' llvm-svn: 179056
* Update checker build to checker-273Ted Kremenek2013-04-082-1/+15
| | | | llvm-svn: 179055
* Revert r179012: "[msan] Intercept glob()."Chandler Carruth2013-04-084-54/+1
| | | | | | | This was committed without tests and contains obvious bugs. That's not acceptable. It broke address sanitizer for most programs using glob(3). llvm-svn: 179054
* <rdar://problem/13540921> Fix a crasher when an Objective-C for-in loop gets ↵Douglas Gregor2013-04-084-16/+50
| | | | | | a non-variable iteration declaration. llvm-svn: 179053
* fix indentationAdrian Prantl2013-04-081-1/+1
| | | | llvm-svn: 179052
* Template the MachO types over the word size.Rafael Espindola2013-04-083-82/+119
| | | | llvm-svn: 179051
* The recent GCOV changes expect the initial version string to be in forward ↵Bill Wendling2013-04-081-1/+1
| | | | | | order. llvm-svn: 179050
* Revamp indentation behavior for complex binary expressions.Daniel Jasper2013-04-084-50/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea is to indent according to operator precedence and pretty much identical to how stuff would be indented with parenthesis. Before: bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa == aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb && aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > ccccccccccccccccccccccccccccccccccccccccc; After: bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa == aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb && aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > ccccccccccccccccccccccccccccccccccccccccc; llvm-svn: 179049
* Remove is64BitLoadCommand.Rafael Espindola2013-04-081-20/+10
| | | | llvm-svn: 179048
* Rewrite test/Integer tests to use FileCheck instead of grepEli Bendersky2013-04-083-5/+7
| | | | llvm-svn: 179047
* Thread safety analysis: turn on checking within lock and unlock functions.DeLesley Hutchins2013-04-083-22/+134
| | | | | | These checks are enabled with the -Wthread-safety-beta flag. llvm-svn: 179046
* Rewrite test/ExecutionEngine tests to use FileCheck instead of grepEli Bendersky2013-04-084-6/+10
| | | | llvm-svn: 179043
* fixes a typo in my last patch.Fariborz Jahanian2013-04-081-1/+1
| | | | | | // rdar://12379114 llvm-svn: 179042
* Change <cwchar> and <cstring> to look out for flags which may or may not be ↵Howard Hinnant2013-04-082-8/+17
| | | | | | set by the C headers <wchar.h> and <string.h> indicating C support for the C++-altered wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr, strchr, strpbrk, strrchr, memchr, and strstr. This was already done in <cstring> for other platforms using other flags, so just had to add one more flag to the list there. llvm-svn: 179041
* In the comparison, both clang and GCC are popular and widely adopted. This ↵Chris Lattner2013-04-081-1/+0
| | | | | | | | is no longer a win of GCC. This whole doc should really be looked at. llvm-svn: 179040
* doce parsing: adding few more headerdoc tags.Fariborz Jahanian2013-04-082-0/+16
| | | | | | // rdar://12379114 llvm-svn: 179039
* Update documentation.Matt Arsenault2013-04-081-3/+1
| | | | | | First feature is not CPU subtype anymore since r134127 llvm-svn: 179038
* <rdar://problem/13540921> Cope with instantiations of the C++11 range-based ↵Douglas Gregor2013-04-082-0/+22
| | | | | | for loop that end up being Objective-C fast enumeration loops. llvm-svn: 179037
* Rewrite test/Verifier tests to use FileCheck instead of grepEli Bendersky2013-04-0813-19/+28
| | | | llvm-svn: 179036
* <rdar://problem/13540921> Cope with deduced 'auto' in a C++11 for-range loop ↵Douglas Gregor2013-04-082-0/+29
| | | | | | that is actually an Objective-C fast enumeration loop. llvm-svn: 179035
* Tweak warning text for nil value in ObjC container warning.Ted Kremenek2013-04-082-3/+3
| | | | llvm-svn: 179034
* X86 cost model: Model cost for uitofp and sitofp on SSE2Arnold Schwaighofer2013-04-083-3/+677
| | | | | | | | | | | | | | | | | | | | The costs are overfitted so that I can still use the legalization factor. For example the following kernel has about half the throughput vectorized than unvectorized when compiled with SSE2. Before this patch we would vectorize it. unsigned short A[1024]; double B[1024]; void f() { int i; for (i = 0; i < 1024; ++i) { B[i] = (double) A[i]; } } radar://13599001 llvm-svn: 179033
* [libsymbolized] If we can't find an address in the list of shared libraries, ↵Alexander Potapenko2013-04-084-1/+86
| | | | | | | | | | | try to reload it. Add a regression test for the case where such behavior helps TSan: 1. race is reported in the main module 2. new shared library is loaded 3. race is reported in the shared library llvm-svn: 179032
* Test case for r179030.Chad Rosier2013-04-081-0/+7
| | | | llvm-svn: 179031
* [ms-inline asm] Add support for ImmDisp [ Symbol ] memory operands.Chad Rosier2013-04-083-24/+28
| | | | | | rdar://13521249 llvm-svn: 179030
* <rdar://problem/12806802> Propagate access specifiers for conversion ↵Douglas Gregor2013-04-083-14/+25
| | | | | | | | | | | | | functions to the conversion function set eagerly. This slightly propagates an existing hack that delays when we provide access specifiers for the visible conversion functions of a class by copying the available access specifier early. The only client this affects is LLDB, which tends to discover and add conversion functions after the class is technically "complete". As such, the only observable difference is in LLDB, so the testing will go there. llvm-svn: 179029
* Add matcher for NamespaceDecls.Daniel Jasper2013-04-082-3/+23
| | | | llvm-svn: 179027
* Generate PPC early conditional returnsHal Finkel2013-04-088-28/+218
| | | | | | | | | | | | | PowerPC has a conditional branch to the link register (return) instruction: BCLR. This should be used any time when we'd otherwise have a conditional branch to a return. This adds a small pass, PPCEarlyReturn, which runs just prior to the branch selection pass (and, importantly, after block placement) to generate these conditional returns when possible. It will also eliminate unconditional branches to returns (these happen rarely; most of the time these have already been tail duplicated by the time PPCEarlyReturn is invoked). This is a nice optimization for small functions that do not maintain a stack frame. llvm-svn: 179026
OpenPOWER on IntegriCloud