From owner-svn-src-vendor@freebsd.org Mon Jan 11 22:10:41 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 56D7CA6CB80; Mon, 11 Jan 2016 22:10:41 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ED63A18EC; Mon, 11 Jan 2016 22:10:40 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0BMAeiQ016001; Mon, 11 Jan 2016 22:10:40 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0BMAWc1015923; Mon, 11 Jan 2016 22:10:32 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201601112210.u0BMAWc1015923@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Mon, 11 Jan 2016 22:10:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293706 - in vendor-sys/acpica/dist: . source/common source/compiler source/components/debugger source/components/disassembler source/components/dispatcher source/components/events sour... X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2016 22:10:41 -0000 Author: jkim Date: Mon Jan 11 22:10:31 2016 New Revision: 293706 URL: https://svnweb.freebsd.org/changeset/base/293706 Log: Import ACPICA 20160108. Modified: vendor-sys/acpica/dist/changes.txt vendor-sys/acpica/dist/source/common/acfileio.c vendor-sys/acpica/dist/source/common/acgetline.c vendor-sys/acpica/dist/source/common/adfile.c vendor-sys/acpica/dist/source/common/adisasm.c vendor-sys/acpica/dist/source/common/adwalk.c vendor-sys/acpica/dist/source/common/ahids.c vendor-sys/acpica/dist/source/common/ahpredef.c vendor-sys/acpica/dist/source/common/ahtable.c vendor-sys/acpica/dist/source/common/ahuuids.c vendor-sys/acpica/dist/source/common/cmfsize.c vendor-sys/acpica/dist/source/common/dmextern.c vendor-sys/acpica/dist/source/common/dmrestag.c vendor-sys/acpica/dist/source/common/dmtable.c vendor-sys/acpica/dist/source/common/dmtables.c vendor-sys/acpica/dist/source/common/dmtbdump.c vendor-sys/acpica/dist/source/common/dmtbinfo.c vendor-sys/acpica/dist/source/common/getopt.c vendor-sys/acpica/dist/source/compiler/aslanalyze.c vendor-sys/acpica/dist/source/compiler/aslascii.c vendor-sys/acpica/dist/source/compiler/aslbtypes.c vendor-sys/acpica/dist/source/compiler/aslcodegen.c vendor-sys/acpica/dist/source/compiler/aslcompile.c vendor-sys/acpica/dist/source/compiler/aslcompiler.h vendor-sys/acpica/dist/source/compiler/aslcompiler.l vendor-sys/acpica/dist/source/compiler/aslcstyle.y vendor-sys/acpica/dist/source/compiler/asldefine.h vendor-sys/acpica/dist/source/compiler/aslerror.c vendor-sys/acpica/dist/source/compiler/aslfileio.c vendor-sys/acpica/dist/source/compiler/aslfiles.c vendor-sys/acpica/dist/source/compiler/aslfold.c vendor-sys/acpica/dist/source/compiler/aslglobal.h vendor-sys/acpica/dist/source/compiler/aslhex.c vendor-sys/acpica/dist/source/compiler/asllength.c vendor-sys/acpica/dist/source/compiler/asllisting.c vendor-sys/acpica/dist/source/compiler/asllistsup.c vendor-sys/acpica/dist/source/compiler/aslload.c vendor-sys/acpica/dist/source/compiler/asllookup.c vendor-sys/acpica/dist/source/compiler/aslmain.c vendor-sys/acpica/dist/source/compiler/aslmap.c vendor-sys/acpica/dist/source/compiler/aslmapenter.c vendor-sys/acpica/dist/source/compiler/aslmapoutput.c vendor-sys/acpica/dist/source/compiler/aslmaputils.c vendor-sys/acpica/dist/source/compiler/aslmessages.c vendor-sys/acpica/dist/source/compiler/aslmessages.h vendor-sys/acpica/dist/source/compiler/aslmethod.c vendor-sys/acpica/dist/source/compiler/aslnamesp.c vendor-sys/acpica/dist/source/compiler/asloffset.c vendor-sys/acpica/dist/source/compiler/aslopcodes.c vendor-sys/acpica/dist/source/compiler/asloperands.c vendor-sys/acpica/dist/source/compiler/aslopt.c vendor-sys/acpica/dist/source/compiler/asloptions.c vendor-sys/acpica/dist/source/compiler/aslparser.y vendor-sys/acpica/dist/source/compiler/aslpredef.c vendor-sys/acpica/dist/source/compiler/aslprepkg.c vendor-sys/acpica/dist/source/compiler/aslprintf.c vendor-sys/acpica/dist/source/compiler/aslprune.c vendor-sys/acpica/dist/source/compiler/aslresource.c vendor-sys/acpica/dist/source/compiler/aslresources.y vendor-sys/acpica/dist/source/compiler/aslrestype1.c vendor-sys/acpica/dist/source/compiler/aslrestype1i.c vendor-sys/acpica/dist/source/compiler/aslrestype2.c vendor-sys/acpica/dist/source/compiler/aslrestype2d.c vendor-sys/acpica/dist/source/compiler/aslrestype2e.c vendor-sys/acpica/dist/source/compiler/aslrestype2q.c vendor-sys/acpica/dist/source/compiler/aslrestype2s.c vendor-sys/acpica/dist/source/compiler/aslrestype2w.c vendor-sys/acpica/dist/source/compiler/aslrules.y vendor-sys/acpica/dist/source/compiler/aslstartup.c vendor-sys/acpica/dist/source/compiler/aslstubs.c vendor-sys/acpica/dist/source/compiler/aslsupport.l vendor-sys/acpica/dist/source/compiler/aslsupport.y vendor-sys/acpica/dist/source/compiler/asltokens.y vendor-sys/acpica/dist/source/compiler/asltransform.c vendor-sys/acpica/dist/source/compiler/asltree.c vendor-sys/acpica/dist/source/compiler/asltypes.h vendor-sys/acpica/dist/source/compiler/asltypes.y vendor-sys/acpica/dist/source/compiler/aslutils.c vendor-sys/acpica/dist/source/compiler/asluuid.c vendor-sys/acpica/dist/source/compiler/aslwalks.c vendor-sys/acpica/dist/source/compiler/aslxref.c vendor-sys/acpica/dist/source/compiler/dtcompile.c vendor-sys/acpica/dist/source/compiler/dtcompiler.h vendor-sys/acpica/dist/source/compiler/dtexpress.c vendor-sys/acpica/dist/source/compiler/dtfield.c vendor-sys/acpica/dist/source/compiler/dtio.c vendor-sys/acpica/dist/source/compiler/dtparser.l vendor-sys/acpica/dist/source/compiler/dtparser.y vendor-sys/acpica/dist/source/compiler/dtsubtable.c vendor-sys/acpica/dist/source/compiler/dttable.c vendor-sys/acpica/dist/source/compiler/dttable1.c vendor-sys/acpica/dist/source/compiler/dttable2.c vendor-sys/acpica/dist/source/compiler/dttemplate.c vendor-sys/acpica/dist/source/compiler/dttemplate.h vendor-sys/acpica/dist/source/compiler/dtutils.c vendor-sys/acpica/dist/source/compiler/preprocess.h vendor-sys/acpica/dist/source/compiler/prexpress.c vendor-sys/acpica/dist/source/compiler/prmacros.c vendor-sys/acpica/dist/source/compiler/prparser.l vendor-sys/acpica/dist/source/compiler/prparser.y vendor-sys/acpica/dist/source/compiler/prscan.c vendor-sys/acpica/dist/source/compiler/prutils.c vendor-sys/acpica/dist/source/components/debugger/dbcmds.c vendor-sys/acpica/dist/source/components/debugger/dbconvert.c vendor-sys/acpica/dist/source/components/debugger/dbdisply.c vendor-sys/acpica/dist/source/components/debugger/dbexec.c vendor-sys/acpica/dist/source/components/debugger/dbfileio.c vendor-sys/acpica/dist/source/components/debugger/dbhistry.c vendor-sys/acpica/dist/source/components/debugger/dbinput.c vendor-sys/acpica/dist/source/components/debugger/dbmethod.c vendor-sys/acpica/dist/source/components/debugger/dbnames.c vendor-sys/acpica/dist/source/components/debugger/dbobject.c vendor-sys/acpica/dist/source/components/debugger/dbstats.c vendor-sys/acpica/dist/source/components/debugger/dbtest.c vendor-sys/acpica/dist/source/components/debugger/dbutils.c vendor-sys/acpica/dist/source/components/debugger/dbxface.c vendor-sys/acpica/dist/source/components/disassembler/dmbuffer.c vendor-sys/acpica/dist/source/components/disassembler/dmcstyle.c vendor-sys/acpica/dist/source/components/disassembler/dmdeferred.c vendor-sys/acpica/dist/source/components/disassembler/dmnames.c vendor-sys/acpica/dist/source/components/disassembler/dmopcode.c vendor-sys/acpica/dist/source/components/disassembler/dmresrc.c vendor-sys/acpica/dist/source/components/disassembler/dmresrcl.c vendor-sys/acpica/dist/source/components/disassembler/dmresrcl2.c vendor-sys/acpica/dist/source/components/disassembler/dmresrcs.c vendor-sys/acpica/dist/source/components/disassembler/dmutils.c vendor-sys/acpica/dist/source/components/disassembler/dmwalk.c vendor-sys/acpica/dist/source/components/dispatcher/dsargs.c vendor-sys/acpica/dist/source/components/dispatcher/dscontrol.c vendor-sys/acpica/dist/source/components/dispatcher/dsdebug.c vendor-sys/acpica/dist/source/components/dispatcher/dsfield.c vendor-sys/acpica/dist/source/components/dispatcher/dsinit.c vendor-sys/acpica/dist/source/components/dispatcher/dsmethod.c vendor-sys/acpica/dist/source/components/dispatcher/dsmthdat.c vendor-sys/acpica/dist/source/components/dispatcher/dsobject.c vendor-sys/acpica/dist/source/components/dispatcher/dsopcode.c vendor-sys/acpica/dist/source/components/dispatcher/dsutils.c vendor-sys/acpica/dist/source/components/dispatcher/dswexec.c vendor-sys/acpica/dist/source/components/dispatcher/dswload.c vendor-sys/acpica/dist/source/components/dispatcher/dswload2.c vendor-sys/acpica/dist/source/components/dispatcher/dswscope.c vendor-sys/acpica/dist/source/components/dispatcher/dswstate.c vendor-sys/acpica/dist/source/components/events/evevent.c vendor-sys/acpica/dist/source/components/events/evglock.c vendor-sys/acpica/dist/source/components/events/evgpe.c vendor-sys/acpica/dist/source/components/events/evgpeblk.c vendor-sys/acpica/dist/source/components/events/evgpeinit.c vendor-sys/acpica/dist/source/components/events/evgpeutil.c vendor-sys/acpica/dist/source/components/events/evhandler.c vendor-sys/acpica/dist/source/components/events/evmisc.c vendor-sys/acpica/dist/source/components/events/evregion.c vendor-sys/acpica/dist/source/components/events/evrgnini.c vendor-sys/acpica/dist/source/components/events/evsci.c vendor-sys/acpica/dist/source/components/events/evxface.c vendor-sys/acpica/dist/source/components/events/evxfevnt.c vendor-sys/acpica/dist/source/components/events/evxfgpe.c vendor-sys/acpica/dist/source/components/events/evxfregn.c vendor-sys/acpica/dist/source/components/executer/exconfig.c vendor-sys/acpica/dist/source/components/executer/exconvrt.c vendor-sys/acpica/dist/source/components/executer/excreate.c vendor-sys/acpica/dist/source/components/executer/exdebug.c vendor-sys/acpica/dist/source/components/executer/exdump.c vendor-sys/acpica/dist/source/components/executer/exfield.c vendor-sys/acpica/dist/source/components/executer/exfldio.c vendor-sys/acpica/dist/source/components/executer/exmisc.c vendor-sys/acpica/dist/source/components/executer/exmutex.c vendor-sys/acpica/dist/source/components/executer/exnames.c vendor-sys/acpica/dist/source/components/executer/exoparg1.c vendor-sys/acpica/dist/source/components/executer/exoparg2.c vendor-sys/acpica/dist/source/components/executer/exoparg3.c vendor-sys/acpica/dist/source/components/executer/exoparg6.c vendor-sys/acpica/dist/source/components/executer/exprep.c vendor-sys/acpica/dist/source/components/executer/exregion.c vendor-sys/acpica/dist/source/components/executer/exresnte.c vendor-sys/acpica/dist/source/components/executer/exresolv.c vendor-sys/acpica/dist/source/components/executer/exresop.c vendor-sys/acpica/dist/source/components/executer/exstore.c vendor-sys/acpica/dist/source/components/executer/exstoren.c vendor-sys/acpica/dist/source/components/executer/exstorob.c vendor-sys/acpica/dist/source/components/executer/exsystem.c vendor-sys/acpica/dist/source/components/executer/extrace.c vendor-sys/acpica/dist/source/components/executer/exutils.c vendor-sys/acpica/dist/source/components/hardware/hwacpi.c vendor-sys/acpica/dist/source/components/hardware/hwesleep.c vendor-sys/acpica/dist/source/components/hardware/hwgpe.c vendor-sys/acpica/dist/source/components/hardware/hwpci.c vendor-sys/acpica/dist/source/components/hardware/hwregs.c vendor-sys/acpica/dist/source/components/hardware/hwsleep.c vendor-sys/acpica/dist/source/components/hardware/hwtimer.c vendor-sys/acpica/dist/source/components/hardware/hwvalid.c vendor-sys/acpica/dist/source/components/hardware/hwxface.c vendor-sys/acpica/dist/source/components/hardware/hwxfsleep.c vendor-sys/acpica/dist/source/components/namespace/nsaccess.c vendor-sys/acpica/dist/source/components/namespace/nsalloc.c vendor-sys/acpica/dist/source/components/namespace/nsarguments.c vendor-sys/acpica/dist/source/components/namespace/nsconvert.c vendor-sys/acpica/dist/source/components/namespace/nsdump.c vendor-sys/acpica/dist/source/components/namespace/nsdumpdv.c vendor-sys/acpica/dist/source/components/namespace/nseval.c vendor-sys/acpica/dist/source/components/namespace/nsinit.c vendor-sys/acpica/dist/source/components/namespace/nsload.c vendor-sys/acpica/dist/source/components/namespace/nsnames.c vendor-sys/acpica/dist/source/components/namespace/nsobject.c vendor-sys/acpica/dist/source/components/namespace/nsparse.c vendor-sys/acpica/dist/source/components/namespace/nspredef.c vendor-sys/acpica/dist/source/components/namespace/nsprepkg.c vendor-sys/acpica/dist/source/components/namespace/nsrepair.c vendor-sys/acpica/dist/source/components/namespace/nsrepair2.c vendor-sys/acpica/dist/source/components/namespace/nssearch.c vendor-sys/acpica/dist/source/components/namespace/nsutils.c vendor-sys/acpica/dist/source/components/namespace/nswalk.c vendor-sys/acpica/dist/source/components/namespace/nsxfeval.c vendor-sys/acpica/dist/source/components/namespace/nsxfname.c vendor-sys/acpica/dist/source/components/namespace/nsxfobj.c vendor-sys/acpica/dist/source/components/parser/psargs.c vendor-sys/acpica/dist/source/components/parser/psloop.c vendor-sys/acpica/dist/source/components/parser/psobject.c vendor-sys/acpica/dist/source/components/parser/psopcode.c vendor-sys/acpica/dist/source/components/parser/psopinfo.c vendor-sys/acpica/dist/source/components/parser/psparse.c vendor-sys/acpica/dist/source/components/parser/psscope.c vendor-sys/acpica/dist/source/components/parser/pstree.c vendor-sys/acpica/dist/source/components/parser/psutils.c vendor-sys/acpica/dist/source/components/parser/pswalk.c vendor-sys/acpica/dist/source/components/parser/psxface.c vendor-sys/acpica/dist/source/components/resources/rsaddr.c vendor-sys/acpica/dist/source/components/resources/rscalc.c vendor-sys/acpica/dist/source/components/resources/rscreate.c vendor-sys/acpica/dist/source/components/resources/rsdump.c vendor-sys/acpica/dist/source/components/resources/rsdumpinfo.c vendor-sys/acpica/dist/source/components/resources/rsinfo.c vendor-sys/acpica/dist/source/components/resources/rsio.c vendor-sys/acpica/dist/source/components/resources/rsirq.c vendor-sys/acpica/dist/source/components/resources/rslist.c vendor-sys/acpica/dist/source/components/resources/rsmemory.c vendor-sys/acpica/dist/source/components/resources/rsmisc.c vendor-sys/acpica/dist/source/components/resources/rsserial.c vendor-sys/acpica/dist/source/components/resources/rsutils.c vendor-sys/acpica/dist/source/components/resources/rsxface.c vendor-sys/acpica/dist/source/components/tables/tbdata.c vendor-sys/acpica/dist/source/components/tables/tbfadt.c vendor-sys/acpica/dist/source/components/tables/tbfind.c vendor-sys/acpica/dist/source/components/tables/tbinstal.c vendor-sys/acpica/dist/source/components/tables/tbprint.c vendor-sys/acpica/dist/source/components/tables/tbutils.c vendor-sys/acpica/dist/source/components/tables/tbxface.c vendor-sys/acpica/dist/source/components/tables/tbxfload.c vendor-sys/acpica/dist/source/components/tables/tbxfroot.c vendor-sys/acpica/dist/source/components/utilities/utaddress.c vendor-sys/acpica/dist/source/components/utilities/utalloc.c vendor-sys/acpica/dist/source/components/utilities/utbuffer.c vendor-sys/acpica/dist/source/components/utilities/utcache.c vendor-sys/acpica/dist/source/components/utilities/utclib.c vendor-sys/acpica/dist/source/components/utilities/utcopy.c vendor-sys/acpica/dist/source/components/utilities/utdebug.c vendor-sys/acpica/dist/source/components/utilities/utdecode.c vendor-sys/acpica/dist/source/components/utilities/utdelete.c vendor-sys/acpica/dist/source/components/utilities/uterror.c vendor-sys/acpica/dist/source/components/utilities/uteval.c vendor-sys/acpica/dist/source/components/utilities/utexcep.c vendor-sys/acpica/dist/source/components/utilities/utglobal.c vendor-sys/acpica/dist/source/components/utilities/uthex.c vendor-sys/acpica/dist/source/components/utilities/utids.c vendor-sys/acpica/dist/source/components/utilities/utinit.c vendor-sys/acpica/dist/source/components/utilities/utlock.c vendor-sys/acpica/dist/source/components/utilities/utmath.c vendor-sys/acpica/dist/source/components/utilities/utmisc.c vendor-sys/acpica/dist/source/components/utilities/utmutex.c vendor-sys/acpica/dist/source/components/utilities/utnonansi.c vendor-sys/acpica/dist/source/components/utilities/utobject.c vendor-sys/acpica/dist/source/components/utilities/utosi.c vendor-sys/acpica/dist/source/components/utilities/utownerid.c vendor-sys/acpica/dist/source/components/utilities/utpredef.c vendor-sys/acpica/dist/source/components/utilities/utprint.c vendor-sys/acpica/dist/source/components/utilities/utresrc.c vendor-sys/acpica/dist/source/components/utilities/utstate.c vendor-sys/acpica/dist/source/components/utilities/utstring.c vendor-sys/acpica/dist/source/components/utilities/uttrack.c vendor-sys/acpica/dist/source/components/utilities/utuuid.c vendor-sys/acpica/dist/source/components/utilities/utxface.c vendor-sys/acpica/dist/source/components/utilities/utxferror.c vendor-sys/acpica/dist/source/components/utilities/utxfinit.c vendor-sys/acpica/dist/source/components/utilities/utxfmutex.c vendor-sys/acpica/dist/source/include/acapps.h vendor-sys/acpica/dist/source/include/acbuffer.h vendor-sys/acpica/dist/source/include/acclib.h vendor-sys/acpica/dist/source/include/accommon.h vendor-sys/acpica/dist/source/include/acconfig.h vendor-sys/acpica/dist/source/include/acdebug.h vendor-sys/acpica/dist/source/include/acdisasm.h vendor-sys/acpica/dist/source/include/acdispat.h vendor-sys/acpica/dist/source/include/acevents.h vendor-sys/acpica/dist/source/include/acexcep.h vendor-sys/acpica/dist/source/include/acglobal.h vendor-sys/acpica/dist/source/include/achware.h vendor-sys/acpica/dist/source/include/acinterp.h vendor-sys/acpica/dist/source/include/aclocal.h vendor-sys/acpica/dist/source/include/acmacros.h vendor-sys/acpica/dist/source/include/acnames.h vendor-sys/acpica/dist/source/include/acnamesp.h vendor-sys/acpica/dist/source/include/acobject.h vendor-sys/acpica/dist/source/include/acopcode.h vendor-sys/acpica/dist/source/include/acoutput.h vendor-sys/acpica/dist/source/include/acparser.h vendor-sys/acpica/dist/source/include/acpi.h vendor-sys/acpica/dist/source/include/acpiosxf.h vendor-sys/acpica/dist/source/include/acpixf.h vendor-sys/acpica/dist/source/include/acpredef.h vendor-sys/acpica/dist/source/include/acresrc.h vendor-sys/acpica/dist/source/include/acrestyp.h vendor-sys/acpica/dist/source/include/acstruct.h vendor-sys/acpica/dist/source/include/actables.h vendor-sys/acpica/dist/source/include/actbl.h vendor-sys/acpica/dist/source/include/actbl1.h vendor-sys/acpica/dist/source/include/actbl2.h vendor-sys/acpica/dist/source/include/actbl3.h vendor-sys/acpica/dist/source/include/actypes.h vendor-sys/acpica/dist/source/include/acutils.h vendor-sys/acpica/dist/source/include/acuuid.h vendor-sys/acpica/dist/source/include/amlcode.h vendor-sys/acpica/dist/source/include/amlresrc.h vendor-sys/acpica/dist/source/include/platform/accygwin.h vendor-sys/acpica/dist/source/include/platform/acdragonfly.h vendor-sys/acpica/dist/source/include/platform/acdragonflyex.h vendor-sys/acpica/dist/source/include/platform/acefi.h vendor-sys/acpica/dist/source/include/platform/acefiex.h vendor-sys/acpica/dist/source/include/platform/acenv.h vendor-sys/acpica/dist/source/include/platform/acenvex.h vendor-sys/acpica/dist/source/include/platform/acfreebsd.h vendor-sys/acpica/dist/source/include/platform/acgcc.h vendor-sys/acpica/dist/source/include/platform/achaiku.h vendor-sys/acpica/dist/source/include/platform/acintel.h vendor-sys/acpica/dist/source/include/platform/aclinux.h vendor-sys/acpica/dist/source/include/platform/aclinuxex.h vendor-sys/acpica/dist/source/include/platform/acmacosx.h vendor-sys/acpica/dist/source/include/platform/acmsvc.h vendor-sys/acpica/dist/source/include/platform/acmsvcex.h vendor-sys/acpica/dist/source/include/platform/acnetbsd.h vendor-sys/acpica/dist/source/include/platform/acos2.h vendor-sys/acpica/dist/source/include/platform/acwin.h vendor-sys/acpica/dist/source/include/platform/acwin64.h vendor-sys/acpica/dist/source/include/platform/acwinex.h vendor-sys/acpica/dist/source/os_specific/service_layers/osbsdtbl.c vendor-sys/acpica/dist/source/os_specific/service_layers/osefitbl.c vendor-sys/acpica/dist/source/os_specific/service_layers/osefixf.c vendor-sys/acpica/dist/source/os_specific/service_layers/oslibcfs.c vendor-sys/acpica/dist/source/os_specific/service_layers/oslinuxtbl.c vendor-sys/acpica/dist/source/os_specific/service_layers/osunixdir.c vendor-sys/acpica/dist/source/os_specific/service_layers/osunixmap.c vendor-sys/acpica/dist/source/os_specific/service_layers/osunixxf.c vendor-sys/acpica/dist/source/os_specific/service_layers/oswindir.c vendor-sys/acpica/dist/source/os_specific/service_layers/oswintbl.c vendor-sys/acpica/dist/source/os_specific/service_layers/oswinxf.c vendor-sys/acpica/dist/source/tools/acpibin/abcompare.c vendor-sys/acpica/dist/source/tools/acpibin/abmain.c vendor-sys/acpica/dist/source/tools/acpibin/acpibin.h vendor-sys/acpica/dist/source/tools/acpidump/acpidump.h vendor-sys/acpica/dist/source/tools/acpidump/apdump.c vendor-sys/acpica/dist/source/tools/acpidump/apfiles.c vendor-sys/acpica/dist/source/tools/acpidump/apmain.c vendor-sys/acpica/dist/source/tools/acpiexec/aecommon.h vendor-sys/acpica/dist/source/tools/acpiexec/aeexec.c vendor-sys/acpica/dist/source/tools/acpiexec/aehandlers.c vendor-sys/acpica/dist/source/tools/acpiexec/aeinitfile.c vendor-sys/acpica/dist/source/tools/acpiexec/aemain.c vendor-sys/acpica/dist/source/tools/acpiexec/aeregion.c vendor-sys/acpica/dist/source/tools/acpiexec/aetables.c vendor-sys/acpica/dist/source/tools/acpiexec/aetables.h vendor-sys/acpica/dist/source/tools/acpihelp/acpihelp.h vendor-sys/acpica/dist/source/tools/acpihelp/ahamlops.c vendor-sys/acpica/dist/source/tools/acpihelp/ahaslkey.c vendor-sys/acpica/dist/source/tools/acpihelp/ahaslops.c vendor-sys/acpica/dist/source/tools/acpihelp/ahdecode.c vendor-sys/acpica/dist/source/tools/acpihelp/ahmain.c vendor-sys/acpica/dist/source/tools/acpinames/acpinames.h vendor-sys/acpica/dist/source/tools/acpinames/anmain.c vendor-sys/acpica/dist/source/tools/acpinames/anstubs.c vendor-sys/acpica/dist/source/tools/acpinames/antables.c vendor-sys/acpica/dist/source/tools/acpisrc/acpisrc.h vendor-sys/acpica/dist/source/tools/acpisrc/ascase.c vendor-sys/acpica/dist/source/tools/acpisrc/asconvrt.c vendor-sys/acpica/dist/source/tools/acpisrc/asfile.c vendor-sys/acpica/dist/source/tools/acpisrc/asmain.c vendor-sys/acpica/dist/source/tools/acpisrc/asremove.c vendor-sys/acpica/dist/source/tools/acpisrc/astable.c vendor-sys/acpica/dist/source/tools/acpisrc/asutils.c vendor-sys/acpica/dist/source/tools/acpixtract/acpixtract.c vendor-sys/acpica/dist/source/tools/acpixtract/acpixtract.h vendor-sys/acpica/dist/source/tools/acpixtract/axmain.c vendor-sys/acpica/dist/source/tools/acpixtract/axutils.c vendor-sys/acpica/dist/source/tools/examples/examples.c vendor-sys/acpica/dist/source/tools/examples/examples.h vendor-sys/acpica/dist/source/tools/examples/exstubs.c vendor-sys/acpica/dist/source/tools/examples/extables.c vendor-sys/acpica/dist/tests/misc/grammar.asl Modified: vendor-sys/acpica/dist/changes.txt ============================================================================== --- vendor-sys/acpica/dist/changes.txt Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/changes.txt Mon Jan 11 22:10:31 2016 (r293706) @@ -1,8 +1,44 @@ ---------------------------------------- -18 December 2015. Summary of changes for version 20151218: +8 January 2016. Summary of changes for version 20160108: -This release is available at https://acpica.org/downloads +1) ACPICA kernel-resident subsystem: + +Updated all ACPICA copyrights and signons to 2016: Added the 2016 +copyright to all source code module headers and utility/tool signons. +This includes the standard Linux dual-license header. This affects +virtually every file in the ACPICA core subsystem, iASL compiler, all +ACPICA utilities, and the ACPICA test suite. + +Fixed a regression introduced in version 20151218 concerning the +execution of so-called module-level ASL/AML code. Namespace objects +created under a module-level If() construct were not properly/fully +entered into the namespace and could cause an interpreter fault when +accessed. + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The +debug version of the code includes the debug output trace mechanism and +has a much larger code and data size. +Current Release: + Non-Debug Version: 102.7K Code, 28.4K Data, 131.1K Total + Debug Version: 200.4K Code, 81.9K Data, 282.4K Total + Previous Release: + Non-Debug Version: 102.6K Code, 28.4K Data, 131.0K Total + Debug Version: 200.3K Code, 81.9K Data, 282.3K Total + + +2) iASL Compiler/Disassembler and Tools: + +Fixed a problem with the compilation of the GpioIo and GpioInt resource +descriptors. The _PIN field name was incorrectly defined to be an array +of 32-bit values, but the _PIN values are in fact 16 bits each. This +would cause incorrect bit width warnings when using Word (16-bit) fields +to access the descriptors. + + +---------------------------------------- +18 December 2015. Summary of changes for version 20151218: 1) ACPICA kernel-resident subsystem: @@ -155,12 +191,10 @@ SSDTs within a single output file. Also specify the number of SSDTs (in addition to a single DSDT). ACPICA BZ 1223, 1225. + ---------------------------------------- 24 November 2015. Summary of changes for version 20151124: -This release is available at https://acpica.org/downloads - - 1) ACPICA kernel-resident subsystem: Fixed a possible regression for a previous update to FADT handling. The @@ -236,6 +270,7 @@ object defined in an SSDT. The DSDT is a first, so any attempt to open a Scope on an SSDT object will fail at runtime. + ---------------------------------------- 30 September 2015. Summary of changes for version 20150930: @@ -328,6 +363,7 @@ possible compiler output files when buil exercising these features of the compiler. These files are automatically deleted when the test suite exits. + ---------------------------------------- 18 August 2015. Summary of changes for version 20150818: @@ -412,6 +448,7 @@ the command is entered with no arguments AcpiNames: Add -x option to specify debug level, similar to AcpiExec. + ---------------------------------------- 17 July 2015. Summary of changes for version 20150717: @@ -668,6 +705,7 @@ directives. AcpiHelp: Added a new option, -t, to display all known/supported ACPI tables. + ---------------------------------------- 10 April 2015. Summary of changes for version 20150410: @@ -675,6 +713,7 @@ Reverted a change introduced in version a regression in the disassembler where incorrect operator symbols could be emitted. + ---------------------------------------- 08 April 2015. Summary of changes for version 20150408: @@ -747,6 +786,7 @@ Debugger: Removed some unused global var Tests: Updated the makefile for proper generation of the AAPITS suite. + ---------------------------------------- 04 February 2015. Summary of changes for version 20150204: @@ -787,7 +827,8 @@ David Box Non-Debug Version: 101.7K Code, 27.9K Data, 129.6K Total Debug Version: 199.2K Code, 82.4K Data, 281.6K Total ----------------------------------------- +-- +-------------------------------------- 07 November 2014. Summary of changes for version 20141107: This release is available at https://acpica.org/downloads @@ -1291,6 +1332,7 @@ Disassembler: Cleaned up a block of code object. Added a comment that explains that the parent is guaranteed to be valid in this case. ACPICA BZ 1069. + ---------------------------------------- 24 April 2014. Summary of changes for version 20140424: @@ -1358,6 +1400,7 @@ checking and take care not to reset term were never set. This should help guarantee that the terminal is always left in the previous state on program exit. + ---------------------------------------- 25 March 2014. Summary of changes for version 20140325: @@ -1458,6 +1501,7 @@ AcpiBin utility: is made obsolete by the AcpiXtract utility. 2) General cleanup of open files and allocated buffers. + ---------------------------------------- 14 February 2014. Summary of changes for version 20140214: @@ -1523,6 +1567,7 @@ iASL: Removed the obsolete -g option to Windows registry. This feature has been superseded by the acpidump utility. + ---------------------------------------- 14 January 2014. Summary of changes for version 20140114: @@ -1599,6 +1644,7 @@ Debugger: Added the "test predefined" co test public and puts it under the new "test" command. The test executes each and every predefined name within the current namespace. + ---------------------------------------- 18 December 2013. Summary of changes for version 20131218: @@ -1701,6 +1747,7 @@ that it builds to an actual working prog ACPI tables and execution of an example control method in the DSDT. Added makefile support for Unix generation. + ---------------------------------------- 15 November 2013. Summary of changes for version 20131115: Modified: vendor-sys/acpica/dist/source/common/acfileio.c ============================================================================== --- vendor-sys/acpica/dist/source/common/acfileio.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/acfileio.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/acgetline.c ============================================================================== --- vendor-sys/acpica/dist/source/common/acgetline.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/acgetline.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/adfile.c ============================================================================== --- vendor-sys/acpica/dist/source/common/adfile.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/adfile.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/adisasm.c ============================================================================== --- vendor-sys/acpica/dist/source/common/adisasm.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/adisasm.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/adwalk.c ============================================================================== --- vendor-sys/acpica/dist/source/common/adwalk.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/adwalk.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/ahids.c ============================================================================== --- vendor-sys/acpica/dist/source/common/ahids.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/ahids.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/ahpredef.c ============================================================================== --- vendor-sys/acpica/dist/source/common/ahpredef.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/ahpredef.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/ahtable.c ============================================================================== --- vendor-sys/acpica/dist/source/common/ahtable.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/ahtable.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/ahuuids.c ============================================================================== --- vendor-sys/acpica/dist/source/common/ahuuids.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/ahuuids.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/cmfsize.c ============================================================================== --- vendor-sys/acpica/dist/source/common/cmfsize.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/cmfsize.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/dmextern.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmextern.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/dmextern.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/dmrestag.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmrestag.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/dmrestag.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/dmtable.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmtable.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/dmtable.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/dmtables.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmtables.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/dmtables.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/dmtbdump.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmtbdump.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/dmtbdump.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/dmtbinfo.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmtbinfo.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/dmtbinfo.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/common/getopt.c ============================================================================== --- vendor-sys/acpica/dist/source/common/getopt.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/common/getopt.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslanalyze.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslanalyze.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslanalyze.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslascii.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslascii.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslascii.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslbtypes.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslbtypes.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslbtypes.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslcodegen.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslcodegen.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslcodegen.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslcompile.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslcompile.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslcompile.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslcompiler.h ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslcompiler.h Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslcompiler.h Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslcompiler.l ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslcompiler.l Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslcompiler.l Mon Jan 11 22:10:31 2016 (r293706) @@ -6,7 +6,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslcstyle.y ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslcstyle.y Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslcstyle.y Mon Jan 11 22:10:31 2016 (r293706) @@ -6,7 +6,7 @@ NoEcho(' *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asldefine.h ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asldefine.h Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asldefine.h Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslerror.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslerror.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslerror.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslfileio.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslfileio.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslfileio.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslfiles.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslfiles.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslfiles.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslfold.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslfold.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslfold.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslglobal.h ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslglobal.h Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslglobal.h Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslhex.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslhex.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslhex.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asllength.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asllength.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asllength.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asllisting.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asllisting.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asllisting.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asllistsup.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asllistsup.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asllistsup.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslload.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslload.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslload.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asllookup.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asllookup.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asllookup.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslmain.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmain.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslmain.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslmap.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmap.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslmap.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslmapenter.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmapenter.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslmapenter.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslmapoutput.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmapoutput.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslmapoutput.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslmaputils.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmaputils.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslmaputils.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslmessages.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmessages.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslmessages.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslmessages.h ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmessages.h Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslmessages.h Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslmethod.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmethod.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslmethod.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslnamesp.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslnamesp.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslnamesp.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asloffset.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asloffset.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asloffset.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslopcodes.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslopcodes.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslopcodes.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asloperands.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asloperands.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asloperands.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslopt.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslopt.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslopt.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asloptions.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asloptions.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asloptions.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslparser.y ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslparser.y Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslparser.y Mon Jan 11 22:10:31 2016 (r293706) @@ -6,7 +6,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslpredef.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslpredef.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslpredef.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslprepkg.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslprepkg.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslprepkg.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslprintf.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslprintf.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslprintf.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslprune.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslprune.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslprune.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslresource.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslresource.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslresource.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslresources.y ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslresources.y Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslresources.y Mon Jan 11 22:10:31 2016 (r293706) @@ -6,7 +6,7 @@ NoEcho(' *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslrestype1.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslrestype1.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslrestype1.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslrestype1i.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslrestype1i.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslrestype1i.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslrestype2.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslrestype2.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslrestype2.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslrestype2d.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslrestype2d.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslrestype2d.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslrestype2e.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslrestype2e.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslrestype2e.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslrestype2q.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslrestype2q.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslrestype2q.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslrestype2s.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslrestype2s.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslrestype2s.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -435,7 +435,7 @@ RsDoGpioIntDescriptor ( default: /* - * PINs come through here, repeatedly. Each PIN must be a DWORD. + * PINs come through here, repeatedly. Each PIN must be a WORD. * NOTE: there is no "length" field for this, so from ACPI spec: * The number of pins in the table can be calculated from: * PinCount = (Resource Source Name Offset - Pin Table Offset) / 2 @@ -464,7 +464,7 @@ RsDoGpioIntDescriptor ( /* Create a named field at the start of the list */ - RsCreateDwordField (InitializerOp, ACPI_RESTAG_PIN, + RsCreateWordField (InitializerOp, ACPI_RESTAG_PIN, CurrentByteOffset + Descriptor->Gpio.PinTableOffset); } break; @@ -649,7 +649,7 @@ RsDoGpioIoDescriptor ( default: /* - * PINs come through here, repeatedly. Each PIN must be a DWORD. + * PINs come through here, repeatedly. Each PIN must be a WORD. * NOTE: there is no "length" field for this, so from ACPI spec: * The number of pins in the table can be calculated from: * PinCount = (Resource Source Name Offset - Pin Table Offset) / 2 @@ -678,7 +678,7 @@ RsDoGpioIoDescriptor ( /* Create a named field at the start of the list */ - RsCreateDwordField (InitializerOp, ACPI_RESTAG_PIN, + RsCreateWordField (InitializerOp, ACPI_RESTAG_PIN, CurrentByteOffset + Descriptor->Gpio.PinTableOffset); } break; Modified: vendor-sys/acpica/dist/source/compiler/aslrestype2w.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslrestype2w.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslrestype2w.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslrules.y ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslrules.y Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslrules.y Mon Jan 11 22:10:31 2016 (r293706) @@ -6,7 +6,7 @@ NoEcho(' *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslstartup.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslstartup.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslstartup.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslstubs.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslstubs.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslstubs.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslsupport.l ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslsupport.l Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslsupport.l Mon Jan 11 22:10:31 2016 (r293706) @@ -6,7 +6,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/aslsupport.y ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslsupport.y Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/aslsupport.y Mon Jan 11 22:10:31 2016 (r293706) @@ -6,7 +6,7 @@ NoEcho(' *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asltokens.y ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asltokens.y Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asltokens.y Mon Jan 11 22:10:31 2016 (r293706) @@ -6,7 +6,7 @@ NoEcho(' *****************************************************************************/ /* - * Copyright (C) 2000 - 2015, Intel Corp. + * Copyright (C) 2000 - 2016, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: vendor-sys/acpica/dist/source/compiler/asltransform.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asltransform.c Mon Jan 11 22:01:33 2016 (r293705) +++ vendor-sys/acpica/dist/source/compiler/asltransform.c Mon Jan 11 22:10:31 2016 (r293706) @@ -5,7 +5,7 @@ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Mon Jan 11 22:11:21 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E8438A6CBC7; Mon, 11 Jan 2016 22:11:21 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9EAD21ADC; Mon, 11 Jan 2016 22:11:21 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0BMBKmF016584; Mon, 11 Jan 2016 22:11:20 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0BMBKHm016583; Mon, 11 Jan 2016 22:11:20 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201601112211.u0BMBKHm016583@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Mon, 11 Jan 2016 22:11:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293707 - vendor-sys/acpica/20160108 X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2016 22:11:22 -0000 Author: jkim Date: Mon Jan 11 22:11:20 2016 New Revision: 293707 URL: https://svnweb.freebsd.org/changeset/base/293707 Log: Tag ACPICA 20160108. Added: vendor-sys/acpica/20160108/ - copied from r293706, vendor-sys/acpica/dist/ From owner-svn-src-vendor@freebsd.org Wed Jan 13 19:58:05 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 45B35A81CE9; Wed, 13 Jan 2016 19:58:05 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD9AA198A; Wed, 13 Jan 2016 19:58:04 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DJw3ow084818; Wed, 13 Jan 2016 19:58:03 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DJw2VC084800; Wed, 13 Jan 2016 19:58:02 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601131958.u0DJw2VC084800@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 19:58:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293838 - in vendor/llvm/dist: cmake/modules docs docs/CommandGuide examples/Kaleidoscope/Orc/fully_lazy include/llvm include/llvm/ADT include/llvm/Analysis include/llvm/CodeGen include... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 19:58:05 -0000 Author: dim Date: Wed Jan 13 19:58:01 2016 New Revision: 293838 URL: https://svnweb.freebsd.org/changeset/base/293838 Log: Vendor import of llvm trunk r257626: https://llvm.org/svn/llvm-project/llvm/trunk@257626 Added: vendor/llvm/dist/include/llvm/ADT/PointerEmbeddedInt.h (contents, props changed) vendor/llvm/dist/include/llvm/ADT/PointerSumType.h (contents, props changed) vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcArchitectureSupport.h (contents, props changed) vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcError.h (contents, props changed) vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h (contents, props changed) vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h (contents, props changed) vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h (contents, props changed) vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RPCChannel.h (contents, props changed) vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RPCUtils.h (contents, props changed) vendor/llvm/dist/include/llvm/Support/ELFRelocs/WebAssembly.def vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcArchitectureSupport.cpp (contents, props changed) vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcError.cpp (contents, props changed) vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.cpp (contents, props changed) vendor/llvm/dist/lib/Fuzzer/test/fuzzer-dict.test vendor/llvm/dist/lib/Target/AMDGPU/SIMachineScheduler.cpp (contents, props changed) vendor/llvm/dist/lib/Target/AMDGPU/SIMachineScheduler.h (contents, props changed) vendor/llvm/dist/lib/Target/AVR/AVR.h (contents, props changed) vendor/llvm/dist/lib/Target/AVR/AVRSelectionDAGInfo.h (contents, props changed) vendor/llvm/dist/lib/Target/AVR/AVRTargetObjectFile.cpp (contents, props changed) vendor/llvm/dist/lib/Target/AVR/AVRTargetObjectFile.h (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/HexagonRDF.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/HexagonRDF.h (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/HexagonRDFOpt.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/RDFCopy.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/RDFCopy.h (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/RDFDeadCode.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/RDFDeadCode.h (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/RDFGraph.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/RDFGraph.h (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/RDFLiveness.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/RDFLiveness.h (contents, props changed) vendor/llvm/dist/lib/Target/WebAssembly/Disassembler/ vendor/llvm/dist/lib/Target/WebAssembly/Disassembler/CMakeLists.txt (contents, props changed) vendor/llvm/dist/lib/Target/WebAssembly/Disassembler/LLVMBuild.txt (contents, props changed) vendor/llvm/dist/lib/Target/WebAssembly/Disassembler/Makefile (contents, props changed) vendor/llvm/dist/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp (contents, props changed) vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp (contents, props changed) vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h (contents, props changed) vendor/llvm/dist/test/Analysis/LoopAccessAnalysis/interleave-innermost.ll vendor/llvm/dist/test/CodeGen/AArch64/arm64-misched-memdep-bug.ll vendor/llvm/dist/test/CodeGen/AArch64/branch-folder-merge-mmos.ll vendor/llvm/dist/test/CodeGen/AArch64/machine-combiner.ll vendor/llvm/dist/test/CodeGen/AMDGPU/ctlz.ll vendor/llvm/dist/test/CodeGen/AMDGPU/hsa-note-no-func.ll vendor/llvm/dist/test/CodeGen/AMDGPU/ret.ll vendor/llvm/dist/test/CodeGen/AMDGPU/si-scheduler.ll vendor/llvm/dist/test/CodeGen/AMDGPU/sint_to_fp.i64.ll vendor/llvm/dist/test/CodeGen/AMDGPU/uint_to_fp.i64.ll vendor/llvm/dist/test/CodeGen/ARM/bit-reverse-to-rbit.ll vendor/llvm/dist/test/CodeGen/ARM/cxx-tlscc.ll vendor/llvm/dist/test/CodeGen/ARM/darwin-tls.ll vendor/llvm/dist/test/CodeGen/ARM/fabs-to-bfc.ll vendor/llvm/dist/test/CodeGen/ARM/fp16-v3.ll vendor/llvm/dist/test/CodeGen/ARM/inlineasm-imm-thumb.ll vendor/llvm/dist/test/CodeGen/ARM/inlineasm-imm-thumb2.ll vendor/llvm/dist/test/CodeGen/Hexagon/bit-phi.ll vendor/llvm/dist/test/CodeGen/Hexagon/rdf-copy.ll vendor/llvm/dist/test/CodeGen/Hexagon/rdf-dead-loop.ll vendor/llvm/dist/test/CodeGen/PowerPC/2016-01-07-BranchWeightCrash.ll vendor/llvm/dist/test/CodeGen/PowerPC/ppc64le-localentry-large.ll vendor/llvm/dist/test/CodeGen/PowerPC/pr25802.ll vendor/llvm/dist/test/CodeGen/PowerPC/tls_get_addr_clobbers.ll vendor/llvm/dist/test/CodeGen/PowerPC/tls_get_addr_stackframe.ll vendor/llvm/dist/test/CodeGen/SPARC/analyze-branch.ll vendor/llvm/dist/test/CodeGen/X86/catchpad-lifetime.ll vendor/llvm/dist/test/CodeGen/X86/shrinkwrap-hang.ll vendor/llvm/dist/test/CodeGen/X86/statepoint-vector.ll vendor/llvm/dist/test/CodeGen/X86/version_directive.ll vendor/llvm/dist/test/DebugInfo/X86/debug-macro.ll vendor/llvm/dist/test/Instrumentation/MemorySanitizer/origin-array.ll vendor/llvm/dist/test/Linker/Inputs/pr26037.ll vendor/llvm/dist/test/Linker/pr26037.ll vendor/llvm/dist/test/MC/ARM/twice.ll vendor/llvm/dist/test/Transforms/FunctionImport/Inputs/funcimport_alias.ll vendor/llvm/dist/test/Transforms/FunctionImport/funcimport_alias.ll vendor/llvm/dist/test/Transforms/IPConstantProp/PR16052.ll vendor/llvm/dist/test/Transforms/IPConstantProp/PR26044.ll vendor/llvm/dist/test/Transforms/InstCombine/printf-3.ll vendor/llvm/dist/test/Transforms/JumpThreading/pr26096.ll vendor/llvm/dist/test/Transforms/Reassociate/add_across_block_crash.ll vendor/llvm/dist/test/Transforms/RewriteStatepointsForGC/deopt-bundles/live-vector-nosplit.ll vendor/llvm/dist/test/Transforms/RewriteStatepointsForGC/two-invokes-one-landingpad.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/bug-25299.ll vendor/llvm/dist/test/Transforms/Util/split-bit-piece.ll vendor/llvm/dist/test/tools/llvm-lto/error.ll vendor/llvm/dist/test/tools/llvm-objdump/Inputs/malformed-macho.bin (contents, props changed) vendor/llvm/dist/test/tools/llvm-objdump/X86/macho-private-header.test vendor/llvm/dist/test/tools/llvm-objdump/malformed-macho.test vendor/llvm/dist/test/tools/llvm-symbolizer/print_context.c (contents, props changed) vendor/llvm/dist/tools/lli/RemoteJITUtils.h (contents, props changed) vendor/llvm/dist/unittests/ADT/PointerEmbeddedIntTest.cpp (contents, props changed) vendor/llvm/dist/unittests/ADT/PointerSumTypeTest.cpp (contents, props changed) vendor/llvm/dist/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp (contents, props changed) vendor/llvm/dist/unittests/IR/AsmWriterTest.cpp (contents, props changed) Deleted: vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcTargetSupport.h vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcTargetSupport.cpp vendor/llvm/dist/test/Analysis/GlobalsModRef/nocapture.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll vendor/llvm/dist/test/Transforms/InstCombine/pow-exp2.ll vendor/llvm/dist/tools/lli/RPCChannel.h vendor/llvm/dist/tools/lli/RemoteMemoryManager.cpp vendor/llvm/dist/tools/lli/RemoteMemoryManager.h vendor/llvm/dist/tools/lli/RemoteTarget.cpp vendor/llvm/dist/tools/lli/RemoteTarget.h vendor/llvm/dist/tools/lli/RemoteTargetExternal.cpp vendor/llvm/dist/tools/lli/RemoteTargetExternal.h vendor/llvm/dist/tools/lli/RemoteTargetMessage.h vendor/llvm/dist/tools/lli/Unix/ vendor/llvm/dist/tools/lli/Windows/ Modified: vendor/llvm/dist/cmake/modules/AddLLVM.cmake vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake vendor/llvm/dist/docs/AliasAnalysis.rst vendor/llvm/dist/docs/CommandGuide/llvm-symbolizer.rst vendor/llvm/dist/docs/ExceptionHandling.rst vendor/llvm/dist/docs/GettingStartedVS.rst vendor/llvm/dist/docs/LangRef.rst vendor/llvm/dist/docs/Phabricator.rst vendor/llvm/dist/docs/ProgrammersManual.rst vendor/llvm/dist/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp vendor/llvm/dist/include/llvm/ADT/IntEqClasses.h vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h vendor/llvm/dist/include/llvm/ADT/Twine.h vendor/llvm/dist/include/llvm/Analysis/LazyCallGraph.h vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h vendor/llvm/dist/include/llvm/CodeGen/DIE.h vendor/llvm/dist/include/llvm/CodeGen/LiveInterval.h vendor/llvm/dist/include/llvm/CodeGen/RegisterPressure.h vendor/llvm/dist/include/llvm/CodeGen/WinEHFuncInfo.h vendor/llvm/dist/include/llvm/DebugInfo/Symbolize/DIPrinter.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/RTDyldMemoryManager.h vendor/llvm/dist/include/llvm/ExecutionEngine/RuntimeDyld.h vendor/llvm/dist/include/llvm/IR/Attributes.td vendor/llvm/dist/include/llvm/IR/Function.h vendor/llvm/dist/include/llvm/IR/IRBuilder.h vendor/llvm/dist/include/llvm/IR/Intrinsics.td vendor/llvm/dist/include/llvm/IR/IntrinsicsX86.td vendor/llvm/dist/include/llvm/IR/LLVMContext.h vendor/llvm/dist/include/llvm/IR/Metadata.h vendor/llvm/dist/include/llvm/InitializePasses.h vendor/llvm/dist/include/llvm/LinkAllPasses.h vendor/llvm/dist/include/llvm/Linker/Linker.h vendor/llvm/dist/include/llvm/MC/MCExpr.h vendor/llvm/dist/include/llvm/MC/MCObjectFileInfo.h vendor/llvm/dist/include/llvm/MC/MCStreamer.h vendor/llvm/dist/include/llvm/Object/COFF.h vendor/llvm/dist/include/llvm/Object/ELFObjectFile.h vendor/llvm/dist/include/llvm/Pass.h vendor/llvm/dist/include/llvm/ProfileData/CoverageMapping.h vendor/llvm/dist/include/llvm/ProfileData/InstrProf.h vendor/llvm/dist/include/llvm/ProfileData/InstrProfData.inc vendor/llvm/dist/include/llvm/ProfileData/SampleProf.h vendor/llvm/dist/include/llvm/Support/ARMTargetParser.def vendor/llvm/dist/include/llvm/Support/Allocator.h vendor/llvm/dist/include/llvm/Support/COFF.h vendor/llvm/dist/include/llvm/Support/ELF.h vendor/llvm/dist/include/llvm/Support/GenericDomTree.h vendor/llvm/dist/include/llvm/Support/MathExtras.h vendor/llvm/dist/include/llvm/Transforms/IPO.h vendor/llvm/dist/include/llvm/Transforms/Utils/Cloning.h vendor/llvm/dist/include/llvm/Transforms/Utils/Local.h vendor/llvm/dist/include/llvm/module.modulemap vendor/llvm/dist/lib/Analysis/BasicAliasAnalysis.cpp vendor/llvm/dist/lib/Analysis/CallGraphSCCPass.cpp vendor/llvm/dist/lib/Analysis/GlobalsModRef.cpp vendor/llvm/dist/lib/Analysis/InstructionSimplify.cpp vendor/llvm/dist/lib/Analysis/LoopAccessAnalysis.cpp vendor/llvm/dist/lib/Analysis/LoopInfo.cpp vendor/llvm/dist/lib/Analysis/LoopPass.cpp vendor/llvm/dist/lib/Analysis/ScopedNoAliasAA.cpp vendor/llvm/dist/lib/Analysis/TypeBasedAliasAnalysis.cpp vendor/llvm/dist/lib/Analysis/ValueTracking.cpp vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp vendor/llvm/dist/lib/Bitcode/Writer/BitcodeWriter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp vendor/llvm/dist/lib/CodeGen/BranchFolding.cpp vendor/llvm/dist/lib/CodeGen/CodeGenPrepare.cpp vendor/llvm/dist/lib/CodeGen/LiveDebugValues.cpp vendor/llvm/dist/lib/CodeGen/LiveInterval.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp vendor/llvm/dist/lib/CodeGen/MachineBasicBlock.cpp vendor/llvm/dist/lib/CodeGen/MachineFunctionPrinterPass.cpp vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp vendor/llvm/dist/lib/CodeGen/MachineLICM.cpp vendor/llvm/dist/lib/CodeGen/MachineVerifier.cpp vendor/llvm/dist/lib/CodeGen/RegisterCoalescer.cpp vendor/llvm/dist/lib/CodeGen/RegisterPressure.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/StatepointLowering.cpp vendor/llvm/dist/lib/CodeGen/ShrinkWrap.cpp vendor/llvm/dist/lib/CodeGen/StackColoring.cpp vendor/llvm/dist/lib/CodeGen/WinEHPrepare.cpp vendor/llvm/dist/lib/DebugInfo/Symbolize/DIPrinter.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/CMakeLists.txt vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcCBindingsStack.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcCBindingsStack.h vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h vendor/llvm/dist/lib/ExecutionEngine/SectionMemoryManager.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerDriver.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerFlags.def vendor/llvm/dist/lib/Fuzzer/FuzzerInterface.h vendor/llvm/dist/lib/Fuzzer/FuzzerInternal.h vendor/llvm/dist/lib/Fuzzer/FuzzerLoop.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerMutate.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerTraceState.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerUtil.cpp vendor/llvm/dist/lib/Fuzzer/test/FuzzerUnittest.cpp vendor/llvm/dist/lib/Fuzzer/test/MemcmpTest.cpp vendor/llvm/dist/lib/Fuzzer/test/fuzzer-dfsan.test vendor/llvm/dist/lib/Fuzzer/test/fuzzer-traces.test vendor/llvm/dist/lib/Fuzzer/test/fuzzer.test vendor/llvm/dist/lib/IR/AsmWriter.cpp vendor/llvm/dist/lib/IR/Core.cpp vendor/llvm/dist/lib/IR/Function.cpp vendor/llvm/dist/lib/IR/IRPrintingPasses.cpp vendor/llvm/dist/lib/IR/LLVMContext.cpp vendor/llvm/dist/lib/IR/LLVMContextImpl.h vendor/llvm/dist/lib/IR/LegacyPassManager.cpp vendor/llvm/dist/lib/IR/Metadata.cpp vendor/llvm/dist/lib/IR/Verifier.cpp vendor/llvm/dist/lib/LTO/LTOCodeGenerator.cpp vendor/llvm/dist/lib/Linker/IRMover.cpp vendor/llvm/dist/lib/Linker/LinkModules.cpp vendor/llvm/dist/lib/MC/MCExpr.cpp vendor/llvm/dist/lib/MC/MCObjectFileInfo.cpp vendor/llvm/dist/lib/MC/MCObjectStreamer.cpp vendor/llvm/dist/lib/MC/WinCOFFObjectWriter.cpp vendor/llvm/dist/lib/Object/COFFObjectFile.cpp vendor/llvm/dist/lib/Object/ELF.cpp vendor/llvm/dist/lib/ProfileData/CoverageMapping.cpp vendor/llvm/dist/lib/ProfileData/CoverageMappingReader.cpp vendor/llvm/dist/lib/ProfileData/InstrProf.cpp vendor/llvm/dist/lib/ProfileData/InstrProfWriter.cpp vendor/llvm/dist/lib/Support/Debug.cpp vendor/llvm/dist/lib/Support/IntEqClasses.cpp vendor/llvm/dist/lib/Support/Triple.cpp vendor/llvm/dist/lib/Support/Windows/Path.inc vendor/llvm/dist/lib/Support/Windows/Signals.inc vendor/llvm/dist/lib/Support/Windows/WindowsSupport.h vendor/llvm/dist/lib/Support/raw_ostream.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPU.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAsmPrinter.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUCallingConv.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelLowering.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstrInfo.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp vendor/llvm/dist/lib/Target/AMDGPU/CMakeLists.txt vendor/llvm/dist/lib/Target/AMDGPU/EvergreenInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIDefines.h vendor/llvm/dist/lib/Target/AMDGPU/SIFixSGPRCopies.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIFoldOperands.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.h vendor/llvm/dist/lib/Target/AMDGPU/SIInsertWaits.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.h vendor/llvm/dist/lib/Target/AMDGPU/SIInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIMachineFunctionInfo.h vendor/llvm/dist/lib/Target/AMDGPU/SIRegisterInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIRegisterInfo.h vendor/llvm/dist/lib/Target/AMDGPU/SITypeRewriter.cpp vendor/llvm/dist/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.h vendor/llvm/dist/lib/Target/ARM/ARMCallingConv.td vendor/llvm/dist/lib/Target/ARM/ARMFastISel.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.h vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.td vendor/llvm/dist/lib/Target/ARM/ARMInstrNEON.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td vendor/llvm/dist/lib/Target/ARM/ARMInstrVFP.td vendor/llvm/dist/lib/Target/ARM/ARMMachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMMachineFunctionInfo.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1FrameLowering.h vendor/llvm/dist/lib/Target/AVR/CMakeLists.txt vendor/llvm/dist/lib/Target/Hexagon/CMakeLists.txt vendor/llvm/dist/lib/Target/Hexagon/HexagonAsmPrinter.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonBitSimplify.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfoV4.td vendor/llvm/dist/lib/Target/Hexagon/HexagonRegisterInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetMachine.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.h vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsSEInstrInfo.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXISelLowering.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXTargetObjectFile.h vendor/llvm/dist/lib/Target/PowerPC/PPCAsmPrinter.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCInstr64Bit.td vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.td vendor/llvm/dist/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCMachineFunctionInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCTLSDynamicCall.cpp vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.cpp vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.h vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.td vendor/llvm/dist/lib/Target/WebAssembly/CMakeLists.txt vendor/llvm/dist/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp vendor/llvm/dist/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.h vendor/llvm/dist/lib/Target/WebAssembly/LLVMBuild.txt vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyELFObjectWriter.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h vendor/llvm/dist/lib/Target/WebAssembly/Makefile vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrControl.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrInfo.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrMemory.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyMCInstLower.h vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp vendor/llvm/dist/lib/Target/WebAssembly/known_gcc_test_failures.txt vendor/llvm/dist/lib/Target/X86/X86.h vendor/llvm/dist/lib/Target/X86/X86CallingConv.td vendor/llvm/dist/lib/Target/X86/X86FastISel.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.h vendor/llvm/dist/lib/Target/X86/X86InstrAVX512.td vendor/llvm/dist/lib/Target/X86/X86InstrExtension.td vendor/llvm/dist/lib/Target/X86/X86InstrFragmentsSIMD.td vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td vendor/llvm/dist/lib/Target/X86/X86InstrMPX.td vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td vendor/llvm/dist/lib/Target/X86/X86IntrinsicsInfo.h vendor/llvm/dist/lib/Target/X86/X86MachineFunctionInfo.h vendor/llvm/dist/lib/Target/X86/X86OptimizeLEAs.cpp vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.h vendor/llvm/dist/lib/Transforms/IPO/ForceFunctionAttrs.cpp vendor/llvm/dist/lib/Transforms/IPO/FunctionAttrs.cpp vendor/llvm/dist/lib/Transforms/IPO/FunctionImport.cpp vendor/llvm/dist/lib/Transforms/IPO/IPO.cpp vendor/llvm/dist/lib/Transforms/IPO/LoopExtractor.cpp vendor/llvm/dist/lib/Transforms/IPO/PassManagerBuilder.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSelect.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineVectorOps.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/InstrProfiling.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/MemorySanitizer.cpp vendor/llvm/dist/lib/Transforms/Scalar/JumpThreading.cpp vendor/llvm/dist/lib/Transforms/Scalar/LICM.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopDeletion.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopUnrollPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/MemCpyOptimizer.cpp vendor/llvm/dist/lib/Transforms/Scalar/PlaceSafepoints.cpp vendor/llvm/dist/lib/Transforms/Scalar/Reassociate.cpp vendor/llvm/dist/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp vendor/llvm/dist/lib/Transforms/Scalar/TailRecursionElimination.cpp vendor/llvm/dist/lib/Transforms/Utils/BasicBlockUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/CloneFunction.cpp vendor/llvm/dist/lib/Transforms/Utils/Local.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUnroll.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyCFG.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyLibCalls.cpp vendor/llvm/dist/lib/Transforms/Utils/ValueMapper.cpp vendor/llvm/dist/lib/Transforms/Vectorize/SLPVectorizer.cpp vendor/llvm/dist/test/Bitcode/compatibility.ll vendor/llvm/dist/test/CodeGen/AMDGPU/ctlz_zero_undef.ll vendor/llvm/dist/test/CodeGen/AMDGPU/flat-scratch-reg.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fmin_legacy.ll vendor/llvm/dist/test/CodeGen/AMDGPU/fsub.ll vendor/llvm/dist/test/CodeGen/AMDGPU/hsa-globals.ll vendor/llvm/dist/test/CodeGen/AMDGPU/hsa.ll vendor/llvm/dist/test/CodeGen/AMDGPU/inline-asm.ll vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.ptr.ll vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.round.f64.ll vendor/llvm/dist/test/CodeGen/AMDGPU/sint_to_fp.ll vendor/llvm/dist/test/CodeGen/AMDGPU/udiv.ll vendor/llvm/dist/test/CodeGen/AMDGPU/uint_to_fp.ll vendor/llvm/dist/test/CodeGen/ARM/fp16-args.ll vendor/llvm/dist/test/CodeGen/ARM/zero-cycle-zero.ll vendor/llvm/dist/test/CodeGen/Hexagon/postinc-offset.ll vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/call.ll vendor/llvm/dist/test/CodeGen/Mips/madd-msub.ll vendor/llvm/dist/test/CodeGen/PowerPC/ppc64le-localentry.ll vendor/llvm/dist/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll vendor/llvm/dist/test/CodeGen/WebAssembly/call.ll vendor/llvm/dist/test/CodeGen/WebAssembly/cfg-stackify.ll vendor/llvm/dist/test/CodeGen/WebAssembly/comparisons_f32.ll vendor/llvm/dist/test/CodeGen/WebAssembly/comparisons_f64.ll vendor/llvm/dist/test/CodeGen/WebAssembly/comparisons_i32.ll vendor/llvm/dist/test/CodeGen/WebAssembly/comparisons_i64.ll vendor/llvm/dist/test/CodeGen/WebAssembly/conv.ll vendor/llvm/dist/test/CodeGen/WebAssembly/copysign-casts.ll vendor/llvm/dist/test/CodeGen/WebAssembly/cpus.ll vendor/llvm/dist/test/CodeGen/WebAssembly/dead-vreg.ll vendor/llvm/dist/test/CodeGen/WebAssembly/f32.ll vendor/llvm/dist/test/CodeGen/WebAssembly/f64.ll vendor/llvm/dist/test/CodeGen/WebAssembly/fast-isel.ll vendor/llvm/dist/test/CodeGen/WebAssembly/frem.ll vendor/llvm/dist/test/CodeGen/WebAssembly/func.ll vendor/llvm/dist/test/CodeGen/WebAssembly/global.ll vendor/llvm/dist/test/CodeGen/WebAssembly/globl.ll vendor/llvm/dist/test/CodeGen/WebAssembly/i32.ll vendor/llvm/dist/test/CodeGen/WebAssembly/i64.ll vendor/llvm/dist/test/CodeGen/WebAssembly/ident.ll vendor/llvm/dist/test/CodeGen/WebAssembly/immediates.ll vendor/llvm/dist/test/CodeGen/WebAssembly/inline-asm.ll vendor/llvm/dist/test/CodeGen/WebAssembly/legalize.ll vendor/llvm/dist/test/CodeGen/WebAssembly/load-ext.ll vendor/llvm/dist/test/CodeGen/WebAssembly/load-store-i1.ll vendor/llvm/dist/test/CodeGen/WebAssembly/load.ll vendor/llvm/dist/test/CodeGen/WebAssembly/loop-idiom.ll vendor/llvm/dist/test/CodeGen/WebAssembly/memory-addr32.ll vendor/llvm/dist/test/CodeGen/WebAssembly/memory-addr64.ll vendor/llvm/dist/test/CodeGen/WebAssembly/offset-folding.ll vendor/llvm/dist/test/CodeGen/WebAssembly/offset.ll vendor/llvm/dist/test/CodeGen/WebAssembly/phi.ll vendor/llvm/dist/test/CodeGen/WebAssembly/reg-stackify.ll vendor/llvm/dist/test/CodeGen/WebAssembly/return-int32.ll vendor/llvm/dist/test/CodeGen/WebAssembly/return-void.ll vendor/llvm/dist/test/CodeGen/WebAssembly/returned.ll vendor/llvm/dist/test/CodeGen/WebAssembly/select.ll vendor/llvm/dist/test/CodeGen/WebAssembly/signext-zeroext.ll vendor/llvm/dist/test/CodeGen/WebAssembly/store-results.ll vendor/llvm/dist/test/CodeGen/WebAssembly/store-trunc.ll vendor/llvm/dist/test/CodeGen/WebAssembly/store.ll vendor/llvm/dist/test/CodeGen/WebAssembly/switch.ll vendor/llvm/dist/test/CodeGen/WebAssembly/unreachable.ll vendor/llvm/dist/test/CodeGen/WebAssembly/unused-argument.ll vendor/llvm/dist/test/CodeGen/WebAssembly/userstack.ll vendor/llvm/dist/test/CodeGen/WebAssembly/varargs.ll vendor/llvm/dist/test/CodeGen/WebAssembly/vtable.ll vendor/llvm/dist/test/CodeGen/WinEH/wineh-cloning.ll vendor/llvm/dist/test/CodeGen/WinEH/wineh-no-demotion.ll vendor/llvm/dist/test/CodeGen/WinEH/wineh-statenumbering.ll vendor/llvm/dist/test/CodeGen/X86/2008-11-03-F80VAARG.ll vendor/llvm/dist/test/CodeGen/X86/2012-01-12-extract-sv.ll vendor/llvm/dist/test/CodeGen/X86/avx-vbroadcast.ll vendor/llvm/dist/test/CodeGen/X86/avx2-vbroadcast.ll vendor/llvm/dist/test/CodeGen/X86/avx512-intrinsics.ll vendor/llvm/dist/test/CodeGen/X86/avx512bw-intrinsics.ll vendor/llvm/dist/test/CodeGen/X86/avx512bwvl-intrinsics.ll vendor/llvm/dist/test/CodeGen/X86/avx512vl-intrinsics.ll vendor/llvm/dist/test/CodeGen/X86/cxx_tlscc64.ll vendor/llvm/dist/test/CodeGen/X86/dagcombine-cse.ll vendor/llvm/dist/test/CodeGen/X86/f16c-intrinsics.ll vendor/llvm/dist/test/CodeGen/X86/insertps-combine.ll vendor/llvm/dist/test/CodeGen/X86/lea-opt.ll vendor/llvm/dist/test/CodeGen/X86/pr13577.ll vendor/llvm/dist/test/CodeGen/X86/scalar-int-to-fp.ll vendor/llvm/dist/test/CodeGen/X86/stack-folding-fp-sse42.ll vendor/llvm/dist/test/CodeGen/X86/vec_uint_to_fp-fastmath.ll vendor/llvm/dist/test/CodeGen/X86/x86-shrink-wrapping.ll vendor/llvm/dist/test/DebugInfo/COFF/asm.ll vendor/llvm/dist/test/DebugInfo/COFF/multifile.ll vendor/llvm/dist/test/DebugInfo/COFF/multifunction.ll vendor/llvm/dist/test/DebugInfo/COFF/simple.ll vendor/llvm/dist/test/DebugInfo/COFF/tail-call-without-lexical-scopes.ll vendor/llvm/dist/test/DebugInfo/X86/debugger-tune.ll vendor/llvm/dist/test/DebugInfo/X86/tls.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll vendor/llvm/dist/test/Feature/exception.ll vendor/llvm/dist/test/MC/COFF/timestamp.s vendor/llvm/dist/test/MC/Disassembler/Mips/mips2/valid-mips2.txt vendor/llvm/dist/test/MC/Disassembler/Mips/mips3/valid-mips3.txt vendor/llvm/dist/test/MC/Disassembler/Mips/mips4/valid-mips4.txt vendor/llvm/dist/test/MC/Disassembler/X86/avx-512.txt vendor/llvm/dist/test/MC/Mips/mips1/valid.s vendor/llvm/dist/test/MC/Mips/mips2/valid.s vendor/llvm/dist/test/MC/Mips/mips3/valid.s vendor/llvm/dist/test/MC/Mips/mips32/valid.s vendor/llvm/dist/test/MC/Mips/mips32r2/valid.s vendor/llvm/dist/test/MC/Mips/mips32r3/valid.s vendor/llvm/dist/test/MC/Mips/mips32r5/valid.s vendor/llvm/dist/test/MC/Mips/mips32r6/valid.s vendor/llvm/dist/test/MC/Mips/mips4/valid.s vendor/llvm/dist/test/MC/Mips/mips5/valid.s vendor/llvm/dist/test/MC/Mips/mips64/valid.s vendor/llvm/dist/test/MC/Mips/mips64r2/valid.s vendor/llvm/dist/test/MC/Mips/mips64r3/valid.s vendor/llvm/dist/test/MC/Mips/mips64r5/valid.s vendor/llvm/dist/test/MC/Mips/mips64r6/valid.s vendor/llvm/dist/test/MC/X86/avx512-encodings.s vendor/llvm/dist/test/MC/X86/intel-syntax-avx512.s vendor/llvm/dist/test/MC/X86/intel-syntax-x86-64-avx512f_vl.s vendor/llvm/dist/test/MC/X86/x86-64-avx512dq.s vendor/llvm/dist/test/Other/2010-05-06-Printer.ll vendor/llvm/dist/test/TableGen/TwoLevelName.td vendor/llvm/dist/test/Transforms/FunctionAttrs/norecurse.ll vendor/llvm/dist/test/Transforms/FunctionImport/Inputs/funcimport.ll vendor/llvm/dist/test/Transforms/FunctionImport/funcimport.ll vendor/llvm/dist/test/Transforms/FunctionImport/funcimport_debug.ll vendor/llvm/dist/test/Transforms/Inline/attributes.ll vendor/llvm/dist/test/Transforms/InstCombine/fast-math.ll vendor/llvm/dist/test/Transforms/InstCombine/inline-intrinsic-assert.ll vendor/llvm/dist/test/Transforms/InstCombine/insert-extract-shuffle.ll vendor/llvm/dist/test/Transforms/InstCombine/log-pow.ll vendor/llvm/dist/test/Transforms/InstCombine/no_cgscc_assert.ll vendor/llvm/dist/test/Transforms/InstCombine/pow-exp.ll vendor/llvm/dist/test/Transforms/InstCombine/pow-sqrt.ll vendor/llvm/dist/test/Transforms/InstCombine/tan.ll vendor/llvm/dist/test/Transforms/InstSimplify/floating-point-compare.ll vendor/llvm/dist/test/Transforms/JumpThreading/select.ll vendor/llvm/dist/test/Transforms/LoopUnroll/partial-unroll-optsize.ll vendor/llvm/dist/test/Transforms/LoopUnroll/unloop.ll vendor/llvm/dist/test/Transforms/MemCpyOpt/fca2memcpy.ll vendor/llvm/dist/test/Transforms/RewriteStatepointsForGC/constants.ll vendor/llvm/dist/test/Transforms/RewriteStatepointsForGC/deopt-bundles/live-vector.ll vendor/llvm/dist/test/Transforms/RewriteStatepointsForGC/live-vector.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/invoke_unwind.ll vendor/llvm/dist/test/Verifier/gc_relocate_return.ll vendor/llvm/dist/test/Verifier/invalid-eh.ll vendor/llvm/dist/test/lit.cfg vendor/llvm/dist/test/lit.site.cfg.in vendor/llvm/dist/test/tools/llvm-objdump/malformed-archives.test vendor/llvm/dist/test/tools/llvm-profdata/value-prof.proftext vendor/llvm/dist/test/tools/llvm-readobj/codeview-linetables.test vendor/llvm/dist/test/tools/llvm-symbolizer/Inputs/addr.inp vendor/llvm/dist/test/tools/llvm-symbolizer/sym.test vendor/llvm/dist/tools/lli/CMakeLists.txt vendor/llvm/dist/tools/lli/ChildTarget/CMakeLists.txt vendor/llvm/dist/tools/lli/ChildTarget/ChildTarget.cpp vendor/llvm/dist/tools/lli/ChildTarget/Makefile vendor/llvm/dist/tools/lli/OrcLazyJIT.cpp vendor/llvm/dist/tools/lli/OrcLazyJIT.h vendor/llvm/dist/tools/lli/lli.cpp vendor/llvm/dist/tools/llvm-lto/llvm-lto.cpp vendor/llvm/dist/tools/llvm-objdump/COFFDump.cpp vendor/llvm/dist/tools/llvm-objdump/MachODump.cpp vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.cpp vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.h vendor/llvm/dist/tools/llvm-readobj/COFFDumper.cpp vendor/llvm/dist/tools/llvm-readobj/ELFDumper.cpp vendor/llvm/dist/tools/llvm-symbolizer/llvm-symbolizer.cpp vendor/llvm/dist/unittests/ADT/CMakeLists.txt vendor/llvm/dist/unittests/ADT/PointerIntPairTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp vendor/llvm/dist/unittests/ExecutionEngine/Orc/CMakeLists.txt vendor/llvm/dist/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp vendor/llvm/dist/unittests/ExecutionEngine/Orc/OrcTestCommon.h vendor/llvm/dist/unittests/IR/CMakeLists.txt vendor/llvm/dist/unittests/IR/IRBuilderTest.cpp vendor/llvm/dist/unittests/ProfileData/InstrProfTest.cpp vendor/llvm/dist/unittests/Support/MathExtrasTest.cpp vendor/llvm/dist/utils/KillTheDoctor/KillTheDoctor.cpp vendor/llvm/dist/utils/TableGen/AsmWriterEmitter.cpp vendor/llvm/dist/utils/TableGen/AsmWriterInst.cpp vendor/llvm/dist/utils/lit/lit/util.py Modified: vendor/llvm/dist/cmake/modules/AddLLVM.cmake ============================================================================== --- vendor/llvm/dist/cmake/modules/AddLLVM.cmake Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/cmake/modules/AddLLVM.cmake Wed Jan 13 19:58:01 2016 (r293838) @@ -308,6 +308,8 @@ endfunction(set_windows_version_resource # SHARED;STATIC # STATIC by default w/o BUILD_SHARED_LIBS. # SHARED by default w/ BUILD_SHARED_LIBS. +# OBJECT +# Also create an OBJECT library target. Default if STATIC && SHARED. # MODULE # Target ${name} might not be created on unsupported platforms. # Check with "if(TARGET ${name})". @@ -329,7 +331,7 @@ endfunction(set_windows_version_resource # ) function(llvm_add_library name) cmake_parse_arguments(ARG - "MODULE;SHARED;STATIC;DISABLE_LLVM_LINK_LLVM_DYLIB;SONAME" + "MODULE;SHARED;STATIC;OBJECT;DISABLE_LLVM_LINK_LLVM_DYLIB;SONAME" "OUTPUT_NAME" "ADDITIONAL_HEADERS;DEPENDS;LINK_COMPONENTS;LINK_LIBS;OBJLIBS" ${ARGN}) @@ -362,7 +364,7 @@ function(llvm_add_library name) endif() # Generate objlib - if(ARG_SHARED AND ARG_STATIC) + if((ARG_SHARED AND ARG_STATIC) OR ARG_OBJECT) # Generate an obj library for both targets. set(obj_name "obj.${name}") add_library(${obj_name} OBJECT EXCLUDE_FROM_ALL Modified: vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake ============================================================================== --- vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake Wed Jan 13 19:58:01 2016 (r293838) @@ -363,6 +363,36 @@ if( MSVC ) append("/Zc:inline" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + if (NOT LLVM_ENABLE_TIMESTAMPS AND CMAKE_CXX_COMPILER_ID MATCHES "Clang") + # clang-cl and cl by default produce non-deterministic binaries because + # link.exe /incremental requires a timestamp in the .obj file. clang-cl + # has the flag /Brepro to force deterministic binaries, so pass that when + # LLVM_ENABLE_TIMESTAMPS is turned off. + # This checks CMAKE_CXX_COMPILER_ID in addition to check_cxx_compiler_flag() + # because cl.exe does not emit an error on flags it doesn't understand, + # letting check_cxx_compiler_flag() claim it understands all flags. + check_cxx_compiler_flag("/Brepro" SUPPORTS_BREPRO) + append_if(SUPPORTS_BREPRO "/Brepro" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + + if (SUPPORTS_BREPRO) + # Check if /INCREMENTAL is passed to the linker and complain that it + # won't work with /Brepro. + string(TOUPPER "${CMAKE_EXE_LINKER_FLAGS}" upper_exe_flags) + string(TOUPPER "${CMAKE_MODULE_LINKER_FLAGS}" upper_module_flags) + string(TOUPPER "${CMAKE_SHARED_LINKER_FLAGS}" upper_shared_flags) + + string(FIND "${upper_exe_flags}" "/INCREMENTAL" exe_index) + string(FIND "${upper_module_flags}" "/INCREMENTAL" module_index) + string(FIND "${upper_shared_flags}" "/INCREMENTAL" shared_index) + + if (${exe_index} GREATER -1 OR + ${module_index} GREATER -1 OR + ${shared_index} GREATER -1) + message(FATAL_ERROR "LLVM_ENABLE_TIMESTAMPS not compatible with /INCREMENTAL linking") + endif() + endif() + endif() + # Disable sized deallocation if the flag is supported. MSVC fails to compile # the operator new overload in User otherwise. check_c_compiler_flag("/WX /Zc:sizedDealloc-" SUPPORTS_SIZED_DEALLOC) Modified: vendor/llvm/dist/docs/AliasAnalysis.rst ============================================================================== --- vendor/llvm/dist/docs/AliasAnalysis.rst Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/docs/AliasAnalysis.rst Wed Jan 13 19:58:01 2016 (r293838) @@ -190,7 +190,7 @@ this property are side-effect free, only the state of memory when they are called. This property allows calls to these functions to be eliminated and moved around, as long as there is no store instruction that changes the contents of memory. Note that all functions that -satisfy the ``doesNotAccessMemory`` method also satisfies ``onlyReadsMemory``. +satisfy the ``doesNotAccessMemory`` method also satisfy ``onlyReadsMemory``. Writing a new ``AliasAnalysis`` Implementation ============================================== @@ -634,7 +634,7 @@ transformations: * It uses mod/ref information to hoist function calls out of loops that do not write to memory and are loop-invariant. -* If uses alias information to promote memory objects that are loaded and stored +* It uses alias information to promote memory objects that are loaded and stored to in loops to live in a register instead. It can do this if there are no may aliases to the loaded/stored memory location. Modified: vendor/llvm/dist/docs/CommandGuide/llvm-symbolizer.rst ============================================================================== --- vendor/llvm/dist/docs/CommandGuide/llvm-symbolizer.rst Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/docs/CommandGuide/llvm-symbolizer.rst Wed Jan 13 19:58:01 2016 (r293838) @@ -11,9 +11,9 @@ DESCRIPTION :program:`llvm-symbolizer` reads object file names and addresses from standard input and prints corresponding source code locations to standard output. -If object file is specified in command line, :program:`llvm-symbolizer` reads -only addresses from standard input. This -program uses debug info sections and symbol table in the object files. +If object file is specified in command line, :program:`llvm-symbolizer` +processes only addresses from standard input, the rest is output verbatim. +This program uses debug info sections and symbol table in the object files. EXAMPLE -------- Modified: vendor/llvm/dist/docs/ExceptionHandling.rst ============================================================================== --- vendor/llvm/dist/docs/ExceptionHandling.rst Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/docs/ExceptionHandling.rst Wed Jan 13 19:58:01 2016 (r293838) @@ -775,3 +775,67 @@ C++ code: The "inner" ``catchswitch`` consumes ``%1`` which is produced by the outer catchswitch. + +.. _wineh-constraints: + +Funclet transitions +----------------------- + +The EH tables for personalities that use funclets make implicit use of the +funclet nesting relationship to encode unwind destinations, and so are +constrained in the set of funclet transitions they can represent. The related +LLVM IR instructions accordingly have constraints that ensure encodability of +the EH edges in the flow graph. + +A ``catchswitch``, ``catchpad``, or ``cleanuppad`` is said to be "entered" +when it executes. It may subsequently be "exited" by any of the following +means: + +* A ``catchswitch`` is immediately exited when none of its constituent + ``catchpad``\ s are appropriate for the in-flight exception and it unwinds + to its unwind destination or the caller. +* A ``catchpad`` and its parent ``catchswitch`` are both exited when a + ``catchret`` from the ``catchpad`` is executed. +* A ``cleanuppad`` is exited when a ``cleanupret`` from it is executed. +* Any of these pads is exited when control unwinds to the function's caller, + either by a ``call`` which unwinds all the way to the function's caller, + a nested ``catchswitch`` marked "``unwinds to caller``", or a nested + ``cleanuppad``\ 's ``cleanupret`` marked "``unwinds to caller"``. +* Any of these pads is exited when an unwind edge (from an ``invoke``, + nested ``catchswitch``, or nested ``cleanuppad``\ 's ``cleanupret``) + unwinds to a destination pad that is not a descendant of the given pad. + +Note that the ``ret`` instruction is *not* a valid way to exit a funclet pad; +it is undefined behavior to execute a ``ret`` when a pad has been entered but +not exited. + +A single unwind edge may exit any number of pads (with the restrictions that +the edge from a ``catchswitch`` must exit at least itself, and the edge from +a ``cleanupret`` must exit at least its ``cleanuppad``), and then must enter +exactly one pad, which must be distinct from all the exited pads. The parent +of the pad that an unwind edge enters must be the most-recently-entered +not-yet-exited pad (after exiting from any pads that the unwind edge exits), +or "none" if there is no such pad. This ensures that the stack of executing +funclets at run-time always corresponds to some path in the funclet pad tree +that the parent tokens encode. + +All unwind edges which exit any given funclet pad (including ``cleanupret`` +edges exiting their ``cleanuppad`` and ``catchswitch`` edges exiting their +``catchswitch``) must share the same unwind destination. Similarly, any +funclet pad which may be exited by unwind to caller must not be exited by +any exception edges which unwind anywhere other than the caller. This +ensures that each funclet as a whole has only one unwind destination, which +EH tables for funclet personalities may require. Note that any unwind edge +which exits a ``catchpad`` also exits its parent ``catchswitch``, so this +implies that for any given ``catchswitch``, its unwind destination must also +be the unwind destination of any unwind edge that exits any of its constituent +``catchpad``\s. Because ``catchswitch`` has no ``nounwind`` variant, and +because IR producers are not *required* to annotate calls which will not +unwind as ``nounwind``, it is legal to nest a ``call`` or an "``unwind to +caller``\ " ``catchswitch`` within a funclet pad that has an unwind +destination other than caller; it is undefined behavior for such a ``call`` +or ``catchswitch`` to unwind. + +Finally, the funclet pads' unwind destinations cannot form a cycle. This +ensures that EH lowering can construct "try regions" with a tree-like +structure, which funclet-based personalities may require. Modified: vendor/llvm/dist/docs/GettingStartedVS.rst ============================================================================== --- vendor/llvm/dist/docs/GettingStartedVS.rst Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/docs/GettingStartedVS.rst Wed Jan 13 19:58:01 2016 (r293838) @@ -12,26 +12,20 @@ Welcome to LLVM on Windows! This documen Visual Studio, not mingw or cygwin. In order to get started, you first need to know some basic information. -There are many different projects that compose LLVM. The first is the LLVM -suite. This contains all of the tools, libraries, and header files needed to -use LLVM. It contains an assembler, disassembler, -bitcode analyzer and bitcode optimizer. It also contains a test suite that can -be used to test the LLVM tools. - -Another useful project on Windows is `Clang `_. -Clang is a C family ([Objective]C/C++) compiler. Clang mostly works on -Windows, but does not currently understand all of the Microsoft extensions -to C and C++. Because of this, clang cannot parse the C++ standard library -included with Visual Studio, nor parts of the Windows Platform SDK. However, -most standard C programs do compile. Clang can be used to emit bitcode, -directly emit object files or even linked executables using Visual Studio's -``link.exe``. +There are many different projects that compose LLVM. The first piece is the +LLVM suite. This contains all of the tools, libraries, and header files needed +to use LLVM. It contains an assembler, disassembler, bitcode analyzer and +bitcode optimizer. It also contains basic regression tests that can be used to +test the LLVM tools and the Clang front end. + +The second piece is the `Clang `_ front end. This +component compiles C, C++, Objective C, and Objective C++ code into LLVM +bitcode. Clang typically uses LLVM libraries to optimize the bitcode and emit +machine code. LLVM fully supports the COFF object file format, which is +compatible with all other existing Windows toolchains. -The large LLVM test suite cannot be run on the Visual Studio port at this -time. - -Most of the tools build and work. ``bugpoint`` does build, but does -not work. +The last major part of LLVM, the execution Test Suite, does not run on Windows, +and this document does not discuss it. Additional information about the LLVM directory structure and tool chain can be found on the main :doc:`GettingStarted` page. Modified: vendor/llvm/dist/docs/LangRef.rst ============================================================================== --- vendor/llvm/dist/docs/LangRef.rst Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/docs/LangRef.rst Wed Jan 13 19:58:01 2016 (r293838) @@ -1579,6 +1579,8 @@ caller's deoptimization state to the cal semantically equivalent to composing the caller's deoptimization continuation after the callee's deoptimization continuation. +.. _ob_funclet: + Funclet Operand Bundles ^^^^^^^^^^^^^^^^^^^^^^^ @@ -1588,6 +1590,18 @@ is within a particular funclet. There c ``"funclet"`` operand bundle attached to a call site and it must have exactly one bundle operand. +If any funclet EH pads have been "entered" but not "exited" (per the +`description in the EH doc\ `_), +it is undefined behavior to execute a ``call`` or ``invoke`` which: + +* does not have a ``"funclet"`` bundle and is not a ``call`` to a nounwind + intrinsic, or +* has a ``"funclet"`` bundle whose operand is not the most-recently-entered + not-yet-exited funclet EH pad. + +Similarly, if no funclet EH pads have been entered-but-not-yet-exited, +executing a ``call`` or ``invoke`` with a ``"funclet"`` bundle is undefined behavior. + .. _moduleasm: Module-Level Inline Assembly @@ -5404,10 +5418,12 @@ The ``parent`` argument is the token of ``catchswitch`` instruction. If the ``catchswitch`` is not inside a funclet, this operand may be the token ``none``. -The ``default`` argument is the label of another basic block beginning with a -"pad" instruction, one of ``cleanuppad`` or ``catchswitch``. +The ``default`` argument is the label of another basic block beginning with +either a ``cleanuppad`` or ``catchswitch`` instruction. This unwind destination +must be a legal target with respect to the ``parent`` links, as described in +the `exception handling documentation\ `_. -The ``handlers`` are a list of successor blocks that each begin with a +The ``handlers`` are a nonempty list of successor blocks that each begin with a :ref:`catchpad ` instruction. Semantics: @@ -5431,82 +5447,6 @@ Example: dispatch2: %cs2 = catchswitch within %parenthandler [label %handler0] unwind label %cleanup -.. _i_catchpad: - -'``catchpad``' Instruction -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Syntax: -""""""" - -:: - - = catchpad within [*] - -Overview: -""""""""" - -The '``catchpad``' instruction is used by `LLVM's exception handling -system `_ to specify that a basic block -begins a catch handler --- one where a personality routine attempts to transfer -control to catch an exception. - -Arguments: -"""""""""" - -The ``catchswitch`` operand must always be a token produced by a -:ref:`catchswitch ` instruction in a predecessor block. This -ensures that each ``catchpad`` has exactly one predecessor block, and it always -terminates in a ``catchswitch``. - -The ``args`` correspond to whatever information the personality routine -requires to know if this is an appropriate handler for the exception. Control -will transfer to the ``catchpad`` if this is the first appropriate handler for -the exception. - -The ``resultval`` has the type :ref:`token ` and is used to match the -``catchpad`` to corresponding :ref:`catchrets ` and other nested EH -pads. - -Semantics: -"""""""""" - -When the call stack is being unwound due to an exception being thrown, the -exception is compared against the ``args``. If it doesn't match, control will -not reach the ``catchpad`` instruction. The representation of ``args`` is -entirely target and personality function-specific. - -Like the :ref:`landingpad ` instruction, the ``catchpad`` -instruction must be the first non-phi of its parent basic block. - -The meaning of the tokens produced and consumed by ``catchpad`` and other "pad" -instructions is described in the -`Windows exception handling documentation `. - -Executing a ``catchpad`` instruction constitutes "entering" that pad. -The pad may then be "exited" in one of three ways: - -1) explicitly via a ``catchret`` that consumes it. Executing such a ``catchret`` - is undefined behavior if any descendant pads have been entered but not yet - exited. -2) implicitly via a call (which unwinds all the way to the current function's caller), - or via a ``catchswitch`` or a ``cleanupret`` that unwinds to caller. -3) implicitly via an unwind edge whose destination EH pad isn't a descendant of - the ``catchpad``. When the ``catchpad`` is exited in this manner, it is - undefined behavior if the destination EH pad has a parent which is not an - ancestor of the ``catchpad`` being exited. - -Example: -"""""""" - -.. code-block:: llvm - - dispatch: - %cs = catchswitch within none [label %handler0] unwind to caller - ;; A catch block which can catch an integer. - handler0: - %tok = catchpad within %cs [i8** @_ZTIi] - .. _i_catchret: '``catchret``' Instruction @@ -5543,11 +5483,10 @@ unwinding was interrupted with a :ref:`c code to, for example, destroy the active exception. Control then transfers to ``normal``. -The ``token`` argument must be a token produced by a dominating ``catchpad`` -instruction. The ``catchret`` destroys the physical frame established by -``catchpad``, so executing multiple returns on the same token without -re-executing the ``catchpad`` will result in undefined behavior. -See :ref:`catchpad ` for more details. +The ``token`` argument must be a token produced by a ``catchpad`` instruction. +If the specified ``catchpad`` is not the most-recently-entered not-yet-exited +funclet pad (as described in the `EH documentation\ `_), +the ``catchret``'s behavior is undefined. Example: """""""" @@ -5581,7 +5520,15 @@ Arguments: The '``cleanupret``' instruction requires one argument, which indicates which ``cleanuppad`` it exits, and must be a :ref:`cleanuppad `. -It also has an optional successor, ``continue``. +If the specified ``cleanuppad`` is not the most-recently-entered not-yet-exited +funclet pad (as described in the `EH documentation\ `_), +the ``cleanupret``'s behavior is undefined. + +The '``cleanupret``' instruction also has an optional successor, ``continue``, +which must be the label of another basic block beginning with either a +``cleanuppad`` or ``catchswitch`` instruction. This unwind destination must +be a legal target with respect to the ``parent`` links, as described in the +`exception handling documentation\ `_. Semantics: """""""""" @@ -5591,13 +5538,6 @@ The '``cleanupret``' instruction indicat :ref:`cleanuppad ` it transferred control to has ended. It transfers control to ``continue`` or unwinds out of the function. -The unwind destination ``continue``, if present, must be an EH pad -whose parent is either ``none`` or an ancestor of the ``cleanuppad`` -being returned from. This constitutes an exceptional exit from all -ancestors of the completed ``cleanuppad``, up to but not including -the parent of ``continue``. -See :ref:`cleanuppad ` for more details. - Example: """""""" @@ -6996,7 +6936,7 @@ name ```` corresponding to a meta value 1. The existence of the ``!nontemporal`` metadata on the instruction tells the optimizer and code generator that this load is not expected to be reused in the cache. The code generator may select special -instructions to save cache bandwidth, such as the MOVNT instruction on +instructions to save cache bandwidth, such as the ``MOVNT`` instruction on x86. The optional ``!invariant.group`` metadata must reference a @@ -8590,6 +8530,74 @@ Example: catch i8** @_ZTIi filter [1 x i8**] [@_ZTId] +.. _i_catchpad: + +'``catchpad``' Instruction +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Syntax: +""""""" + +:: + + = catchpad within [*] + +Overview: +""""""""" + +The '``catchpad``' instruction is used by `LLVM's exception handling +system `_ to specify that a basic block +begins a catch handler --- one where a personality routine attempts to transfer +control to catch an exception. + +Arguments: +"""""""""" + +The ``catchswitch`` operand must always be a token produced by a +:ref:`catchswitch ` instruction in a predecessor block. This +ensures that each ``catchpad`` has exactly one predecessor block, and it always +terminates in a ``catchswitch``. + +The ``args`` correspond to whatever information the personality routine +requires to know if this is an appropriate handler for the exception. Control +will transfer to the ``catchpad`` if this is the first appropriate handler for +the exception. + +The ``resultval`` has the type :ref:`token ` and is used to match the +``catchpad`` to corresponding :ref:`catchrets ` and other nested EH +pads. + +Semantics: +"""""""""" + +When the call stack is being unwound due to an exception being thrown, the +exception is compared against the ``args``. If it doesn't match, control will +not reach the ``catchpad`` instruction. The representation of ``args`` is +entirely target and personality function-specific. + +Like the :ref:`landingpad ` instruction, the ``catchpad`` +instruction must be the first non-phi of its parent basic block. + +The meaning of the tokens produced and consumed by ``catchpad`` and other "pad" +instructions is described in the +`Windows exception handling documentation\ `_. + +When a ``catchpad`` has been "entered" but not yet "exited" (as +described in the `EH documentation\ `_), +it is undefined behavior to execute a :ref:`call ` or :ref:`invoke ` +that does not carry an appropriate :ref:`"funclet" bundle `. + +Example: +"""""""" + +.. code-block:: llvm + + dispatch: + %cs = catchswitch within none [label %handler0] unwind to caller + ;; A catch block which can catch an integer. + handler0: + %tok = catchpad within %cs [i8** @_ZTIi] + .. _i_cleanuppad: '``cleanuppad``' Instruction @@ -8644,22 +8652,10 @@ The ``cleanuppad`` instruction has sever - A basic block that is not a cleanup block may not include a '``cleanuppad``' instruction. -Executing a ``cleanuppad`` instruction constitutes "entering" that pad. -The pad may then be "exited" in one of three ways: - -1) explicitly via a ``cleanupret`` that consumes it. Executing such a ``cleanupret`` - is undefined behavior if any descendant pads have been entered but not yet - exited. -2) implicitly via a call (which unwinds all the way to the current function's caller), - or via a ``catchswitch`` or a ``cleanupret`` that unwinds to caller. -3) implicitly via an unwind edge whose destination EH pad isn't a descendant of - the ``cleanuppad``. When the ``cleanuppad`` is exited in this manner, it is - undefined behavior if the destination EH pad has a parent which is not an - ancestor of the ``cleanuppad`` being exited. - -It is undefined behavior for the ``cleanuppad`` to exit via an unwind edge which -does not transitively unwind to the same destination as a constituent -``cleanupret``. +When a ``cleanuppad`` has been "entered" but not yet "exited" (as +described in the `EH documentation\ `_), +it is undefined behavior to execute a :ref:`call ` or :ref:`invoke ` +that does not carry an appropriate :ref:`"funclet" bundle `. Example: """""""" Modified: vendor/llvm/dist/docs/Phabricator.rst ============================================================================== --- vendor/llvm/dist/docs/Phabricator.rst Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/docs/Phabricator.rst Wed Jan 13 19:58:01 2016 (r293838) @@ -136,7 +136,7 @@ reviewers, the ``Differential Revision`` arc commit --revision D -When committing an LLVM change that has been reviewed using +When committing a change that has been reviewed using Phabricator, the convention is for the commit message to end with the line: @@ -153,6 +153,12 @@ This allows people reading the version h context. This also allows Phabricator to detect the commit, close the review, and add a link from the review to the commit. +If you use ``git`` or ``svn`` to commit the change and forget to add the line +to your commit message, you should close the review manually. In the web UI, +under "Leap Into Action" put the SVN revision number in the Comment, set the +Action to "Close Revision" and click Submit. Note the review must have been +Accepted first. + Abandoning a change ------------------- Modified: vendor/llvm/dist/docs/ProgrammersManual.rst ============================================================================== --- vendor/llvm/dist/docs/ProgrammersManual.rst Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/docs/ProgrammersManual.rst Wed Jan 13 19:58:01 2016 (r293838) @@ -408,6 +408,9 @@ Then you can run your pass like this: 'foo' debug type $ opt < a.bc > /dev/null -mypass -debug-only=bar 'bar' debug type + $ opt < a.bc > /dev/null -mypass -debug-only=foo,bar + 'foo' debug type + 'bar' debug type Of course, in practice, you should only set ``DEBUG_TYPE`` at the top of a file, to specify the debug type for the entire module. Be careful that you only do @@ -417,7 +420,8 @@ system in place to ensure that names do use the same string, they will all be turned on when the name is specified. This allows, for example, all debug information for instruction scheduling to be enabled with ``-debug-only=InstrSched``, even if the source lives in multiple -files. +files. The name must not include a comma (,) as that is used to seperate the +arguments of the ``-debug-only`` option. For performance reasons, -debug-only is not available in optimized build (``--enable-optimized``) of LLVM. Modified: vendor/llvm/dist/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp ============================================================================== --- vendor/llvm/dist/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp Wed Jan 13 19:58:01 2016 (r293838) @@ -4,7 +4,7 @@ #include "llvm/ExecutionEngine/Orc/LambdaResolver.h" #include "llvm/ExecutionEngine/Orc/LazyEmittingLayer.h" #include "llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h" -#include "llvm/ExecutionEngine/Orc/OrcTargetSupport.h" +#include "llvm/ExecutionEngine/Orc/OrcArchitectureSupport.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/IRBuilder.h" Modified: vendor/llvm/dist/include/llvm/ADT/IntEqClasses.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/IntEqClasses.h Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/include/llvm/ADT/IntEqClasses.h Wed Jan 13 19:58:01 2016 (r293838) @@ -53,10 +53,10 @@ public: NumClasses = 0; } - /// join - Join the equivalence classes of a and b. After joining classes, - /// findLeader(a) == findLeader(b). - /// This requires an uncompressed map. - void join(unsigned a, unsigned b); + /// Join the equivalence classes of a and b. After joining classes, + /// findLeader(a) == findLeader(b). This requires an uncompressed map. + /// Returns the new leader. + unsigned join(unsigned a, unsigned b); /// findLeader - Compute the leader of a's equivalence class. This is the /// smallest member of the class. Added: vendor/llvm/dist/include/llvm/ADT/PointerEmbeddedInt.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/llvm/dist/include/llvm/ADT/PointerEmbeddedInt.h Wed Jan 13 19:58:01 2016 (r293838) @@ -0,0 +1,103 @@ +//===- llvm/ADT/PointerEmbeddedInt.h ----------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ADT_POINTEREMBEDDEDINT_H +#define LLVM_ADT_POINTEREMBEDDEDINT_H + +#include "llvm/ADT/DenseMapInfo.h" +#include "llvm/Support/PointerLikeTypeTraits.h" +#include + +namespace llvm { + +/// Utility to embed an integer into a pointer-like type. This is specifically +/// intended to allow embedding integers where fewer bits are required than +/// exist in a pointer, and the integer can participate in abstractions along +/// side other pointer-like types. For example it can be placed into a \c +/// PointerSumType or \c PointerUnion. +/// +/// Note that much like pointers, an integer value of zero has special utility +/// due to boolean conversions. For example, a non-null value can be tested for +/// in the above abstractions without testing the particular active member. +/// Also, the default constructed value zero initializes the integer. +template +class PointerEmbeddedInt { + uintptr_t Value; + + static_assert(Bits < sizeof(uintptr_t) * CHAR_BIT, + "Cannot embed more bits than we have in a pointer!"); + + enum : uintptr_t { + // We shift as many zeros into the value as we can while preserving the + // number of bits desired for the integer. + Shift = sizeof(uintptr_t) * CHAR_BIT - Bits, + + // We also want to be able to mask out the preserved bits for asserts. + Mask = static_cast(-1) << Bits + }; + + friend class PointerLikeTypeTraits; + + explicit PointerEmbeddedInt(uintptr_t Value) : Value(Value) {} + +public: + PointerEmbeddedInt() : Value(0) {} + + PointerEmbeddedInt(IntT I) : Value(static_cast(I) << Shift) { + assert((I & Mask) == 0 && "Integer has bits outside those preserved!"); + } + + PointerEmbeddedInt &operator=(IntT I) { + assert((I & Mask) == 0 && "Integer has bits outside those preserved!"); + Value = static_cast(I) << Shift; + } + + // Note that this imilict conversion additionally allows all of the basic + // comparison operators to work transparently, etc. + operator IntT() const { return static_cast(Value >> Shift); } +}; + +// Provide pointer like traits to support use with pointer unions and sum +// types. +template +class PointerLikeTypeTraits> { + typedef PointerEmbeddedInt T; + +public: + static inline void *getAsVoidPointer(const T &P) { + return reinterpret_cast(P.Value); + } + static inline T getFromVoidPointer(void *P) { + return T(reinterpret_cast(P)); + } + static inline T getFromVoidPointer(const void *P) { + return T(reinterpret_cast(P)); + } + + enum { NumLowBitsAvailable = T::Shift }; +}; + +// Teach DenseMap how to use PointerEmbeddedInt objects as keys if the Int type +// itself can be a key. +template +struct DenseMapInfo> { + typedef PointerEmbeddedInt T; + + typedef DenseMapInfo IntInfo; + + static inline T getEmptyKey() { return IntInfo::getEmptyKey(); } + static inline T getTombstoneKey() { return IntInfo::getTombstoneKey(); } + static unsigned getHashValue(const T &Arg) { + return IntInfo::getHashValue(Arg); + } + static bool isEqual(const T &LHS, const T &RHS) { return LHS == RHS; } +}; +} + +#endif Modified: vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h Wed Jan 13 19:58:01 2016 (r293838) @@ -55,20 +55,25 @@ public: PointerTy getPointer() const { return Info::getPointer(Value); } - IntType getInt() const { return (IntType)Info::getInt(Value); } + IntType getInt() const { + return (IntType)Info::getInt(Value); + } void setPointer(PointerTy PtrVal) { Value = Info::updatePointer(Value, PtrVal); } - void setInt(IntType IntVal) { Value = Info::updateInt(Value, IntVal); } + void setInt(IntType IntVal) { + Value = Info::updateInt(Value, static_cast(IntVal)); + } void initWithPointer(PointerTy PtrVal) { Value = Info::updatePointer(0, PtrVal); } void setPointerAndInt(PointerTy PtrVal, IntType IntVal) { - Value = Info::updateInt(Info::updatePointer(0, PtrVal), IntVal); + Value = Info::updateInt(Info::updatePointer(0, PtrVal), + static_cast(IntVal)); } PointerTy const *getAddrOfPointer() const { Added: vendor/llvm/dist/include/llvm/ADT/PointerSumType.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/llvm/dist/include/llvm/ADT/PointerSumType.h Wed Jan 13 19:58:01 2016 (r293838) @@ -0,0 +1,205 @@ +//===- llvm/ADT/PointerSumType.h --------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ADT_POINTERSUMTYPE_H +#define LLVM_ADT_POINTERSUMTYPE_H + +#include "llvm/ADT/DenseMapInfo.h" +#include "llvm/Support/Compiler.h" +#include "llvm/Support/PointerLikeTypeTraits.h" + +namespace llvm { + +/// A compile time pair of an integer tag and the pointer-like type which it +/// indexes within a sum type. Also allows the user to specify a particular +/// traits class for pointer types with custom behavior such as over-aligned +/// allocation. +template > +struct PointerSumTypeMember { + enum { Tag = N }; + typedef PointerArgT PointerT; + typedef TraitsArgT TraitsT; +}; + +namespace detail { + +template +struct PointerSumTypeHelper; + +} + +/// A sum type over pointer-like types. +/// +/// This is a normal tagged union across pointer-like types that uses the low +/// bits of the pointers to store the tag. +/// +/// Each member of the sum type is specified by passing a \c +/// PointerSumTypeMember specialization in the variadic member argument list. +/// This allows the user to control the particular tag value associated with +/// a particular type, use the same type for multiple different tags, and +/// customize the pointer-like traits used for a particular member. Note that +/// these *must* be specializations of \c PointerSumTypeMember, no other type +/// will suffice, even if it provides a compatible interface. +/// +/// This type implements all of the comparison operators and even hash table +/// support by comparing the underlying storage of the pointer values. It +/// doesn't support delegating to particular members for comparisons. +/// +/// It also default constructs to a zero tag with a null pointer, whatever that +/// would be. This means that the zero value for the tag type is significant +/// and may be desireable to set to a state that is particularly desirable to +/// default construct. +/// +/// There is no support for constructing or accessing with a dynamic tag as +/// that would fundamentally violate the type safety provided by the sum type. +template class PointerSumType { + uintptr_t Value; + + typedef detail::PointerSumTypeHelper HelperT; + +public: + PointerSumType() : Value(0) {} + + /// A typed constructor for a specific tagged member of the sum type. + template + static PointerSumType + create(typename HelperT::template Lookup::PointerT Pointer) { + PointerSumType Result; + void *V = HelperT::template Lookup::TraitsT::getAsVoidPointer(Pointer); + assert((reinterpret_cast(V) & HelperT::TagMask) == 0 && + "Pointer is insufficiently aligned to store the discriminant!"); + Result.Value = reinterpret_cast(V) | N; + return Result; + } + + TagT getTag() const { return static_cast(Value & HelperT::TagMask); } + + template bool is() const { return N == getTag(); } + + template typename HelperT::template Lookup::PointerT get() const { + void *P = is() ? getImpl() : nullptr; + return HelperT::template Lookup::TraitsT::getFromVoidPointer(P); + } + + template + typename HelperT::template Lookup::PointerT cast() const { + assert(is() && "This instance has a different active member."); + return HelperT::template Lookup::TraitsT::getFromVoidPointer(getImpl()); + } + + operator bool() const { return Value & HelperT::PointerMask; } + bool operator==(const PointerSumType &R) const { return Value == R.Value; } + bool operator!=(const PointerSumType &R) const { return Value != R.Value; } + bool operator<(const PointerSumType &R) const { return Value < R.Value; } + bool operator>(const PointerSumType &R) const { return Value > R.Value; } + bool operator<=(const PointerSumType &R) const { return Value <= R.Value; } + bool operator>=(const PointerSumType &R) const { return Value >= R.Value; } + + uintptr_t getOpaqueValue() const { return Value; } + +protected: + void *getImpl() const { + return reinterpret_cast(Value & HelperT::PointerMask); + } +}; + +namespace detail { + +/// A helper template for implementing \c PointerSumType. It provides fast +/// compile-time lookup of the member from a particular tag value, along with +/// useful constants and compile time checking infrastructure.. +template +struct PointerSumTypeHelper : MemberTs... { + // First we use a trick to allow quickly looking up information about + // a particular member of the sum type. This works because we arranged to + // have this type derive from all of the member type templates. We can select + // the matching member for a tag using type deduction during overload + // resolution. + template + static PointerSumTypeMember + LookupOverload(PointerSumTypeMember *); + template static void LookupOverload(...); + template struct Lookup { + // Compute a particular member type by resolving the lookup helper ovorload. + typedef decltype(LookupOverload( + static_cast(nullptr))) MemberT; + + /// The Nth member's pointer type. + typedef typename MemberT::PointerT PointerT; + + /// The Nth member's traits type. + typedef typename MemberT::TraitsT TraitsT; + }; + + // Next we need to compute the number of bits available for the discriminant + // by taking the min of the bits available for each member. Much of this + // would be amazingly easier with good constexpr support. + template + struct Min : std::integral_constant< + uintptr_t, (V < Min::value ? V : Min::value)> { + }; + template + struct Min : std::integral_constant {}; + enum { NumTagBits = Min::value }; + + // Also compute the smallest discriminant and various masks for convenience. + enum : uint64_t { + MinTag = Min::value, + PointerMask = static_cast(-1) << NumTagBits, + TagMask = ~PointerMask + }; + + // Finally we need a recursive template to do static checks of each + // member. + template + struct Checker : Checker { + static_assert(MemberT::Tag < (1 << NumTagBits), + "This discriminant value requires too many bits!"); + }; + template struct Checker : std::true_type { + static_assert(MemberT::Tag < (1 << NumTagBits), + "This discriminant value requires too many bits!"); + }; + static_assert(Checker::value, + "Each member must pass the checker."); +}; + +} + +// Teach DenseMap how to use PointerSumTypes as keys. +template +struct DenseMapInfo> { + typedef PointerSumType SumType; + + typedef detail::PointerSumTypeHelper HelperT; + enum { SomeTag = HelperT::MinTag }; + typedef typename HelperT::template Lookup::PointerT + SomePointerT; + typedef DenseMapInfo SomePointerInfo; + + static inline SumType getEmptyKey() { + return SumType::create(SomePointerInfo::getEmptyKey()); + } + static inline SumType getTombstoneKey() { + return SumType::create( + SomePointerInfo::getTombstoneKey()); + } + static unsigned getHashValue(const SumType &Arg) { + uintptr_t OpaqueValue = Arg.getOpaqueValue(); + return DenseMapInfo::getHashValue(OpaqueValue); + } + static bool isEqual(const SumType &LHS, const SumType &RHS) { + return LHS == RHS; + } +}; + +} + +#endif Modified: vendor/llvm/dist/include/llvm/ADT/Twine.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/Twine.h Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/include/llvm/ADT/Twine.h Wed Jan 13 19:58:01 2016 (r293838) @@ -101,15 +101,13 @@ namespace llvm { /// A pointer to a SmallString instance. SmallStringKind, - /// A char value reinterpreted as a pointer, to render as a character. + /// A char value, to render as a character. CharKind, - /// An unsigned int value reinterpreted as a pointer, to render as an - /// unsigned decimal integer. + /// An unsigned int value, to render as an unsigned decimal integer. DecUIKind, - /// An int value reinterpreted as a pointer, to render as a signed - /// decimal integer. + /// An int value, to render as a signed decimal integer. DecIKind, /// A pointer to an unsigned long value, to render as an unsigned decimal Modified: vendor/llvm/dist/include/llvm/Analysis/LazyCallGraph.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/LazyCallGraph.h Wed Jan 13 19:52:25 2016 (r293837) +++ vendor/llvm/dist/include/llvm/Analysis/LazyCallGraph.h Wed Jan 13 19:58:01 2016 (r293838) @@ -104,54 +104,10 @@ class LazyCallGraph { public: class Node; class SCC; + class iterator; typedef SmallVector, 4> NodeVectorT; typedef SmallVectorImpl> NodeVectorImplT; - /// A lazy iterator used for both the entry nodes and child nodes. - /// - /// When this iterator is dereferenced, if not yet available, a function will - /// be scanned for "calls" or uses of functions and its child information - /// will be constructed. All of these results are accumulated and cached in - /// the graph. - class iterator - : public iterator_adaptor_base { - friend class LazyCallGraph; - friend class LazyCallGraph::Node; - - LazyCallGraph *G; - NodeVectorImplT::iterator E; - - // Build the iterator for a specific position in a node list. - iterator(LazyCallGraph &G, NodeVectorImplT::iterator NI, - NodeVectorImplT::iterator E) - : iterator_adaptor_base(NI), G(&G), E(E) { - while (I != E && I->isNull()) - ++I; - } - - public: - iterator() {} - - using iterator_adaptor_base::operator++; - iterator &operator++() { - do { - ++I; - } while (I != E && I->isNull()); - return *this; - } - - reference operator*() const { - if (I->is()) - return *I->get(); - - Function *F = I->get(); - Node &ChildN = G->get(*F); - *I = &ChildN; - return ChildN; - } - }; - /// A node in the call graph. /// /// This represents a single node. It's primary roles are to cache the list of *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Jan 13 19:58:40 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4C179A81D49; Wed, 13 Jan 2016 19:58:40 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 014821AFF; Wed, 13 Jan 2016 19:58:39 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DJwcsi084878; Wed, 13 Jan 2016 19:58:38 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DJwcNF084877; Wed, 13 Jan 2016 19:58:38 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601131958.u0DJwcNF084877@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 19:58:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293839 - vendor/llvm/llvm-trunk-r257626 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 19:58:40 -0000 Author: dim Date: Wed Jan 13 19:58:38 2016 New Revision: 293839 URL: https://svnweb.freebsd.org/changeset/base/293839 Log: Tag llvm trunk r257626. Added: vendor/llvm/llvm-trunk-r257626/ - copied from r293838, vendor/llvm/dist/ From owner-svn-src-vendor@freebsd.org Wed Jan 13 20:00:51 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 12F73A81E20; Wed, 13 Jan 2016 20:00:51 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B39301CAD; Wed, 13 Jan 2016 20:00:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DK0nYP085543; Wed, 13 Jan 2016 20:00:49 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DK0kEL085013; Wed, 13 Jan 2016 20:00:46 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601132000.u0DK0kEL085013@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 20:00:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293840 - in vendor/clang/dist: include/clang/AST include/clang/ASTMatchers include/clang/Basic include/clang/CodeGen include/clang/Driver include/clang/Lex include/clang/Parse include/... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 20:00:51 -0000 Author: dim Date: Wed Jan 13 20:00:46 2016 New Revision: 293840 URL: https://svnweb.freebsd.org/changeset/base/293840 Log: Vendor import of clang trunk r257626: https://llvm.org/svn/llvm-project/cfe/trunk@257626 Added: vendor/clang/dist/test/Analysis/inlining/analysis-order.c (contents, props changed) vendor/clang/dist/test/Analysis/range_casts.c (contents, props changed) vendor/clang/dist/test/CXX/class/class.union/class.union.anon/ vendor/clang/dist/test/CXX/class/class.union/class.union.anon/p1.cpp (contents, props changed) vendor/clang/dist/test/CXX/class/class.union/class.union.anon/p4.cpp (contents, props changed) vendor/clang/dist/test/CodeGenCXX/builtins-systemz-zvector.cpp (contents, props changed) vendor/clang/dist/test/CodeGenOpenCL/pipe_types.cl vendor/clang/dist/test/Driver/arm-xscale.c (contents, props changed) vendor/clang/dist/test/Driver/cuda-bad-arch.cu vendor/clang/dist/test/Driver/cuda-unused-arg-warning.cu vendor/clang/dist/test/Index/print-type-declaration.cpp (contents, props changed) vendor/clang/dist/test/Misc/ast-print-char-literal.cpp (contents, props changed) vendor/clang/dist/test/Modules/Inputs/using-decl-redecl/d.h (contents, props changed) vendor/clang/dist/test/Modules/tag-injection.c (contents, props changed) vendor/clang/dist/test/PCH/chain-default-argument-instantiation.cpp (contents, props changed) vendor/clang/dist/test/PCH/cxx-char-literal.cpp (contents, props changed) vendor/clang/dist/test/Sema/darwin-tls.c (contents, props changed) vendor/clang/dist/test/SemaCUDA/attributes-on-non-cuda.cu vendor/clang/dist/test/SemaCUDA/bad-attributes.cu vendor/clang/dist/test/SemaCXX/linkage-invalid-decl.cpp (contents, props changed) vendor/clang/dist/test/SemaOpenCL/invalid-pipes-cl2.0.cl vendor/clang/dist/test/SemaOpenCL/pipes-1.2-negative.cl vendor/clang/dist/tools/scan-build-py/ vendor/clang/dist/tools/scan-build-py/README.md vendor/clang/dist/tools/scan-build-py/bin/ vendor/clang/dist/tools/scan-build-py/bin/analyze-build vendor/clang/dist/tools/scan-build-py/bin/analyze-c++ vendor/clang/dist/tools/scan-build-py/bin/analyze-cc vendor/clang/dist/tools/scan-build-py/bin/intercept-build vendor/clang/dist/tools/scan-build-py/bin/intercept-c++ vendor/clang/dist/tools/scan-build-py/bin/intercept-cc vendor/clang/dist/tools/scan-build-py/bin/scan-build vendor/clang/dist/tools/scan-build-py/libear/ vendor/clang/dist/tools/scan-build-py/libear/__init__.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/libear/config.h.in (contents, props changed) vendor/clang/dist/tools/scan-build-py/libear/ear.c (contents, props changed) vendor/clang/dist/tools/scan-build-py/libscanbuild/ vendor/clang/dist/tools/scan-build-py/libscanbuild/__init__.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/libscanbuild/analyze.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/libscanbuild/clang.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/libscanbuild/command.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/libscanbuild/intercept.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/libscanbuild/report.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/libscanbuild/resources/ vendor/clang/dist/tools/scan-build-py/libscanbuild/resources/scanview.css (contents, props changed) vendor/clang/dist/tools/scan-build-py/libscanbuild/resources/selectable.js vendor/clang/dist/tools/scan-build-py/libscanbuild/resources/sorttable.js vendor/clang/dist/tools/scan-build-py/libscanbuild/runner.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/libscanbuild/shell.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/ vendor/clang/dist/tools/scan-build-py/tests/__init__.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/ vendor/clang/dist/tools/scan-build-py/tests/functional/__init__.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/cases/ vendor/clang/dist/tools/scan-build-py/tests/functional/cases/__init__.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/cases/test_create_cdb.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/cases/test_exec_anatomy.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/cases/test_from_cdb.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/cases/test_from_cmd.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/exec/ vendor/clang/dist/tools/scan-build-py/tests/functional/exec/CMakeLists.txt (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/exec/config.h.in (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/exec/main.c (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/ vendor/clang/dist/tools/scan-build-py/tests/functional/src/broken-one.c (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/broken-two.c (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/build/ vendor/clang/dist/tools/scan-build-py/tests/functional/src/build/Makefile (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/clean-one.c (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/clean-two.c (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/compilation_database/ vendor/clang/dist/tools/scan-build-py/tests/functional/src/compilation_database/build_broken.json.in (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/compilation_database/build_clean.json.in (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/compilation_database/build_regular.json.in (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/emit-one.c (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/emit-two.c (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/include/ vendor/clang/dist/tools/scan-build-py/tests/functional/src/include/clean-one.h (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/functional/src/main.c (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/unit/ vendor/clang/dist/tools/scan-build-py/tests/unit/__init__.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/unit/fixtures.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/unit/test_analyze.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/unit/test_clang.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/unit/test_command.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/unit/test_intercept.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/unit/test_report.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/unit/test_runner.py (contents, props changed) vendor/clang/dist/tools/scan-build-py/tests/unit/test_shell.py (contents, props changed) Deleted: vendor/clang/dist/test/CXX/class/class.union/p8.cpp vendor/clang/dist/test/SemaCUDA/attributes.cu Modified: vendor/clang/dist/include/clang/AST/ASTContext.h vendor/clang/dist/include/clang/AST/ASTMutationListener.h vendor/clang/dist/include/clang/AST/BuiltinTypes.def vendor/clang/dist/include/clang/AST/Decl.h vendor/clang/dist/include/clang/AST/DeclBase.h vendor/clang/dist/include/clang/AST/Expr.h vendor/clang/dist/include/clang/AST/ExprCXX.h vendor/clang/dist/include/clang/AST/OperationKinds.h vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h vendor/clang/dist/include/clang/AST/Stmt.h vendor/clang/dist/include/clang/AST/Type.h vendor/clang/dist/include/clang/AST/TypeLoc.h vendor/clang/dist/include/clang/AST/TypeNodes.def vendor/clang/dist/include/clang/ASTMatchers/ASTMatchersInternal.h vendor/clang/dist/include/clang/Basic/DiagnosticDriverKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td vendor/clang/dist/include/clang/Basic/DiagnosticIDs.h vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td vendor/clang/dist/include/clang/Basic/Specifiers.h vendor/clang/dist/include/clang/Basic/TokenKinds.def vendor/clang/dist/include/clang/Basic/VirtualFileSystem.h vendor/clang/dist/include/clang/CodeGen/BackendUtil.h vendor/clang/dist/include/clang/Driver/Action.h vendor/clang/dist/include/clang/Driver/Compilation.h vendor/clang/dist/include/clang/Driver/Driver.h vendor/clang/dist/include/clang/Driver/Options.td vendor/clang/dist/include/clang/Driver/ToolChain.h vendor/clang/dist/include/clang/Lex/LiteralSupport.h vendor/clang/dist/include/clang/Parse/Parser.h vendor/clang/dist/include/clang/Sema/DeclSpec.h vendor/clang/dist/include/clang/Sema/Lookup.h vendor/clang/dist/include/clang/Sema/Overload.h vendor/clang/dist/include/clang/Sema/Sema.h vendor/clang/dist/include/clang/Serialization/ASTBitCodes.h vendor/clang/dist/include/clang/Serialization/ASTWriter.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h vendor/clang/dist/lib/AST/ASTContext.cpp vendor/clang/dist/lib/AST/ASTDumper.cpp vendor/clang/dist/lib/AST/ASTImporter.cpp vendor/clang/dist/lib/AST/Decl.cpp vendor/clang/dist/lib/AST/DeclBase.cpp vendor/clang/dist/lib/AST/Expr.cpp vendor/clang/dist/lib/AST/ExprCXX.cpp vendor/clang/dist/lib/AST/ExprConstant.cpp vendor/clang/dist/lib/AST/ItaniumMangle.cpp vendor/clang/dist/lib/AST/MicrosoftMangle.cpp vendor/clang/dist/lib/AST/RecordLayoutBuilder.cpp vendor/clang/dist/lib/AST/StmtPrinter.cpp vendor/clang/dist/lib/AST/Type.cpp vendor/clang/dist/lib/AST/TypePrinter.cpp vendor/clang/dist/lib/Basic/Targets.cpp vendor/clang/dist/lib/Basic/VirtualFileSystem.cpp vendor/clang/dist/lib/CodeGen/BackendUtil.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.h vendor/clang/dist/lib/CodeGen/CGExpr.cpp vendor/clang/dist/lib/CodeGen/CGExprAgg.cpp vendor/clang/dist/lib/CodeGen/CGExprComplex.cpp vendor/clang/dist/lib/CodeGen/CGExprConstant.cpp vendor/clang/dist/lib/CodeGen/CGExprScalar.cpp vendor/clang/dist/lib/CodeGen/CGOpenCLRuntime.cpp vendor/clang/dist/lib/CodeGen/CGOpenCLRuntime.h vendor/clang/dist/lib/CodeGen/CGOpenMPRuntime.cpp vendor/clang/dist/lib/CodeGen/CGOpenMPRuntime.h vendor/clang/dist/lib/CodeGen/CodeGenAction.cpp vendor/clang/dist/lib/CodeGen/CodeGenFunction.cpp vendor/clang/dist/lib/CodeGen/CodeGenModule.cpp vendor/clang/dist/lib/CodeGen/CodeGenPGO.cpp vendor/clang/dist/lib/CodeGen/CodeGenTypes.cpp vendor/clang/dist/lib/CodeGen/CoverageMappingGen.cpp vendor/clang/dist/lib/CodeGen/CoverageMappingGen.h vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp vendor/clang/dist/lib/CodeGen/ObjectFilePCHContainerOperations.cpp vendor/clang/dist/lib/Driver/Action.cpp vendor/clang/dist/lib/Driver/Compilation.cpp vendor/clang/dist/lib/Driver/Driver.cpp vendor/clang/dist/lib/Driver/InputInfo.h vendor/clang/dist/lib/Driver/MSVCToolChain.cpp vendor/clang/dist/lib/Driver/MinGWToolChain.cpp vendor/clang/dist/lib/Driver/ToolChains.cpp vendor/clang/dist/lib/Driver/ToolChains.h vendor/clang/dist/lib/Driver/Tools.cpp vendor/clang/dist/lib/Driver/Tools.h vendor/clang/dist/lib/Edit/RewriteObjCFoundationAPI.cpp vendor/clang/dist/lib/Format/ContinuationIndenter.cpp vendor/clang/dist/lib/Format/Format.cpp vendor/clang/dist/lib/Format/TokenAnnotator.cpp vendor/clang/dist/lib/Format/UnwrappedLineParser.cpp vendor/clang/dist/lib/Format/UnwrappedLineParser.h vendor/clang/dist/lib/Format/WhitespaceManager.cpp vendor/clang/dist/lib/Format/WhitespaceManager.h vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp vendor/clang/dist/lib/Frontend/FrontendActions.cpp vendor/clang/dist/lib/Frontend/MultiplexConsumer.cpp vendor/clang/dist/lib/Headers/altivec.h vendor/clang/dist/lib/Lex/HeaderSearch.cpp vendor/clang/dist/lib/Lex/LiteralSupport.cpp vendor/clang/dist/lib/Lex/Pragma.cpp vendor/clang/dist/lib/Parse/ParseDecl.cpp vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp vendor/clang/dist/lib/Parse/ParseOpenMP.cpp vendor/clang/dist/lib/Parse/ParsePragma.cpp vendor/clang/dist/lib/Parse/ParseStmt.cpp vendor/clang/dist/lib/Parse/Parser.cpp vendor/clang/dist/lib/Sema/DeclSpec.cpp vendor/clang/dist/lib/Sema/SemaCast.cpp vendor/clang/dist/lib/Sema/SemaChecking.cpp vendor/clang/dist/lib/Sema/SemaDecl.cpp vendor/clang/dist/lib/Sema/SemaDeclAttr.cpp vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp vendor/clang/dist/lib/Sema/SemaExpr.cpp vendor/clang/dist/lib/Sema/SemaExprCXX.cpp vendor/clang/dist/lib/Sema/SemaExprObjC.cpp vendor/clang/dist/lib/Sema/SemaLookup.cpp vendor/clang/dist/lib/Sema/SemaOverload.cpp vendor/clang/dist/lib/Sema/SemaTemplate.cpp vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp vendor/clang/dist/lib/Sema/SemaTemplateVariadic.cpp vendor/clang/dist/lib/Sema/SemaType.cpp vendor/clang/dist/lib/Sema/TreeTransform.h vendor/clang/dist/lib/Serialization/ASTCommon.h vendor/clang/dist/lib/Serialization/ASTReader.cpp vendor/clang/dist/lib/Serialization/ASTReaderDecl.cpp vendor/clang/dist/lib/Serialization/ASTReaderStmt.cpp vendor/clang/dist/lib/Serialization/ASTWriter.cpp vendor/clang/dist/lib/Serialization/ASTWriterDecl.cpp vendor/clang/dist/lib/Serialization/ASTWriterStmt.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CStringChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MallocChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngineC.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/MemRegion.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ProgramState.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SValBuilder.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SVals.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/Store.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SymbolManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp vendor/clang/dist/test/CXX/class/class.mem/p13.cpp vendor/clang/dist/test/CXX/temp/temp.res/temp.local/p6.cpp vendor/clang/dist/test/CodeGen/builtins-ppc-vsx.c vendor/clang/dist/test/CodeGen/target-data.c vendor/clang/dist/test/CodeGenCXX/mangle-ms.cpp vendor/clang/dist/test/CodeGenCXX/pass-object-size.cpp vendor/clang/dist/test/CodeGenCXX/vector-splat-conversion.cpp vendor/clang/dist/test/CodeGenOpenCL/bool_cast.cl vendor/clang/dist/test/Driver/amdgpu-toolchain.c vendor/clang/dist/test/Driver/appletvos-version-min.c vendor/clang/dist/test/Driver/cl-options.c vendor/clang/dist/test/Driver/cuda-options.cu vendor/clang/dist/test/Driver/debug-options.c vendor/clang/dist/test/Driver/fortran.f95 vendor/clang/dist/test/Driver/gcc_forward.c vendor/clang/dist/test/Driver/pic.c vendor/clang/dist/test/Driver/wasm-toolchain.c vendor/clang/dist/test/Driver/wasm32-unknown-unknown.cpp vendor/clang/dist/test/Driver/wasm64-unknown-unknown.cpp vendor/clang/dist/test/Misc/ast-dump-lookups.cpp vendor/clang/dist/test/Modules/Inputs/DebugCXX.h vendor/clang/dist/test/Modules/Inputs/dummy.h vendor/clang/dist/test/Modules/Inputs/using-decl-redecl/a.h vendor/clang/dist/test/Modules/Inputs/using-decl-redecl/module.modulemap vendor/clang/dist/test/Modules/ModuleDebugInfo.cpp vendor/clang/dist/test/Modules/modular_maps.cpp vendor/clang/dist/test/Modules/separate_map_tree.cpp vendor/clang/dist/test/Modules/tag-injection.cpp vendor/clang/dist/test/Modules/using-decl-redecl.cpp vendor/clang/dist/test/OpenMP/barrier_ast_print.cpp vendor/clang/dist/test/OpenMP/barrier_messages.cpp vendor/clang/dist/test/OpenMP/cancel_messages.cpp vendor/clang/dist/test/OpenMP/cancellation_point_messages.cpp vendor/clang/dist/test/OpenMP/flush_messages.cpp vendor/clang/dist/test/OpenMP/target_codegen_registration.cpp vendor/clang/dist/test/OpenMP/target_codegen_registration_naming.cpp vendor/clang/dist/test/OpenMP/taskwait_messages.cpp vendor/clang/dist/test/OpenMP/taskyield_messages.cpp vendor/clang/dist/test/OpenMP/threadprivate_messages.cpp vendor/clang/dist/test/PCH/ocl_types.cl vendor/clang/dist/test/PCH/ocl_types.h vendor/clang/dist/test/Sema/bitfield-layout.c vendor/clang/dist/test/Sema/decl-in-prototype.c vendor/clang/dist/test/Sema/integer-overflow.c vendor/clang/dist/test/Sema/pass-object-size.c vendor/clang/dist/test/SemaCUDA/Inputs/cuda.h vendor/clang/dist/test/SemaCXX/anonymous-union.cpp vendor/clang/dist/test/SemaCXX/conversion.cpp vendor/clang/dist/test/SemaCXX/pass-object-size.cpp vendor/clang/dist/test/SemaTemplate/default-arguments-cxx0x.cpp vendor/clang/dist/test/SemaTemplate/temp_arg_template.cpp vendor/clang/dist/tools/CMakeLists.txt vendor/clang/dist/tools/c-index-test/c-index-test.c vendor/clang/dist/tools/libclang/CIndex.cpp vendor/clang/dist/tools/libclang/CXType.cpp vendor/clang/dist/unittests/AST/SourceLocationTest.cpp vendor/clang/dist/unittests/Basic/VirtualFileSystemTest.cpp vendor/clang/dist/unittests/Format/FormatTest.cpp vendor/clang/dist/unittests/Format/FormatTestJS.cpp vendor/clang/dist/unittests/Format/FormatTestSelective.cpp Modified: vendor/clang/dist/include/clang/AST/ASTContext.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTContext.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/ASTContext.h Wed Jan 13 20:00:46 2016 (r293840) @@ -131,6 +131,7 @@ class ASTContext : public RefCountedBase mutable llvm::FoldingSet AutoTypes; mutable llvm::FoldingSet AtomicTypes; llvm::FoldingSet AttributedTypes; + mutable llvm::FoldingSet PipeTypes; mutable llvm::FoldingSet QualifiedTemplateNames; mutable llvm::FoldingSet DependentTemplateNames; @@ -1079,6 +1080,9 @@ public: /// blocks. QualType getBlockDescriptorType() const; + /// \brief Return pipe type for the specified type. + QualType getPipeType(QualType T) const; + /// Gets the struct used to keep track of the extended descriptor for /// pointer to blocks. QualType getBlockDescriptorExtendedType() const; @@ -2279,9 +2283,13 @@ public: /// \brief Make an APSInt of the appropriate width and signedness for the /// given \p Value and integer \p Type. llvm::APSInt MakeIntValue(uint64_t Value, QualType Type) const { - llvm::APSInt Res(getIntWidth(Type), - !Type->isSignedIntegerOrEnumerationType()); + // If Type is a signed integer type larger than 64 bits, we need to be sure + // to sign extend Res appropriately. + llvm::APSInt Res(64, !Type->isSignedIntegerOrEnumerationType()); Res = Value; + unsigned Width = getIntWidth(Type); + if (Width != Res.getBitWidth()) + return Res.extOrTrunc(Width); return Res; } Modified: vendor/clang/dist/include/clang/AST/ASTMutationListener.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTMutationListener.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/ASTMutationListener.h Wed Jan 13 20:00:46 2016 (r293840) @@ -29,6 +29,7 @@ namespace clang { class ObjCContainerDecl; class ObjCInterfaceDecl; class ObjCPropertyDecl; + class ParmVarDecl; class QualType; class RecordDecl; class TagDecl; @@ -88,6 +89,9 @@ public: /// \brief A function template's definition was instantiated. virtual void FunctionDefinitionInstantiated(const FunctionDecl *D) {} + /// \brief A default argument was instantiated. + virtual void DefaultArgumentInstantiated(const ParmVarDecl *D) {} + /// \brief A new objc category class was added for an interface. virtual void AddedObjCCategoryToInterface(const ObjCCategoryDecl *CatD, const ObjCInterfaceDecl *IFD) {} Modified: vendor/clang/dist/include/clang/AST/BuiltinTypes.def ============================================================================== --- vendor/clang/dist/include/clang/AST/BuiltinTypes.def Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/BuiltinTypes.def Wed Jan 13 20:00:46 2016 (r293840) @@ -1,4 +1,4 @@ -//===-- BuiltinTypeNodes.def - Metadata about BuiltinTypes ------*- C++ -*-===// +//===-- BuiltinTypes.def - Metadata about BuiltinTypes ----------*- C++ -*-===// // // The LLVM Compiler Infrastructure // Modified: vendor/clang/dist/include/clang/AST/Decl.h ============================================================================== --- vendor/clang/dist/include/clang/AST/Decl.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/Decl.h Wed Jan 13 20:00:46 2016 (r293840) @@ -2440,10 +2440,9 @@ class IndirectFieldDecl : public ValueDe NamedDecl **Chaining; unsigned ChainingSize; - IndirectFieldDecl(DeclContext *DC, SourceLocation L, + IndirectFieldDecl(ASTContext &C, DeclContext *DC, SourceLocation L, DeclarationName N, QualType T, - NamedDecl **CH, unsigned CHS) - : ValueDecl(IndirectField, DC, L, N, T), Chaining(CH), ChainingSize(CHS) {} + NamedDecl **CH, unsigned CHS); public: static IndirectFieldDecl *Create(ASTContext &C, DeclContext *DC, Modified: vendor/clang/dist/include/clang/AST/DeclBase.h ============================================================================== --- vendor/clang/dist/include/clang/AST/DeclBase.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/DeclBase.h Wed Jan 13 20:00:46 2016 (r293840) @@ -113,6 +113,9 @@ public: /// Tags, declared with 'struct foo;' and referenced with /// 'struct foo'. All tags are also types. This is what /// elaborated-type-specifiers look for in C. + /// This also contains names that conflict with tags in the + /// same scope but that are otherwise ordinary names (non-type + /// template parameters and indirect field declarations). IDNS_Tag = 0x0002, /// Types, declared with 'struct foo', typedefs, etc. @@ -131,7 +134,7 @@ public: IDNS_Namespace = 0x0010, /// Ordinary names. In C, everything that's not a label, tag, - /// or member ends up here. + /// member, or function-local extern ends up here. IDNS_Ordinary = 0x0020, /// Objective C \@protocol. @@ -160,7 +163,9 @@ public: /// This declaration is a function-local extern declaration of a /// variable or function. This may also be IDNS_Ordinary if it - /// has been declared outside any function. + /// has been declared outside any function. These act mostly like + /// invisible friend declarations, but are also visible to unqualified + /// lookup within the scope of the declaring function. IDNS_LocalExtern = 0x0800 }; Modified: vendor/clang/dist/include/clang/AST/Expr.h ============================================================================== --- vendor/clang/dist/include/clang/AST/Expr.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/Expr.h Wed Jan 13 20:00:46 2016 (r293840) @@ -1292,6 +1292,7 @@ public: enum CharacterKind { Ascii, Wide, + UTF8, UTF16, UTF32 }; Modified: vendor/clang/dist/include/clang/AST/ExprCXX.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ExprCXX.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/ExprCXX.h Wed Jan 13 20:00:46 2016 (r293840) @@ -951,15 +951,9 @@ public: /// This wraps up a function call argument that was created from the /// corresponding parameter's default argument, when the call did not /// explicitly supply arguments for all of the parameters. -class CXXDefaultArgExpr final - : public Expr, - private llvm::TrailingObjects { +class CXXDefaultArgExpr final : public Expr { /// \brief The parameter whose default is being used. - /// - /// When the bit is set, the subexpression is stored after the - /// CXXDefaultArgExpr itself. When the bit is clear, the parameter's - /// actual default expression is the subexpression. - llvm::PointerIntPair Param; + ParmVarDecl *Param; /// \brief The location where the default argument expression was used. SourceLocation Loc; @@ -971,16 +965,7 @@ class CXXDefaultArgExpr final : param->getDefaultArg()->getType(), param->getDefaultArg()->getValueKind(), param->getDefaultArg()->getObjectKind(), false, false, false, false), - Param(param, false), Loc(Loc) { } - - CXXDefaultArgExpr(StmtClass SC, SourceLocation Loc, ParmVarDecl *param, - Expr *SubExpr) - : Expr(SC, SubExpr->getType(), - SubExpr->getValueKind(), SubExpr->getObjectKind(), - false, false, false, false), - Param(param, true), Loc(Loc) { - *getTrailingObjects() = SubExpr; - } + Param(param), Loc(Loc) { } public: CXXDefaultArgExpr(EmptyShell Empty) : Expr(CXXDefaultArgExprClass, Empty) {} @@ -992,24 +977,15 @@ public: return new (C) CXXDefaultArgExpr(CXXDefaultArgExprClass, Loc, Param); } - // \p Param is the parameter whose default argument is used by this - // expression, and \p SubExpr is the expression that will actually be used. - static CXXDefaultArgExpr *Create(const ASTContext &C, SourceLocation Loc, - ParmVarDecl *Param, Expr *SubExpr); - // Retrieve the parameter that the argument was created from. - const ParmVarDecl *getParam() const { return Param.getPointer(); } - ParmVarDecl *getParam() { return Param.getPointer(); } + const ParmVarDecl *getParam() const { return Param; } + ParmVarDecl *getParam() { return Param; } // Retrieve the actual argument to the function call. const Expr *getExpr() const { - if (Param.getInt()) - return *getTrailingObjects(); return getParam()->getDefaultArg(); } Expr *getExpr() { - if (Param.getInt()) - return *getTrailingObjects(); return getParam()->getDefaultArg(); } @@ -1033,7 +1009,6 @@ public: return child_range(child_iterator(), child_iterator()); } - friend TrailingObjects; friend class ASTStmtReader; friend class ASTStmtWriter; }; Modified: vendor/clang/dist/include/clang/AST/OperationKinds.h ============================================================================== --- vendor/clang/dist/include/clang/AST/OperationKinds.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/OperationKinds.h Wed Jan 13 20:00:46 2016 (r293840) @@ -185,7 +185,11 @@ enum CastKind { /// CK_FloatingToBoolean - Floating point to boolean. /// (bool) f CK_FloatingToBoolean, - + + // CK_BooleanToSignedIntegral - Convert a boolean to -1 or 0 for true and + // false, respectively. + CK_BooleanToSignedIntegral, + /// CK_FloatingCast - Casting between floating types of different size. /// (double) f /// (float) ld Modified: vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h ============================================================================== --- vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h Wed Jan 13 20:00:46 2016 (r293840) @@ -978,6 +978,8 @@ DEF_TRAVERSE_TYPE(ObjCObjectPointerType, DEF_TRAVERSE_TYPE(AtomicType, { TRY_TO(TraverseType(T->getValueType())); }) +DEF_TRAVERSE_TYPE(PipeType, { TRY_TO(TraverseType(T->getElementType())); }) + #undef DEF_TRAVERSE_TYPE // ----------------- TypeLoc traversal ----------------- @@ -1206,6 +1208,8 @@ DEF_TRAVERSE_TYPELOC(ObjCObjectPointerTy DEF_TRAVERSE_TYPELOC(AtomicType, { TRY_TO(TraverseTypeLoc(TL.getValueLoc())); }) +DEF_TRAVERSE_TYPELOC(PipeType, { TRY_TO(TraverseTypeLoc(TL.getValueLoc())); }) + #undef DEF_TRAVERSE_TYPELOC // ----------------- Decl traversal ----------------- Modified: vendor/clang/dist/include/clang/AST/Stmt.h ============================================================================== --- vendor/clang/dist/include/clang/AST/Stmt.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/Stmt.h Wed Jan 13 20:00:46 2016 (r293840) @@ -130,7 +130,7 @@ protected: friend class CharacterLiteral; unsigned : NumExprBits; - unsigned Kind : 2; + unsigned Kind : 3; }; enum APFloatSemantics { Modified: vendor/clang/dist/include/clang/AST/Type.h ============================================================================== --- vendor/clang/dist/include/clang/AST/Type.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/Type.h Wed Jan 13 20:00:46 2016 (r293840) @@ -1721,6 +1721,7 @@ public: bool isNDRangeT() const; // OpenCL ndrange_t bool isReserveIDT() const; // OpenCL reserve_id_t + bool isPipeType() const; // OpenCL pipe type bool isOpenCLSpecificType() const; // Any OpenCL specific type /// Determines if this type, which must satisfy @@ -5015,6 +5016,41 @@ class AtomicType : public Type, public l } }; +/// PipeType - OpenCL20. +class PipeType : public Type, public llvm::FoldingSetNode { + QualType ElementType; + + PipeType(QualType elemType, QualType CanonicalPtr) : + Type(Pipe, CanonicalPtr, elemType->isDependentType(), + elemType->isInstantiationDependentType(), + elemType->isVariablyModifiedType(), + elemType->containsUnexpandedParameterPack()), + ElementType(elemType) {} + friend class ASTContext; // ASTContext creates these. + +public: + + QualType getElementType() const { return ElementType; } + + bool isSugared() const { return false; } + + QualType desugar() const { return QualType(this, 0); } + + void Profile(llvm::FoldingSetNodeID &ID) { + Profile(ID, getElementType()); + } + + static void Profile(llvm::FoldingSetNodeID &ID, QualType T) { + ID.AddPointer(T.getAsOpaquePtr()); + } + + + static bool classof(const Type *T) { + return T->getTypeClass() == Pipe; + } + +}; + /// A qualifier set is used to build a set of qualifiers. class QualifierCollector : public Qualifiers { public: @@ -5461,9 +5497,13 @@ inline bool Type::isImageType() const { isImage1dBufferT(); } +inline bool Type::isPipeType() const { + return isa(CanonicalType); +} + inline bool Type::isOpenCLSpecificType() const { return isSamplerT() || isEventT() || isImageType() || isClkEventT() || - isQueueT() || isNDRangeT() || isReserveIDT(); + isQueueT() || isNDRangeT() || isReserveIDT() || isPipeType(); } inline bool Type::isTemplateTypeParmType() const { Modified: vendor/clang/dist/include/clang/AST/TypeLoc.h ============================================================================== --- vendor/clang/dist/include/clang/AST/TypeLoc.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/TypeLoc.h Wed Jan 13 20:00:46 2016 (r293840) @@ -2033,7 +2033,26 @@ public: } }; +struct PipeTypeLocInfo { + SourceLocation KWLoc; +}; + +class PipeTypeLoc : public ConcreteTypeLoc { +public: + TypeLoc getValueLoc() const { return this->getInnerTypeLoc(); } + + SourceRange getLocalSourceRange() const { return SourceRange(getKWLoc()); } + + SourceLocation getKWLoc() const { return this->getLocalData()->KWLoc; } + void setKWLoc(SourceLocation Loc) { this->getLocalData()->KWLoc = Loc; } + void initializeLocal(ASTContext &Context, SourceLocation Loc) { + setKWLoc(Loc); + } + + QualType getInnerType() const { return this->getTypePtr()->getElementType(); } +}; } #endif Modified: vendor/clang/dist/include/clang/AST/TypeNodes.def ============================================================================== --- vendor/clang/dist/include/clang/AST/TypeNodes.def Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/AST/TypeNodes.def Wed Jan 13 20:00:46 2016 (r293840) @@ -104,6 +104,7 @@ NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Pack TYPE(ObjCObject, Type) TYPE(ObjCInterface, ObjCObjectType) TYPE(ObjCObjectPointer, Type) +TYPE(Pipe, Type) TYPE(Atomic, Type) #ifdef LAST_TYPE Modified: vendor/clang/dist/include/clang/ASTMatchers/ASTMatchersInternal.h ============================================================================== --- vendor/clang/dist/include/clang/ASTMatchers/ASTMatchersInternal.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/ASTMatchers/ASTMatchersInternal.h Wed Jan 13 20:00:46 2016 (r293840) @@ -560,10 +560,10 @@ bool matchesFirstInPointerRange(const Ma // Metafunction to determine if type T has a member called // getDecl. -#if defined(_MSC_VER) && (_MSC_VER < 1900) && !defined(__clang__) -// For old versions of MSVC, we use a weird nonstandard __if_exists -// statement, since before MSVC2015, it was not standards-conformant -// enough to compile the usual code below. +#if defined(_MSC_VER) && !defined(__clang__) +// For MSVC, we use a weird nonstandard __if_exists statement, as it +// is not standards-conformant enough to properly compile the standard +// code below. (At least up through MSVC 2015 require this workaround) template struct has_getDecl { __if_exists(T::getDecl) { enum { value = 1 }; Modified: vendor/clang/dist/include/clang/Basic/DiagnosticDriverKinds.td ============================================================================== --- vendor/clang/dist/include/clang/Basic/DiagnosticDriverKinds.td Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Basic/DiagnosticDriverKinds.td Wed Jan 13 20:00:46 2016 (r293840) @@ -22,6 +22,7 @@ def err_drv_unknown_stdin_type_clang_cl def err_drv_unknown_language : Error<"language not recognized: '%0'">; def err_drv_invalid_arch_name : Error< "invalid arch name '%0'">; +def err_drv_cuda_bad_gpu_arch : Error<"Unsupported CUDA gpu architecture: %0">; def err_drv_invalid_thread_model_for_target : Error< "invalid thread model '%0' in '%1' for this target">; def err_drv_invalid_linker_name : Error< Modified: vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td ============================================================================== --- vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td Wed Jan 13 20:00:46 2016 (r293840) @@ -616,6 +616,7 @@ def Most : DiagGroup<"most", [ CharSubscript, Comment, DeleteNonVirtualDtor, + ForLoopAnalysis, Format, Implicit, InfiniteRecursion, Modified: vendor/clang/dist/include/clang/Basic/DiagnosticIDs.h ============================================================================== --- vendor/clang/dist/include/clang/Basic/DiagnosticIDs.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Basic/DiagnosticIDs.h Wed Jan 13 20:00:46 2016 (r293840) @@ -29,7 +29,7 @@ namespace clang { enum { DIAG_START_COMMON = 0, DIAG_START_DRIVER = DIAG_START_COMMON + 300, - DIAG_START_FRONTEND = DIAG_START_DRIVER + 100, + DIAG_START_FRONTEND = DIAG_START_DRIVER + 200, DIAG_START_SERIALIZATION = DIAG_START_FRONTEND + 100, DIAG_START_LEX = DIAG_START_SERIALIZATION + 120, DIAG_START_PARSE = DIAG_START_LEX + 300, Modified: vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td ============================================================================== --- vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td Wed Jan 13 20:00:46 2016 (r293840) @@ -490,6 +490,8 @@ def warn_pragma_diagnostic_unknown_warni // - #pragma __debug def warn_pragma_debug_unexpected_command : Warning< "unexpected debug command '%0'">, InGroup; +def warn_pragma_debug_missing_argument : Warning< + "missing argument to debug command '%0'">, InGroup; def err_defined_macro_name : Error<"'defined' cannot be used as a macro name">; def err_paste_at_start : Error< Modified: vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td ============================================================================== --- vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td Wed Jan 13 20:00:46 2016 (r293840) @@ -1,4 +1,3 @@ - //==--- DiagnosticSemaKinds.td - libsema diagnostics ----------------------===// // // The LLVM Compiler Infrastructure @@ -7643,6 +7642,10 @@ def err_wrong_sampler_addressspace: Erro "sampler type cannot be used with the __local and __global address space qualifiers">; def err_opencl_global_invalid_addr_space : Error< "program scope variable must reside in %0 address space">; +def err_missing_actual_pipe_type : Error< + "missing actual type specifier for pipe">; +def err_reference_pipe_type : Error < + "pipes packet types cannot be of reference type">; def err_opencl_no_main : Error<"%select{function|kernel}0 cannot be called 'main'">; def err_opencl_kernel_attr : Error<"attribute %0 can only be applied to a kernel function">; Modified: vendor/clang/dist/include/clang/Basic/Specifiers.h ============================================================================== --- vendor/clang/dist/include/clang/Basic/Specifiers.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Basic/Specifiers.h Wed Jan 13 20:00:46 2016 (r293840) @@ -36,6 +36,11 @@ namespace clang { TSS_unsigned }; + enum TypeSpecifiersPipe { + TSP_unspecified, + TSP_pipe + }; + /// \brief Specifies the kind of type. enum TypeSpecifierType { TST_unspecified, Modified: vendor/clang/dist/include/clang/Basic/TokenKinds.def ============================================================================== --- vendor/clang/dist/include/clang/Basic/TokenKinds.def Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Basic/TokenKinds.def Wed Jan 13 20:00:46 2016 (r293840) @@ -519,6 +519,8 @@ KEYWORD(vec_step , KE // OpenMP Type Traits KEYWORD(__builtin_omp_required_simd_align, KEYALL) +KEYWORD(pipe , KEYOPENCL) + // Borland Extensions. KEYWORD(__pascal , KEYALL) @@ -697,6 +699,11 @@ ANNOTATION(pragma_parser_crash) // handles them. ANNOTATION(pragma_captured) +// Annotation for #pragma clang __debug dump... +// The lexer produces these so that the parser and semantic analysis can +// look up and dump the operand. +ANNOTATION(pragma_dump) + // Annotation for #pragma ms_struct... // The lexer produces these so that they only take effect when the parser // handles them. Modified: vendor/clang/dist/include/clang/Basic/VirtualFileSystem.h ============================================================================== --- vendor/clang/dist/include/clang/Basic/VirtualFileSystem.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Basic/VirtualFileSystem.h Wed Jan 13 20:00:46 2016 (r293840) @@ -299,10 +299,7 @@ public: llvm::ErrorOr getCurrentWorkingDirectory() const override { return WorkingDirectory; } - std::error_code setCurrentWorkingDirectory(const Twine &Path) override { - WorkingDirectory = Path.str(); - return std::error_code(); - } + std::error_code setCurrentWorkingDirectory(const Twine &Path) override; }; /// \brief Get a globally unique ID for a virtual file or directory. Modified: vendor/clang/dist/include/clang/CodeGen/BackendUtil.h ============================================================================== --- vendor/clang/dist/include/clang/CodeGen/BackendUtil.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/CodeGen/BackendUtil.h Wed Jan 13 20:00:46 2016 (r293840) @@ -33,12 +33,10 @@ namespace clang { Backend_EmitObj ///< Emit native object files }; - void - EmitBackendOutput(DiagnosticsEngine &Diags, const CodeGenOptions &CGOpts, - const TargetOptions &TOpts, const LangOptions &LOpts, - StringRef TDesc, llvm::Module *M, BackendAction Action, - raw_pwrite_stream *OS, - std::unique_ptr Index = nullptr); + void EmitBackendOutput(DiagnosticsEngine &Diags, const CodeGenOptions &CGOpts, + const TargetOptions &TOpts, const LangOptions &LOpts, + StringRef TDesc, llvm::Module *M, BackendAction Action, + raw_pwrite_stream *OS); } #endif Modified: vendor/clang/dist/include/clang/Driver/Action.h ============================================================================== --- vendor/clang/dist/include/clang/Driver/Action.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Driver/Action.h Wed Jan 13 20:00:46 2016 (r293840) @@ -15,6 +15,9 @@ #include "llvm/ADT/SmallVector.h" namespace llvm { + +class StringRef; + namespace opt { class Arg; } @@ -32,6 +35,9 @@ namespace driver { /// single primary output, at least in terms of controlling the /// compilation. Actions can produce auxiliary files, but can only /// produce a single output to feed into subsequent actions. +/// +/// Actions are usually owned by a Compilation, which creates new +/// actions via MakeAction(). class Action { public: typedef ActionList::size_type size_type; @@ -70,27 +76,20 @@ private: ActionList Inputs; - unsigned OwnsInputs : 1; - protected: - Action(ActionClass Kind, types::ID Type) - : Kind(Kind), Type(Type), OwnsInputs(true) {} - Action(ActionClass Kind, std::unique_ptr Input, types::ID Type) - : Kind(Kind), Type(Type), Inputs(1, Input.release()), OwnsInputs(true) { - } - Action(ActionClass Kind, std::unique_ptr Input) - : Kind(Kind), Type(Input->getType()), Inputs(1, Input.release()), - OwnsInputs(true) {} + Action(ActionClass Kind, types::ID Type) : Action(Kind, ActionList(), Type) {} + Action(ActionClass Kind, Action *Input, types::ID Type) + : Action(Kind, ActionList({Input}), Type) {} + Action(ActionClass Kind, Action *Input) + : Action(Kind, ActionList({Input}), Input->getType()) {} Action(ActionClass Kind, const ActionList &Inputs, types::ID Type) - : Kind(Kind), Type(Type), Inputs(Inputs), OwnsInputs(true) {} + : Kind(Kind), Type(Type), Inputs(Inputs) {} + public: virtual ~Action(); const char *getClassName() const { return Action::getClassName(getKind()); } - bool getOwnsInputs() { return OwnsInputs; } - void setOwnsInputs(bool Value) { OwnsInputs = Value; } - ActionClass getKind() const { return Kind; } types::ID getType() const { return Type; } @@ -126,7 +125,7 @@ class BindArchAction : public Action { const char *ArchName; public: - BindArchAction(std::unique_ptr Input, const char *ArchName); + BindArchAction(Action *Input, const char *ArchName); const char *getArchName() const { return ArchName; } @@ -137,19 +136,24 @@ public: class CudaDeviceAction : public Action { virtual void anchor(); - /// GPU architecture to bind -- e.g 'sm_35'. + /// GPU architecture to bind. Always of the form /sm_\d+/. const char *GpuArchName; /// True when action results are not consumed by the host action (e.g when /// -fsyntax-only or --cuda-device-only options are used). bool AtTopLevel; public: - CudaDeviceAction(std::unique_ptr Input, const char *ArchName, - bool AtTopLevel); + CudaDeviceAction(Action *Input, const char *ArchName, bool AtTopLevel); const char *getGpuArchName() const { return GpuArchName; } + + /// Gets the compute_XX that corresponds to getGpuArchName(). + const char *getComputeArchName() const; + bool isAtTopLevel() const { return AtTopLevel; } + static bool IsValidGpuArchName(llvm::StringRef ArchName); + static bool classof(const Action *A) { return A->getKind() == CudaDeviceClass; } @@ -160,9 +164,7 @@ class CudaHostAction : public Action { ActionList DeviceActions; public: - CudaHostAction(std::unique_ptr Input, - const ActionList &DeviceActions); - ~CudaHostAction() override; + CudaHostAction(Action *Input, const ActionList &DeviceActions); const ActionList &getDeviceActions() const { return DeviceActions; } @@ -172,7 +174,7 @@ public: class JobAction : public Action { virtual void anchor(); protected: - JobAction(ActionClass Kind, std::unique_ptr Input, types::ID Type); + JobAction(ActionClass Kind, Action *Input, types::ID Type); JobAction(ActionClass Kind, const ActionList &Inputs, types::ID Type); public: @@ -185,7 +187,7 @@ public: class PreprocessJobAction : public JobAction { void anchor() override; public: - PreprocessJobAction(std::unique_ptr Input, types::ID OutputType); + PreprocessJobAction(Action *Input, types::ID OutputType); static bool classof(const Action *A) { return A->getKind() == PreprocessJobClass; @@ -195,7 +197,7 @@ public: class PrecompileJobAction : public JobAction { void anchor() override; public: - PrecompileJobAction(std::unique_ptr Input, types::ID OutputType); + PrecompileJobAction(Action *Input, types::ID OutputType); static bool classof(const Action *A) { return A->getKind() == PrecompileJobClass; @@ -205,7 +207,7 @@ public: class AnalyzeJobAction : public JobAction { void anchor() override; public: - AnalyzeJobAction(std::unique_ptr Input, types::ID OutputType); + AnalyzeJobAction(Action *Input, types::ID OutputType); static bool classof(const Action *A) { return A->getKind() == AnalyzeJobClass; @@ -215,7 +217,7 @@ public: class MigrateJobAction : public JobAction { void anchor() override; public: - MigrateJobAction(std::unique_ptr Input, types::ID OutputType); + MigrateJobAction(Action *Input, types::ID OutputType); static bool classof(const Action *A) { return A->getKind() == MigrateJobClass; @@ -225,7 +227,7 @@ public: class CompileJobAction : public JobAction { void anchor() override; public: - CompileJobAction(std::unique_ptr Input, types::ID OutputType); + CompileJobAction(Action *Input, types::ID OutputType); static bool classof(const Action *A) { return A->getKind() == CompileJobClass; @@ -235,7 +237,7 @@ public: class BackendJobAction : public JobAction { void anchor() override; public: - BackendJobAction(std::unique_ptr Input, types::ID OutputType); + BackendJobAction(Action *Input, types::ID OutputType); static bool classof(const Action *A) { return A->getKind() == BackendJobClass; @@ -245,7 +247,7 @@ public: class AssembleJobAction : public JobAction { void anchor() override; public: - AssembleJobAction(std::unique_ptr Input, types::ID OutputType); + AssembleJobAction(Action *Input, types::ID OutputType); static bool classof(const Action *A) { return A->getKind() == AssembleJobClass; @@ -285,8 +287,7 @@ public: class VerifyJobAction : public JobAction { void anchor() override; public: - VerifyJobAction(ActionClass Kind, std::unique_ptr Input, - types::ID Type); + VerifyJobAction(ActionClass Kind, Action *Input, types::ID Type); static bool classof(const Action *A) { return A->getKind() == VerifyDebugInfoJobClass || A->getKind() == VerifyPCHJobClass; @@ -296,7 +297,7 @@ public: class VerifyDebugInfoJobAction : public VerifyJobAction { void anchor() override; public: - VerifyDebugInfoJobAction(std::unique_ptr Input, types::ID Type); + VerifyDebugInfoJobAction(Action *Input, types::ID Type); static bool classof(const Action *A) { return A->getKind() == VerifyDebugInfoJobClass; } @@ -305,7 +306,7 @@ public: class VerifyPCHJobAction : public VerifyJobAction { void anchor() override; public: - VerifyPCHJobAction(std::unique_ptr Input, types::ID Type); + VerifyPCHJobAction(Action *Input, types::ID Type); static bool classof(const Action *A) { return A->getKind() == VerifyPCHJobClass; } Modified: vendor/clang/dist/include/clang/Driver/Compilation.h ============================================================================== --- vendor/clang/dist/include/clang/Driver/Compilation.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Driver/Compilation.h Wed Jan 13 20:00:46 2016 (r293840) @@ -48,7 +48,12 @@ class Compilation { /// own argument translation. llvm::opt::DerivedArgList *TranslatedArgs; - /// The list of actions. + /// The list of actions we've created via MakeAction. This is not accessible + /// to consumers; it's here just to manage ownership. + std::vector> AllActions; + + /// The list of actions. This is maintained and modified by consumers, via + /// getActions(). ActionList Actions; /// The root list of jobs. @@ -105,6 +110,15 @@ public: ActionList &getActions() { return Actions; } const ActionList &getActions() const { return Actions; } + /// Creates a new Action owned by this Compilation. + /// + /// The new Action is *not* added to the list returned by getActions(). + template T *MakeAction(Args &&... Arg) { + T *RawPtr = new T(std::forward(Arg)...); + AllActions.push_back(std::unique_ptr(RawPtr)); + return RawPtr; + } + JobList &getJobs() { return Jobs; } const JobList &getJobs() const { return Jobs; } Modified: vendor/clang/dist/include/clang/Driver/Driver.h ============================================================================== --- vendor/clang/dist/include/clang/Driver/Driver.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Driver/Driver.h Wed Jan 13 20:00:46 2016 (r293840) @@ -18,10 +18,10 @@ #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Triple.h" -#include "llvm/Support/Path.h" // FIXME: Kill when CompilationInfo -#include - // lands. +#include "llvm/Support/Path.h" // FIXME: Kill when CompilationInfo lands. + #include +#include #include #include @@ -375,20 +375,16 @@ public: /// ConstructAction - Construct the appropriate action to do for /// \p Phase on the \p Input, taking in to account arguments /// like -fsyntax-only or --analyze. - std::unique_ptr - ConstructPhaseAction(const ToolChain &TC, const llvm::opt::ArgList &Args, - phases::ID Phase, std::unique_ptr Input) const; + Action *ConstructPhaseAction(Compilation &C, const ToolChain &TC, + const llvm::opt::ArgList &Args, phases::ID Phase, + Action *Input) const; /// BuildJobsForAction - Construct the jobs to perform for the - /// action \p A. - void BuildJobsForAction(Compilation &C, - const Action *A, - const ToolChain *TC, - const char *BoundArch, - bool AtTopLevel, - bool MultipleArchs, - const char *LinkingOutput, - InputInfo &Result) const; + /// action \p A and return an InputInfo for the result of running \p A. + InputInfo BuildJobsForAction(Compilation &C, const Action *A, + const ToolChain *TC, const char *BoundArch, + bool AtTopLevel, bool MultipleArchs, + const char *LinkingOutput) const; /// Returns the default name for linked images (e.g., "a.out"). const char *getDefaultImageName() const; Modified: vendor/clang/dist/include/clang/Driver/Options.td ============================================================================== --- vendor/clang/dist/include/clang/Driver/Options.td Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Driver/Options.td Wed Jan 13 20:00:46 2016 (r293840) @@ -1906,13 +1906,13 @@ def _ : Joined<["--"], "">, Flags<[Unsup def mieee_rnd_near : Flag<["-"], "mieee-rnd-near">, Group; def mv4 : Flag<["-"], "mv4">, Group, - Alias, AliasArgs<["v4"]>; + Alias, AliasArgs<["hexagonv4"]>; def mv5 : Flag<["-"], "mv5">, Group, Alias, - AliasArgs<["v5"]>; + AliasArgs<["hexagonv5"]>; def mv55 : Flag<["-"], "mv55">, Group, - Alias, AliasArgs<["v55"]>; + Alias, AliasArgs<["hexagonv55"]>; def mv60 : Flag<["-"], "mv60">, Group, - Alias, AliasArgs<["v60"]>; + Alias, AliasArgs<["hexagonv60"]>; def mhexagon_hvx : Flag<["-"], "mhvx">, Group, Flags<[CC1Option]>, HelpText<"Enable Hexagon Vector eXtensions">; def mno_hexagon_hvx : Flag<["-"], "mno-hvx">, Group, Modified: vendor/clang/dist/include/clang/Driver/ToolChain.h ============================================================================== --- vendor/clang/dist/include/clang/Driver/ToolChain.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Driver/ToolChain.h Wed Jan 13 20:00:46 2016 (r293840) @@ -134,7 +134,7 @@ public: StringRef getOS() const { return Triple.getOSName(); } /// \brief Provide the default architecture name (as expected by -arch) for - /// this toolchain. Note t + /// this toolchain. StringRef getDefaultUniversalArchName() const; std::string getTripleString() const { Modified: vendor/clang/dist/include/clang/Lex/LiteralSupport.h ============================================================================== --- vendor/clang/dist/include/clang/Lex/LiteralSupport.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Lex/LiteralSupport.h Wed Jan 13 20:00:46 2016 (r293840) @@ -166,6 +166,7 @@ public: bool hadError() const { return HadError; } bool isAscii() const { return Kind == tok::char_constant; } bool isWide() const { return Kind == tok::wide_char_constant; } + bool isUTF8() const { return Kind == tok::utf8_char_constant; } bool isUTF16() const { return Kind == tok::utf16_char_constant; } bool isUTF32() const { return Kind == tok::utf32_char_constant; } bool isMultiChar() const { return IsMultiChar; } Modified: vendor/clang/dist/include/clang/Parse/Parser.h ============================================================================== --- vendor/clang/dist/include/clang/Parse/Parser.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Parse/Parser.h Wed Jan 13 20:00:46 2016 (r293840) @@ -502,6 +502,10 @@ private: void HandlePragmaAlign(); /// \brief Handle the annotation token produced for + /// #pragma clang __debug dump... + void HandlePragmaDump(); + + /// \brief Handle the annotation token produced for /// #pragma weak id... void HandlePragmaWeak(); @@ -1640,13 +1644,22 @@ private: /// A SmallVector of types. typedef SmallVector TypeVector; - StmtResult ParseStatement(SourceLocation *TrailingElseLoc = nullptr); + StmtResult ParseStatement(SourceLocation *TrailingElseLoc = nullptr, + bool AllowOpenMPStandalone = false); + enum AllowedContsructsKind { + /// \brief Allow any declarations, statements, OpenMP directives. + ACK_Any, + /// \brief Allow only statements and non-standalone OpenMP directives. + ACK_StatementsOpenMPNonStandalone, + /// \brief Allow statements and all executable OpenMP directives + ACK_StatementsOpenMPAnyExecutable + }; StmtResult - ParseStatementOrDeclaration(StmtVector &Stmts, bool OnlyStatement, + ParseStatementOrDeclaration(StmtVector &Stmts, AllowedContsructsKind Allowed, SourceLocation *TrailingElseLoc = nullptr); StmtResult ParseStatementOrDeclarationAfterAttributes( StmtVector &Stmts, - bool OnlyStatement, + AllowedContsructsKind Allowed, SourceLocation *TrailingElseLoc, ParsedAttributesWithRange &Attrs); StmtResult ParseExprStatement(); @@ -1674,7 +1687,8 @@ private: StmtResult ParseReturnStatement(); StmtResult ParseAsmStatement(bool &msAsm); StmtResult ParseMicrosoftAsmStatement(SourceLocation AsmLoc); - StmtResult ParsePragmaLoopHint(StmtVector &Stmts, bool OnlyStatement, + StmtResult ParsePragmaLoopHint(StmtVector &Stmts, + AllowedContsructsKind Allowed, SourceLocation *TrailingElseLoc, ParsedAttributesWithRange &Attrs); @@ -2439,11 +2453,13 @@ private: bool AllowScopeSpecifier); /// \brief Parses declarative or executable directive. /// - /// \param StandAloneAllowed true if allowed stand-alone directives, - /// false - otherwise + /// \param Allowed ACK_Any, if any directives are allowed, + /// ACK_StatementsOpenMPAnyExecutable - if any executable directives are + /// allowed, ACK_StatementsOpenMPNonStandalone - if only non-standalone + /// executable directives are allowed. /// StmtResult - ParseOpenMPDeclarativeOrExecutableDirective(bool StandAloneAllowed); + ParseOpenMPDeclarativeOrExecutableDirective(AllowedContsructsKind Allowed); /// \brief Parses clause of kind \a CKind for directive of a kind \a Kind. /// /// \param DKind Kind of current directive. Modified: vendor/clang/dist/include/clang/Sema/DeclSpec.h ============================================================================== --- vendor/clang/dist/include/clang/Sema/DeclSpec.h Wed Jan 13 19:58:38 2016 (r293839) +++ vendor/clang/dist/include/clang/Sema/DeclSpec.h Wed Jan 13 20:00:46 2016 (r293840) @@ -337,6 +337,7 @@ private: unsigned TypeAltiVecPixel : 1; unsigned TypeAltiVecBool : 1; unsigned TypeSpecOwned : 1; + unsigned TypeSpecPipe : 1; // type-qualifiers unsigned TypeQualifiers : 4; // Bitwise OR of TQ. @@ -385,6 +386,7 @@ private: SourceLocation FS_inlineLoc, FS_virtualLoc, FS_explicitLoc, FS_noreturnLoc; SourceLocation FS_forceinlineLoc; SourceLocation FriendLoc, ModulePrivateLoc, ConstexprLoc, ConceptLoc; + SourceLocation TQ_pipeLoc; WrittenBuiltinSpecs writtenBS; void SaveWrittenBuiltinSpecs(); @@ -420,6 +422,7 @@ public: TypeAltiVecPixel(false), TypeAltiVecBool(false), TypeSpecOwned(false), + TypeSpecPipe(false), TypeQualifiers(TQ_unspecified), FS_inline_specified(false), FS_forceinline_specified(false), @@ -473,6 +476,7 @@ public: bool isTypeAltiVecBool() const { return TypeAltiVecBool; } bool isTypeSpecOwned() const { return TypeSpecOwned; } bool isTypeRep() const { return isTypeRep((TST) TypeSpecType); } + bool isTypeSpecPipe() const { return TypeSpecPipe; } ParsedType getRepAsType() const { assert(isTypeRep((TST) TypeSpecType) && "DeclSpec does not store a type"); @@ -532,6 +536,7 @@ public: SourceLocation getRestrictSpecLoc() const { return TQ_restrictLoc; } SourceLocation getVolatileSpecLoc() const { return TQ_volatileLoc; } SourceLocation getAtomicSpecLoc() const { return TQ_atomicLoc; } + SourceLocation getPipeLoc() const { return TQ_pipeLoc; } /// \brief Clear out all of the type qualifiers. void ClearTypeQualifiers() { @@ -540,6 +545,7 @@ public: TQ_restrictLoc = SourceLocation(); TQ_volatileLoc = SourceLocation(); TQ_atomicLoc = SourceLocation(); + TQ_pipeLoc = SourceLocation(); } // function-specifier @@ -643,6 +649,9 @@ public: bool SetTypeAltiVecBool(bool isAltiVecBool, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, const PrintingPolicy &Policy); + bool SetTypePipe(bool isPipe, SourceLocation Loc, + const char *&PrevSpec, unsigned &DiagID, + const PrintingPolicy &Policy); bool SetTypeSpecError(); void UpdateDeclRep(Decl *Rep) { assert(isDeclRep((TST) TypeSpecType)); @@ -1081,7 +1090,7 @@ typedef SmallVector CachedToke /// This is intended to be a small value object. struct DeclaratorChunk { enum { - Pointer, Reference, Array, Function, BlockPointer, MemberPointer, Paren + Pointer, Reference, Array, Function, BlockPointer, MemberPointer, Paren, Pipe } Kind; /// Loc - The place where this type was defined. @@ -1409,6 +1418,13 @@ struct DeclaratorChunk { } }; + struct PipeTypeInfo : TypeInfoCommon { + /// The access writes. + unsigned AccessWrites : 3; + + void destroy() {} + }; + union { TypeInfoCommon Common; PointerTypeInfo Ptr; @@ -1417,6 +1433,7 @@ struct DeclaratorChunk { FunctionTypeInfo Fun; BlockPointerTypeInfo Cls; MemberPointerTypeInfo Mem; + PipeTypeInfo PipeInfo; }; void destroy() { @@ -1428,6 +1445,7 @@ struct DeclaratorChunk { case DeclaratorChunk::Array: return Arr.destroy(); case DeclaratorChunk::MemberPointer: return Mem.destroy(); case DeclaratorChunk::Paren: return; + case DeclaratorChunk::Pipe: return PipeInfo.destroy(); } } @@ -1526,6 +1544,17 @@ struct DeclaratorChunk { return I; } + /// \brief Return a DeclaratorChunk for a block. + static DeclaratorChunk getPipe(unsigned TypeQuals, + SourceLocation Loc) { + DeclaratorChunk I; + I.Kind = Pipe; + I.Loc = Loc; + I.Cls.TypeQuals = TypeQuals; + I.Cls.AttrList = 0; + return I; + } + static DeclaratorChunk getMemberPointer(const CXXScopeSpec &SS, unsigned TypeQuals, SourceLocation Loc) { @@ -2026,6 +2055,7 @@ public: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Jan 13 20:01:44 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 244F2A81F2B; Wed, 13 Jan 2016 20:01:44 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D1A041E75; Wed, 13 Jan 2016 20:01:43 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DK1g8g087549; Wed, 13 Jan 2016 20:01:42 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DK1gZP087548; Wed, 13 Jan 2016 20:01:42 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601132001.u0DK1gZP087548@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 20:01:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293841 - vendor/clang/clang-trunk-r257626 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 20:01:44 -0000 Author: dim Date: Wed Jan 13 20:01:42 2016 New Revision: 293841 URL: https://svnweb.freebsd.org/changeset/base/293841 Log: Tag clang trunk r257626. Added: vendor/clang/clang-trunk-r257626/ - copied from r293840, vendor/clang/dist/ From owner-svn-src-vendor@freebsd.org Wed Jan 13 20:02:08 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C7CE6A81F74; Wed, 13 Jan 2016 20:02:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2F6E610EC; Wed, 13 Jan 2016 20:02:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DK277N087637; Wed, 13 Jan 2016 20:02:07 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DK24Tw087605; Wed, 13 Jan 2016 20:02:04 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601132002.u0DK24Tw087605@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 20:02:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293842 - in vendor/compiler-rt/dist: cmake cmake/Modules include/sanitizer lib/asan lib/builtins lib/cfi lib/profile lib/sanitizer_common lib/tsan/rtl test/cfi test/msan test/profile t... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 20:02:09 -0000 Author: dim Date: Wed Jan 13 20:02:03 2016 New Revision: 293842 URL: https://svnweb.freebsd.org/changeset/base/293842 Log: Vendor import of compiler-rt trunk r257626: https://llvm.org/svn/llvm-project/compiler-rt/trunk@257626 Added: vendor/compiler-rt/dist/test/profile/Linux/ vendor/compiler-rt/dist/test/profile/Linux/instrprof-basic.c (contents, props changed) vendor/compiler-rt/dist/test/profile/Linux/instrprof-dlopen.test vendor/compiler-rt/dist/test/profile/Linux/instrprof-dynamic-one-shared.test vendor/compiler-rt/dist/test/profile/Linux/instrprof-dynamic-two-shared.test vendor/compiler-rt/dist/test/profile/Linux/lit.local.cfg vendor/compiler-rt/dist/test/profile/instrprof-version-mismatch.c (contents, props changed) vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/closedir.c (contents, props changed) Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake vendor/compiler-rt/dist/cmake/config-ix.cmake vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h vendor/compiler-rt/dist/lib/asan/asan_report.cc vendor/compiler-rt/dist/lib/builtins/CMakeLists.txt vendor/compiler-rt/dist/lib/builtins/int_types.h vendor/compiler-rt/dist/lib/cfi/cfi.cc vendor/compiler-rt/dist/lib/profile/CMakeLists.txt vendor/compiler-rt/dist/lib/profile/InstrProfData.inc vendor/compiler-rt/dist/lib/profile/InstrProfiling.c vendor/compiler-rt/dist/lib/profile/InstrProfilingFile.c vendor/compiler-rt/dist/lib/profile/InstrProfilingPort.h vendor/compiler-rt/dist/lib/profile/InstrProfilingValue.c vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_nolibc.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_printf.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.cc vendor/compiler-rt/dist/test/cfi/CMakeLists.txt vendor/compiler-rt/dist/test/msan/insertvalue_origin.cc vendor/compiler-rt/dist/test/profile/instrprof-shared.test vendor/compiler-rt/dist/test/profile/instrprof-value-prof.c vendor/compiler-rt/dist/test/safestack/overflow.c vendor/compiler-rt/dist/test/tsan/mmap_stress.cc vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/suppressions.cpp Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake ============================================================================== --- vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake Wed Jan 13 20:02:03 2016 (r293842) @@ -282,7 +282,8 @@ macro(darwin_add_builtin_libraries) set(PROFILE_SOURCES ../profile/InstrProfiling ../profile/InstrProfilingBuffer - ../profile/InstrProfilingPlatformDarwin) + ../profile/InstrProfilingPlatformDarwin + ../profile/InstrProfilingWriter) foreach (os ${ARGN}) list_union(DARWIN_BUILTIN_ARCHS DARWIN_${os}_ARCHS BUILTIN_SUPPORTED_ARCH) foreach (arch ${DARWIN_BUILTIN_ARCHS}) Modified: vendor/compiler-rt/dist/cmake/config-ix.cmake ============================================================================== --- vendor/compiler-rt/dist/cmake/config-ix.cmake Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/cmake/config-ix.cmake Wed Jan 13 20:02:03 2016 (r293842) @@ -150,6 +150,8 @@ macro(detect_target_arch) check_symbol_exists(__i386__ "" __I386) check_symbol_exists(__mips__ "" __MIPS) check_symbol_exists(__mips64__ "" __MIPS64) + check_symbol_exists(__wasm32__ "" __WEBASSEMBLY32) + check_symbol_exists(__wasm64__ "" __WEBASSEMBLY64) if(__ARM) add_default_target_arch(arm) elseif(__AARCH64) @@ -164,6 +166,10 @@ macro(detect_target_arch) add_default_target_arch(mips64) elseif(__MIPS) add_default_target_arch(mips) + elseif(__WEBASSEMBLY32) + add_default_target_arch(wasm32) + elseif(__WEBASSEMBLY64) + add_default_target_arch(wasm64) endif() endmacro() @@ -220,6 +226,10 @@ elseif(NOT APPLE) # Supported archs for test_target_arch(aarch32 "" "-march=armv8-a") elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64") test_target_arch(aarch64 "" "-march=armv8-a") + elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32") + test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown") + elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64") + test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown") endif() set(COMPILER_RT_OS_SUFFIX "") endif() @@ -260,6 +270,8 @@ set(X86_64 x86_64) set(MIPS32 mips mipsel) set(MIPS64 mips64 mips64el) set(PPC64 powerpc64 powerpc64le) +set(WASM32 wasm32) +set(WASM64 wasm64) if(APPLE) set(ARM64 arm64) @@ -268,7 +280,7 @@ if(APPLE) endif() set(ALL_BUILTIN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} - ${MIPS32} ${MIPS64}) + ${MIPS32} ${MIPS64} ${WASM32} ${WASM64}) set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64}) set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} @@ -299,10 +311,44 @@ if(APPLE) endif() option(COMPILER_RT_ENABLE_IOS "Enable building for iOS - Experimental" Off) + option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off) + option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off) find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx) find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator) find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos) + find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator) + find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos) + find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator) + find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos) + + if(COMPILER_RT_ENABLE_IOS) + list(APPEND DARWIN_EMBEDDED_PLATFORMS ios) + set(DARWIN_ios_MIN_VER_FLAG -miphoneos-version-min) + set(DARWIN_ios_SANITIZER_MIN_VER_FLAG + ${DARWIN_ios_MIN_VER_FLAG}=7.0) + set(DARWIN_ios_BUILTIN_MIN_VER 6.0) + set(DARWIN_ios_BUILTIN_MIN_VER_FLAG + ${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_ios_BUILTIN_MIN_VER}) + endif() + if(COMPILER_RT_ENABLE_WATCHOS) + list(APPEND DARWIN_EMBEDDED_PLATFORMS watchos) + set(DARWIN_watchos_MIN_VER_FLAG -mwatchos-version-min) + set(DARWIN_watchos_SANITIZER_MIN_VER_FLAG + ${DARWIN_watchos_MIN_VER_FLAG}=2.0) + set(DARWIN_watchos_BUILTIN_MIN_VER 2.0) + set(DARWIN_watchos_BUILTIN_MIN_VER_FLAG + ${DARWIN_watchos_MIN_VER_FLAG}=${DARWIN_watchos_BUILTIN_MIN_VER}) + endif() + if(COMPILER_RT_ENABLE_TVOS) + list(APPEND DARWIN_EMBEDDED_PLATFORMS tvos) + set(DARWIN_tvos_MIN_VER_FLAG -mtvos-version-min) + set(DARWIN_tvos_SANITIZER_MIN_VER_FLAG + ${DARWIN_tvos_MIN_VER_FLAG}=9.0) + set(DARWIN_tvos_BUILTIN_MIN_VER 9.0) + set(DARWIN_tvos_BUILTIN_MIN_VER_FLAG + ${DARWIN_tvos_MIN_VER_FLAG}=${DARWIN_tvos_BUILTIN_MIN_VER}) + endif() # Note: In order to target x86_64h on OS X the minimum deployment target must # be 10.8 or higher. @@ -334,6 +380,11 @@ if(APPLE) -lc++ -lc++abi) + check_linker_flag("-fapplication-extension" COMPILER_RT_HAS_APP_EXTENSION) + if(COMPILER_RT_HAS_APP_EXTENSION) + list(APPEND DARWIN_COMMON_LINKFLAGS "-fapplication-extension") + endif() + set(DARWIN_osx_CFLAGS ${DARWIN_COMMON_CFLAGS} -mmacosx-version-min=${SANITIZER_MIN_OSX_VERSION}) @@ -379,62 +430,62 @@ if(APPLE) list(APPEND BUILTIN_SUPPORTED_OS 10.4) endif() - if(DARWIN_iossim_SYSROOT) - set(DARWIN_iossim_CFLAGS - ${DARWIN_COMMON_CFLAGS} - -mios-simulator-version-min=7.0 - -isysroot ${DARWIN_iossim_SYSROOT}) - set(DARWIN_iossim_LINKFLAGS - ${DARWIN_COMMON_LINKFLAGS} - -mios-simulator-version-min=7.0 - -isysroot ${DARWIN_iossim_SYSROOT}) - set(DARWIN_iossim_BUILTIN_MIN_VER 6.0) - set(DARWIN_iossim_BUILTIN_MIN_VER_FLAG - -mios-simulator-version-min=${DARWIN_iossim_BUILTIN_MIN_VER}) - - set(DARWIN_iossim_SKIP_CC_KEXT On) - darwin_test_archs(iossim - DARWIN_iossim_ARCHS - ${toolchain_arches}) - message(STATUS "iOS Simulator supported arches: ${DARWIN_iossim_ARCHS}") - if(DARWIN_iossim_ARCHS) - list(APPEND SANITIZER_COMMON_SUPPORTED_OS iossim) - list(APPEND BUILTIN_SUPPORTED_OS iossim) - list(APPEND PROFILE_SUPPORTED_OS iossim) + foreach(platform ${DARWIN_EMBEDDED_PLATFORMS}) + if(DARWIN_${platform}sim_SYSROOT) + set(DARWIN_${platform}sim_CFLAGS + ${DARWIN_COMMON_CFLAGS} + ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG} + -isysroot ${DARWIN_iossim_SYSROOT}) + set(DARWIN_${platform}sim_LINKFLAGS + ${DARWIN_COMMON_LINKFLAGS} + ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG} + -isysroot ${DARWIN_${platform}sim_SYSROOT}) + set(DARWIN_${platform}sim_BUILTIN_MIN_VER + ${DARWIN_${platform}_BUILTIN_MIN_VER}) + set(DARWIN_${platform}sim_BUILTIN_MIN_VER_FLAG + ${DARWIN_${platform}_BUILTIN_MIN_VER_FLAG}) + + set(DARWIN_${platform}sim_SKIP_CC_KEXT On) + darwin_test_archs(${platform}sim + DARWIN_${platform}sim_ARCHS + ${toolchain_arches}) + message(STATUS "${platform} Simulator supported arches: ${DARWIN_${platform}sim_ARCHS}") + if(DARWIN_iossim_ARCHS) + list(APPEND SANITIZER_COMMON_SUPPORTED_OS ${platform}sim) + list(APPEND BUILTIN_SUPPORTED_OS ${platform}sim) + list(APPEND PROFILE_SUPPORTED_OS ${platform}sim) + endif() + foreach(arch ${DARWIN_${platform}sim_ARCHS}) + list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch}) + set(CAN_TARGET_${arch} 1) + endforeach() endif() - foreach(arch ${DARWIN_iossim_ARCHS}) - list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch}) - set(CAN_TARGET_${arch} 1) - endforeach() - endif() - if(DARWIN_ios_SYSROOT AND COMPILER_RT_ENABLE_IOS) - set(DARWIN_ios_CFLAGS - ${DARWIN_COMMON_CFLAGS} - -miphoneos-version-min=7.0 - -isysroot ${DARWIN_ios_SYSROOT}) - set(DARWIN_ios_LINKFLAGS - ${DARWIN_COMMON_LINKFLAGS} - -miphoneos-version-min=7.0 - -isysroot ${DARWIN_ios_SYSROOT}) - set(DARWIN_ios_BUILTIN_MIN_VER 6.0) - set(DARWIN_ios_BUILTIN_MIN_VER_FLAG - -miphoneos-version-min=${DARWIN_ios_BUILTIN_MIN_VER}) - - darwin_test_archs(ios - DARWIN_ios_ARCHS - ${toolchain_arches}) - message(STATUS "iOS supported arches: ${DARWIN_ios_ARCHS}") - if(DARWIN_ios_ARCHS) - list(APPEND SANITIZER_COMMON_SUPPORTED_OS ios) - list(APPEND BUILTIN_SUPPORTED_OS ios) - list(APPEND PROFILE_SUPPORTED_OS ios) + if(DARWIN_${platform}_SYSROOT) + set(DARWIN_${platform}_CFLAGS + ${DARWIN_COMMON_CFLAGS} + ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG} + -isysroot ${DARWIN_${platform}_SYSROOT}) + set(DARWIN_${platform}_LINKFLAGS + ${DARWIN_COMMON_LINKFLAGS} + ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG} + -isysroot ${DARWIN_${platform}_SYSROOT}) + + darwin_test_archs(${platform} + DARWIN_${platform}_ARCHS + ${toolchain_arches}) + message(STATUS "${platform} supported arches: ${DARWIN_${platform}_ARCHS}") + if(DARWIN_${platform}_ARCHS) + list(APPEND SANITIZER_COMMON_SUPPORTED_OS ${platform}) + list(APPEND BUILTIN_SUPPORTED_OS ${platform}) + list(APPEND PROFILE_SUPPORTED_OS ${platform}) + endif() + foreach(arch ${DARWIN_${platform}_ARCHS}) + list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch}) + set(CAN_TARGET_${arch} 1) + endforeach() endif() - foreach(arch ${DARWIN_ios_ARCHS}) - list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch}) - set(CAN_TARGET_${arch} 1) - endforeach() - endif() + endforeach() endif() # for list_union Modified: vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h ============================================================================== --- vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h Wed Jan 13 20:02:03 2016 (r293842) @@ -125,9 +125,11 @@ extern "C" { // to know what is being passed to libc functions, e.g. memcmp. // FIXME: implement more hooks. void __sanitizer_weak_hook_memcmp(void *called_pc, const void *s1, - const void *s2, size_t n); + const void *s2, size_t n, int result); void __sanitizer_weak_hook_strncmp(void *called_pc, const char *s1, - const char *s2, size_t n); + const char *s2, size_t n, int result); + void __sanitizer_weak_hook_strcmp(void *called_pc, const char *s1, + const char *s2, int result); #ifdef __cplusplus } // extern "C" #endif Modified: vendor/compiler-rt/dist/lib/asan/asan_report.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_report.cc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/asan/asan_report.cc Wed Jan 13 20:02:03 2016 (r293842) @@ -696,9 +696,6 @@ class ScopedInErrorReport { error_message_buffer, kErrorMessageBufferSize); } - // Remove color sequences since logs cannot print them. - RemoveANSIEscapeSequencesFromString(buffer_copy.data()); - LogFullErrorReport(buffer_copy.data()); if (error_report_callback) { Modified: vendor/compiler-rt/dist/lib/builtins/CMakeLists.txt ============================================================================== --- vendor/compiler-rt/dist/lib/builtins/CMakeLists.txt Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/builtins/CMakeLists.txt Wed Jan 13 20:02:03 2016 (r293842) @@ -353,6 +353,9 @@ set(mipsel_SOURCES ${mips_SOURCES}) set(mips64_SOURCES ${mips_SOURCES}) set(mips64el_SOURCES ${mips_SOURCES}) +set(wasm32_SOURCES ${GENERIC_SOURCES}) +set(wasm64_SOURCES ${GENERIC_SOURCES}) + add_custom_target(builtins) if (APPLE) Modified: vendor/compiler-rt/dist/lib/builtins/int_types.h ============================================================================== --- vendor/compiler-rt/dist/lib/builtins/int_types.h Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/builtins/int_types.h Wed Jan 13 20:02:03 2016 (r293842) @@ -61,7 +61,8 @@ typedef union } udwords; /* MIPS64 issue: PR 20098 */ -#if defined(__LP64__) && !(defined(__mips__) && defined(__clang__)) +#if (defined(__LP64__) || defined(__wasm__)) && \ + !(defined(__mips__) && defined(__clang__)) #define CRT_HAS_128BIT #endif Modified: vendor/compiler-rt/dist/lib/cfi/cfi.cc ============================================================================== --- vendor/compiler-rt/dist/lib/cfi/cfi.cc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/cfi/cfi.cc Wed Jan 13 20:02:03 2016 (r293842) @@ -42,7 +42,7 @@ static uint16_t *mem_to_shadow(uptr x) { return (uint16_t *)(__cfi_shadow + ((x >> kShadowGranularity) << 1)); } -typedef int (*CFICheckFn)(uptr, void *); +typedef int (*CFICheckFn)(u64, void *); class ShadowValue { uptr addr; @@ -189,9 +189,9 @@ static void init_shadow() { } extern "C" SANITIZER_INTERFACE_ATTRIBUTE -void __cfi_slowpath(uptr CallSiteTypeId, void *Ptr) { +void __cfi_slowpath(u64 CallSiteTypeId, void *Ptr) { uptr Addr = (uptr)Ptr; - VReport(3, "__cfi_slowpath: %zx, %p\n", CallSiteTypeId, Ptr); + VReport(3, "__cfi_slowpath: %llx, %p\n", CallSiteTypeId, Ptr); ShadowValue sv = ShadowValue::load(Addr); if (sv.is_invalid()) { VReport(2, "CFI: invalid memory region for a function pointer (shadow==0): %p\n", Ptr); Modified: vendor/compiler-rt/dist/lib/profile/CMakeLists.txt ============================================================================== --- vendor/compiler-rt/dist/lib/profile/CMakeLists.txt Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/profile/CMakeLists.txt Wed Jan 13 20:02:03 2016 (r293842) @@ -35,16 +35,16 @@ set(PROFILE_SOURCES InstrProfilingPlatformLinux.c InstrProfilingPlatformOther.c InstrProfilingRuntime.cc - InstrProfilingUtil.c - WindowsMMap.c) + InstrProfilingUtil.c) + +if(WIN32) + list(APPEND PROFILE_SOURCES WindowsMMap.c) +endif() if(UNIX) set(EXTRA_FLAGS -fPIC -Wno-pedantic) -else() - set(EXTRA_FLAGS - -fPIC) endif() if(COMPILER_RT_TARGET_HAS_ATOMICS) Modified: vendor/compiler-rt/dist/lib/profile/InstrProfData.inc ============================================================================== --- vendor/compiler-rt/dist/lib/profile/InstrProfData.inc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/profile/InstrProfData.inc Wed Jan 13 20:02:03 2016 (r293842) @@ -28,7 +28,7 @@ * * Examples of how the template is used to instantiate structure definition: * 1. To declare a structure: - * + * * struct ProfData { * #define INSTR_PROF_DATA(Type, LLVMType, Name, Initializer) \ * Type Name; @@ -155,7 +155,7 @@ VALUE_PROF_KIND(IPVK_Last, IPVK_Indirect #endif COVMAP_FUNC_RECORD(const IntPtrT, llvm::Type::getInt8PtrTy(Ctx), \ NamePtr, llvm::ConstantExpr::getBitCast(NamePtr, \ - llvm::Type::getInt8PtrTy(Ctx))) + llvm::Type::getInt8PtrTy(Ctx))) COVMAP_FUNC_RECORD(const uint32_t, llvm::Type::getInt32Ty(Ctx), NameSize, \ llvm::ConstantInt::get(llvm::Type::getInt32Ty(Ctx),\ NameValue.size())) @@ -182,7 +182,7 @@ COVMAP_HEADER(uint32_t, Int32Ty, Filenam COVMAP_HEADER(uint32_t, Int32Ty, CoverageSize, \ llvm::ConstantInt::get(Int32Ty, CoverageMappingSize)) COVMAP_HEADER(uint32_t, Int32Ty, Version, \ - llvm::ConstantInt::get(Int32Ty, CoverageMappingVersion1)) + llvm::ConstantInt::get(Int32Ty, CoverageMappingCurrentVersion)) #undef COVMAP_HEADER /* COVMAP_HEADER end. */ @@ -190,7 +190,8 @@ COVMAP_HEADER(uint32_t, Int32Ty, Version #ifdef INSTR_PROF_VALUE_PROF_DATA #define INSTR_PROF_DATA_DEFINED -/*! +#define INSTR_PROF_MAX_NUM_VAL_PER_SITE 255 +/*! * This is the header of the data structure that defines the on-disk * layout of the value profile data of a particular kind for one function. */ @@ -202,7 +203,7 @@ typedef struct ValueProfRecord { * otherwise the record for this kind won't be emitted. */ uint32_t NumValueSites; - /* + /* * The first element of the array that stores the number of profiled * values for each value site. The size of the array is NumValueSites. * Since NumValueSites is greater than zero, there is at least one @@ -226,7 +227,7 @@ typedef struct ValueProfRecord { * \brief Return the number of value sites. */ uint32_t getNumValueSites() const { return NumValueSites; } - /*! + /*! * \brief Read data from this record and save it to Record. */ void deserializeTo(InstrProfRecord &Record, @@ -247,10 +248,10 @@ typedef struct ValueProfRecord { typedef struct ValueProfData { /* * Total size in bytes including this field. It must be a multiple - * of sizeof(uint64_t). + * of sizeof(uint64_t). */ uint32_t TotalSize; - /* + /* *The number of value profile kinds that has value profile data. * In this implementation, a value profile kind is considered to * have profile data if the number of value profile sites for the @@ -260,7 +261,7 @@ typedef struct ValueProfData { */ uint32_t NumValueKinds; - /* + /* * Following are a sequence of variable length records. The prefix/header * of each record is defined by ValueProfRecord type. The number of * records is NumValueKinds. @@ -314,7 +315,7 @@ typedef struct ValueProfData { #endif } ValueProfData; -/* +/* * The closure is designed to abstact away two types of value profile data: * - InstrProfRecord which is the primary data structure used to * represent profile data in host tools (reader, writer, and profile-use) @@ -335,7 +336,7 @@ typedef struct ValueProfRecordClosure { uint32_t (*GetNumValueData)(const void *Record, uint32_t VKind); uint32_t (*GetNumValueDataForSite)(const void *R, uint32_t VK, uint32_t S); - /* + /* * After extracting the value profile data from the value profile record, * this method is used to map the in-memory value to on-disk value. If * the method is null, value will be written out untranslated. @@ -346,7 +347,7 @@ typedef struct ValueProfRecordClosure { ValueProfData *(*AllocValueProfData)(size_t TotalSizeInBytes); } ValueProfRecordClosure; -/* +/* * A wrapper struct that represents value profile runtime data. * Like InstrProfRecord class which is used by profiling host tools, * ValueProfRuntimeRecord also implements the abstract intefaces defined in @@ -384,7 +385,7 @@ serializeValueProfDataFromRT(const Value uint32_t getNumValueKindsRT(const void *R); #undef INSTR_PROF_VALUE_PROF_DATA -#endif /* INSTR_PROF_VALUE_PROF_DATA */ +#endif /* INSTR_PROF_VALUE_PROF_DATA */ #ifdef INSTR_PROF_COMMON_API_IMPL @@ -412,7 +413,7 @@ uint32_t getValueProfRecordHeaderSize(ui return Size; } -/*! +/*! * \brief Return the total size of the value profile record including the * header and the value data. */ @@ -432,7 +433,7 @@ InstrProfValueData *getValueProfRecordVa This->NumValueSites)); } -/*! +/*! * \brief Return the total number of value data for \c This record. */ INSTR_PROF_INLINE @@ -444,7 +445,7 @@ uint32_t getValueProfRecordNumValueData( return NumValueData; } -/*! +/*! * \brief Use this method to advance to the next \c This \c ValueProfRecord. */ INSTR_PROF_INLINE @@ -465,7 +466,7 @@ ValueProfRecord *getFirstValueProfRecord /* Closure based interfaces. */ -/*! +/*! * Return the total size in bytes of the on-disk value profile data * given the data stored in Record. */ @@ -535,7 +536,7 @@ ValueProfData *serializeValueProfDataFro return VPD; } -/* +/* * The value profiler runtime library stores the value profile data * for a given function in \c NumValueSites and \c Nodes structures. * \c ValueProfRuntimeRecord class is used to encapsulate the runtime @@ -639,7 +640,7 @@ static ValueProfRecordClosure RTRecordCl getValueForSiteRT, allocValueProfDataRT}; -/* +/* * Return the size of ValueProfData structure to store data * recorded in the runtime record. */ @@ -648,7 +649,7 @@ uint32_t getValueProfDataSizeRT(const Va return getValueProfDataSize(&RTRecordClosure); } -/* +/* * Return a ValueProfData instance that stores the data collected * from runtime. If \c DstData is provided by the caller, the value * profile data will be store in *DstData and DstData is returned, @@ -696,18 +697,31 @@ serializeValueProfDataFromRT(const Value /* Raw profile format version. */ #define INSTR_PROF_RAW_VERSION 2 +#define INSTR_PROF_INDEX_VERSION 3 +#define INSTR_PROF_COVMAP_VERSION 0 + +/* Profile version is always of type uint_64_t. Reserve the upper 8 bits in the + * version for other variants of profile. We set the lowest bit of the upper 8 + * bits (i.e. bit 56) to 1 to indicate if this is an IR-level instrumentaiton + * generated profile, and 0 if this is a Clang FE generated profile. +*/ +#define VARIANT_MASKS_ALL 0xff00000000000000ULL +#define GET_VERSION(V) ((V) & ~VARIANT_MASKS_ALL) /* Runtime section names and name strings. */ #define INSTR_PROF_DATA_SECT_NAME __llvm_prf_data #define INSTR_PROF_NAME_SECT_NAME __llvm_prf_names #define INSTR_PROF_CNTS_SECT_NAME __llvm_prf_cnts +#define INSTR_PROF_COVMAP_SECT_NAME __llvm_covmap -#define INSTR_PROF_DATA_SECT_NAME_STR \ - INSTR_PROF_QUOTE(INSTR_PROF_DATA_SECT_NAME) -#define INSTR_PROF_NAME_SECT_NAME_STR \ - INSTR_PROF_QUOTE(INSTR_PROF_NAME_SECT_NAME) -#define INSTR_PROF_CNTS_SECT_NAME_STR \ - INSTR_PROF_QUOTE(INSTR_PROF_CNTS_SECT_NAME) +#define INSTR_PROF_DATA_SECT_NAME_STR \ + INSTR_PROF_QUOTE(INSTR_PROF_DATA_SECT_NAME) +#define INSTR_PROF_NAME_SECT_NAME_STR \ + INSTR_PROF_QUOTE(INSTR_PROF_NAME_SECT_NAME) +#define INSTR_PROF_CNTS_SECT_NAME_STR \ + INSTR_PROF_QUOTE(INSTR_PROF_CNTS_SECT_NAME) +#define INSTR_PROF_COVMAP_SECT_NAME_STR \ + INSTR_PROF_QUOTE(INSTR_PROF_COVMAP_SECT_NAME) /* Macros to define start/stop section symbol for a given * section on Linux. For instance @@ -751,4 +765,3 @@ typedef struct ValueProfNode { #else #undef INSTR_PROF_DATA_DEFINED #endif - Modified: vendor/compiler-rt/dist/lib/profile/InstrProfiling.c ============================================================================== --- vendor/compiler-rt/dist/lib/profile/InstrProfiling.c Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/profile/InstrProfiling.c Wed Jan 13 20:02:03 2016 (r293842) @@ -18,6 +18,8 @@ char *(*GetEnvHook)(const char *) = 0; +COMPILER_RT_WEAK uint64_t __llvm_profile_raw_version = INSTR_PROF_RAW_VERSION; + COMPILER_RT_VISIBILITY uint64_t __llvm_profile_get_magic(void) { return sizeof(void *) == sizeof(uint64_t) ? (INSTR_PROF_RAW_MAGIC_64) : (INSTR_PROF_RAW_MAGIC_32); @@ -32,7 +34,7 @@ __llvm_profile_get_num_padding_bytes(uin } COMPILER_RT_VISIBILITY uint64_t __llvm_profile_get_version(void) { - return INSTR_PROF_RAW_VERSION; + return __llvm_profile_raw_version; } COMPILER_RT_VISIBILITY void __llvm_profile_reset_counters(void) { @@ -65,4 +67,3 @@ COMPILER_RT_VISIBILITY void __llvm_profi } } } - Modified: vendor/compiler-rt/dist/lib/profile/InstrProfilingFile.c ============================================================================== --- vendor/compiler-rt/dist/lib/profile/InstrProfilingFile.c Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/profile/InstrProfilingFile.c Wed Jan 13 20:02:03 2016 (r293842) @@ -214,6 +214,15 @@ int __llvm_profile_write_file(void) { return -1; } + /* Check if there is llvm/runtime version mismatch. */ + if (GET_VERSION(__llvm_profile_get_version()) != INSTR_PROF_RAW_VERSION) { + PROF_ERR("LLVM Profile: runtime and instrumentation version mismatch : " + "expected %d, but get %d\n", + INSTR_PROF_RAW_VERSION, + (int)GET_VERSION(__llvm_profile_get_version())); + return -1; + } + /* Write the file. */ rc = writeFileWithName(__llvm_profile_CurrentFilename); if (rc) Modified: vendor/compiler-rt/dist/lib/profile/InstrProfilingPort.h ============================================================================== --- vendor/compiler-rt/dist/lib/profile/InstrProfilingPort.h Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/profile/InstrProfilingPort.h Wed Jan 13 20:02:03 2016 (r293842) @@ -29,16 +29,16 @@ #define COMPILER_RT_BOOL_CMPXCHG(Ptr, OldV, NewV) \ (InterlockedCompareExchange64((LONGLONG volatile *)Ptr, (LONGLONG)NewV, \ (LONGLONG)OldV) == (LONGLONG)OldV) -#else +#else /* !defined(_WIN64) */ #define COMPILER_RT_BOOL_CMPXCHG(Ptr, OldV, NewV) \ (InterlockedCompareExchange((LONG volatile *)Ptr, (LONG)NewV, (LONG)OldV) == \ (LONG)OldV) #endif -#else +#else /* !defined(_MSC_VER) */ #define COMPILER_RT_BOOL_CMPXCHG(Ptr, OldV, NewV) \ __sync_bool_compare_and_swap(Ptr, OldV, NewV) #endif -#else +#else /* COMPILER_RT_HAS_ATOMICS != 1 */ #define COMPILER_RT_BOOL_CMPXCHG(Ptr, OldV, NewV) \ BoolCmpXchg((void **)Ptr, OldV, NewV) #endif Modified: vendor/compiler-rt/dist/lib/profile/InstrProfilingValue.c ============================================================================== --- vendor/compiler-rt/dist/lib/profile/InstrProfilingValue.c Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/profile/InstrProfilingValue.c Wed Jan 13 20:02:03 2016 (r293842) @@ -107,7 +107,7 @@ __llvm_profile_instrument_target(uint64_ ++VDataCount; } - if (VDataCount >= UCHAR_MAX) + if (VDataCount >= INSTR_PROF_MAX_NUM_VAL_PER_SITE) return; CurrentVNode = (ValueProfNode *)calloc(1, sizeof(ValueProfNode)); Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.h ============================================================================== --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.h Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.h Wed Jan 13 20:02:03 2016 (r293842) @@ -665,17 +665,17 @@ INLINE void LogFullErrorReport(const cha #if SANITIZER_LINUX || SANITIZER_MAC void WriteOneLineToSyslog(const char *s); +void LogMessageOnPrintf(const char *str); #else INLINE void WriteOneLineToSyslog(const char *s) {} +INLINE void LogMessageOnPrintf(const char *str) {} #endif #if SANITIZER_LINUX // Initialize Android logging. Any writes before this are silently lost. void AndroidLogInit(); -bool ShouldLogAfterPrintf(); #else INLINE void AndroidLogInit() {} -INLINE bool ShouldLogAfterPrintf() { return false; } #endif #if SANITIZER_ANDROID Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc ============================================================================== --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc Wed Jan 13 20:02:03 2016 (r293842) @@ -214,13 +214,11 @@ static inline int CharCmpX(unsigned char } DECLARE_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_strcmp, uptr called_pc, - const char *s1, const char *s2) + const char *s1, const char *s2, int result) INTERCEPTOR(int, strcmp, const char *s1, const char *s2) { void *ctx; COMMON_INTERCEPTOR_ENTER(ctx, strcmp, s1, s2); - CALL_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_strcmp, GET_CALLER_PC(), s1, - s2); unsigned char c1, c2; uptr i; for (i = 0;; i++) { @@ -230,19 +228,21 @@ INTERCEPTOR(int, strcmp, const char *s1, } COMMON_INTERCEPTOR_READ_STRING(ctx, s1, i + 1); COMMON_INTERCEPTOR_READ_STRING(ctx, s2, i + 1); - return CharCmpX(c1, c2); + int result = CharCmpX(c1, c2); + CALL_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_strcmp, GET_CALLER_PC(), s1, + s2, result); + return result; } DECLARE_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_strncmp, uptr called_pc, - const char *s1, const char *s2, uptr n) + const char *s1, const char *s2, uptr n, + int result) INTERCEPTOR(int, strncmp, const char *s1, const char *s2, uptr size) { if (COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED) return internal_strncmp(s1, s2, size); void *ctx; COMMON_INTERCEPTOR_ENTER(ctx, strncmp, s1, s2, size); - CALL_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_strncmp, GET_CALLER_PC(), s1, - s2, size); unsigned char c1 = 0, c2 = 0; uptr i; for (i = 0; i < size; i++) { @@ -252,7 +252,10 @@ INTERCEPTOR(int, strncmp, const char *s1 } COMMON_INTERCEPTOR_READ_RANGE(ctx, s1, Min(i + 1, size)); COMMON_INTERCEPTOR_READ_RANGE(ctx, s2, Min(i + 1, size)); - return CharCmpX(c1, c2); + int result = CharCmpX(c1, c2); + CALL_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_strncmp, GET_CALLER_PC(), s1, + s2, size, result); + return result; } #define INIT_STRCMP COMMON_INTERCEPT_FUNCTION(strcmp) @@ -400,15 +403,14 @@ INTERCEPTOR(char *, strpbrk, const char #if SANITIZER_INTERCEPT_MEMCMP DECLARE_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_memcmp, uptr called_pc, - const void *s1, const void *s2, uptr n) + const void *s1, const void *s2, uptr n, + int result) INTERCEPTOR(int, memcmp, const void *a1, const void *a2, uptr size) { if (COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED) return internal_memcmp(a1, a2, size); void *ctx; COMMON_INTERCEPTOR_ENTER(ctx, memcmp, a1, a2, size); - CALL_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_memcmp, GET_CALLER_PC(), a1, - a2, size); if (common_flags()->intercept_memcmp) { if (common_flags()->strict_memcmp) { // Check the entire regions even if the first bytes of the buffers are @@ -428,10 +430,16 @@ INTERCEPTOR(int, memcmp, const void *a1, } COMMON_INTERCEPTOR_READ_RANGE(ctx, s1, Min(i + 1, size)); COMMON_INTERCEPTOR_READ_RANGE(ctx, s2, Min(i + 1, size)); - return CharCmpX(c1, c2); + int r = CharCmpX(c1, c2); + CALL_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_memcmp, GET_CALLER_PC(), + a1, a2, size, r); + return r; } } - return REAL(memcmp(a1, a2, size)); + int result = REAL(memcmp(a1, a2, size)); + CALL_WEAK_INTERCEPTOR_HOOK(__sanitizer_weak_hook_memcmp, GET_CALLER_PC(), a1, + a2, size, result); + return result; } #define INIT_MEMCMP COMMON_INTERCEPT_FUNCTION(memcmp) Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cc ============================================================================== --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cc Wed Jan 13 20:02:03 2016 (r293842) @@ -125,9 +125,6 @@ void WriteToSyslog(const char *msg) { char *p = msg_copy.data(); char *q; - // Remove color sequences since syslogs cannot print them. - RemoveANSIEscapeSequencesFromString(p); - // Print one line at a time. // syslog, at least on Android, has an implicit message length limit. do { Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_nolibc.cc ============================================================================== --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_nolibc.cc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_nolibc.cc Wed Jan 13 20:02:03 2016 (r293842) @@ -19,6 +19,7 @@ namespace __sanitizer { #if SANITIZER_LINUX bool ShouldLogAfterPrintf() { return false; } +void LogMessageOnPrintf(const char *str) {} #endif void WriteToSyslog(const char *buffer) {} void Abort() { internal__exit(1); } Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_libcdep.cc ============================================================================== --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_libcdep.cc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_libcdep.cc Wed Jan 13 20:02:03 2016 (r293842) @@ -524,13 +524,13 @@ void AndroidLogInit() { atomic_store(&android_log_initialized, 1, memory_order_release); } -bool ShouldLogAfterPrintf() { +static bool ShouldLogAfterPrintf() { return atomic_load(&android_log_initialized, memory_order_acquire); } #else void AndroidLogInit() {} -bool ShouldLogAfterPrintf() { return true; } +static bool ShouldLogAfterPrintf() { return true; } #endif // SANITIZER_ANDROID void WriteOneLineToSyslog(const char *s) { @@ -541,6 +541,11 @@ void WriteOneLineToSyslog(const char *s) #endif } +void LogMessageOnPrintf(const char *str) { + if (common_flags()->log_to_syslog && ShouldLogAfterPrintf()) + WriteToSyslog(str); +} + #endif // SANITIZER_LINUX } // namespace __sanitizer Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.cc ============================================================================== --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.cc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.cc Wed Jan 13 20:02:03 2016 (r293842) @@ -430,6 +430,12 @@ void WriteOneLineToSyslog(const char *s) asl_log(nullptr, nullptr, ASL_LEVEL_ERR, "%s", s); } +void LogMessageOnPrintf(const char *str) { + // Log all printf output to CrashLog. + if (common_flags()->abort_on_error) + CRAppendCrashLogMessage(str); +} + void LogFullErrorReport(const char *buffer) { // Log with os_trace. This will make it into the crash log. #if SANITIZER_OS_TRACE @@ -463,9 +469,7 @@ void LogFullErrorReport(const char *buff if (common_flags()->log_to_syslog) WriteToSyslog(buffer); - // Log to CrashLog. - if (common_flags()->abort_on_error) - CRSetCrashLogMessage(buffer); + // The report is added to CrashLog as part of logging all of Printf output. } void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) { Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.h ============================================================================== --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.h Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.h Wed Jan 13 20:02:03 2016 (r293842) @@ -44,9 +44,11 @@ static const char *__crashreporter_info_ &__crashreporter_info_buff__[0]; asm(".desc ___crashreporter_info__, 0x10"); } // extern "C" +static BlockingMutex crashreporter_info_mutex(LINKER_INITIALIZED); -INLINE void CRSetCrashLogMessage(const char *msg) { - internal_strlcpy(__crashreporter_info_buff__, msg, +INLINE void CRAppendCrashLogMessage(const char *msg) { + BlockingMutexLock l(&crashreporter_info_mutex); + internal_strlcat(__crashreporter_info_buff__, msg, sizeof(__crashreporter_info_buff__)); } #endif // SANITIZER_MAC Modified: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_printf.cc ============================================================================== --- vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_printf.cc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_printf.cc Wed Jan 13 20:02:03 2016 (r293842) @@ -278,9 +278,12 @@ static void SharedPrintfCode(bool append # undef CHECK_NEEDED_LENGTH } RawWrite(buffer); - if (common_flags()->log_to_syslog && ShouldLogAfterPrintf()) - WriteToSyslog(buffer); + + // Remove color sequences from the message. + RemoveANSIEscapeSequencesFromString(buffer); CallPrintfAndReportCallback(buffer); + LogMessageOnPrintf(buffer); + // If we had mapped any memory, clean up. if (buffer != local_buffer) UnmapOrDie((void *)buffer, buffer_size); Modified: vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.cc ============================================================================== --- vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.cc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.cc Wed Jan 13 20:02:03 2016 (r293842) @@ -1892,8 +1892,10 @@ TSAN_INTERCEPTOR(int, rmdir, char *path) TSAN_INTERCEPTOR(int, closedir, void *dirp) { SCOPED_TSAN_INTERCEPTOR(closedir, dirp); - int fd = dirfd(dirp); - FdClose(thr, pc, fd); + if (dirp) { + int fd = dirfd(dirp); + FdClose(thr, pc, fd); + } return REAL(closedir)(dirp); } Modified: vendor/compiler-rt/dist/test/cfi/CMakeLists.txt ============================================================================== --- vendor/compiler-rt/dist/test/cfi/CMakeLists.txt Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/test/cfi/CMakeLists.txt Wed Jan 13 20:02:03 2016 (r293842) @@ -6,10 +6,12 @@ configure_lit_site_cfg( set(CFI_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS}) if(NOT COMPILER_RT_STANDALONE_BUILD) list(APPEND CFI_TEST_DEPS - cfi opt ubsan ) + if(COMPILER_RT_HAS_CFI) + list(APPEND CFI_TEST_DEPS cfi) + endif() if(LLVM_ENABLE_PIC AND LLVM_BINUTILS_INCDIR) list(APPEND CFI_TEST_DEPS LLVMgold Modified: vendor/compiler-rt/dist/test/msan/insertvalue_origin.cc ============================================================================== --- vendor/compiler-rt/dist/test/msan/insertvalue_origin.cc Wed Jan 13 20:01:42 2016 (r293841) +++ vendor/compiler-rt/dist/test/msan/insertvalue_origin.cc Wed Jan 13 20:02:03 2016 (r293842) @@ -4,7 +4,6 @@ // RUN: FileCheck %s < %t.out && FileCheck %s < %t.out // Test origin propagation through insertvalue IR instruction. -// REQUIRES: stable-runtime #include #include Added: vendor/compiler-rt/dist/test/profile/Linux/instrprof-basic.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/test/profile/Linux/instrprof-basic.c Wed Jan 13 20:02:03 2016 (r293842) @@ -0,0 +1,31 @@ +// RUN: %clang_profgen -fdata-sections -ffunction-sections -fuse-ld=gold -Wl,--gc-sections -o %t -O3 %s +// RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t +// RUN: llvm-profdata merge -o %t.profdata %t.profraw +// RUN: %clang_profuse=%t.profdata -o - -S -emit-llvm %s | FileCheck %s + +int begin(int i) { + // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[PD1:[0-9]+]] + if (i) + return 0; + return 1; +} + +int end(int i) { + // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[PD2:[0-9]+]] + if (i) + return 0; + return 1; +} + +int main(int argc, const char *argv[]) { + begin(0); + end(1); + + // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[PD2:[0-9]+]] + if (argc) + return 0; + return 1; +} + +// CHECK: ![[PD1]] = !{!"branch_weights", i32 1, i32 2} +// CHECK: ![[PD2]] = !{!"branch_weights", i32 2, i32 1} Added: vendor/compiler-rt/dist/test/profile/Linux/instrprof-dlopen.test ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/test/profile/Linux/instrprof-dlopen.test Wed Jan 13 20:02:03 2016 (r293842) @@ -0,0 +1,34 @@ +RUN: mkdir -p %t.d +RUN: %clang_profgen -o %t.d/func.shared -fPIC -shared -fdata-sections -ffunction-sections -fuse-ld=gold -Wl,--gc-sections %S/../Inputs/instrprof-dlopen-func.c +RUN: %clang_profgen -o %t.d/func2.shared -fPIC -shared -fdata-sections -ffunction-sections -fuse-ld=gold -Wl,--gc-sections %S/../Inputs/instrprof-dlopen-func2.c +RUN: %clang -o %t-local -fPIC -DDLOPEN_FUNC_DIR=\"%t.d\" -DDLOPEN_FLAGS="RTLD_LAZY | RTLD_LOCAL" %S/../Inputs/instrprof-dlopen-main.c +RUN: %clang -o %t-global -fPIC -DDLOPEN_FUNC_DIR=\"%t.d\" -DDLOPEN_FLAGS="RTLD_LAZY | RTLD_GLOBAL" %S/../Inputs/instrprof-dlopen-main.c + +RUN: %clang -c -o %t.d/main.o %S/../Inputs/instrprof-dlopen-main.c +RUN: %clang_profgen -fdata-sections -ffunction-sections -fuse-ld=gold -Wl,--gc-sections -o %t-static %S/../Inputs/instrprof-dlopen-func.c %S/../Inputs/instrprof-dlopen-func2.c %t.d/main.o + +RUN: env LLVM_PROFILE_FILE=%t-static.profraw %run %t-static +RUN: env LLVM_PROFILE_FILE=%t-local.profraw %run %t-local +RUN: env LLVM_PROFILE_FILE=%t-global.profraw %run %t-global + +RUN: llvm-profdata merge -o %t-static.profdata %t-static.profraw +RUN: llvm-profdata merge -o %t-local.profdata %t-local.profraw +RUN: llvm-profdata merge -o %t-global.profdata %t-global.profraw + +RUN: %clang_profuse=%t-static.profdata -o %t-func.static.ll -S -emit-llvm %S/../Inputs/instrprof-dlopen-func.c +RUN: %clang_profuse=%t-local.profdata -o %t-func.local.ll -S -emit-llvm %S/../Inputs/instrprof-dlopen-func.c +RUN: %clang_profuse=%t-global.profdata -o %t-func.global.ll -S -emit-llvm %S/../Inputs/instrprof-dlopen-func.c +RUN: diff %t-func.static.ll %t-func.local.ll +RUN: diff %t-func.static.ll %t-func.global.ll + +RUN: %clang_profuse=%t-static.profdata -o %t-func2.static.ll -S -emit-llvm %S/../Inputs/instrprof-dlopen-func2.c +RUN: %clang_profuse=%t-local.profdata -o %t-func2.local.ll -S -emit-llvm %S/../Inputs/instrprof-dlopen-func2.c +RUN: %clang_profuse=%t-global.profdata -o %t-func2.global.ll -S -emit-llvm %S/../Inputs/instrprof-dlopen-func2.c +RUN: diff %t-func2.static.ll %t-func2.local.ll +RUN: diff %t-func2.static.ll %t-func2.global.ll + +RUN: %clang_profuse=%t-static.profdata -o %t-main.static.ll -S -emit-llvm %S/../Inputs/instrprof-dlopen-main.c +RUN: %clang_profuse=%t-local.profdata -o %t-main.local.ll -S -emit-llvm %S/../Inputs/instrprof-dlopen-main.c +RUN: %clang_profuse=%t-local.profdata -o %t-main.global.ll -S -emit-llvm %S/../Inputs/instrprof-dlopen-main.c +RUN: diff %t-main.static.ll %t-main.local.ll +RUN: diff %t-main.static.ll %t-main.global.ll Added: vendor/compiler-rt/dist/test/profile/Linux/instrprof-dynamic-one-shared.test ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/test/profile/Linux/instrprof-dynamic-one-shared.test Wed Jan 13 20:02:03 2016 (r293842) @@ -0,0 +1,23 @@ +RUN: mkdir -p %t.d +RUN: %clang_profgen -fdata-sections -ffunction-sections -fuse-ld=gold -Wl,--gc-sections -o %t.d/a.shared -fPIC -shared %S/../Inputs/instrprof-dynamic-a.cpp +RUN: %clang_profgen -fdata-sections -ffunction-sections -fuse-ld=gold -Wl,--gc-sections -o %t-shared -fPIC -rpath %t.d %t.d/a.shared %S/../Inputs/instrprof-dynamic-b.cpp %S/../Inputs/instrprof-dynamic-main.cpp + +RUN: %clang_profgen -fdata-sections -ffunction-sections -fuse-ld=gold -Wl,--gc-sections -o %t-static %S/../Inputs/instrprof-dynamic-a.cpp %S/../Inputs/instrprof-dynamic-b.cpp %S/../Inputs/instrprof-dynamic-main.cpp + +RUN: env LLVM_PROFILE_FILE=%t-static.profraw %run %t-static +RUN: env LLVM_PROFILE_FILE=%t-shared.profraw %run %t-shared + +RUN: llvm-profdata merge -o %t-static.profdata %t-static.profraw +RUN: llvm-profdata merge -o %t-shared.profdata %t-shared.profraw + +RUN: %clang_profuse=%t-static.profdata -o %t-a.static.ll -S -emit-llvm %S/../Inputs/instrprof-dynamic-a.cpp +RUN: %clang_profuse=%t-shared.profdata -o %t-a.shared.ll -S -emit-llvm %S/../Inputs/instrprof-dynamic-a.cpp +RUN: diff %t-a.static.ll %t-a.shared.ll + +RUN: %clang_profuse=%t-static.profdata -o %t-b.static.ll -S -emit-llvm %S/../Inputs/instrprof-dynamic-b.cpp +RUN: %clang_profuse=%t-shared.profdata -o %t-b.shared.ll -S -emit-llvm %S/../Inputs/instrprof-dynamic-b.cpp +RUN: diff %t-b.static.ll %t-b.shared.ll + +RUN: %clang_profuse=%t-static.profdata -o %t-main.static.ll -S -emit-llvm %S/../Inputs/instrprof-dynamic-main.cpp +RUN: %clang_profuse=%t-shared.profdata -o %t-main.shared.ll -S -emit-llvm %S/../Inputs/instrprof-dynamic-main.cpp +RUN: diff %t-main.static.ll %t-main.shared.ll Added: vendor/compiler-rt/dist/test/profile/Linux/instrprof-dynamic-two-shared.test ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/test/profile/Linux/instrprof-dynamic-two-shared.test Wed Jan 13 20:02:03 2016 (r293842) @@ -0,0 +1,24 @@ +RUN: mkdir -p %t.d +RUN: %clang_profgen -fdata-sections -ffunction-sections -fuse-ld=gold -Wl,--gc-sections -o %t.d/a.shared -fPIC -shared %S/../Inputs/instrprof-dynamic-a.cpp *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Jan 13 20:02:53 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0C9EA81FD8; Wed, 13 Jan 2016 20:02:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 869A712B0; Wed, 13 Jan 2016 20:02:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DK2qdS087700; Wed, 13 Jan 2016 20:02:52 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DK2qCF087699; Wed, 13 Jan 2016 20:02:52 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601132002.u0DK2qCF087699@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 20:02:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293843 - vendor/compiler-rt/compiler-rt-trunk-r257626 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 20:02:53 -0000 Author: dim Date: Wed Jan 13 20:02:52 2016 New Revision: 293843 URL: https://svnweb.freebsd.org/changeset/base/293843 Log: Tag compiler-rt trunk r257626. Added: vendor/compiler-rt/compiler-rt-trunk-r257626/ - copied from r293842, vendor/compiler-rt/dist/ From owner-svn-src-vendor@freebsd.org Wed Jan 13 20:04:53 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9814FA8108F; Wed, 13 Jan 2016 20:04:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3CAB01464; Wed, 13 Jan 2016 20:04:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DK4qfv087817; Wed, 13 Jan 2016 20:04:52 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DK4pl7087802; Wed, 13 Jan 2016 20:04:51 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601132004.u0DK4pl7087802@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 20:04:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293844 - in vendor/libc++/dist: include test/std/containers/sequences/vector.bool test/std/containers/unord/unord.map test/std/containers/unord/unord.map/unord.map.cnstr test/std/conta... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 20:04:53 -0000 Author: dim Date: Wed Jan 13 20:04:50 2016 New Revision: 293844 URL: https://svnweb.freebsd.org/changeset/base/293844 Log: Vendor import of libc++ trunk r257626: https://llvm.org/svn/llvm-project/libcxx/trunk@257626 Modified: vendor/libc++/dist/include/__config vendor/libc++/dist/include/istream vendor/libc++/dist/include/limits vendor/libc++/dist/include/memory vendor/libc++/dist/include/ostream vendor/libc++/dist/include/sstream vendor/libc++/dist/include/streambuf vendor/libc++/dist/test/std/containers/sequences/vector.bool/find.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/load_factor.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/range_size.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal_allocator.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/load_factor.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/rehash.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal_allocator.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/load_factor.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal_allocator.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/load_factor.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/range_size.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal.pass.cpp vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal_allocator.pass.cpp vendor/libc++/dist/test/std/experimental/string.view/string.view.access/at.pass.cpp vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp vendor/libc++/dist/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp vendor/libc++/dist/test/std/localization/locales/locale/locale.members/combine.pass.cpp vendor/libc++/dist/test/std/numerics/rand/rand.device/ctor.pass.cpp vendor/libc++/dist/test/std/utilities/function.objects/unord.hash/integral.pass.cpp vendor/libc++/dist/test/std/utilities/intseq/intseq.intseq/integer_seq.pass.cpp vendor/libc++/dist/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp Modified: vendor/libc++/dist/include/__config ============================================================================== --- vendor/libc++/dist/include/__config Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/include/__config Wed Jan 13 20:04:50 2016 (r293844) @@ -433,6 +433,11 @@ namespace std { #define _LIBCPP_HAS_NO_ASAN #endif +// Allow for build-time disabling of unsigned integer sanitization +#ifndef _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK +#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK __attribute((no_sanitize("unsigned-integer-overflow"))) +#endif + #elif defined(__GNUC__) #define _ALIGNAS(x) __attribute__((__aligned__(x))) @@ -826,6 +831,10 @@ extern "C" void __sanitizer_annotate_con #define _LIBCPP_HAS_NO_ATOMIC_HEADER #endif +#ifndef _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK +#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK +#endif + #endif // __cplusplus #endif // _LIBCPP_CONFIG Modified: vendor/libc++/dist/include/istream ============================================================================== --- vendor/libc++/dist/include/istream Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/include/istream Wed Jan 13 20:04:50 2016 (r293844) @@ -304,7 +304,7 @@ basic_istream<_CharT, _Traits>::sentry:: } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>::basic_istream(basic_streambuf* __sb) : __gc_(0) { @@ -314,7 +314,7 @@ basic_istream<_CharT, _Traits>::basic_is #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>::basic_istream(basic_istream&& __rhs) : __gc_(__rhs.__gc_) { @@ -323,7 +323,7 @@ basic_istream<_CharT, _Traits>::basic_is } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::operator=(basic_istream&& __rhs) { @@ -339,7 +339,7 @@ basic_istream<_CharT, _Traits>::~basic_i } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_istream<_CharT, _Traits>::swap(basic_istream& __rhs) { @@ -725,7 +725,7 @@ basic_istream<_CharT, _Traits>::operator } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::operator>>(basic_istream& (*__pf)(basic_istream&)) { @@ -733,7 +733,7 @@ basic_istream<_CharT, _Traits>::operator } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::operator>>(basic_ios& (*__pf)(basic_ios&)) @@ -743,7 +743,7 @@ basic_istream<_CharT, _Traits>::operator } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::operator>>(ios_base& (*__pf)(ios_base&)) { @@ -800,7 +800,7 @@ operator>>(basic_istream<_CharT, _Traits } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream& operator>>(basic_istream& __is, unsigned char* __s) { @@ -808,7 +808,7 @@ operator>>(basic_istream& } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream& operator>>(basic_istream& __is, signed char* __s) { @@ -843,7 +843,7 @@ operator>>(basic_istream<_CharT, _Traits } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream& operator>>(basic_istream& __is, unsigned char& __c) { @@ -851,7 +851,7 @@ operator>>(basic_istream& } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream& operator>>(basic_istream& __is, signed char& __c) { @@ -947,7 +947,7 @@ basic_istream<_CharT, _Traits>::get() } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::get(char_type& __c) { @@ -1006,7 +1006,7 @@ basic_istream<_CharT, _Traits>::get(char } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::get(char_type* __s, streamsize __n) { @@ -1068,7 +1068,7 @@ basic_istream<_CharT, _Traits>::get(basi } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::get(basic_streambuf& __sb) { @@ -1129,7 +1129,7 @@ basic_istream<_CharT, _Traits>::getline( } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::getline(char_type* __s, streamsize __n) { @@ -1462,7 +1462,7 @@ ws(basic_istream<_CharT, _Traits>& __is) #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) { @@ -1504,7 +1504,7 @@ public: }; template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_iostream<_CharT, _Traits>::basic_iostream(basic_streambuf* __sb) : basic_istream<_CharT, _Traits>(__sb) { @@ -1513,14 +1513,14 @@ basic_iostream<_CharT, _Traits>::basic_i #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_iostream<_CharT, _Traits>::basic_iostream(basic_iostream&& __rhs) : basic_istream<_CharT, _Traits>(_VSTD::move(__rhs)) { } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_iostream<_CharT, _Traits>& basic_iostream<_CharT, _Traits>::operator=(basic_iostream&& __rhs) { @@ -1536,7 +1536,7 @@ basic_iostream<_CharT, _Traits>::~basic_ } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_iostream<_CharT, _Traits>::swap(basic_iostream& __rhs) { @@ -1645,7 +1645,7 @@ getline(basic_istream<_CharT, _Traits>& } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Allocator>& __str) @@ -1656,7 +1656,7 @@ getline(basic_istream<_CharT, _Traits>& #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm) @@ -1665,7 +1665,7 @@ getline(basic_istream<_CharT, _Traits>&& } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str) Modified: vendor/libc++/dist/include/limits ============================================================================== --- vendor/libc++/dist/include/limits Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/include/limits Wed Jan 13 20:04:50 2016 (r293844) @@ -237,7 +237,8 @@ protected: static _LIBCPP_CONSTEXPR const bool is_bounded = true; static _LIBCPP_CONSTEXPR const bool is_modulo = !_VSTD::is_signed<_Tp>::value; -#if defined(__i386__) || defined(__x86_64__) || defined(__pnacl__) +#if defined(__i386__) || defined(__x86_64__) || defined(__pnacl__) || \ + defined(__wasm__) static _LIBCPP_CONSTEXPR const bool traps = true; #else static _LIBCPP_CONSTEXPR const bool traps = false; Modified: vendor/libc++/dist/include/memory ============================================================================== --- vendor/libc++/dist/include/memory Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/include/memory Wed Jan 13 20:04:50 2016 (r293844) @@ -3194,7 +3194,7 @@ struct __murmur2_or_cityhash<_Size, 32> // murmur2 template _Size -__murmur2_or_cityhash<_Size, 32>::operator()(const void* __key, _Size __len) +__murmur2_or_cityhash<_Size, 32>::operator()(const void* __key, _Size __len) _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK { const _Size __m = 0x5bd1e995; const _Size __r = 24; @@ -3344,7 +3344,7 @@ struct __murmur2_or_cityhash<_Size, 64> // cityhash64 template _Size -__murmur2_or_cityhash<_Size, 64>::operator()(const void* __key, _Size __len) +__murmur2_or_cityhash<_Size, 64>::operator()(const void* __key, _Size __len) _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK { const char* __s = static_cast(__key); if (__len <= 32) { Modified: vendor/libc++/dist/include/ostream ============================================================================== --- vendor/libc++/dist/include/ostream Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/include/ostream Wed Jan 13 20:04:50 2016 (r293844) @@ -275,7 +275,7 @@ basic_ostream<_CharT, _Traits>::sentry:: } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>::basic_ostream(basic_streambuf* __sb) { this->init(__sb); @@ -284,14 +284,14 @@ basic_ostream<_CharT, _Traits>::basic_os #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>::basic_ostream(basic_ostream&& __rhs) { this->move(__rhs); } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>::operator=(basic_ostream&& __rhs) { @@ -307,7 +307,7 @@ basic_ostream<_CharT, _Traits>::~basic_o } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_ostream<_CharT, _Traits>::swap(basic_ostream& __rhs) { @@ -315,7 +315,7 @@ basic_ostream<_CharT, _Traits>::swap(bas } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>::operator<<(basic_ostream& (*__pf)(basic_ostream&)) { @@ -323,7 +323,7 @@ basic_ostream<_CharT, _Traits>::operator } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>::operator<<(basic_ios& (*__pf)(basic_ios&)) @@ -333,7 +333,7 @@ basic_ostream<_CharT, _Traits>::operator } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>::operator<<(ios_base& (*__pf)(ios_base&)) { @@ -989,7 +989,7 @@ basic_ostream<_CharT, _Traits>::flush() } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_ostream<_CharT, _Traits>::pos_type basic_ostream<_CharT, _Traits>::tellp() { @@ -999,7 +999,7 @@ basic_ostream<_CharT, _Traits>::tellp() } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>::seekp(pos_type __pos) { @@ -1013,7 +1013,7 @@ basic_ostream<_CharT, _Traits>::seekp(po } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>::seekp(off_type __off, ios_base::seekdir __dir) { @@ -1027,7 +1027,7 @@ basic_ostream<_CharT, _Traits>::seekp(of } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& endl(basic_ostream<_CharT, _Traits>& __os) { @@ -1037,7 +1037,7 @@ endl(basic_ostream<_CharT, _Traits>& __o } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& ends(basic_ostream<_CharT, _Traits>& __os) { @@ -1046,7 +1046,7 @@ ends(basic_ostream<_CharT, _Traits>& __o } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& flush(basic_ostream<_CharT, _Traits>& __os) { @@ -1057,7 +1057,7 @@ flush(basic_ostream<_CharT, _Traits>& __ #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY typename enable_if < !is_lvalue_reference<_Stream>::value && @@ -1081,7 +1081,7 @@ operator<<(basic_ostream<_CharT, _Traits } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __ec) { @@ -1089,7 +1089,7 @@ operator<<(basic_ostream<_CharT, _Traits } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p) { Modified: vendor/libc++/dist/include/sstream ============================================================================== --- vendor/libc++/dist/include/sstream Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/include/sstream Wed Jan 13 20:04:50 2016 (r293844) @@ -236,7 +236,7 @@ protected: }; template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_stringbuf<_CharT, _Traits, _Allocator>::basic_stringbuf(ios_base::openmode __wch) : __hm_(0), __mode_(__wch) @@ -245,7 +245,7 @@ basic_stringbuf<_CharT, _Traits, _Alloca } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_stringbuf<_CharT, _Traits, _Allocator>::basic_stringbuf(const string_type& __s, ios_base::openmode __wch) : __hm_(0), @@ -425,7 +425,7 @@ basic_stringbuf<_CharT, _Traits, _Alloca } template -inline +inline _LIBCPP_INLINE_VISIBILITY void swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x, basic_stringbuf<_CharT, _Traits, _Allocator>& __y) @@ -607,7 +607,7 @@ basic_stringbuf<_CharT, _Traits, _Alloca } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_stringbuf<_CharT, _Traits, _Allocator>::pos_type basic_stringbuf<_CharT, _Traits, _Allocator>::seekpos(pos_type __sp, ios_base::openmode __wch) @@ -654,7 +654,7 @@ public: }; template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(ios_base::openmode __wch) : basic_istream<_CharT, _Traits>(&__sb_), __sb_(__wch | ios_base::in) @@ -662,7 +662,7 @@ basic_istringstream<_CharT, _Traits, _Al } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(const string_type& __s, ios_base::openmode __wch) : basic_istream<_CharT, _Traits>(&__sb_), @@ -673,7 +673,7 @@ basic_istringstream<_CharT, _Traits, _Al #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(basic_istringstream&& __rhs) : basic_istream<_CharT, _Traits>(_VSTD::move(__rhs)), __sb_(_VSTD::move(__rhs.__sb_)) @@ -693,7 +693,7 @@ basic_istringstream<_CharT, _Traits, _Al #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_istringstream<_CharT, _Traits, _Allocator>::swap(basic_istringstream& __rhs) { @@ -702,7 +702,7 @@ basic_istringstream<_CharT, _Traits, _Al } template -inline +inline _LIBCPP_INLINE_VISIBILITY void swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x, basic_istringstream<_CharT, _Traits, _Allocator>& __y) @@ -711,7 +711,7 @@ swap(basic_istringstream<_CharT, _Traits } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_stringbuf<_CharT, _Traits, _Allocator>* basic_istringstream<_CharT, _Traits, _Allocator>::rdbuf() const { @@ -719,7 +719,7 @@ basic_istringstream<_CharT, _Traits, _Al } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_string<_CharT, _Traits, _Allocator> basic_istringstream<_CharT, _Traits, _Allocator>::str() const { @@ -727,7 +727,7 @@ basic_istringstream<_CharT, _Traits, _Al } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_istringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s) { @@ -773,7 +773,7 @@ public: }; template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(ios_base::openmode __wch) : basic_ostream<_CharT, _Traits>(&__sb_), __sb_(__wch | ios_base::out) @@ -781,7 +781,7 @@ basic_ostringstream<_CharT, _Traits, _Al } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(const string_type& __s, ios_base::openmode __wch) : basic_ostream<_CharT, _Traits>(&__sb_), @@ -792,7 +792,7 @@ basic_ostringstream<_CharT, _Traits, _Al #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(basic_ostringstream&& __rhs) : basic_ostream<_CharT, _Traits>(_VSTD::move(__rhs)), __sb_(_VSTD::move(__rhs.__sb_)) @@ -812,7 +812,7 @@ basic_ostringstream<_CharT, _Traits, _Al #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_ostringstream<_CharT, _Traits, _Allocator>::swap(basic_ostringstream& __rhs) { @@ -821,7 +821,7 @@ basic_ostringstream<_CharT, _Traits, _Al } template -inline +inline _LIBCPP_INLINE_VISIBILITY void swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x, basic_ostringstream<_CharT, _Traits, _Allocator>& __y) @@ -830,7 +830,7 @@ swap(basic_ostringstream<_CharT, _Traits } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_stringbuf<_CharT, _Traits, _Allocator>* basic_ostringstream<_CharT, _Traits, _Allocator>::rdbuf() const { @@ -838,7 +838,7 @@ basic_ostringstream<_CharT, _Traits, _Al } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_string<_CharT, _Traits, _Allocator> basic_ostringstream<_CharT, _Traits, _Allocator>::str() const { @@ -846,7 +846,7 @@ basic_ostringstream<_CharT, _Traits, _Al } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_ostringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s) { @@ -892,7 +892,7 @@ public: }; template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(ios_base::openmode __wch) : basic_iostream<_CharT, _Traits>(&__sb_), __sb_(__wch) @@ -900,7 +900,7 @@ basic_stringstream<_CharT, _Traits, _All } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(const string_type& __s, ios_base::openmode __wch) : basic_iostream<_CharT, _Traits>(&__sb_), @@ -911,7 +911,7 @@ basic_stringstream<_CharT, _Traits, _All #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(basic_stringstream&& __rhs) : basic_iostream<_CharT, _Traits>(_VSTD::move(__rhs)), __sb_(_VSTD::move(__rhs.__sb_)) @@ -931,7 +931,7 @@ basic_stringstream<_CharT, _Traits, _All #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_stringstream<_CharT, _Traits, _Allocator>::swap(basic_stringstream& __rhs) { @@ -940,7 +940,7 @@ basic_stringstream<_CharT, _Traits, _All } template -inline +inline _LIBCPP_INLINE_VISIBILITY void swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x, basic_stringstream<_CharT, _Traits, _Allocator>& __y) @@ -949,7 +949,7 @@ swap(basic_stringstream<_CharT, _Traits, } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_stringbuf<_CharT, _Traits, _Allocator>* basic_stringstream<_CharT, _Traits, _Allocator>::rdbuf() const { @@ -957,7 +957,7 @@ basic_stringstream<_CharT, _Traits, _All } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_string<_CharT, _Traits, _Allocator> basic_stringstream<_CharT, _Traits, _Allocator>::str() const { @@ -965,7 +965,7 @@ basic_stringstream<_CharT, _Traits, _All } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_stringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s) { Modified: vendor/libc++/dist/include/streambuf ============================================================================== --- vendor/libc++/dist/include/streambuf Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/include/streambuf Wed Jan 13 20:04:50 2016 (r293844) @@ -220,7 +220,7 @@ basic_streambuf<_CharT, _Traits>::~basic } template -inline +inline _LIBCPP_INLINE_VISIBILITY locale basic_streambuf<_CharT, _Traits>::pubimbue(const locale& __loc) { @@ -231,7 +231,7 @@ basic_streambuf<_CharT, _Traits>::pubimb } template -inline +inline _LIBCPP_INLINE_VISIBILITY locale basic_streambuf<_CharT, _Traits>::getloc() const { @@ -239,7 +239,7 @@ basic_streambuf<_CharT, _Traits>::getloc } template -inline +inline _LIBCPP_INLINE_VISIBILITY basic_streambuf<_CharT, _Traits>* basic_streambuf<_CharT, _Traits>::pubsetbuf(char_type* __s, streamsize __n) { @@ -247,7 +247,7 @@ basic_streambuf<_CharT, _Traits>::pubset } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_streambuf<_CharT, _Traits>::pos_type basic_streambuf<_CharT, _Traits>::pubseekoff(off_type __off, ios_base::seekdir __way, @@ -257,7 +257,7 @@ basic_streambuf<_CharT, _Traits>::pubsee } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_streambuf<_CharT, _Traits>::pos_type basic_streambuf<_CharT, _Traits>::pubseekpos(pos_type __sp, ios_base::openmode __which) @@ -266,7 +266,7 @@ basic_streambuf<_CharT, _Traits>::pubsee } template -inline +inline _LIBCPP_INLINE_VISIBILITY int basic_streambuf<_CharT, _Traits>::pubsync() { @@ -274,7 +274,7 @@ basic_streambuf<_CharT, _Traits>::pubsyn } template -inline +inline _LIBCPP_INLINE_VISIBILITY streamsize basic_streambuf<_CharT, _Traits>::in_avail() { @@ -284,7 +284,7 @@ basic_streambuf<_CharT, _Traits>::in_ava } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_streambuf<_CharT, _Traits>::int_type basic_streambuf<_CharT, _Traits>::snextc() { @@ -294,7 +294,7 @@ basic_streambuf<_CharT, _Traits>::snextc } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_streambuf<_CharT, _Traits>::int_type basic_streambuf<_CharT, _Traits>::sbumpc() { @@ -304,7 +304,7 @@ basic_streambuf<_CharT, _Traits>::sbumpc } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_streambuf<_CharT, _Traits>::int_type basic_streambuf<_CharT, _Traits>::sgetc() { @@ -314,7 +314,7 @@ basic_streambuf<_CharT, _Traits>::sgetc( } template -inline +inline _LIBCPP_INLINE_VISIBILITY streamsize basic_streambuf<_CharT, _Traits>::sgetn(char_type* __s, streamsize __n) { @@ -322,7 +322,7 @@ basic_streambuf<_CharT, _Traits>::sgetn( } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_streambuf<_CharT, _Traits>::int_type basic_streambuf<_CharT, _Traits>::sputbackc(char_type __c) { @@ -332,7 +332,7 @@ basic_streambuf<_CharT, _Traits>::sputba } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_streambuf<_CharT, _Traits>::int_type basic_streambuf<_CharT, _Traits>::sungetc() { @@ -342,7 +342,7 @@ basic_streambuf<_CharT, _Traits>::sunget } template -inline +inline _LIBCPP_INLINE_VISIBILITY typename basic_streambuf<_CharT, _Traits>::int_type basic_streambuf<_CharT, _Traits>::sputc(char_type __c) { @@ -353,7 +353,7 @@ basic_streambuf<_CharT, _Traits>::sputc( } template -inline +inline _LIBCPP_INLINE_VISIBILITY streamsize basic_streambuf<_CharT, _Traits>::sputn(const char_type* __s, streamsize __n) { @@ -411,7 +411,7 @@ basic_streambuf<_CharT, _Traits>::swap(b } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_streambuf<_CharT, _Traits>::gbump(int __n) { @@ -419,7 +419,7 @@ basic_streambuf<_CharT, _Traits>::gbump( } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_streambuf<_CharT, _Traits>::setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) @@ -430,7 +430,7 @@ basic_streambuf<_CharT, _Traits>::setg(c } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_streambuf<_CharT, _Traits>::pbump(int __n) { @@ -438,7 +438,7 @@ basic_streambuf<_CharT, _Traits>::pbump( } template -inline +inline _LIBCPP_INLINE_VISIBILITY void basic_streambuf<_CharT, _Traits>::setp(char_type* __pbeg, char_type* __pend) { Modified: vendor/libc++/dist/test/std/containers/sequences/vector.bool/find.pass.cpp ============================================================================== --- vendor/libc++/dist/test/std/containers/sequences/vector.bool/find.pass.cpp Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/test/std/containers/sequences/vector.bool/find.pass.cpp Wed Jan 13 20:04:50 2016 (r293844) @@ -15,6 +15,7 @@ // http://llvm.org/bugs/show_bug.cgi?id=16816 #include +#include #include int main() Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/load_factor.pass.cpp ============================================================================== --- vendor/libc++/dist/test/std/containers/unord/unord.map/load_factor.pass.cpp Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/test/std/containers/unord/unord.map/load_factor.pass.cpp Wed Jan 13 20:04:50 2016 (r293844) @@ -18,6 +18,7 @@ #include #include #include +#include #include #include "test_macros.h" @@ -40,7 +41,7 @@ int main() P(80, "eighty"), }; const C c(std::begin(a), std::end(a)); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); } { typedef std::unordered_map C; @@ -64,7 +65,7 @@ int main() P(80, "eighty"), }; const C c(std::begin(a), std::end(a)); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); } { typedef std::unordered_map, std::equal_to, Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp ============================================================================== --- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp Wed Jan 13 20:04:50 2016 (r293844) @@ -19,6 +19,7 @@ #include #include #include +#include #include "../../../test_compare.h" #include "../../../test_hash.h" @@ -63,7 +64,7 @@ int main() assert(!c.empty()); assert(std::distance(c.begin(), c.end()) == c.size()); assert(std::distance(c.cbegin(), c.cend()) == c.size()); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); assert(c.max_load_factor() == 1); } #ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE @@ -103,7 +104,7 @@ int main() assert(!c.empty()); assert(std::distance(c.begin(), c.end()) == c.size()); assert(std::distance(c.cbegin(), c.cend()) == c.size()); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); assert(c.max_load_factor() == 1); } #endif // _LIBCPP_HAS_NO_ADVANCED_SFINAE @@ -144,7 +145,7 @@ int main() assert(!c.empty()); assert(std::distance(c.begin(), c.end()) == c.size()); assert(std::distance(c.cbegin(), c.cend()) == c.size()); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); assert(c.max_load_factor() == 1); } #endif Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp ============================================================================== --- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp Wed Jan 13 20:04:50 2016 (r293844) @@ -19,6 +19,7 @@ #include #include #include +#include #include "../../../test_compare.h" #include "../../../test_hash.h" @@ -63,7 +64,7 @@ int main() assert(!c.empty()); assert(std::distance(c.begin(), c.end()) == c.size()); assert(std::distance(c.cbegin(), c.cend()) == c.size()); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); assert(c.max_load_factor() == 1); } #if __cplusplus >= 201103L @@ -103,7 +104,7 @@ int main() assert(!c.empty()); assert(std::distance(c.begin(), c.end()) == c.size()); assert(std::distance(c.cbegin(), c.cend()) == c.size()); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); assert(c.max_load_factor() == 1); } #endif Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp ============================================================================== --- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp Wed Jan 13 20:04:50 2016 (r293844) @@ -19,6 +19,7 @@ #include #include #include +#include #include "../../../test_compare.h" #include "../../../test_hash.h" @@ -58,7 +59,7 @@ int main() assert(!c.empty()); assert(std::distance(c.begin(), c.end()) == c.size()); assert(std::distance(c.cbegin(), c.cend()) == c.size()); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); assert(c.max_load_factor() == 1); } #if __cplusplus >= 201103L @@ -92,7 +93,7 @@ int main() assert(!c.empty()); assert(std::distance(c.begin(), c.end()) == c.size()); assert(std::distance(c.cbegin(), c.cend()) == c.size()); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); assert(c.max_load_factor() == 1); } #endif Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp ============================================================================== --- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp Wed Jan 13 20:04:50 2016 (r293844) @@ -19,6 +19,7 @@ #include #include #include +#include #include "../../../test_compare.h" #include "../../../test_hash.h" @@ -59,7 +60,7 @@ int main() assert(!c.empty()); assert(std::distance(c.begin(), c.end()) == c.size()); assert(std::distance(c.cbegin(), c.cend()) == c.size()); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); assert(c.max_load_factor() == 1); } #if __cplusplus >= 201103L @@ -94,7 +95,7 @@ int main() assert(!c.empty()); assert(std::distance(c.begin(), c.end()) == c.size()); assert(std::distance(c.cbegin(), c.cend()) == c.size()); - assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); + assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON); assert(c.max_load_factor() == 1); } #endif Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp ============================================================================== --- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp Wed Jan 13 20:02:52 2016 (r293843) +++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp Wed Jan 13 20:04:50 2016 (r293844) @@ -20,6 +20,7 @@ #include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Jan 13 20:05:35 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EA3F6A810F7; Wed, 13 Jan 2016 20:05:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A2AC815FA; Wed, 13 Jan 2016 20:05:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DK5YRV087895; Wed, 13 Jan 2016 20:05:34 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DK5Yx2087894; Wed, 13 Jan 2016 20:05:34 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601132005.u0DK5Yx2087894@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 20:05:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293845 - vendor/libc++/r257626 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 20:05:36 -0000 Author: dim Date: Wed Jan 13 20:05:34 2016 New Revision: 293845 URL: https://svnweb.freebsd.org/changeset/base/293845 Log: Tag libc++ trunk r257626. Added: vendor/libc++/r257626/ - copied from r293844, vendor/libc++/dist/ From owner-svn-src-vendor@freebsd.org Wed Jan 13 20:06:08 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 26356A81141; Wed, 13 Jan 2016 20:06:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CDE28182A; Wed, 13 Jan 2016 20:06:07 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DK66MZ087995; Wed, 13 Jan 2016 20:06:06 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DK64vn087964; Wed, 13 Jan 2016 20:06:04 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601132006.u0DK64vn087964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 20:06:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r293846 - in vendor/lld/dist: . COFF ELF lib/Config lib/Core lib/Driver lib/ReaderWriter lib/ReaderWriter/ELF lib/ReaderWriter/ELF/AArch64 lib/ReaderWriter/ELF/AMDGPU lib/ReaderWriter/E... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 20:06:08 -0000 Author: dim Date: Wed Jan 13 20:06:04 2016 New Revision: 293846 URL: https://svnweb.freebsd.org/changeset/base/293846 Log: Vendor import of lld trunk r257626: https://llvm.org/svn/llvm-project/lld/trunk@257626 Added: vendor/lld/dist/test/ELF/Inputs/aarch64-condb-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/aarch64-tls-ie.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/aarch64-tstbr14-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/Inputs/mips-gp-disp.so (contents, props changed) vendor/lld/dist/test/ELF/Inputs/wrap.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-condb-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-gnu-ifunc-nosym.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-gnu-ifunc.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-tls-ie.s (contents, props changed) vendor/lld/dist/test/ELF/aarch64-tstbr14-reloc.s (contents, props changed) vendor/lld/dist/test/ELF/amdgpu-entry.s (contents, props changed) vendor/lld/dist/test/ELF/amdgpu-globals.s (contents, props changed) vendor/lld/dist/test/ELF/amdgpu-kernels.s (contents, props changed) vendor/lld/dist/test/ELF/basic-ppc.s (contents, props changed) vendor/lld/dist/test/ELF/mips-gp-disp.s (contents, props changed) vendor/lld/dist/test/ELF/ppc-relocs.s (contents, props changed) vendor/lld/dist/test/ELF/wrap.s (contents, props changed) vendor/lld/dist/test/mach-o/do-not-emit-unwind-fde-arm64.yaml Deleted: vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPUExecutableWriter.cpp vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPUExecutableWriter.h vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPULinkingContext.cpp vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPULinkingContext.h vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPURelocationHandler.cpp vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPURelocationHandler.h vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPUSymbolTable.cpp vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPUSymbolTable.h vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPUTargetHandler.cpp vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/AMDGPUTargetHandler.h vendor/lld/dist/lib/ReaderWriter/ELF/AMDGPU/CMakeLists.txt vendor/lld/dist/test/old-elf/AMDGPU/hsa.test Modified: vendor/lld/dist/CMakeLists.txt vendor/lld/dist/COFF/CMakeLists.txt vendor/lld/dist/COFF/Chunks.cpp vendor/lld/dist/COFF/Chunks.h vendor/lld/dist/COFF/Config.h vendor/lld/dist/COFF/DLL.cpp vendor/lld/dist/COFF/Driver.cpp vendor/lld/dist/COFF/DriverUtils.cpp vendor/lld/dist/COFF/InputFiles.cpp vendor/lld/dist/COFF/Writer.cpp vendor/lld/dist/ELF/CMakeLists.txt vendor/lld/dist/ELF/Driver.cpp vendor/lld/dist/ELF/Driver.h vendor/lld/dist/ELF/DriverUtils.cpp vendor/lld/dist/ELF/InputFiles.cpp vendor/lld/dist/ELF/InputFiles.h vendor/lld/dist/ELF/InputSection.cpp vendor/lld/dist/ELF/InputSection.h vendor/lld/dist/ELF/LinkerScript.cpp vendor/lld/dist/ELF/MarkLive.cpp vendor/lld/dist/ELF/Options.td vendor/lld/dist/ELF/OutputSections.cpp vendor/lld/dist/ELF/OutputSections.h vendor/lld/dist/ELF/SymbolTable.cpp vendor/lld/dist/ELF/SymbolTable.h vendor/lld/dist/ELF/Symbols.cpp vendor/lld/dist/ELF/Symbols.h vendor/lld/dist/ELF/Target.cpp vendor/lld/dist/ELF/Target.h vendor/lld/dist/ELF/Writer.cpp vendor/lld/dist/lib/Config/CMakeLists.txt vendor/lld/dist/lib/Core/CMakeLists.txt vendor/lld/dist/lib/Driver/CMakeLists.txt vendor/lld/dist/lib/Driver/GnuLdDriver.cpp vendor/lld/dist/lib/ReaderWriter/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/ELF/ARM/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/ELF/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/ELF/ELFLinkingContext.cpp vendor/lld/dist/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/ELF/Mips/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/ELF/X86/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/ELF/X86_64/ExampleSubTarget/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp vendor/lld/dist/lib/ReaderWriter/MachO/CMakeLists.txt vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp vendor/lld/dist/lib/ReaderWriter/YAML/CMakeLists.txt vendor/lld/dist/test/COFF/export.test vendor/lld/dist/test/ELF/basic-aarch64.s vendor/lld/dist/test/ELF/basic-mips.s vendor/lld/dist/test/ELF/basic.s vendor/lld/dist/test/ELF/basic32.s vendor/lld/dist/test/ELF/basic64be.s vendor/lld/dist/test/ELF/discard-none.s vendor/lld/dist/test/ELF/linkerscript-sections.s vendor/lld/dist/test/ELF/relocation-copy.s vendor/lld/dist/test/ELF/string-table.s vendor/lld/dist/test/lit.cfg vendor/lld/dist/test/mach-o/arm64-reloc-negDelta32-fixup.yaml vendor/lld/dist/test/mach-o/parse-data-relocs-arm64.yaml Modified: vendor/lld/dist/CMakeLists.txt ============================================================================== --- vendor/lld/dist/CMakeLists.txt Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/CMakeLists.txt Wed Jan 13 20:06:04 2016 (r293846) @@ -1,4 +1,5 @@ set(LLD_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) +set(LLD_INCLUDE_DIR ${LLD_SOURCE_DIR}/include ) set(LLD_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) # Compute the LLD version from the LLVM version. @@ -86,6 +87,12 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) ) endif() +macro(add_lld_library name) + add_llvm_library(${name} ${ARGN}) + set_target_properties(${name} PROPERTIES FOLDER "lld libraries") +endmacro(add_lld_library) + + add_subdirectory(lib) add_subdirectory(tools) Modified: vendor/lld/dist/COFF/CMakeLists.txt ============================================================================== --- vendor/lld/dist/COFF/CMakeLists.txt Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/COFF/CMakeLists.txt Wed Jan 13 20:06:04 2016 (r293846) @@ -2,7 +2,7 @@ set(LLVM_TARGET_DEFINITIONS Options.td) tablegen(LLVM Options.inc -gen-opt-parser-defs) add_public_tablegen_target(COFFOptionsTableGen) -add_llvm_library(lldCOFF +add_lld_library(lldCOFF Chunks.cpp DLL.cpp Driver.cpp Modified: vendor/lld/dist/COFF/Chunks.cpp ============================================================================== --- vendor/lld/dist/COFF/Chunks.cpp Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/COFF/Chunks.cpp Wed Jan 13 20:06:04 2016 (r293846) @@ -310,7 +310,7 @@ void SEHTableChunk::writeTo(uint8_t *Buf BaserelChunk::BaserelChunk(uint32_t Page, Baserel *Begin, Baserel *End) { // Block header consists of 4 byte page RVA and 4 byte block size. // Each entry is 2 byte. Last entry may be padding. - Data.resize(RoundUpToAlignment((End - Begin) * 2 + 8, 4)); + Data.resize(align((End - Begin) * 2 + 8, 4)); uint8_t *P = Data.data(); write32le(P, Page); write32le(P + 4, Data.size()); Modified: vendor/lld/dist/COFF/Chunks.h ============================================================================== --- vendor/lld/dist/COFF/Chunks.h Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/COFF/Chunks.h Wed Jan 13 20:06:04 2016 (r293846) @@ -326,6 +326,10 @@ public: uint8_t Type; }; +inline uint64_t align(uint64_t Value, uint64_t Align) { + return llvm::RoundUpToAlignment(Value, Align); +} + } // namespace coff } // namespace lld Modified: vendor/lld/dist/COFF/Config.h ============================================================================== --- vendor/lld/dist/COFF/Config.h Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/COFF/Config.h Wed Jan 13 20:06:04 2016 (r293846) @@ -25,6 +25,7 @@ using llvm::COFF::WindowsSubsystem; using llvm::StringRef; class DefinedAbsolute; class DefinedRelative; +class StringChunk; class Undefined; // Short aliases. @@ -42,6 +43,12 @@ struct Export { bool Data = false; bool Private = false; + // If an export is a form of /export:foo=dllname.bar, that means + // that foo should be exported as an alias to bar in the DLL. + // ForwardTo is set to "dllname.bar" part. Usually empty. + StringRef ForwardTo; + StringChunk *ForwardChunk = nullptr; + // True if this /export option was in .drectves section. bool Directives = false; StringRef SymbolName; Modified: vendor/lld/dist/COFF/DLL.cpp ============================================================================== --- vendor/lld/dist/COFF/DLL.cpp Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/COFF/DLL.cpp Wed Jan 13 20:06:04 2016 (r293846) @@ -45,7 +45,7 @@ public: size_t getSize() const override { // Starts with 2 byte Hint field, followed by a null-terminated string, // ends with 0 or 1 byte padding. - return RoundUpToAlignment(Name.size() + 3, 2); + return align(Name.size() + 3, 2); } void writeTo(uint8_t *Buf) const override { @@ -320,8 +320,12 @@ public: void writeTo(uint8_t *Buf) const override { for (Export &E : Config->Exports) { - auto *D = cast(E.Sym->repl()); - write32le(Buf + OutputSectionOff + E.Ordinal * 4, D->getRVA()); + uint8_t *P = Buf + OutputSectionOff + E.Ordinal * 4; + if (E.ForwardChunk) { + write32le(P, E.ForwardChunk->getRVA()); + } else { + write32le(P, cast(E.Sym->repl())->getRVA()); + } } } @@ -539,6 +543,15 @@ EdataContents::EdataContents() { for (Export &E : Config->Exports) if (!E.Noname) Names.push_back(new StringChunk(E.ExportName)); + + std::vector Forwards; + for (Export &E : Config->Exports) { + if (E.ForwardTo.empty()) + continue; + E.ForwardChunk = new StringChunk(E.ForwardTo); + Forwards.push_back(E.ForwardChunk); + } + auto *NameTab = new NamePointersChunk(Names); auto *OrdinalTab = new ExportOrdinalChunk(Names.size()); auto *Dir = new ExportDirectoryChunk(MaxOrdinal, Names.size(), DLLName, @@ -550,6 +563,8 @@ EdataContents::EdataContents() { Chunks.push_back(std::unique_ptr(OrdinalTab)); for (Chunk *C : Names) Chunks.push_back(std::unique_ptr(C)); + for (Chunk *C : Forwards) + Chunks.push_back(std::unique_ptr(C)); } } // namespace coff Modified: vendor/lld/dist/COFF/Driver.cpp ============================================================================== --- vendor/lld/dist/COFF/Driver.cpp Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/COFF/Driver.cpp Wed Jan 13 20:06:04 2016 (r293846) @@ -586,6 +586,8 @@ void LinkerDriver::link(llvm::ArrayRefExports) { + if (!E.ForwardTo.empty()) + continue; E.Sym = addUndefined(E.Name); if (!E.Directives) Symtab.mangleMaybe(E.Sym); Modified: vendor/lld/dist/COFF/DriverUtils.cpp ============================================================================== --- vendor/lld/dist/COFF/DriverUtils.cpp Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/COFF/DriverUtils.cpp Wed Jan 13 20:06:04 2016 (r293846) @@ -321,7 +321,8 @@ void createSideBySideManifest() { } // Parse a string in the form of -// "[=][,@ordinal[,NONAME]][,DATA][,PRIVATE]". +// "[=][,@ordinal[,NONAME]][,DATA][,PRIVATE]" +// or "=.". // Used for parsing /export arguments. Export parseExport(StringRef Arg) { Export E; @@ -329,12 +330,25 @@ Export parseExport(StringRef Arg) { std::tie(E.Name, Rest) = Arg.split(","); if (E.Name.empty()) goto err; + if (E.Name.find('=') != StringRef::npos) { - std::tie(E.ExtName, E.Name) = E.Name.split("="); + StringRef X, Y; + std::tie(X, Y) = E.Name.split("="); + + // If "=.". + if (Y.find(".") != StringRef::npos) { + E.Name = X; + E.ForwardTo = Y; + return E; + } + + E.ExtName = X; + E.Name = Y; if (E.Name.empty()) goto err; } + // If "=[,@ordinal[,NONAME]][,DATA][,PRIVATE]" while (!Rest.empty()) { StringRef Tok; std::tie(Tok, Rest) = Rest.split(","); @@ -388,15 +402,22 @@ void fixupExports() { } for (Export &E : Config->Exports) { - if (Undefined *U = cast_or_null(E.Sym->WeakAlias)) { + if (!E.ForwardTo.empty()) { + E.SymbolName = E.Name; + } else if (Undefined *U = cast_or_null(E.Sym->WeakAlias)) { E.SymbolName = U->getName(); } else { E.SymbolName = E.Sym->getName(); } } - for (Export &E : Config->Exports) - E.ExportName = undecorate(E.ExtName.empty() ? E.Name : E.ExtName); + for (Export &E : Config->Exports) { + if (!E.ForwardTo.empty()) { + E.ExportName = undecorate(E.Name); + } else { + E.ExportName = undecorate(E.ExtName.empty() ? E.Name : E.ExtName); + } + } // Uniquefy by name. std::map Map; Modified: vendor/lld/dist/COFF/InputFiles.cpp ============================================================================== --- vendor/lld/dist/COFF/InputFiles.cpp Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/COFF/InputFiles.cpp Wed Jan 13 20:06:04 2016 (r293846) @@ -23,7 +23,6 @@ using namespace llvm::COFF; using namespace llvm::object; using namespace llvm::support::endian; -using llvm::RoundUpToAlignment; using llvm::Triple; using llvm::support::ulittle32_t; using llvm::sys::fs::file_magic; Modified: vendor/lld/dist/COFF/Writer.cpp ============================================================================== --- vendor/lld/dist/COFF/Writer.cpp Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/COFF/Writer.cpp Wed Jan 13 20:06:04 2016 (r293846) @@ -163,13 +163,13 @@ void OutputSection::addChunk(Chunk *C) { Chunks.push_back(C); C->setOutputSection(this); uint64_t Off = Header.VirtualSize; - Off = RoundUpToAlignment(Off, C->getAlign()); + Off = align(Off, C->getAlign()); C->setRVA(Off); C->setOutputSectionOff(Off); Off += C->getSize(); Header.VirtualSize = Off; if (C->hasData()) - Header.SizeOfRawData = RoundUpToAlignment(Off, SectorSize); + Header.SizeOfRawData = align(Off, SectorSize); } void OutputSection::addPermissions(uint32_t C) { @@ -448,15 +448,14 @@ void Writer::createSymbolAndStringTable( OutputSection *LastSection = OutputSections.back(); // We position the symbol table to be adjacent to the end of the last section. uint64_t FileOff = - LastSection->getFileOff() + - RoundUpToAlignment(LastSection->getRawSize(), SectorSize); + LastSection->getFileOff() + align(LastSection->getRawSize(), SectorSize); if (!OutputSymtab.empty()) { PointerToSymbolTable = FileOff; FileOff += OutputSymtab.size() * sizeof(coff_symbol16); } if (!Strtab.empty()) FileOff += Strtab.size() + 4; - FileSize = RoundUpToAlignment(FileOff, SectorSize); + FileSize = align(FileOff, SectorSize); } // Visits all sections to assign incremental, non-overlapping RVAs and @@ -467,7 +466,7 @@ void Writer::assignAddresses() { sizeof(coff_section) * OutputSections.size(); SizeOfHeaders += Config->is64() ? sizeof(pe32plus_header) : sizeof(pe32_header); - SizeOfHeaders = RoundUpToAlignment(SizeOfHeaders, SectorSize); + SizeOfHeaders = align(SizeOfHeaders, SectorSize); uint64_t RVA = 0x1000; // The first page is kept unmapped. FileSize = SizeOfHeaders; // Move DISCARDABLE (or non-memory-mapped) sections to the end of file because @@ -481,10 +480,10 @@ void Writer::assignAddresses() { addBaserels(Sec); Sec->setRVA(RVA); Sec->setFileOffset(FileSize); - RVA += RoundUpToAlignment(Sec->getVirtualSize(), PageSize); - FileSize += RoundUpToAlignment(Sec->getRawSize(), SectorSize); + RVA += align(Sec->getVirtualSize(), PageSize); + FileSize += align(Sec->getRawSize(), SectorSize); } - SizeOfImage = SizeOfHeaders + RoundUpToAlignment(RVA - 0x1000, PageSize); + SizeOfImage = SizeOfHeaders + align(RVA - 0x1000, PageSize); } template void Writer::writeHeader() { Modified: vendor/lld/dist/ELF/CMakeLists.txt ============================================================================== --- vendor/lld/dist/ELF/CMakeLists.txt Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/ELF/CMakeLists.txt Wed Jan 13 20:06:04 2016 (r293846) @@ -2,7 +2,7 @@ set(LLVM_TARGET_DEFINITIONS Options.td) tablegen(LLVM Options.inc -gen-opt-parser-defs) add_public_tablegen_target(ELFOptionsTableGen) -add_llvm_library(lldELF2 +add_lld_library(lldELF2 Driver.cpp DriverUtils.cpp Error.cpp Modified: vendor/lld/dist/ELF/Driver.cpp ============================================================================== --- vendor/lld/dist/ELF/Driver.cpp Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/ELF/Driver.cpp Wed Jan 13 20:06:04 2016 (r293846) @@ -26,10 +26,10 @@ using namespace llvm::object; using namespace lld; using namespace lld::elf2; -Configuration *lld::elf2::Config; -LinkerDriver *lld::elf2::Driver; +Configuration *elf2::Config; +LinkerDriver *elf2::Driver; -void lld::elf2::link(ArrayRef Args) { +void elf2::link(ArrayRef Args) { Configuration C; LinkerDriver D; Config = &C; @@ -42,9 +42,9 @@ static std::pair pars return {ELF32BEKind, EM_MIPS}; if (S == "elf32ltsmip") return {ELF32LEKind, EM_MIPS}; - if (S == "elf32ppc") + if (S == "elf32ppc" || S == "elf32ppc_fbsd") return {ELF32BEKind, EM_PPC}; - if (S == "elf64ppc") + if (S == "elf64ppc" || S == "elf64ppc_fbsd") return {ELF64BEKind, EM_PPC64}; if (S == "elf_i386") return {ELF32LEKind, EM_386}; @@ -107,6 +107,24 @@ void LinkerDriver::addFile(StringRef Pat } } +// Some command line options or some combinations of them are not allowed. +// This function checks for such errors. +static void checkOptions(opt::InputArgList &Args) { + // Traditional linkers can generate re-linkable object files instead + // of executables or DSOs. We don't support that since the feature + // does not seem to provide more value than the static archiver. + if (Args.hasArg(OPT_relocatable)) + error("-r option is not supported. Use 'ar' command instead."); + + // The MIPS ABI as of 2016 does not support the GNU-style symbol lookup + // table which is a relatively new feature. + if (Config->EMachine == EM_MIPS && Config->GnuHash) + error("The .gnu.hash section is not compatible with the MIPS target."); + + if (Config->EMachine == EM_AMDGPU && !Config->Entry.empty()) + error("-e option is not valid for AMDGPU."); +} + static StringRef getString(opt::InputArgList &Args, unsigned Key, StringRef Default = "") { if (auto *Arg = Args.getLastArg(Key)) @@ -125,13 +143,9 @@ void LinkerDriver::main(ArrayRefEKind) { case ELF32LEKind: @@ -151,7 +165,8 @@ void LinkerDriver::main(ArrayRefSearchPaths.push_back(Arg->getValue()); @@ -162,10 +177,9 @@ void LinkerDriver::createFiles(opt::Inpu Config->RPath = llvm::join(RPaths.begin(), RPaths.end(), ":"); if (auto *Arg = Args.getLastArg(OPT_m)) { + // Parse ELF{32,64}{LE,BE} and CPU type. StringRef S = Arg->getValue(); - std::pair P = parseEmulation(S); - Config->EKind = P.first; - Config->EMachine = P.second; + std::tie(Config->EKind, Config->EMachine) = parseEmulation(S); Config->Emulation = S; } @@ -217,7 +231,9 @@ void LinkerDriver::createFiles(opt::Inpu for (auto *Arg : Args.filtered(OPT_undefined)) Config->Undefined.push_back(Arg->getValue()); +} +void LinkerDriver::createFiles(opt::InputArgList &Args) { for (auto *Arg : Args) { switch (Arg->getOption().getID()) { case OPT_l: @@ -250,9 +266,6 @@ void LinkerDriver::createFiles(opt::Inpu if (Files.empty()) error("no input files."); - - if (Config->GnuHash && Config->EMachine == EM_MIPS) - error("The .gnu.hash section is not compatible with the MIPS target."); } template void LinkerDriver::link(opt::InputArgList &Args) { @@ -261,7 +274,10 @@ template void LinkerDriver: if (!Config->Shared) { // Add entry symbol. - if (Config->Entry.empty()) + // + // There is no entry symbol for AMDGPU binaries, so skip adding one to avoid + // having and undefined symbol. + if (Config->Entry.empty() && Config->EMachine != EM_AMDGPU) Config->Entry = (Config->EMachine == EM_MIPS) ? "__start" : "_start"; // In the assembly for 32 bit x86 the _GLOBAL_OFFSET_TABLE_ symbol @@ -288,8 +304,9 @@ template void LinkerDriver: if (Config->EMachine == EM_MIPS) { // On MIPS O32 ABI, _gp_disp is a magic symbol designates offset between - // start of function and gp pointer into GOT. - Config->MipsGpDisp = Symtab.addIgnored("_gp_disp"); + // start of function and gp pointer into GOT. Use 'strong' variant of + // the addIgnored to prevent '_gp_disp' substitution. + Config->MipsGpDisp = Symtab.addIgnoredStrong("_gp_disp"); // Define _gp for MIPS. st_value of _gp symbol will be updated by Writer // so that it points to an absolute address which is relative to GOT. @@ -304,6 +321,9 @@ template void LinkerDriver: for (StringRef S : Config->Undefined) Symtab.addUndefinedOpt(S); + for (auto *Arg : Args.filtered(OPT_wrap)) + Symtab.wrap(Arg->getValue()); + if (Config->OutputFile.empty()) Config->OutputFile = "a.out"; Modified: vendor/lld/dist/ELF/Driver.h ============================================================================== --- vendor/lld/dist/ELF/Driver.h Wed Jan 13 20:05:34 2016 (r293845) +++ vendor/lld/dist/ELF/Driver.h Wed Jan 13 20:06:04 2016 (r293846) @@ -26,14 +26,12 @@ void link(ArrayRef Args); class LinkerDriver { public: void main(ArrayRef Args); - void createFiles(llvm::opt::InputArgList &Args); - template void link(llvm::opt::InputArgList &Args); - void addFile(StringRef Path); private: - template