Fix breakage of some compile_commands.json users

Depending on the user, the PrepareClangFlags rewrite of a few commits ago could
break users with an extra "clang: 'linker' input not used" (or similar) error
message because the compiler executable string was not removed from flags
upstream if the user prepended some flags to the output of PrepareClangFlags
before returning it to the caller of FlagsForFile.

Since the rewrite was supposed to be backwards compatible, this needs
to be handled.
This commit is contained in:
Strahinja Val Markovic 2013-05-24 14:29:33 -07:00
parent 11a7746753
commit d9f45d576f

View File

@ -18,8 +18,10 @@
# along with YouCompleteMe. If not, see <http://www.gnu.org/licenses/>. # along with YouCompleteMe. If not, see <http://www.gnu.org/licenses/>.
# This function doesn't do anything; it used to do something useful, but not
# anymore. It MUST NOT be removed because of backwards compatibility with old
# ycm_extra_conf.py files.
def PrepareClangFlags( flags, filename ): def PrepareClangFlags( flags, filename ):
# When flags come from the compile_commands.json file, the first flag is
# usually the path to the compiler that should be invoked. We want to strip
# that.
if not flags[ 0 ].startswith( '-' ):
return flags[ 1: ]
return flags return flags