summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* switch ARM to EmitFunctionBody().Chris Lattner2010-01-281-45/+3
| | | | llvm-svn: 94719
* emit a 0 byte instead of a noop if a function is empty on darwin.Chris Lattner2010-01-282-5/+3
| | | | | | "0" is nice and target independent. llvm-svn: 94718
* Fix 80 col violation.Ted Kremenek2010-01-281-1/+3
| | | | llvm-svn: 94717
* Remove the argument from EmitJumpTableInfo, because it doesn't need it.Chris Lattner2010-01-2814-103/+105
| | | | | | | | Move the X86 implementation of function body emission up to AsmPrinter::EmitFunctionBody, which works by calling the virtual EmitInstruction method. llvm-svn: 94716
* Allow HandleFormatSpecifier() to indicate that no more processing of the ↵Ted Kremenek2010-01-282-3/+4
| | | | | | format string is desired. llvm-svn: 94715
* Switch the remaining diagnostic printing in CIndex over to theDouglas Gregor2010-01-286-45/+59
| | | | | | | | | diagnostic callback mechanism, so all diagnostics now go through that callback. Also, eliminate the displayDiagnostics flag to clang_createIndex(), since it is no longer necessary: the client determines whether to display diagnostics or not. llvm-svn: 94714
* Add '@' conversion specifier.Ted Kremenek2010-01-282-5/+14
| | | | llvm-svn: 94713
* While emitting debugging infor for a C++ class, identify the holder of ↵Devang Patel2010-01-281-1/+11
| | | | | | class's vtable, if any. llvm-svn: 94712
* Include "this" pointer argument while emitting debug info for a C++ method.Devang Patel2010-01-282-1/+41
| | | | llvm-svn: 94710
* Implement a diagnostics callback for the C interface to Clang, so thatDouglas Gregor2010-01-289-121/+677
| | | | | | | | | | | | | | | | | | | | | | | | | clients can format diagnostics as they wish rather than having to parse standard error. All of the important parts of the front end's diagnostics are exposed: text, severity, location, source ranges, and fix-its. The diagnostics callback is now available with clang_createTranslationUnitFromSource() and clang_createTranslationUnit(). As part of this change, CXSourceLocation and CXSourceRange got one pointer larger, since we need to hold on to the SourceManager and LangOptions structures in the source location. This is the minimum amount of information needed for the functions that operate on source locations and ranges (as implemented now). Previously we held on to the ASTContext, but the diagnostics callback can end up with source locations when there is no ASTContext (or preprocessor). Still to do: - Code completion needs to support the diagnostics callback, once we have the ability to (de-)serialize diagnostics. - Eliminate the "displayDiagnostics" argument to createIndex; we'll always pass diagnostics to the callback and let it deal with display. llvm-svn: 94709
* Drop the argument to AsmPrinter::EmitConstantPool and make it virtual.Chris Lattner2010-01-284-4/+7
| | | | | | | Overload it in the ARM backend to do nothing, since is does insane constant pool emission. llvm-svn: 94708
* Remove invalid conversion specifiers from format string checking.Ted Kremenek2010-01-282-10/+0
| | | | llvm-svn: 94707
* don't emit constant pools twice.Chris Lattner2010-01-281-1/+0
| | | | llvm-svn: 94706
* rename printVisibility to EmitVisibility and make it private,Chris Lattner2010-01-282-11/+10
| | | | | | constify EmitLinkage. llvm-svn: 94705
* Add a few more conversion specifiers to ParseFormatSpecifier (these appear ↵Ted Kremenek2010-01-281-20/+27
| | | | | | in SemaChecking). llvm-svn: 94704
* switch ARM to use EmitFunctionHeader.Chris Lattner2010-01-271-44/+15
| | | | llvm-svn: 94703
* Add skeleton for a more structured way to analyzing pring formatTed Kremenek2010-01-273-0/+422
| | | | | | | | | | | | | | | | | | | | | | strings than what we currently have in Sema. This is both an experiment and a WIP. The idea is simple: parse the format string incrementally, constructing a well-structure representation of each format specifier. Each format specifier is then handed back one-by-one to a client via a callback. Malformed format strings are also handled with callbacks. The idea is to separate the parsing of the format string from the emission of diagnostics. Currently what we have in Sema for handling format strings is a mongrel of both that is hard to follow and difficult to modify (I can apply this label since I'm the original author of that code). This is in libAnalysis as it is reasonable generic and can potentially be used both by libSema and libChecker. Comments welcome. llvm-svn: 94702
* eliminate the ARMFunctionInfo::Align member, using Chris Lattner2010-01-273-19/+6
| | | | | | MachineFunction::Alignment instead. llvm-svn: 94701
* add a helper function for bumping up the alignment of a machine function.Chris Lattner2010-01-271-0/+5
| | | | llvm-svn: 94700
* switch blackfin to use EmitFunctionHeader. BlackfinAsmPrinter.cppChris Lattner2010-01-271-37/+5
| | | | | | is now less than 200 LOC! llvm-svn: 94699
* switch mips to use the shared EmitFunctionHeader() functionChris Lattner2010-01-271-41/+19
| | | | llvm-svn: 94698
* Changed constants to an enum so as not to pollute theSean Callanan2010-01-271-4/+4
| | | | | | global namespace needlessly. llvm-svn: 94697
* Added a header file defining the externally-visible C APISean Callanan2010-01-271-0/+470
| | | | | | for the LLVM disassemblers. llvm-svn: 94696
* If the only use of something is a DEBUG_VALUE, don'tDale Johannesen2010-01-271-0/+14
| | | | | | | let that stop it from being deleted, and change the DEBUG_VALUE value to undef. llvm-svn: 94694
* Treat MO_REG 0 location as undefined in DEBUG_VALUE,Dale Johannesen2010-01-271-2/+8
| | | | | | per document. llvm-svn: 94693
* Add an svn:ignore.Dan Gohman2010-01-270-0/+0
| | | | llvm-svn: 94692
* Need to recurse for all operands of function-local metadata; and handle ↵Victor Hernandez2010-01-271-6/+3
| | | | | | Instructions (which map to themselves) llvm-svn: 94691
* Avoid creating redundant PHIs in SSAUpdater::GetValueInMiddleOfBlock.Bob Wilson2010-01-272-43/+82
| | | | | | | This was already being done in SSAUpdater::GetValueAtEndOfBlock so I've just changed SSAUpdater to check for existing PHIs in both places. llvm-svn: 94690
* Remove ModuleProviders from clang after r94686 removed them from LLVM.Jeffrey Yasskin2010-01-271-8/+4
| | | | llvm-svn: 94688
* Update CMake build.Ted Kremenek2010-01-271-2/+2
| | | | llvm-svn: 94687
* Kill ModuleProvider and ghost linkage by inverting the relationship betweenJeffrey Yasskin2010-01-2762-720/+624
| | | | | | | | | | | | | | | | | | | | | Modules and ModuleProviders. Because the "ModuleProvider" simply materializes GlobalValues now, and doesn't provide modules, it's renamed to "GVMaterializer". Code that used to need a ModuleProvider to materialize Functions can now materialize the Functions directly. Functions no longer use a magic linkage to record that they're materializable; they simply ask the GVMaterializer. Because the C ABI must never change, we can't remove LLVMModuleProviderRef or the functions that refer to it. Instead, because Module now exposes the same functionality ModuleProvider used to, we store a Module* in any LLVMModuleProviderRef and translate in the wrapper methods. The bindings to other languages still use the ModuleProvider concept. It would probably be worth some time to update them to follow the C++ more closely, but I don't intend to do it. Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735. llvm-svn: 94686
* ARM/APCS: Fix alignment of long double.Daniel Dunbar2010-01-272-1/+21
| | | | llvm-svn: 94685
* Don't bother with sprintf, just pass the Twine through.Benjamin Kramer2010-01-273-7/+4
| | | | llvm-svn: 94684
* Use the less expensive getName function instead of getNameStr.Benjamin Kramer2010-01-271-5/+4
| | | | llvm-svn: 94683
* Move more naming conventions logic out of the retain/release checker to ↵Ted Kremenek2010-01-273-92/+90
| | | | | | CocoaConventions.h. llvm-svn: 94682
* Change the return type of ASTContext::getDeclAlignInBytes() to CharUnits and,Ken Dyck2010-01-277-38/+49
| | | | | | | now that the "InBytes" part of the name is implied by the return type, rename it to getDeclAlign(). llvm-svn: 94681
* Use raw_ostreams in Preprocessor::ExpandBuiltinMacro. Still not nice but ↵Benjamin Kramer2010-01-271-19/+17
| | | | | | less fragile than the old code. llvm-svn: 94679
* Add missing call to Optional<...>.getValue() that was pointed out by Chandler.Ted Kremenek2010-01-271-1/+1
| | | | llvm-svn: 94678
* Use getTypeAlignInChars() for alignment in VisitSizeOfAlignOfExpr().Ken Dyck2010-01-271-1/+1
| | | | llvm-svn: 94677
* Unique ObjC strings (GNU Runtime); fix for PR6142. Note: Doing this in the ↵David Chisnall2010-01-271-2/+10
| | | | | | runtime-specific code is a bit ugly. It would be a good idea to hoist all of the string / protocol uniqueing code up into CGObjCRuntime or CodeGenModule and only handle emitting the original versions in the runtime-specific code. llvm-svn: 94676
* Quick fix to a test that is currently failing on every Linux build bot. No ideaChandler Carruth2010-01-271-1/+1
| | | | | | if this is the "correct" fix, but it seems a strict improvement. llvm-svn: 94675
* Silence a GCC warning about uninitialized variables. The first user of thisChandler Carruth2010-01-271-1/+1
| | | | | | showed up with a primitive type. llvm-svn: 94674
* Silence GCC warnings with asserts turned off. No functionality change.Chandler Carruth2010-01-272-3/+3
| | | | llvm-svn: 94673
* Make SMDiagnostic::Print a const method.Mikhail Glushenkov2010-01-272-2/+2
| | | | llvm-svn: 94672
* Trailing whitespace.Mikhail Glushenkov2010-01-272-38/+38
| | | | llvm-svn: 94671
* Revert commit 94666 (ddunbar) [Suppress clang warning about unused arguments].Duncan Sands2010-01-2717-17/+17
| | | | | | It causes g++ to complain: unrecognized option '-Qunused-arguments' llvm-svn: 94670
* fix a bug in the _MM_TRANSPOSE4_PS definition, patch by Brian Sumner fromChris Lattner2010-01-271-1/+1
| | | | | | PR6138 llvm-svn: 94669
* Fix libCIndex.so's lookup of the clang executable on CMake out-of-tree builds.Chandler Carruth2010-01-271-1/+1
| | | | llvm-svn: 94668
* add a new AsmPrinter::EmitFunctionEntryLabel virtual function,Chris Lattner2010-01-273-55/+34
| | | | | | | which allows targets to override function entry label emission. Use it to convert linux/ppc to use EmitFunctionHeader(). llvm-svn: 94667
* Suppress clang warning about unused arguments.Daniel Dunbar2010-01-2717-17/+17
| | | | llvm-svn: 94666
OpenPOWER on IntegriCloud