|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 219643 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| | necessary.
llvm-svn: 207593 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| | This centralizes the handling of O_BINARY and opens the way for hiding more
differences (like how open behaves with directories).
llvm-svn: 186447 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| | or the C++ files themselves. This enables people to use
just a C compiler to interoperate with LLVM.
llvm-svn: 180063 | 
| | 
| 
| 
| 
| 
| 
| 
| | - 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 | 
| | 
| 
| 
| | llvm-svn: 97858 | 
| | 
| 
| 
| 
| 
| | Luckily this never was released.
llvm-svn: 97857 | 
| | 
| 
| 
| | llvm-svn: 97856 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 79840 | 
| | 
| 
| 
| 
| 
| | If this doesn't work, I'll write a configure test.
llvm-svn: 52213 | 
| | 
| 
| 
| | llvm-svn: 45418 | 
| | 
| 
| 
| | llvm-svn: 44535 | 
| | 
| 
| 
| | llvm-svn: 44534 | 
| | 
| 
| 
| 
| 
| | windows-based hosts, where files are opened in text mode by default.
llvm-svn: 44533 | 
| | 
| 
| 
| | llvm-svn: 42707 | 
| | 
| 
| 
| 
| 
| | bindings headers themselves, hidden behind #ifdef __cplusplus.
llvm-svn: 42666 | 
| | 
| 
| 
| | llvm-svn: 42465 | 
|  | - 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 |