summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CIndex: Fix a crash in clang_createTranslationUnitFromSourceFile when usingDaniel Dunbar2010-02-021-15/+17
| | | | | | | | external ASTs, and the ASTUnit fails to load. Also, move getLocationFromExpr outside extern "C" block. llvm-svn: 95065
* Apparently gdb is not amused by empty lines in pubtypes section.Devang Patel2010-02-021-2/+4
| | | | llvm-svn: 95064
* Move pointer to data member emission to CodeGenModule and use it in ↵Anders Carlsson2010-02-027-51/+73
| | | | | | CGExprConstant. Fixes PR5674. llvm-svn: 95063
* NULL terminate name in pubtypes sections.Devang Patel2010-02-021-1/+1
| | | | llvm-svn: 95062
* Merge a test into pointers-to-data-members.cpp and convert it to FileCheck.Anders Carlsson2010-02-022-34/+32
| | | | llvm-svn: 95061
* Rename a test.Anders Carlsson2010-02-021-4/+9
| | | | llvm-svn: 95060
* FIXME complete.John McCall2010-02-021-1/+0
| | | | llvm-svn: 95059
* don't turn (A & (C0?-1:0)) | (B & ~(C0?-1:0)) -> C0 ? A : BChris Lattner2010-02-022-9/+27
| | | | | | | for vectors. Codegen is generating awful code or segfaulting in various cases (e.g. PR6204). llvm-svn: 95058
* Improve the diagnostic used when an incompatible overload set is passedJohn McCall2010-02-023-1/+26
| | | | | | as an argument during overload resolution. llvm-svn: 95057
* Fix a bunch of errors in the old logic.Zhongxing Xu2010-02-021-7/+12
| | | | llvm-svn: 95056
* fix a crash in loop unswitch on a loop invariant vector condition.Chris Lattner2010-02-022-2/+21
| | | | llvm-svn: 95055
* remove an unreduced testcase, rename another.Chris Lattner2010-02-022-1697/+0
| | | | llvm-svn: 95054
* Perform sibcall in some cases when arguments are passes memory. Look for casesEvan Cheng2010-02-022-6/+62
| | | | | | | | | | | | | where callee's arguments are already in the caller's own caller's stack and they line up perfectly. e.g. extern int foo(int a, int b, int c); int bar(int a, int b, int c) { return foo(a, b, c); } llvm-svn: 95053
* Implement C++ [temp.deduct.call]p6, template argument deduction for overloadedJohn McCall2010-02-022-31/+207
| | | | | | | | | | arguments. Fix a bug where incomplete explicit specializations were being passed through as legitimate. Fix a bug where the absence of an explicit specialization in an overload set was causing overall deduction to fail. Fixes PR6191. llvm-svn: 95052
* Removed an unnecessary class from the EDDisassemblerSean Callanan2010-02-021-53/+2
| | | | | | | implementation. Also made sure that the register maps were created during disassembler initialization. llvm-svn: 95051
* Make local RA smarter about reusing input register of a copyDale Johannesen2010-02-023-2/+18
| | | | | | | as output. Needed for (functional) correctness in inline asm, and should be generally beneficial. 7361612. llvm-svn: 95050
* Add a stop gap to Sema::CorrectTypo() to correct only up to 20 typos.Ted Kremenek2010-02-023-2/+12
| | | | | | | | | | | | | | | | | This is to address a serious performance problem observed when running 'clang -fsyntax-only' on really broken source files. In one case, repeatedly calling CorrectTypo() caused one source file to be rejected after 2 minutes instead of 1 second. This patch causes typo correction to take neglible time on that file while still providing correction results for the first 20 cases. I felt this was a reasonable number for moderately broken source files. I don't claim this is the best solution. Comments welcome. It is necessary for us to address this issue because it is a serious performance problem. llvm-svn: 95049
* Fix bug in GRExprEngine::VisitSizeOfAlignOfExpr() where we do not addTed Kremenek2010-02-022-0/+16
| | | | | | | 'Pred' to 'Dst' for cases we currently don't handle. This fixes <rdar://problem/7593875>. llvm-svn: 95048
* 11.8p1: A nested class is a member and as such has the same access rights asZhongxing Xu2010-02-021-3/+0
| | | | | | any other member. llvm-svn: 95047
* LangRef.html says that inttoptr and ptrtoint always use zero-extensionDan Gohman2010-02-021-21/+32
| | | | | | when the cast is extending. llvm-svn: 95046
* Factor out alignof expression folding into a separate function andDan Gohman2010-02-022-26/+90
| | | | | | generalize it to handle more cases. llvm-svn: 95045
* Various code simplifications.Dan Gohman2010-02-021-31/+28
| | | | llvm-svn: 95044
* add another example.Chris Lattner2010-02-021-1/+28
| | | | llvm-svn: 95043
* Implement PR6180, substantially improving the diagnostics we get fromChris Lattner2010-02-023-6/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | forgetting a ';' at the end of a struct. For something like: class c { } void foo() {} we now produce: t.cc:3:2: error: expected ';' after class } ^ ; instead of: t.cc:4:1: error: cannot combine with previous 'class' declaration specifier void foo() {} ^ t.cc:2:7: error: 'class c' can not be defined in the result type of a function class c { ^ GCC produces: t.cc:4: error: new types may not be defined in a return type t.cc:4: note: (perhaps a semicolon is missing after the definition of ‘c’) t.cc:4: error: two or more data types in declaration of ‘foo’ I *think* I got the follow set right, but if I forgot anything, we'll start getting spurious "expected ';' after class" errors, let me know if you see any. llvm-svn: 95042
* Update CMake.Daniel Dunbar2010-02-021-1/+0
| | | | llvm-svn: 95041
* Don't need to check the last argument since it'll always be bool. We alsoEric Christopher2010-02-021-5/+1
| | | | | | don't use TargetData here. llvm-svn: 95040
* improve diagnostics for C++ struct ; issues. Before:Chris Lattner2010-02-022-12/+14
| | | | | | | | | | | | | | | | | | | | | | t.cc:4:3: error: expected ';' at end of declaration list int y; ^ t.cc:6:1: error: expected ';' at end of declaration list }; ^ After: t.cc:3:8: error: expected ';' at end of declaration list int x ^ ; t.cc:5:8: error: expected ';' at end of declaration list int z ^ ; llvm-svn: 95039
* improve diagnostics on missing ; in a struct. Before:Chris Lattner2010-02-022-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | t.c:4:3: error: expected ';' at end of declaration list int y; ^ t.c:4:8: warning: extra ';' inside a struct or union int y; ^ t.c:6:1: warning: expected ';' at end of declaration list }; ^ After: t.c:3:8: error: expected ';' at end of declaration list int x // expected-error {{expected ';' at end of declaration list}} ^ ; t.c:5:8: warning: expected ';' at end of declaration list int z ^ ; llvm-svn: 95038
* Hoist diagnostic generation in ReturnStackAddressChecker into a separate ↵Ted Kremenek2010-02-021-58/+69
| | | | | | method. No functionality change. llvm-svn: 95037
* More indentation/tabification fixes.Eric Christopher2010-02-021-13/+13
| | | | llvm-svn: 95036
* Untabify previous commit.Eric Christopher2010-02-021-3/+3
| | | | llvm-svn: 95035
* Changed to Chris Lattner's suggested approach, whichSean Callanan2010-02-024-42/+16
| | | | | | | | | | merely stubs out the blocks-based disassembly functions if the library wasn't built with blocks, which allows a constant .exports file and also properly deals with situations in which the compiler used to build a client is different from the compiler used to build the library. llvm-svn: 95034
* Kill the Mach-O writer, and temporarily make filetype=obj an error.Nate Begeman2010-02-016-256/+2
| | | | | | The MCStreamer based assemblers will take over for this functionality. llvm-svn: 95033
* Make this fix-it test case actually fail when there is a problem; addDouglas Gregor2010-02-011-8/+9
| | | | | | | a test for access declarations and remove a (broken) test for removal of default arguments. llvm-svn: 95032
* Improve handling of enumerator values for C and C++, including:Douglas Gregor2010-02-014-40/+198
| | | | | | | | | | | | | | | | | - In C++, prior to the closing '}', set the type of enumerators based on the type of their initializer. Don't perform unary conversions on the enumerator values. - In C++, handle overflow when an enumerator has no initializer and its value cannot be represented in the type of the previous enumerator. - In C, handle overflow more gracefully, by complaining and then falling back to the C++ rules. - In C, if the enumerator value is representable in an int, convert the expression to the type 'int'. Fixes PR5854 and PR4515. llvm-svn: 95031
* ARM/APCS: Fix classification of small complex integer types as "integer like".Daniel Dunbar2010-02-012-3/+18
| | | | llvm-svn: 95030
* ARM/APCS: Pass Complex types following llvm-gcc.Daniel Dunbar2010-02-012-0/+27
| | | | llvm-svn: 95029
* Fix for builds with separate source and buildSean Callanan2010-02-011-4/+4
| | | | | | directories (like, oh, say, any multistage build) llvm-svn: 95028
* Formatting.Eric Christopher2010-02-011-3/+3
| | | | llvm-svn: 95027
* Add format string type checking support for 'long double'.Ted Kremenek2010-02-012-1/+6
| | | | llvm-svn: 95026
* MOVi16 should also be marked as a UnaryDP instruction, i.e., it doesn't have aJohnny Chen2010-02-011-1/+1
| | | | | | Rn operand. llvm-svn: 95025
* Updated to use the proper .exports file for theSean Callanan2010-02-013-1/+44
| | | | | | | target platform, depending on whether the target supports the blocks API or not llvm-svn: 95024
* Fix FIXME and surrounding comment.Devang Patel2010-02-011-4/+1
| | | | llvm-svn: 95023
* Add "dump" method to IVUsersOneStride.Bill Wendling2010-02-012-0/+28
| | | | llvm-svn: 95022
* Testcase for 94996 (PR 6157)Dale Johannesen2010-02-011-0/+34
| | | | llvm-svn: 95021
* FUNCTIONS.armv6 to have actual function namesNick Kledzik2010-02-011-1/+3
| | | | llvm-svn: 95018
* Fix PR6196. GV callee may not be a function.Evan Cheng2010-02-012-3/+17
| | | | llvm-svn: 95017
* Use appropriate context descriptor in RecordDecl's debug info.Devang Patel2010-02-011-3/+9
| | | | llvm-svn: 95016
* Add test case for 95013.Evan Cheng2010-02-011-0/+5
| | | | llvm-svn: 95014
* Improve EXTRACT_VECTOR_ELT patch based on comments from DuncanMon P Wang2010-02-012-10/+10
| | | | llvm-svn: 95012
OpenPOWER on IntegriCloud