summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Make sure to access APValue's data via a char array (rather thanDouglas Gregor2009-09-081-7/+7
| | | | | | | | through an array of void*), so that we don't run afoul of the strict-aliasing rules in C++ 3.10p15. Unfortunately, GCC 4.4 still complains about this code. llvm-svn: 81251
* Vastly improve PredefinedExpr output, both in Sema and CodeGen. Patch by Sam ↵Anders Carlsson2009-09-085-42/+91
| | | | | | Weinig! llvm-svn: 81237
* Fix PR4922, where Sema would complete tentative definitions in nondeterminsticChris Lattner2009-09-085-37/+53
| | | | | | | | | | order because it was doing so while iterating over a densemap. There are still similar problems in other places, for example WeakUndeclaredIdentifiers is still written to the PCH file in a nondeterminstic order, and we emit warnings about #pragma weak in nondeterminstic order. llvm-svn: 81236
* reduce indentation.Chris Lattner2009-09-081-17/+16
| | | | llvm-svn: 81234
* Support templateids in friend declarations. Fixes bug 4859.John McCall2009-09-084-81/+93
| | | | llvm-svn: 81233
* Remove FIXMEs for pedantically-gcc-bug-compatible behavior.Daniel Dunbar2009-09-081-26/+4
| | | | | | | | - We aren't going to fix these since they haven't caused problems in practice. - Similarly, don't forward -object to Darwin ld. llvm-svn: 81224
* Handle variadic constructors better. Share code between ↵Anders Carlsson2009-09-082-26/+61
| | | | | | BuildCXXConstructExpr and BuildCXXTemporaryObjectExpr. llvm-svn: 81181
* Clean up the CXXConstructExpr constructor, add Arg getters.Anders Carlsson2009-09-081-7/+14
| | | | llvm-svn: 81178
* reject returning a block expr even when it has parens and casts in the way.Chris Lattner2009-09-081-3/+1
| | | | llvm-svn: 81176
* Remove trailing whitespace.Daniel Dunbar2009-09-071-68/+68
| | | | llvm-svn: 81169
* BuildCXXConstructExpr now takes a MultiExprArg.Anders Carlsson2009-09-076-20/+24
| | | | llvm-svn: 81160
* Check that the destination type of a static_cast expression is a complete type.Anders Carlsson2009-09-071-0/+8
| | | | llvm-svn: 81151
* More <sstream> removal.Benjamin Kramer2009-09-072-2/+0
| | | | llvm-svn: 81150
* Remove unnecessary #include <sstream>.Benjamin Kramer2009-09-071-1/+0
| | | | llvm-svn: 81147
* Refine vcall offsets. Cleanups. WIP.Mike Stump2009-09-073-41/+54
| | | | llvm-svn: 81143
* Use a SetVector for tracking some Obj-C metadata, to ensure deterministicDaniel Dunbar2009-09-071-20/+23
| | | | | | | output. - Also, cleanup code to output inline asm references. llvm-svn: 81139
* Reapply 81096, now with a fix. Spot the bug:Anders Carlsson2009-09-062-2/+4
| | | | | | | | | for (unsigned i = numargs; i < NumArgs; ++i) Args[0] = 0; ;) llvm-svn: 81123
* Revert "Initialize default CXXConstructExpr arguments to 0. Fixes a crash whenDaniel Dunbar2009-09-062-4/+2
| | | | | | | destroying the CXXConstructExpr.", this is causing test failures across the board. llvm-svn: 81100
* Initialize default CXXConstructExpr arguments to 0. Fixes a crash when ↵Anders Carlsson2009-09-052-2/+4
| | | | | | destroying the CXXConstructExpr. llvm-svn: 81096
* Fix buffer overflow reported in PR 4903.Ted Kremenek2009-09-051-5/+8
| | | | llvm-svn: 81092
* Refine overrides and thunks for virtual bases. Cleanups. WIP.Mike Stump2009-09-051-25/+41
| | | | llvm-svn: 81080
* Replace some instances of std::string with StringRefs.Benjamin Kramer2009-09-052-10/+10
| | | | llvm-svn: 81079
* Cleanup.Mike Stump2009-09-051-6/+7
| | | | llvm-svn: 81078
* Cleanups.Mike Stump2009-09-051-5/+5
| | | | llvm-svn: 81077
* Cleanups.Mike Stump2009-09-051-2/+0
| | | | llvm-svn: 81075
* Cleanups.Mike Stump2009-09-051-21/+10
| | | | llvm-svn: 81074
* Cleanups.Mike Stump2009-09-051-6/+3
| | | | llvm-svn: 81073
* Cleanups.Mike Stump2009-09-051-5/+29
| | | | llvm-svn: 81072
* Cleanups.Mike Stump2009-09-051-6/+5
| | | | llvm-svn: 81071
* Overhaul the mangler to use a visitor pattern, at least for types. We can ↵John McCall2009-09-051-96/+134
| | | | | | | | | | | safely ignore non-canonical type classes, but apparently we need to know how to mangle dependent names. The missing cases are much more obvious now. llvm-svn: 81070
* Cleanups. WIP.Mike Stump2009-09-051-50/+53
| | | | llvm-svn: 81069
* Pass the ConstructLoc to BuildCXXConstructExpr.Anders Carlsson2009-09-055-20/+27
| | | | llvm-svn: 81068
* Install thunks later to fixup overrides. Track space taken by vbaseMike Stump2009-09-055-65/+101
| | | | | | offsets better for thunk refinements. Cleanups. WIP. llvm-svn: 81067
* pass the correct predecessor node.Zhongxing Xu2009-09-051-1/+1
| | | | llvm-svn: 81066
* Start emitting ElaboratedTypes in C++ mode. Support the effort in variousJohn McCall2009-09-056-3/+24
| | | | | | | | ways: remove elab types during desugaring, enhance pretty-printing to allow tags to be suppressed without suppressing scopes, look through elab types when associating a typedef name with an anonymous record type. llvm-svn: 81065
* Do not call FlushReports() in GRBugReporter's dtor. We already call it inZhongxing Xu2009-09-051-1/+1
| | | | | | ActionGRExprEngine(). llvm-svn: 81064
* Report errors for member functions correctly.Anders Carlsson2009-09-051-2/+1
| | | | llvm-svn: 81063
* Use a separate diagnostic for default function argument expressions.Anders Carlsson2009-09-053-6/+59
| | | | llvm-svn: 81062
* Refactor builtin function evaluation code into its own function.Zhongxing Xu2009-09-051-33/+44
| | | | llvm-svn: 81061
* Basic support for representing elaborated type specifiersJohn McCall2009-09-056-0/+69
| | | | | | | | | | | | | | | directly in the AST. The current thinking is to create these only in C++ mode for efficiency. But for now, they're not being created at all; patch to follow. This will let us do things like verify that tags match during template instantation, as well as signal that an elaborated type specifier was used for clients that actually care. Optimally, the TypeLoc hierarchy should be adjusted to carry tag location information as well. llvm-svn: 81057
* Improve the AST representation and semantic analysis for externDouglas Gregor2009-09-047-46/+84
| | | | | | | | | | | templates. We now distinguish between an explicit instantiation declaration and an explicit instantiation definition, and know not to instantiate explicit instantiation declarations. Unfortunately, there is some remaining confusion w.r.t. instantiation of out-of-line member function definitions that causes trouble here. llvm-svn: 81053
* Don't generate any code for an explicit call to a trivial destructor. Douglas Gregor2009-09-043-2/+10
| | | | | | | | | | | Now that parsing, semantic analysis, and (I think) code generation of pseudo-destructor expressions and explicit destructor calls works, update the example-dynarray.cpp test to destroy the objects it allocates and update the test to actually compile + link. The code seems correct, but the Clang-compiled version dies with a malloc error. Time to debug! llvm-svn: 81025
* Merge libgcc spec changes for darwin::Link::ConstructJob.Daniel Dunbar2009-09-041-3/+10
| | | | llvm-svn: 81022
* Tweak darwin::Link::AddLinkArgs.Daniel Dunbar2009-09-041-1/+11
| | | | llvm-svn: 81021
* Implement darwin::Link::AddDarwinArch for ARM.Daniel Dunbar2009-09-041-1/+73
| | | | llvm-svn: 81020
* Darwin: Pass -iphoneos-version-min to ld when building for ARM.Daniel Dunbar2009-09-044-25/+56
| | | | llvm-svn: 81019
* Add -ccc-install-dir option for faking installation path.Daniel Dunbar2009-09-041-1/+7
| | | | llvm-svn: 81017
* Rename Darwin_X86 toolchain to just Darwin, this can support all platforms.Daniel Dunbar2009-09-045-26/+23
| | | | llvm-svn: 81016
* If a destructor is referenced or a pseudo-destructor expression isDouglas Gregor2009-09-043-9/+27
| | | | | | | formed without a trailing '(', diagnose the error (these expressions must be immediately called), emit a fix-it hint, and fix the code. llvm-svn: 81015
* Add overidding for methods for vtable building for the secondaryMike Stump2009-09-043-13/+90
| | | | | | vtables. Add thunk generation. WIP. llvm-svn: 81014
OpenPOWER on IntegriCloud