From nobody@FreeBSD.org  Tue Jul  2 06:03:18 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
	by hub.freebsd.org (Postfix) with ESMTP id B00D1B6E
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  2 Jul 2013 06:03:18 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from oldred.freebsd.org (oldred.freebsd.org [8.8.178.121])
	by mx1.freebsd.org (Postfix) with ESMTP id A25A217EF
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  2 Jul 2013 06:03:18 +0000 (UTC)
Received: from oldred.freebsd.org ([127.0.1.6])
	by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id r6263ICV084759
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 2 Jul 2013 06:03:18 GMT
	(envelope-from nobody@oldred.freebsd.org)
Received: (from nobody@localhost)
	by oldred.freebsd.org (8.14.5/8.14.5/Submit) id r6263Hl4084571;
	Tue, 2 Jul 2013 06:03:17 GMT
	(envelope-from nobody)
Message-Id: <201307020603.r6263Hl4084571@oldred.freebsd.org>
Date: Tue, 2 Jul 2013 06:03:17 GMT
From: "O. Hartmann" <ohartman@zedat.fu-berlin.de>
To: freebsd-gnats-submit@FreeBSD.org
Subject: graphics/openshadinglanguage: liboslexec/llvm_ops.s:342:241: error: expected instruction opcode
X-Send-Pr-Version: www-3.1
X-GNATS-Notify: FreeBSD@Shaneware.biz

>Number:         180190
>Category:       ports
>Synopsis:       graphics/openshadinglanguage: liboslexec/llvm_ops.s:342:241: error: expected instruction opcode
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    tijl
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 02 06:10:00 UTC 2013
>Closed-Date:    Thu Nov 07 15:33:33 CET 2013
>Last-Modified:  Thu Nov 07 15:33:33 CET 2013
>Originator:     O. Hartmann
>Release:        FreeBSD 10.0-CURRENT/amd64
>Organization:
FU Berlin
>Environment:
FreeBSD 10.0-CURRENT #1 r252478: Mon Jul  1 23:04:54 CEST 2013 amd64
>Description:
The port graphics/openshadinglanguage fails to compile on FreeBSD-10.0-CURRENT with CLANG 3.3 (but it compiles on FreeBSD 9.1-STABLE with CLANG 3.2). the failure is reported as follows:

[...]
[ 21%] Generating llvm_ops.bc.cpp
/usr/local/bin/llvm-as: /usr/ports/graphics/openshadinglanguage/work/.build/liboslexec/llvm_ops.s:342:241: error: expected instruction opcode
  %0 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementptr inbounds (%"class.std::ios_base::Init"* @_ZStL8__ioinit, i32 0, i32 0), i8* @__dso_handle) #1
                                                                                                                                                                                                                                                ^
--- liboslexec/llvm_ops.bc.cpp ---
*** [liboslexec/llvm_ops.bc.cpp] Error code 1

>How-To-Repeat:
Try installing or updating port graphics/openshadinglanguage on FreeBSD 10.0-CURRENT
>Fix:


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: edwin 
State-Changed-When: Tue Jul 2 06:10:08 UTC 2013 
State-Changed-Why:  
Awaiting maintainers feedback (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=180190 

From: Edwin Groothuis <edwin@FreeBSD.org>
To: FreeBSD@Shaneware.biz
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/180190: graphics/openshadinglanguage: liboslexec/llvm_ops.s:342:241: error: expected instruction opcode
Date: Tue, 2 Jul 2013 06:10:08 UT

 Maintainer of graphics/openshadinglanguage,
 
 Please note that PR ports/180190 has just been submitted.
 
 If it contains a patch for an upgrade, an enhancement or a bug fix
 you agree on, reply to this email stating that you approve the patch
 and a committer will take care of it.
 
 The full text of the PR can be found at:
     http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/180190
 
 -- 
 Edwin Groothuis via the GNATS Auto Assign Tool
 edwin@FreeBSD.org

From: Shane Ambler <FreeBSD@ShaneWare.Biz>
To: bug-followup@FreeBSD.org
Cc: ohartman@zedat.fu-berlin.de
Subject: Re: ports/180190: graphics/openshadinglanguage: liboslexec/llvm_ops.s:342:241:
 error: expected instruction opcode
Date: Sun, 21 Jul 2013 01:59:39 +0930

 This was also found to apply to 9.2 since clang 3.3 addition.
 
 Refer to ports/180190 for fix
Responsible-Changed-From-To: freebsd-ports-bugs->tijl 
Responsible-Changed-By: tijl 
Responsible-Changed-When: Tue Oct 29 11:12:03 CET 2013 
Responsible-Changed-Why:  
Take. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=180190 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/180190: commit references a PR
Date: Thu,  7 Nov 2013 14:00:54 +0000 (UTC)

 Author: tijl
 Date: Thu Nov  7 14:00:44 2013
 New Revision: 333100
 URL: http://svnweb.freebsd.org/changeset/ports/333100
 
 Log:
   - Import patches from upstream to fix build on FreeBSD 10 (clang, libc++)
   - Depend on llvm33 and clang33.
   - New LIB_DEPENDS syntax.
   - Staging.
   - Replace some patches with Makefile magic.
   
   PR:		ports/180190, ports/180650
   Submitted by:	Shane Ambler <FreeBSD@ShaneWare.Biz> (maintainer)
 
 Added:
   head/graphics/openshadinglanguage/files/patch-CMakeLists.txt   (contents, props changed)
   head/graphics/openshadinglanguage/files/patch-liboslcomp__CMakeLists.txt   (contents, props changed)
   head/graphics/openshadinglanguage/files/patch-liboslcomp__oslcomp.cpp   (contents, props changed)
   head/graphics/openshadinglanguage/files/patch-liboslexec__constfold.cpp   (contents, props changed)
   head/graphics/openshadinglanguage/files/patch-liboslexec__dictionary.cpp   (contents, props changed)
   head/graphics/openshadinglanguage/files/patch-liboslexec__llvm_gen.cpp   (contents, props changed)
   head/graphics/openshadinglanguage/files/patch-liboslexec__llvm_instance.cpp   (contents, props changed)
   head/graphics/openshadinglanguage/files/patch-liboslexec__runtimeoptimize.h   (contents, props changed)
 Deleted:
   head/graphics/openshadinglanguage/files/patch-cmake_platform.cmake
   head/graphics/openshadinglanguage/files/patch-liboslexec__CMakeLists.txt
   head/graphics/openshadinglanguage/files/patch-liboslexec__llvm_ops.cpp
 Modified:
   head/graphics/openshadinglanguage/Makefile
 
 Modified: head/graphics/openshadinglanguage/Makefile
 ==============================================================================
 --- head/graphics/openshadinglanguage/Makefile	Thu Nov  7 13:55:25 2013	(r333099)
 +++ head/graphics/openshadinglanguage/Makefile	Thu Nov  7 14:00:44 2013	(r333100)
 @@ -3,7 +3,7 @@
  
  PORTNAME=	openshadinglanguage
  PORTVERSION=	1.3.3
 -PORTREVISION=	1
 +PORTREVISION=	2
  CATEGORIES=	graphics devel
  
  MAINTAINER=	FreeBSD@Shaneware.biz
 @@ -11,12 +11,12 @@ COMMENT=	Advanced shading language for p
  
  LICENSE=	BSD
  
 -BUILD_DEPENDS=	llvm>=3.1:${PORTSDIR}/devel/llvm \
 -		flex>=2.5.37:${PORTSDIR}/textproc/flex
 -LIB_DEPENDS=	boost_thread:${PORTSDIR}/devel/boost-libs \
 -		IlmImf:${PORTSDIR}/graphics/OpenEXR \
 -		OpenImageIO:${PORTSDIR}/graphics/openimageio
 -RUN_DEPENDS=	llvm>=3.1:${PORTSDIR}/devel/llvm
 +BUILD_DEPENDS=	llvm-config33:${PORTSDIR}/devel/llvm33 \
 +		clang33>=3.3_3:${PORTSDIR}/lang/clang33
 +LIB_DEPENDS=	libboost_thread.so:${PORTSDIR}/devel/boost-libs \
 +		libIlmImf.so:${PORTSDIR}/graphics/OpenEXR \
 +		libOpenImageIO.so:${PORTSDIR}/graphics/openimageio
 +RUN_DEPENDS=	llvm-config33:${PORTSDIR}/devel/llvm33
  
  USE_GITHUB=	yes
  GH_ACCOUNT=	imageworks
 @@ -26,27 +26,30 @@ GH_COMMIT=	18671dc
  
  WRKSRC=		${WRKDIR}/imageworks-OpenShadingLanguage-${GH_COMMIT}/src
  
 -CMAKE_ARGS=	-DFLEX_EXECUTABLE:STRING=${LOCALBASE}/bin/flex \
 -		-DUSE_TBB:BOOL=OFF
 -CXXFLAGS+=	-I${LOCALBASE}/include/flex
 +CMAKE_ARGS=	-DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config33"
  USE_LDCONFIG=	yes
  USES=		bison cmake:outsource
  
 -NO_STAGE=	yes
 -.include <bsd.port.pre.mk>
 +.include <bsd.port.options.mk>
  
 -.if ${OSVERSION} < 900000
 -BUILD_DEPENDS+=	clang:${PORTSDIR}/lang/clang
 +.if ${ARCH} == i386 && ! ${MACHINE_CPU:Mi586}
 +IGNORE=		CPUTYPE must be i586 or higher in /etc/make.conf
  .endif
  
 -.if ${ARCH} == i386
 -CFLAGS+=	-march=i586
 +.if ${OSVERSION} < 1000033
 +BUILD_DEPENDS+=	flex>=2.5.37:${PORTSDIR}/textproc/flex
 +CMAKE_ARGS+=	-DFLEX_EXECUTABLE:STRING=${LOCALBASE}/bin/flex
 +CXXFLAGS+=	-I${LOCALBASE}/include/flex
  .endif
  
 +post-patch:
 +	@${REINPLACE_CMD} -e 's,/bin/bash,/bin/sh,' \
 +		${WRKSRC}/liboslexec/serialize-bc.bash
 +
  post-install:
  .for LNAME in oslcomp oslexec oslquery testshade
 -	cd ${PREFIX}/lib && ${MV} -f lib${LNAME}.so lib${LNAME}.so.1
 -	cd ${PREFIX}/lib && ${LN} -sf lib${LNAME}.so.1 lib${LNAME}.so
 +	${MV} ${STAGEDIR}${PREFIX}/lib/lib${LNAME}.so ${STAGEDIR}${PREFIX}/lib/lib${LNAME}.so.1
 +	${LN} -s lib${LNAME}.so.1 ${STAGEDIR}${PREFIX}/lib/lib${LNAME}.so
  .endfor
  
 -.include <bsd.port.post.mk>
 +.include <bsd.port.mk>
 
 Added: head/graphics/openshadinglanguage/files/patch-CMakeLists.txt
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/graphics/openshadinglanguage/files/patch-CMakeLists.txt	Thu Nov  7 14:00:44 2013	(r333100)
 @@ -0,0 +1,86 @@
 +--- CMakeLists.txt.orig	2013-07-12 01:01:18.000000000 +0200
 ++++ CMakeLists.txt	2013-11-05 21:12:26.000000000 +0100
 +@@ -9,10 +9,8 @@
 + set (OSO_FILE_VERSION_MAJOR 1)
 + set (OSO_FILE_VERSION_MINOR 0)
 + 
 +-cmake_minimum_required (VERSION 2.6)
 +-if (NOT CMAKE_VERSION VERSION_LESS 2.8.4)
 +-    cmake_policy (SET CMP0017 NEW)
 +-endif ()
 ++cmake_minimum_required (VERSION 2.8.7)
 ++cmake_policy (SET CMP0017 NEW)
 + set (CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
 + message (STATUS "Project source dir = ${PROJECT_SOURCE_DIR}")
 + message (STATUS "Project build dir = ${CMAKE_BINARY_DIR}")
 +@@ -21,6 +19,8 @@
 +     message (FATAL_ERROR "Not allowed to run in-source build!")
 + endif ()
 + 
 ++include (CheckCXXSymbolExists)
 ++
 + if (NOT CMAKE_BUILD_TYPE)
 +     set (CMAKE_BUILD_TYPE "Release")
 + endif ()
 +@@ -42,12 +42,11 @@
 +                      OUTPUT_STRIP_TRAILING_WHITESPACE)
 +     message (STATUS "Using gcc ${GCC_VERSION} as the compiler")
 + endif ()
 +-if (NOT CMAKE_COMPILER_IS_CLANG)
 +-    string (REGEX MATCH clang CMAKE_COMPILER_IS_CLANG ${CMAKE_CXX_COMPILER})
 +-    if (CMAKE_COMPILER_IS_CLANG)
 +-        set (CMAKE_COMPILER_IS_CLANG 1)
 +-        message (STATUS "Using clang as the compiler")
 +-    endif ()
 ++
 ++message (STATUS "CMAKE_CXX_COMPILER_ID is ${CMAKE_CXX_COMPILER_ID}")
 ++if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
 ++    set (CMAKE_COMPILER_IS_CLANG 1)
 ++    message (STATUS "Using clang as the compiler")
 + endif ()
 + 
 + ## turn on more detailed warnings and consider warnings as errors
 +@@ -121,6 +120,10 @@
 +     endif ()
 + endif ()
 + 
 ++# Try to detect libc++, in which case we should force use of Boost
 ++# Wave (because that avoids a nonstandard g++ extension in the other
 ++# code path).
 ++check_cxx_symbol_exists(_LIBCPP_VERSION string OSL_SYSTEM_HAS_LIBCPP)
 + 
 + set (VERBOSE OFF CACHE BOOL "Print lots of messages while compiling")
 + set (BUILDSTATIC OFF CACHE BOOL "Build static library instead of shared")
 +@@ -129,12 +132,16 @@
 +      "Use an externally built shared library version of the pugixml library")
 + set (PUGIXML_HOME "" CACHE STRING "Hint about where to find external PugiXML library")
 + if (WIN32)
 +-    set (USE_BOOST_WAVE ON CACHE BOOL "Use Boost Wave as preprocessor")
 +     set (USE_LLVM_BITCODE OFF CACHE BOOL "Generate embedded LLVM bitcode")
 + else ()
 +-    set (USE_BOOST_WAVE OFF CACHE BOOL "Use Boost Wave as preprocessor")
 +     set (USE_LLVM_BITCODE ON CACHE BOOL "Generated embedded LLVM bitcode")
 + endif ()
 ++if (WIN32 OR OSL_SYSTEM_HAS_LIBCPP)
 ++    set (USE_BOOST_WAVE ON CACHE BOOL "Use Boost Wave as preprocessor")
 ++else ()
 ++    set (USE_BOOST_WAVE OFF CACHE BOOL "Use Boost Wave as preprocessor")
 ++endif ()
 ++
 + set (USE_PARTIO ON CACHE BOOL "Use Partio if found")
 + 
 + if (LLVM_NAMESPACE)
 +@@ -149,6 +156,13 @@
 +     add_definitions ("${EXTRA_CPP_DEFINITIONS}")
 + endif()
 + 
 ++if (USE_BOOST_WAVE)
 ++    add_definitions ("-DUSE_BOOST_WAVE")
 ++endif ()
 ++
 ++if (CMAKE_COMPILER_IS_CLANG AND OSL_SYSTEM_HAS_LIBCPP)
 ++    message (STATUS "Using libc++")
 ++endif ()
 + 
 + set (CMAKE_MODULE_PATH
 +      "${PROJECT_SOURCE_DIR}/cmake/modules"
 
 Added: head/graphics/openshadinglanguage/files/patch-liboslcomp__CMakeLists.txt
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/graphics/openshadinglanguage/files/patch-liboslcomp__CMakeLists.txt	Thu Nov  7 14:00:44 2013	(r333100)
 @@ -0,0 +1,9 @@
 +--- ./liboslcomp/CMakeLists.txt.orig	2013-07-12 08:31:18.000000000 +0930
 ++++ ./liboslcomp/CMakeLists.txt	2013-11-03 18:07:25.644118883 +1030
 +@@ -29,6 +29,3 @@
 +     INSTALL ( TARGETS oslcomp LIBRARY DESTINATION lib )
 + endif ()
 + 
 +-IF ( USE_BOOST_WAVE )
 +-    ADD_DEFINITIONS ( -DUSE_BOOST_WAVE )
 +-ENDIF ()
 
 Added: head/graphics/openshadinglanguage/files/patch-liboslcomp__oslcomp.cpp
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/graphics/openshadinglanguage/files/patch-liboslcomp__oslcomp.cpp	Thu Nov  7 14:00:44 2013	(r333100)
 @@ -0,0 +1,20 @@
 +--- ./liboslcomp/oslcomp.cpp.orig	2013-07-12 08:31:18.000000000 +0930
 ++++ ./liboslcomp/oslcomp.cpp	2013-11-03 18:07:25.646119281 +1030
 +@@ -32,7 +32,7 @@
 + #include <fstream>
 + #include <cstdio>
 + #include <streambuf>
 +-#ifdef __GNUC__
 ++#if defined(__GNUC__) && !defined(_LIBCPP_VERSION) && !defined(USE_BOOST_WAVE)
 + # include <ext/stdio_filebuf.h>
 + #endif
 + #include <cstdio>
 +@@ -268,7 +268,7 @@
 +     // std::cout << "cpp command:\n>" << cppcommand << "<\n";
 +     FILE *cpppipe = popen (cppcommand.c_str(), "r");
 + 
 +-#ifdef __GNUC__
 ++#if defined(__GNUC__) && !defined(_LIBCPP_VERSION)
 +     __gnu_cxx::stdio_filebuf<char> fb (cpppipe, std::ios::in);
 + #else
 +     std::filebuf fb (cpppipe);
 
 Added: head/graphics/openshadinglanguage/files/patch-liboslexec__constfold.cpp
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/graphics/openshadinglanguage/files/patch-liboslexec__constfold.cpp	Thu Nov  7 14:00:44 2013	(r333100)
 @@ -0,0 +1,42 @@
 +--- ./liboslexec/constfold.cpp.orig	2013-07-12 08:31:18.000000000 +0930
 ++++ ./liboslexec/constfold.cpp	2013-11-03 18:07:25.648118961 +1030
 +@@ -882,19 +882,22 @@
 + {
 +     Opcode &op (rop.inst()->ops()[opnum]);
 +     // Symbol &R (*rop.inst()->argsymbol(op.firstarg()+0));
 +-    Symbol &Str (*rop.inst()->argsymbol(op.firstarg()+1));
 +-    Symbol &Results (*rop.inst()->argsymbol(op.firstarg()+2));
 +-    Symbol &Sep (*rop.inst()->argsymbol(op.firstarg()+3));
 +-    Symbol &Maxsplit (*rop.inst()->argsymbol(op.firstarg()+4));
 +-    if (Str.is_constant() && Sep.is_constant() && Maxsplit.is_constant()) {
 ++    Symbol &Str (*rop.opargsym (op, 1));
 ++    Symbol &Results (*rop.opargsym (op, 2));
 ++    Symbol *Sep (rop.opargsym (op, 3));
 ++    Symbol *Maxsplit (rop.opargsym (op, 4));
 ++    if (Str.is_constant() && (!Sep || Sep->is_constant()) &&
 ++                             (!Maxsplit || Maxsplit->is_constant())) {
 +         // The split string, separator string, and maxsplit are all constants.
 +         // Compute the results with Strutil::split.
 +         int resultslen = Results.typespec().arraylength();
 +-        int maxsplit = Imath::clamp (*(int *)Maxsplit.data(), 0, resultslen);
 ++        int maxsplit = Maxsplit ? *(int *)Maxsplit->data() : resultslen;
 ++        maxsplit = std::min (maxsplit, resultslen);
 +         std::vector<std::string> splits;
 ++        ustring sep = Sep ? (*(ustring *)Sep->data()) : ustring("");
 +         Strutil::split ((*(ustring *)Str.data()).string(), splits,
 +-                        (*(ustring *)Sep.data()).string(), maxsplit);
 +-        int n = std::min (maxsplit, (int)splits.size());
 ++                        sep.string(), maxsplit);
 ++        int n = std::min (std::max(0,maxsplit), (int)splits.size());
 +         // Temporarily stash the index of the symbol holding results
 +         int resultsarg = rop.inst()->args()[op.firstarg()+2];
 +         // Turn the 'split' into a straight assignment of the return value...
 +@@ -1337,7 +1340,7 @@
 +             *(const float *)Y.data() == 2.0f) {
 +         // Turn x^2 into x*x, even if x is not constant
 +         static ustring kmul("mul");
 +-        op.reset (kmul, 2);
 ++        op.reset (kmul, 3);
 +         rop.inst()->args()[op.firstarg()+2] = rop.inst()->args()[op.firstarg()+1];
 +         return 1;
 +     }
 
 Added: head/graphics/openshadinglanguage/files/patch-liboslexec__dictionary.cpp
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/graphics/openshadinglanguage/files/patch-liboslexec__dictionary.cpp	Thu Nov  7 14:00:44 2013	(r333100)
 @@ -0,0 +1,11 @@
 +--- ./liboslexec/dictionary.cpp.orig	2013-07-12 08:31:18.000000000 +0930
 ++++ ./liboslexec/dictionary.cpp	2013-11-03 18:07:25.650119434 +1030
 +@@ -50,7 +50,7 @@
 + namespace pvt {   // OSL::pvt
 + 
 + 
 +-#ifndef USE_EXTERNAL_PUGIXML
 ++#ifdef USING_OIIO_PUGI
 + namespace pugi = OIIO::pugi;
 + #endif
 + 
 
 Added: head/graphics/openshadinglanguage/files/patch-liboslexec__llvm_gen.cpp
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/graphics/openshadinglanguage/files/patch-liboslexec__llvm_gen.cpp	Thu Nov  7 14:00:44 2013	(r333100)
 @@ -0,0 +1,11 @@
 +--- ./liboslexec/llvm_gen.cpp.orig	2013-07-12 08:31:18.000000000 +0930
 ++++ ./liboslexec/llvm_gen.cpp	2013-11-03 18:07:25.652119256 +1030
 +@@ -3310,7 +3310,7 @@
 +     Symbol& Results = *rop.opargsym (op, 2);
 +     DASSERT (R.typespec().is_int() && Str.typespec().is_string() &&
 +              Results.typespec().is_array() &&
 +-             Results.typespec().simpletype() == TypeDesc::TypeString);
 ++             Results.typespec().is_string_based());
 + 
 +     llvm::Value *args[5];
 +     args[0] = rop.llvm_load_value (Str);
 
 Added: head/graphics/openshadinglanguage/files/patch-liboslexec__llvm_instance.cpp
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/graphics/openshadinglanguage/files/patch-liboslexec__llvm_instance.cpp	Thu Nov  7 14:00:44 2013	(r333100)
 @@ -0,0 +1,11 @@
 +--- ./liboslexec/llvm_instance.cpp.orig	2013-07-12 08:31:18.000000000 +0930
 ++++ ./liboslexec/llvm_instance.cpp	2013-11-03 18:07:25.654119237 +1030
 +@@ -809,7 +809,7 @@
 + {
 +     // Make a layer function: void layer_func(ShaderGlobals*, GroupData*)
 +     // Note that the GroupData* is passed as a void*.
 +-    std::string unique_layer_name = Strutil::format ("%s_%d", inst()->layername().c_str(), inst()->id());
 ++    std::string unique_layer_name = Strutil::format ("%s_%d", inst()->layername(), inst()->id());
 + 
 +     m_layer_func = llvm::cast<llvm::Function>(m_llvm_module->getOrInsertFunction(unique_layer_name,
 +                     llvm_type_void(), llvm_type_sg_ptr(),
 
 Added: head/graphics/openshadinglanguage/files/patch-liboslexec__runtimeoptimize.h
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/graphics/openshadinglanguage/files/patch-liboslexec__runtimeoptimize.h	Thu Nov  7 14:00:44 2013	(r333100)
 @@ -0,0 +1,32 @@
 +--- ./liboslexec/runtimeoptimize.h.orig	2013-07-12 08:31:18.000000000 +0930
 ++++ ./liboslexec/runtimeoptimize.h	2013-11-03 18:07:25.656119123 +1030
 +@@ -345,7 +345,8 @@
 +     /// Helper: return the ptr to the symbol that is the argnum-th
 +     /// argument to the given op.
 +     Symbol *opargsym (const Opcode &op, int argnum) {
 +-        return inst()->argsymbol (op.firstarg()+argnum);
 ++        return (argnum < op.nargs()) ?
 ++                    inst()->argsymbol (op.firstarg()+argnum) : NULL;
 +     }
 + 
 +     /// Create an llvm function for the whole shader group, JIT it,
 +@@ -826,7 +827,7 @@
 +     ///
 +     llvm::BasicBlock *llvm_exit_instance_block () {
 +         if (! m_exit_instance_block) {
 +-            std::string name = Strutil::format ("%s_%d_exit_", inst()->layername().c_str(), inst()->id());
 ++            std::string name = Strutil::format ("%s_%d_exit_", inst()->layername(), inst()->id());
 +             m_exit_instance_block = llvm_new_basic_block (name);
 +         }
 +         return m_exit_instance_block;
 +@@ -887,8 +888,8 @@
 +     int m_local_unknown_message_sent;   ///< Non-const setmessage in this inst
 +     std::vector<ustring> m_local_messages_sent; ///< Messages set in this inst
 +     std::vector<int> m_bblockids;       ///< Basic block IDs for each op
 +-    std::vector<bool> m_in_conditional; ///< Whether each op is in a cond
 +-    std::vector<bool> m_in_loop;        ///< Whether each op is in a loop
 ++    std::vector<char> m_in_conditional; ///< Whether each op is in a cond
 ++    std::vector<char> m_in_loop;        ///< Whether each op is in a loop
 +     std::vector<int> m_layer_remap;     ///< Remapping of layer ordering
 +     std::set<int> m_layers_already_run; ///< List of layers run
 +     int m_num_used_layers;              ///< Number of layers actually used
 _______________________________________________
 svn-ports-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: feedback->closed 
State-Changed-By: tijl 
State-Changed-When: Thu Nov 7 15:32:57 CET 2013 
State-Changed-Why:  
Fixed in r333100. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=180190 
>Unformatted:
