freebsd-dev/contrib
Dimitry Andric 3b78f6062f Pull in r294458 from upstream llvm trunk (by Sanne Wouda):
[Assembler] Enable nicer diagnostics for inline assembly.

  Fixed test.

  Summary:
  Enables source location in diagnostic messages from the backend.
  This is after parsing, during finalization.  This requires the
  SourceMgr, the inline assembly string buffer, and DiagInfo to still
  be alive after EmitInlineAsm returns.

  This patch creates a single SourceMgr for inline assembly inside the
  AsmPrinter.  MCContext gets a pointer to this SourceMgr.  Using one
  SourceMgr per call to EmitInlineAsm would make it difficult for
  MCContext to figure out in which SourceMgr the SMLoc is located,
  while a single SourceMgr can figure it out if it has multiple
  buffers.

  The Str argument to EmitInlineAsm is copied into a buffer and owned
  by the inline asm SourceMgr.  This ensures that DiagHandlers won't
  print garbage.  (Clang emits a "note: instantiated into assembly
  here", which refers to this string.)

  The AsmParser gets destroyed before finalization, which means that
  the DiagHandlers the AsmParser installs into the SourceMgr will be
  stale.  Restore the saved DiagHandlers.

  Since now we're using just one SourceMgr for multiple inline asm
  strings, we need to tell the AsmParser which buffer it needs to parse
  currently.  Hand a buffer id -- returned from SourceMgr::
  AddNewSourceBuffer -- to the AsmParser.

  Reviewers: rnk, grosbach, compnerd, rengolin, rovka, anemet

  Reviewed By: rnk

  Subscribers: llvm-commits

  Differential Revision: https://reviews.llvm.org/D29441

This improves error reporting for some inline assembly constructs that
clang does not approve of: instead of crashing with a "fatal backend
error", it will now show a normal error message, and point out the
location of the problematic assembly.

Reported by:	mmel
MFC after:	1 week
2017-04-26 19:33:56 +00:00
..
amd
apr
apr-util
atf atf-c: fix documentation description for atf_utils_wait(3) 2017-04-06 03:50:58 +00:00
binutils use INT3 instead of NOP for x86 binary padding 2017-03-19 00:22:13 +00:00
blacklist Reset failed login count to zero when removing a blocked address 2017-02-23 05:40:59 +00:00
bmake Str_Match: fix closure tests for [^] and add unit-test. 2017-04-21 22:19:13 +00:00
bsnmp Hide struct inpcb, struct tcpcb from the userland. 2017-03-21 06:39:49 +00:00
byacc Apply r274475's to expr.oxout.tab.c to fix the test on FreeBSD 2017-02-07 18:37:46 +00:00
bzip2 bzip2 does not exit after showing license as requested with --version 2016-12-28 18:04:18 +00:00
com_err
compiler-rt Add an implementation of __ffssi2() derived from __ffsdi2(). 2017-04-05 02:40:53 +00:00
cortex-strings
dialog
diff
dma Import dma snapshot from git 2017-02-10 2017-03-01 21:42:22 +00:00
dtc Merge from vendor branch importing dtc 1.4.3 2017-03-10 17:36:05 +00:00
ee
elftoolchain elfcopy: allow empty symbol list files 2017-04-24 14:51:53 +00:00
expat
file
flex
gcc Default powerpcspe processor target to 8540 2017-04-14 03:20:34 +00:00
gcclibs
gdb
gdtoa
gperf
groff
hyperv/tools
ipfilter Use warnx() to issue error message. 2017-04-16 04:36:22 +00:00
jemalloc Update jemalloc to 4.5.0. 2017-03-02 01:14:48 +00:00
ldns
ldns-host
less Currently, less(1) uses K&R prototypes, which both fails to provide useful 2017-03-31 21:29:43 +00:00
libarchive MFV r316454,316455: 2017-04-03 12:26:20 +00:00
libbegemot
libc-pwcache
libc-vis
libc++ Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch 2017-02-11 13:58:05 +00:00
libcxxrt Import libcxxrt master 8a853717e61d5d55cbdf74d9d0a7545da5d5ff92. 2017-03-25 13:17:48 +00:00
libdivsufsort
libexecinfo
libgnuregex
libpcap MFV r316124: Fix build when WITHOUT_INET6. 2017-03-29 03:36:26 +00:00
libreadline
libstdc++ libstdc++: fix symbol version script for LLD 2017-04-19 19:06:47 +00:00
libucl Import libucl 20170219 2017-02-19 17:37:16 +00:00
libxo Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
llvm Pull in r294458 from upstream llvm trunk (by Sanne Wouda): 2017-04-26 19:33:56 +00:00
mdocml Import mandoc 1.4.1rc2 2017-02-19 17:46:37 +00:00
mknod
mtree Use type-independent formats for printing nlink_t and ino_t. 2017-01-06 16:59:33 +00:00
ncurses
netbsd-tests Add more sanity tests for grep, egrep, and fgrep 2017-04-22 21:40:10 +00:00
netcat Merge projects/ipsec into head/. 2017-02-06 08:49:57 +00:00
ngatm Fix the following clang 4.0.0 warning in ngatm's snmp_atm.c: 2017-01-07 15:57:12 +00:00
ntp MFV r315791: ntp 4.2.8p10. 2017-03-23 22:06:06 +00:00
nvi
ofed cxgbe/iw_cxgbe: Report accurate page_size_cap in ib_query_device. 2017-04-14 19:18:50 +00:00
one-true-awk MFV r315425: 2017-03-16 21:32:05 +00:00
openbsm Merge OpenBSM 1.2-alpha5 from vendor branch to FreeBSD -CURRENT: 2017-03-26 21:14:49 +00:00
openpam Restore the NULL check that was removed in upstream r913. It is not 2017-03-24 14:45:58 +00:00
openresolv MFV r312970: 2017-01-30 16:32:53 +00:00
opie
pam_modules/pam_passwdqc
pf
pjdfstest
pnpinfo
sendmail Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
serf
smbfs
sqlite3
subversion
tcp_wrappers tcp_wrappers: Sprinkle some bounds-checked string copying 2017-04-14 00:45:09 +00:00
tcpdump Cherry-pick 5d3c5151c2b885aab36627bafb8539238da27b2d, it fixes use after free 2017-04-25 15:56:46 +00:00
tcsh MFV r315950: 2017-03-25 14:14:11 +00:00
telnet
tnftp
top Provide proper contemporary function prototypes for many of the functions 2017-03-26 17:22:44 +00:00
traceroute Fix userland tools that don't check the format of routing socket 2017-04-16 19:17:10 +00:00
tzcode Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tzdata Import tzdata 2017b 2017-03-27 21:00:49 +00:00
unbound
unvis
vis
wpa
xz MFV r311477: xz 5.2.3. 2017-01-06 07:54:53 +00:00
zlib MFV r312333: zlib 1.2.11. 2017-01-17 05:55:47 +00:00
zstd Don't use __builtin_bswap for RISC-V due to undefined reference 2017-04-19 15:24:33 +00:00