summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Writer/BitWriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Introduce LLVMWriteBitcodeToMemoryBuffer C API function.Peter Collingbourne2014-10-141-0/+8
| | | | llvm-svn: 219643
* Modernize raw_fd_ostream's constructor a bit.Rafael Espindola2014-08-251-3/+3
| | | | | | | | | | Take a StringRef instead of a "const char *". Take a "std::error_code &" instead of a "std::string &" for error. A create static method would be even better, but this patch is already a bit too big. llvm-svn: 216393
* raw_ostream: Forward declare OpenFlags and include FileSystem.h only where ↵Benjamin Kramer2014-04-291-0/+1
| | | | | | necessary. llvm-svn: 207593
* Replace the F_Binary flag with a F_Text one.Rafael Espindola2014-02-241-1/+1
| | | | | | | | | After this I will set the default back to F_None. The advantage is that before this patch forgetting to set F_Binary would corrupt a file on windows. Forgetting to set F_Text produces one that cannot be read in notepad, which is a better failure mode :-) llvm-svn: 202052
* Add a wrapper for open.Rafael Espindola2013-07-161-1/+1
| | | | | | | This centralizes the handling of O_BINARY and opens the way for hiding more differences (like how open behaves with directories). llvm-svn: 186447
* This patch breaks up Wrap.h so that it does not have to include all of Filip Pizlo2013-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | the things, and renames it to CBindingWrapping.h. I also moved CBindingWrapping.h into Support/. This new file just contains the macros for defining different wrap/unwrap methods. The calls to those macros, as well as any custom wrap/unwrap definitions (like for array of Values for example), are put into corresponding C++ headers. Doing this required some #include surgery, since some .cpp files relied on the fact that including Wrap.h implicitly caused the inclusion of a bunch of other things. This also now means that the C++ headers will include their corresponding C API headers; for example Value.h must include llvm-c/Core.h. I think this is harmless, since the C API headers contain just external function declarations and some C types, so I don't believe there should be any nasty dependency issues here. llvm-svn: 180881
* Move C++ code out of the C headers and into either C++ headersEric Christopher2013-04-221-0/+1
| | | | | | | or the C++ files themselves. This enables people to use just a C compiler to interoperate with LLVM. llvm-svn: 180063
* Code Custodian:Joe Abbey2012-11-251-5/+4
| | | | | | | | - Widespread trailing space removal - A dash of OCD spacing to block align enums - joined a line that probably needed 80 cols a while back llvm-svn: 168566
* Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options.Erick Tryzelaar2010-03-061-2/+7
| | | | llvm-svn: 97858
* Whoops, the old LLVMWriteBitcodeToFileHandle closed the stream.Erick Tryzelaar2010-03-061-1/+1
| | | | | | Luckily this never was released. llvm-svn: 97857
* LLVMWriteBitcodeToFileHandle should work on all architectures now.Erick Tryzelaar2010-03-061-11/+0
| | | | llvm-svn: 97856
* Make LLVM command-line tools overwrite their output files without -f.Dan Gohman2009-08-251-1/+1
| | | | | | | | | | | | | | | | This is conventional command-line tool behavior. -f now just means "enable binary output on terminals". Add a -f option to llvm-extract and llvm-link, for consistency. Remove F_Force from raw_fd_ostream and enable overwriting and truncating by default. Introduce an F_Excl flag to permit users to enable a failure when the file already exists. This flag is currently unused. Update Makefiles and documentation accordingly. llvm-svn: 79990
* eliminate the std::ostream forms of the bitcode writing APIs.Chris Lattner2009-08-231-20/+8
| | | | llvm-svn: 79840
* Better test for availability of __gnu_cxx::stdio_filebuf.Gordon Henriksen2008-06-111-1/+7
| | | | | | If this doesn't work, I'll write a configure test. llvm-svn: 52213
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Applying Anton's binmode fix to the other ofstream too.Gordon Henriksen2007-12-031-1/+1
| | | | llvm-svn: 44535
* Sorry, typo :)Anton Korobeynikov2007-12-031-2/+4
| | | | llvm-svn: 44534
* Open output file correctly. This is extremely important forAnton Korobeynikov2007-12-031-1/+1
| | | | | | windows-based hosts, where files are opened in text mode by default. llvm-svn: 44533
* Bindings for the verifier.Gordon Henriksen2007-10-061-2/+2
| | | | llvm-svn: 42707
* Removing the silly CHelpers header by rolling wrap and unwrap into the CGordon Henriksen2007-10-051-1/+0
| | | | | | bindings headers themselves, hidden behind #ifdef __cplusplus. llvm-svn: 42666
* Demoting CHelpers.h to include/llvm/Support.Gordon Henriksen2007-09-291-1/+1
| | | | llvm-svn: 42465
* C bindings for libLLVMCore.a and libLLVMBitWriter.a.Gordon Henriksen2007-09-181-0/+51
- The naming prefix is LLVM. - All types are represented using opaque references. - Functions are not named LLVM{Type}{Method}; the names became unreadable goop. Instead, they are named LLVM{ImperativeSentence}. - Where an attribute only appears once in the class hierarchy (e.g., linkage only applies to values; parameter types only apply to function types), the class is omitted from identifiers for brevity. Tastes like methods. - Strings are C strings or string/length tuples on a case-by-case basis. - APIs which give the caller ownership of an object are not mapped (removeFromParent, certain constructor overloads). This keeps keep memory management as simple as possible. For each library with bindings: llvm-c/<LIB>.h - Declares the bindings. lib/<LIB>/<LIB>.cpp - Implements the bindings. So just link with the library of your choice and use the C header instead of the C++ one. llvm-svn: 42077
OpenPOWER on IntegriCloud