Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Clang fix #1535

Merged
merged 2 commits into from

4 participants

@Fneufneu
Collaborator

On FreeBSD, i need 2 fix to be able to build XBMC with clang.

tested with clang 3.1 and 3.2 (trunk)

@theuni
Owner

That's all it took? nice :)

@ghost

well the disabling of logging is hardly a fix ;)

@Memphiz
Owner

Its an anti-feature. Based on merge windows this has to be merged outside of a merge window or hell on earth or so :p

@Memphiz
Owner

Strange we use clang 3.1 on osx since "ages" without problems...

@MartijnKaijser

@Fneufneu ping (there's also a merge master commit in here)

@theuni
Owner

@Fneufneu ping. Out of curiosity I tested with linux/android, and had similar results there. So this is valuable all around. Please see the top 3 commits at: https://github.com/theuni/xbmc/commits/clang

I believe that the 2nd one (theuni@7f60b54) is the real fix for cpluff. Mind having a look?

@Fneufneu
Collaborator

@theuni good catch ! your cpluff fix works here.
i added a new needed fix 8ef2bf109f7136788aa3ec86717b2fbb98ae31bf
can you take a look ?

@theuni
Owner

@Fneufneu If I understand correctly, it seems you've pushed the (seemingly correct) fix into mainline, so 7705bae isn't needed anymore? If that's what you meant, then sure, I agree.

@theuni
Owner

Mm.. ignore that. Github is doing really strange things with links. 8ef2bf1 points to the XBMC repo for some reason...

Anyway, fix looks fine.

@Fneufneu
Collaborator

you scared me for a minute ! :)

anyway, how you want to proceed, you make a new clean PR and we close this one ?

Fneufneu added some commits
Fneufneu [clang] fix rsxs screensaver build
clang need to known that we use some gnu inline semantics
a875bcf
Fneufneu clang: fix declaration of default arg
depend on os/clang version it's a warning or an error:
error: addition of default argument on redeclaration makes
    this constructor a default constructor
warning: addition of default argument on redeclaration makes
    this constructor a default constructor

full errors: http://pastebin.com/tnJXZV8L
700a245
@Fneufneu Fneufneu merged commit 9a505c6 into from
@ghost Unknown referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Sep 5, 2013
  1. [clang] fix rsxs screensaver build

    Fneufneu authored
    clang need to known that we use some gnu inline semantics
  2. clang: fix declaration of default arg

    Fneufneu authored
    depend on os/clang version it's a warning or an error:
    error: addition of default argument on redeclaration makes
        this constructor a default constructor
    warning: addition of default argument on redeclaration makes
        this constructor a default constructor
    
    full errors: http://pastebin.com/tnJXZV8L
This page is out of date. Refresh to see the latest.
View
4 xbmc/screensavers/rsxs-0.9/lib/argp-fmtstream.h
@@ -198,8 +198,12 @@ extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
#endif
#ifndef ARGP_FS_EI
+#ifdef __clang__
+#define ARGP_FS_EI extern inline __attribute__ ((__gnu_inline__))
+#else
#define ARGP_FS_EI extern inline
#endif
+#endif
ARGP_FS_EI size_t
__argp_fmtstream_write (argp_fmtstream_t __fs,
View
2  xbmc/visualizations/XBMCProjectM/libprojectM/PresetLoader.cpp
@@ -35,7 +35,7 @@ extern "C"
const std::string PresetLoader::PROJECTM_FILE_EXTENSION(".prjm");
const std::string PresetLoader::MILKDROP_FILE_EXTENSION(".milk");
-PresetLoader::PresetLoader(std::string dirname = std::string()) :m_dirname(dirname), m_dir(0), m_ratingsSum(0)
+PresetLoader::PresetLoader(std::string dirname) :m_dirname(dirname), m_dir(0), m_ratingsSum(0)
{
// Do one scan
if (m_dirname != std::string())
View
2  xbmc/visualizations/XBMCProjectM/libprojectM/PresetLoader.hpp
@@ -29,7 +29,7 @@ class PresetLoader {
static const std::string MILKDROP_FILE_EXTENSION;
/** Initializes the preset loader with the target directory specified */
- PresetLoader(std::string dirname);
+ PresetLoader(std::string dirname = std::string());
/** Destructor will remove all alllocated presets */
~PresetLoader();
Something went wrong with that request. Please try again.