[llvm-commits] [llvm] r113834 - in /llvm/trunk: lib/Target/CBackend/CBackend.cpp utils/TableGen/IntrinsicEmitter.cpp

Francois Pichet pichet2000 at gmail.com
Tue Sep 14 16:59:30 PDT 2010


hi,

Can't you not rewrite EmitSuffix like this to get rid of the warning?

void IntrinsicEmitter::EmitSuffix(raw_ostream &OS) {
  OS << "#if defined(_MSC_VER) && defined(setjmp)\n"
        "// let's return it to _setjmp state\n"
        "#  pragma pop_macro(\"setjmp\")\n"
        "#endif\n\n";
}



On Tue, Sep 14, 2010 at 12:27 AM, Michael J. Spencer
<bigcheesegs at gmail.com> wrote:
> Author: mspencer
> Date: Mon Sep 13 23:27:38 2010
> New Revision: 113834
>
> URL: http://llvm.org/viewvc/llvm-project?rev=113834&view=rev
> Log:
> CBackend: Fix MSVC build.
>
> This may produce warnings on MSVS, but it's better than failures.
>
> Modified:
>    llvm/trunk/lib/Target/CBackend/CBackend.cpp
>    llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp
>
> Modified: llvm/trunk/lib/Target/CBackend/CBackend.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CBackend/CBackend.cpp?rev=113834&r1=113833&r2=113834&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/CBackend/CBackend.cpp (original)
> +++ llvm/trunk/lib/Target/CBackend/CBackend.cpp Mon Sep 13 23:27:38 2010
> @@ -50,6 +50,10 @@
>  #include "llvm/System/Host.h"
>  #include "llvm/Config/config.h"
>  #include <algorithm>
> +// Some ms header decided to define setjmp as _setjmp, undo this for this file.
> +#ifdef _MSC_VER
> +#undef setjmp
> +#endif
>  using namespace llvm;
>
>  extern "C" void LLVMInitializeCBackendTarget() {
>
> Modified: llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp?rev=113834&r1=113833&r2=113834&view=diff
> ==============================================================================
> --- llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp Mon Sep 13 23:27:38 2010
> @@ -69,15 +69,15 @@
>  void IntrinsicEmitter::EmitPrefix(raw_ostream &OS) {
>   OS << "// VisualStudio defines setjmp as _setjmp\n"
>         "#if defined(_MSC_VER) && defined(setjmp)\n"
> -        "#define setjmp_undefined_for_visual_studio\n"
> -        "#undef setjmp\n"
> +        "#  pragma push_macro(\"setjmp\")\n"
> +        "#  undef setjmp\n"
>         "#endif\n\n";
>  }
>
>  void IntrinsicEmitter::EmitSuffix(raw_ostream &OS) {
> -  OS << "#if defined(_MSC_VER) && defined(setjmp_undefined_for_visual_studio)\n"
> +  OS << "#if defined(_MSC_VER)\n"
>         "// let's return it to _setjmp state\n"
> -        "#define setjmp _setjmp\n"
> +        "#  pragma pop_macro(\"setjmp\")\n"
>         "#endif\n\n";
>  }
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




More information about the llvm-commits mailing list