Merge pull request #48 from cartazio/master

llvm-base cabal configure now works on cabal 1.17
llvm-base: Don't declare DbgInfoPrinter pass with LLVM 3.3

Keeps consistency between extra.cpp & extra.h
This should have been included in:
d01855daab68727da55db94d35fa8b620dd485d0
Merge pull request #52 from olajep/fix-extra

llvm-base: Don't declare DbgInfoPrinter pass with LLVM 3.3
llvm-base: Fix compiler warnings.
Merge pull request #54 from olajep/fix-macro-redef-warnings

llvm-base: Fix compiler warnings.
llvm-base: Move all pass declarations to passes-inl.h

Keep one list of pass declarations and definitions in passes-inl.h
Before, we had one list of definitions in extra.cpp and one list of
declarations in extra.h.

When passes-inl.h is included from extra.h the declare_or_define macro
will expand the passes to function declarations.

When passes-inl.h is included from extra.cpp the declare_or_define macro
will expand the passes to function definitions.
Don't track files generated when examples are built
Merge pull request #53 from olajep/extra-consistency

llvm-base: Move all pass declarations to passes-inl.h
Merge pull request #55 from olajep/gitignore-examples

Don't track files generated when examples are built
Remove trailing white spaces and tabs

Generated with:
find . -type f -and -not \( -name "*.o" -or -name "*.exe" -or -name "*.hi" \) \
| grep -Ev "\.git/|dist/" | xargs -n1 sed -e 's/[ \t]*$//' -i
Convert tabs to spaces.

First this command was run:
find . -type f -and -not \( -name "*.o" -or -name "*.exe" -or -name "*.hi" \
-or -name "Makefile"\) | grep -Ev "\.git/|\.git$|dist/" | \
args -n1 sed -e 's/[\t]/    /g' -i

Then the affected files were edited manually trying to match the coding
style in each file.
Merge pull request #56 from olajep/trailing-white-spaces

Remove trailing white spaces and convert tabs to spaces
Correct llvm-base package description text
Derive MonadFix instances for CodeGenFunction and CodeGenModule
Move stdc defines to the top of the file