Skip to content

Commit

Permalink
lto: Clean up C libLTO interfaces pertaining to linker flags.
Browse files Browse the repository at this point in the history
Specifically, remove the dependent library interface and replace the existing
linker option interface with a new one that returns a single list of flags.

Differential Revision: http://reviews.llvm.org/D10820

llvm-svn: 241018
  • Loading branch information
pcc committed Jun 29, 2015
1 parent ab1243f commit 5d7dffb
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 58 deletions.
44 changes: 5 additions & 39 deletions llvm/include/llvm-c/lto.h
Expand Up @@ -40,7 +40,7 @@ typedef bool lto_bool_t;
* @{
*/

#define LTO_API_VERSION 15
#define LTO_API_VERSION 16

/**
* \since prior to LTO_API_VERSION=3
Expand Down Expand Up @@ -280,49 +280,15 @@ lto_module_get_symbol_attribute(lto_module_t mod, unsigned int index);


/**
* Returns the number of dependent libraries in the object module.
* Returns the module's linker options.
*
* Deprecated. Now returns an empty list.
*
* \since LTO_API_VERSION=8
*/
extern unsigned int
lto_module_get_num_deplibs(lto_module_t mod);


/**
* Returns the ith dependent library in the module.
*
* Deprecated. Now always returns null.
*
* \since LTO_API_VERSION=8
*/
extern const char*
lto_module_get_deplib(lto_module_t mod, unsigned int index);


/**
* Returns the number of linker options in the object module.
*
* Each linker option may consist of multiple flags. It is the linker's
* responsibility to split the flags using a platform-specific mechanism.
*
* \since LTO_API_VERSION=8
*/
extern unsigned int
lto_module_get_num_linkeropts(lto_module_t mod);


/**
* Returns the ith linker option in the module.
*
* Each linker option may consist of multiple flags. It is the linker's
* The linker options may consist of multiple flags. It is the linker's
* responsibility to split the flags using a platform-specific mechanism.
*
* \since LTO_API_VERSION=8
* \since LTO_API_VERSION=16
*/
extern const char*
lto_module_get_linkeropt(lto_module_t mod, unsigned int index);
lto_module_get_linkeropts(lto_module_t mod);


/**
Expand Down
16 changes: 1 addition & 15 deletions llvm/tools/lto/lto.cpp
Expand Up @@ -223,21 +223,7 @@ lto_symbol_attributes lto_module_get_symbol_attribute(lto_module_t mod,
return unwrap(mod)->getSymbolAttributes(index);
}

unsigned int lto_module_get_num_deplibs(lto_module_t mod) {
return 0;
}

const char* lto_module_get_deplib(lto_module_t mod, unsigned int index) {
return nullptr;
}

unsigned int lto_module_get_num_linkeropts(lto_module_t mod) {
return 1;
}

const char* lto_module_get_linkeropt(lto_module_t mod, unsigned int index) {
if (index != 0)
return nullptr;
const char* lto_module_get_linkeropts(lto_module_t mod) {
return unwrap(mod)->getLinkerOpts();
}

Expand Down
5 changes: 1 addition & 4 deletions llvm/tools/lto/lto.exports
Expand Up @@ -8,10 +8,7 @@ lto_module_create_from_memory
lto_module_create_from_memory_with_path
lto_module_create_in_local_context
lto_module_create_in_codegen_context
lto_module_get_deplib
lto_module_get_linkeropt
lto_module_get_num_deplibs
lto_module_get_num_linkeropts
lto_module_get_linkeropts
lto_module_get_num_symbols
lto_module_get_symbol_attribute
lto_module_get_symbol_name
Expand Down

0 comments on commit 5d7dffb

Please sign in to comment.