summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Extract the ObjC and blocks manglers into their own class. No functionalityCharles Davis2010-05-262-60/+98
| | | | | | change. llvm-svn: 104715
* Fixed comment.Abramo Bagnara2010-05-261-2/+2
| | | | llvm-svn: 104714
* Added source order to CXXBaseOrMemberInitializer.Abramo Bagnara2010-05-263-17/+53
| | | | llvm-svn: 104712
* Move ComputeEmptySubobjectSizes to EmptySubobjectMap.Anders Carlsson2010-05-261-61/+65
| | | | llvm-svn: 104702
* Stub out the EmptySubobjectsMap class.Anders Carlsson2010-05-261-2/+23
| | | | llvm-svn: 104701
* Inline the RecordLayoutBuilder constructor.Anders Carlsson2010-05-261-9/+7
| | | | llvm-svn: 104700
* Add a Layout overload that takes a CXXRecordDecl.Anders Carlsson2010-05-261-38/+48
| | | | llvm-svn: 104695
* Move RecordLayoutBuilder into an anonymous namespace.Benjamin Kramer2010-05-261-0/+2
| | | | llvm-svn: 104693
* When transforming a C++ "new" expression's constructor arguments, dropDouglas Gregor2010-05-262-0/+34
| | | | | | | | | any arguments that are default-argument expressions. The can show up when we have a new expression whose constructor arguments are not type-dependent and whose allocated type is not dependent and has a constructor with default arguments. Fixes PR7202. llvm-svn: 104690
* Rename ASTRecordLayoutBuilder to RecordLayoutBuilder.Anders Carlsson2010-05-261-34/+34
| | | | llvm-svn: 104688
* Remove RecordLayoutBuilder.hAnders Carlsson2010-05-262-32/+0
| | | | llvm-svn: 104687
* Move the ASTRecordLayoutBuilder class declaration into the .cpp file.Anders Carlsson2010-05-262-156/+155
| | | | llvm-svn: 104686
* ASTRecordLayoutBuilder is no longer a friend of ASTRecordLayout.Anders Carlsson2010-05-261-1/+0
| | | | llvm-svn: 104685
* Tell the string literal parser when it's not permitted to emitDouglas Gregor2010-05-264-24/+43
| | | | | | | | diagnostics. That would be while we're parsing string literals for the sole purpose of producing a diagnostic about them. Fixes <rdar://problem/8026030>. llvm-svn: 104684
* Fix thinko and remove another unused function.Anders Carlsson2010-05-262-38/+1
| | | | llvm-svn: 104683
* Fix build.Anders Carlsson2010-05-261-2/+4
| | | | llvm-svn: 104682
* No need to use the PrimaryBaseInfo struct in the builder.Anders Carlsson2010-05-264-25/+36
| | | | llvm-svn: 104681
* Be sure to use the standard substitutions when mangling the names ofDouglas Gregor2010-05-262-8/+52
| | | | | | vtables, VTTs, and construction vtables. Fixes PR7201. llvm-svn: 104675
* Remove FIXME.Anders Carlsson2010-05-261-1/+0
| | | | llvm-svn: 104674
* Fold the other Layout overload into its sole call site.Anders Carlsson2010-05-262-3/+37
| | | | llvm-svn: 104673
* Fold the ASTRecordLayoutBuilder::ComputeLayout overload that takes an ↵Anders Carlsson2010-05-262-22/+13
| | | | | | ObjCInterfaceDecl pointer into its only callsite. llvm-svn: 104672
* Move the relevant ASTContext member functions that deal with ↵Anders Carlsson2010-05-262-74/+73
| | | | | | ASTRecordLayoutBuilder into RecordLayoutBuilder.cpp. This matches the way we interact with other builder classes (CGRecordLayoutBuilder, VTableBuilder and VTTBuilder) and it also allows for making ASTRecordLayoutBuilder a private class without a header file. llvm-svn: 104671
* Small fix.Zhongxing Xu2010-05-261-1/+1
| | | | llvm-svn: 104669
* Remove extents of dead symbolic regions when RemoveDeadBindings.Zhongxing Xu2010-05-265-19/+28
| | | | | | This requires creating new persistent states due to the nature of GDM. llvm-svn: 104668
* Only enable code patterns (e.g., try { statements } catch (...) {Douglas Gregor2010-05-2514-235/+298
| | | | | | statements }) in the code-completion results if explicitly requested. llvm-svn: 104637
* Allocate the contents of TemplateArgumentList using ASTContext's allocator. ↵Ted Kremenek2010-05-252-5/+14
| | | | | | | | | | | This fixes a massive memory leak when using a BumpPtrAllocator in ASTContext. Added a FIXME, as the Destroy method for TemplateArgumentList isn't getting called. This means we will instead leak when using the MallocAllocator. llvm-svn: 104633
* Add Redeclarable boilerplate to TypedefDecl, from Peter Collingbourne!Douglas Gregor2010-05-251-0/+12
| | | | llvm-svn: 104631
* IRgen: Add a stub class for generating ABI-specific C++ code.Charles Davis2010-05-256-4/+110
| | | | | | | | This class only supports name mangling (which is apparently used during C/ObjC codegen). For now only the Itanium C++ ABI is supported. Patches to add a second C++ ABI are forthcoming. llvm-svn: 104630
* Driver/Frontend: Add -emit-codegen-only, for running irgen + codegen but not theDaniel Dunbar2010-05-256-1/+21
| | | | | | .s printer or .o writer. llvm-svn: 104623
* make -ast-dump print something like this for declstmts:Chris Lattner2010-05-251-1/+1
| | | | | | | | | | | | (DeclStmt 0x3405550 <line:3:4, col:11> 0x34053a0 "int x") instead of: (DeclStmt 0x3405550 <line:3:4, col:11> 0x34053a0 "int x" which has unbalanced parens (PR7228) llvm-svn: 104620
* Fix testsuite for blocks mangling changeDouglas Gregor2010-05-253-2/+52
| | | | llvm-svn: 104618
* Refactoring of block-pointer type rewrite.Fariborz Jahanian2010-05-251-37/+25
| | | | llvm-svn: 104614
* Fix compilation failureDouglas Gregor2010-05-251-2/+2
| | | | llvm-svn: 104613
* Improve name mangling for blocks and support mangling of static localDouglas Gregor2010-05-256-5/+67
| | | | | | | | | variables within blocks. We loosely follow GCC's mangling, but since these are always internal symbols the names don't really matter. I intend to revisit block mangling later, because GCC's mangling is rather verbose. <rdar://problem/8015719>. llvm-svn: 104610
* Patch to rewrite block pointers as arguments toFariborz Jahanian2010-05-252-2/+90
| | | | | | methods. (Radar 7987817). llvm-svn: 104608
* Make sure to strip off top-level cv-qualifiers as part of aDouglas Gregor2010-05-252-1/+17
| | | | | | derived-to-base conversion on a pointer. Fixes PR7224. llvm-svn: 104607
* Put -Wvla into the -Wgnu warning groupDouglas Gregor2010-05-251-1/+1
| | | | llvm-svn: 104606
* Turn vertical spacing into horizontal spacing in code-completion resultsDouglas Gregor2010-05-251-1/+4
| | | | llvm-svn: 104586
* Improve code completion in failure cases in two ways:Douglas Gregor2010-05-2513-68/+121
| | | | | | | | | | | 1) Suppress diagnostics as soon as we form the code-completion token, so we don't get any error/warning spew from the early end-of-file. 2) If we consume a code-completion token when we weren't expecting one, go into a code-completion recovery path that produces the best results it can based on the context that the parser is in. llvm-svn: 104585
* CastSizeChecker checks when casting a malloc'ed symbolic region to type T,Zhongxing Xu2010-05-257-16/+122
| | | | | | | whether the size of the symbolic region is a multiple of the size of T. Fixes PR6123 and PR7217. llvm-svn: 104584
* If a function definition has any sort of weak linkage, its static localJohn McCall2010-05-256-12/+29
| | | | | | | | | | | | variables should have that linkage. Otherwise, its static local variables should have internal linkage. To avoid computing this excessively, set a function's linkage before we emit code for it. Previously we were assigning weak linkage to the static variables of static inline functions in C++, with predictably terrible results. This fixes that and also gives better linkage than 'weak' when merging is required. llvm-svn: 104581
* Make this class useful as a base.Nick Lewycky2010-05-251-3/+1
| | | | llvm-svn: 104578
* IRgen/C++: When mark vtables used, make sure to still append to the ↵Daniel Dunbar2010-05-252-3/+24
| | | | | | | | | VTableUse array if we promote a vtable from being just used to having its definition required. This ensures that we properly inform the consumer about whether the vtable is required or not, previously we could fail to do so when the vtable was in the VTableUses array before the decl which marked it as required. - I think this can be cleaned up, since this means we may notify the consumer about the vtable twice, but I didn't see an easy fix for this without more substantial refactoring. - Doug, please review! llvm-svn: 104577
* Simplify.Daniel Dunbar2010-05-251-2/+1
| | | | llvm-svn: 104576
* improve the fixit for the missing : error when parsing ?:. WhenChris Lattner2010-05-241-1/+22
| | | | | | | | | | | | | | | | | | | | there are already two spaces before the token where the : was expected, put the : in between the spaces. This means we get it right in both of these cases: t.c:2:17: error: expected ':' return a ? b c; ^ : t.c:3:16: error: expected ':' return a ? b c; ^ : In the later case, the diagnostic says to insert ": ", in the former case it says to insert ":" between the spaces. This fixes rdar://8007231 llvm-svn: 104569
* add a few more categories.Chris Lattner2010-05-242-4/+5
| | | | llvm-svn: 104566
* missed an svn addChris Lattner2010-05-241-0/+10
| | | | llvm-svn: 104562
* push categories forward a bit more: document them, add someChris Lattner2010-05-246-44/+78
| | | | | | | | major buckets to catch parser and sema issues, add inline asm category, and make diag groups take precedence over the sweeping categories just added. llvm-svn: 104561
* Don't complain about VLAs of non-POD types when the array type isDouglas Gregor2010-05-242-1/+16
| | | | | | dependent. Fixes <rdar://problem/8021385>. llvm-svn: 104550
* A type- or value-dependent expression cannot use bitfieldDouglas Gregor2010-05-242-0/+16
| | | | | | promotion. Fixes <rdar://problem/8020920>. llvm-svn: 104545
OpenPOWER on IntegriCloud