From owner-svn-src-vendor@FreeBSD.ORG Sun May 23 18:48:41 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA04A1065674; Sun, 23 May 2010 18:48:41 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B691C8FC19; Sun, 23 May 2010 18:48:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4NIme3u059616; Sun, 23 May 2010 18:48:40 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4NIme3G059613; Sun, 23 May 2010 18:48:40 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201005231848.o4NIme3G059613@svn.freebsd.org> From: Doug Barton Date: Sun, 23 May 2010 18:48:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r208456 - in vendor/bind9/dist-9.4: . doc/draft lib/dns X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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: Sun, 23 May 2010 18:48:41 -0000 Author: dougb Date: Sun May 23 18:48:40 2010 New Revision: 208456 URL: http://svn.freebsd.org/changeset/base/208456 Log: Vendor import of BIND 9.4-ESV-R2 Added: vendor/bind9/dist-9.4/doc/draft/draft-ietf-behave-address-format-07.txt (contents, props changed) vendor/bind9/dist-9.4/doc/draft/draft-ietf-behave-dns64-09.txt (contents, props changed) vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-axfr-clarify-14.txt (contents, props changed) vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-dns-tcp-requirements-03.txt (contents, props changed) vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-10.txt (contents, props changed) vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-dnssec-gost-07.txt (contents, props changed) vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-rfc2672bis-dname-19.txt (contents, props changed) vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsop-default-local-zones-10.txt (contents, props changed) Deleted: vendor/bind9/dist-9.4/doc/draft/draft-ietf-behave-dns64-06.txt vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-axfr-clarify-13.txt vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-dns-tcp-requirements-02.txt vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-09.txt vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-dnssec-gost-06.txt vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-rfc2672bis-dname-18.txt vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsop-default-local-zones-09.txt Modified: vendor/bind9/dist-9.4/CHANGES vendor/bind9/dist-9.4/lib/dns/api vendor/bind9/dist-9.4/lib/dns/validator.c vendor/bind9/dist-9.4/version Modified: vendor/bind9/dist-9.4/CHANGES ============================================================================== --- vendor/bind9/dist-9.4/CHANGES Sun May 23 18:43:06 2010 (r208455) +++ vendor/bind9/dist-9.4/CHANGES Sun May 23 18:48:40 2010 (r208456) @@ -1,3 +1,8 @@ + --- 9.4-ESV-R2 released --- + +2876. [bug] Named could return SERVFAIL for negative responses + from unsigned zones. [RT #21131] + --- 9.4-ESV-R1 released --- 2852. [bug] Handle broken DNSSEC trust chains better. [RT #15619] Added: vendor/bind9/dist-9.4/doc/draft/draft-ietf-behave-address-format-07.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/bind9/dist-9.4/doc/draft/draft-ietf-behave-address-format-07.txt Sun May 23 18:48:40 2010 (r208456) @@ -0,0 +1,1009 @@ + + + +Network Working Group C. Bao +Internet-Draft CERNET Center/Tsinghua University +Obsoletes: 2765 (if approved) C. Huitema +Updates: 4291 (if approved) Microsoft Corporation +Intended status: Standards Track M. Bagnulo +Expires: October 11, 2010 UC3M + M. Boucadair + France Telecom + X. Li + CERNET Center/Tsinghua University + April 9, 2010 + + + IPv6 Addressing of IPv4/IPv6 Translators + draft-ietf-behave-address-format-07.txt + +Abstract + + This document discusses the algorithmic translation of an IPv6 + address to a corresponding IPv4 address, and vice versa, using only + statically configured information. It defines a well-known prefix + for use in algorithmic translations, while allowing organizations to + also use network-specific prefixes when appropriate. Algorithmic + translation is used in IPv4/IPv6 translators, as well as other types + of proxies and gateways (e.g., for DNS) used in IPv4/IPv6 scenarios. + +Status of this Memo + + This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79. + + Internet-Drafts are working documents of the Internet Engineering + Task Force (IETF). Note that other groups may also distribute + working documents as Internet-Drafts. The list of current Internet- + Drafts is at http://datatracker.ietf.org/drafts/current/. + + Internet-Drafts are draft documents valid for a maximum of six months + and may be updated, replaced, or obsoleted by other documents at any + time. It is inappropriate to use Internet-Drafts as reference + material or to cite them other than as "work in progress." + + This Internet-Draft will expire on October 11, 2010. + +Copyright Notice + + Copyright (c) 2010 IETF Trust and the persons identified as the + document authors. All rights reserved. + + + + +Bao, et al. Expires October 11, 2010 [Page 1] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. Code Components extracted from this document must + include Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 + 1.1. Applicability Scope . . . . . . . . . . . . . . . . . . . 3 + 1.2. Conventions . . . . . . . . . . . . . . . . . . . . . . . 3 + 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 + 2. IPv4-Embedded IPv6 Address Prefix and Format . . . . . . . . . 4 + 2.1. Well Known Prefix . . . . . . . . . . . . . . . . . . . . 4 + 2.2. IPv4-Embedded IPv6 Address Format . . . . . . . . . . . . 4 + 2.3. Address Translation Algorithms . . . . . . . . . . . . . . 6 + 2.4. Text Representation . . . . . . . . . . . . . . . . . . . 6 + 3. Deployment Guidelines and Choices . . . . . . . . . . . . . . 7 + 3.1. Restrictions on the use of the Well-Known Prefix . . . . . 7 + 3.2. Impact on Inter-Domain Routing . . . . . . . . . . . . . . 8 + 3.3. Choice of Prefix for Stateless Translation Deployments . . 8 + 3.4. Choice of Prefix for Stateful Translation Deployments . . 11 + 3.5. Choice of Suffix . . . . . . . . . . . . . . . . . . . . . 11 + 3.6. Choice of the Well-Known Prefix . . . . . . . . . . . . . 12 + 4. Security Considerations . . . . . . . . . . . . . . . . . . . 13 + 4.1. Protection Against Spoofing . . . . . . . . . . . . . . . 13 + 4.2. Secure Configuration . . . . . . . . . . . . . . . . . . . 14 + 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 + 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 + 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 14 + 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 + 8.1. Normative References . . . . . . . . . . . . . . . . . . . 16 + 8.2. Informative References . . . . . . . . . . . . . . . . . . 16 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 + + + + + + + + + + + + +Bao, et al. Expires October 11, 2010 [Page 2] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + +1. Introduction + + This document is part of a series of IPv4/IPv6 translation documents. + A framework for IPv4/IPv6 translation is discussed in + [I-D.ietf-behave-v6v4-framework], including a taxonomy of scenarios + that will be used in this document. Other documents specify the + behavior of various types of translators and gateways, including + mechanisms for translating between IP headers and other types of + messages that include IP addresses. This document specifies how an + individual IPv6 address is translated to a corresponding IPv4 + address, and vice versa, in cases where an algorithmic mapping is + used. While specific types of devices are used herein as examples, + it is the responsibility of the specification of such devices to + reference this document for algorithmic mapping of the addresses + themselves. + + Section 2 describes the prefixes and the format of "IPv4-Embedded + IPv6 addresses", i.e., IPv6 addresses in which 32 bits contain an + IPv4 address. This format is common to both "IPv4-Converted" and + "IPv4-Translatable" IPv6 addresses. This section also defines the + algorithms for translating addresses, and the text representation of + IPv4-Embedded IPv6 addresses. + + Section 3 discusses the choice of prefixes, the conditions in which + they can be used, and the use of IPv4-Embedded IPv6 addresses with + stateless and stateful translation. + + Section 4 discusses security concerns. + + In some scenarios, a dual-stack host will unnecessarily send its + traffic through an IPv6/IPv4 translator. This can be caused by + host's default address selection algorithm [RFC3484], referrals, or + other reasons. Optimizing these scenarios for dual-stack hosts is + for future study. + +1.1. Applicability Scope + + This document is part of a series defining address translation + services. We understand that the address format could also be used + by other interconnection methods between IPv6 and IPv4, e.g., methods + based on encapsulation. If encapsulation methods are developed by + the IETF, we expect that their descriptions will document their + specific use of IPv4-Embedded IPv6 addresses. + +1.2. Conventions + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + + + +Bao, et al. Expires October 11, 2010 [Page 3] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + document are to be interpreted as described in RFC 2119 [RFC2119]. + +1.3. Terminology + + This document makes use of the following terms: + + IPv4/IPv6 translator: an entity that translates IPv4 packets to IPv6 + packets, and vice versa. It may do "stateless" translation, + meaning that there is no per-flow state required, or "stateful" + translation where per-flow state is created when the first packet + in a flow is received. + Address translator: any entity that has to derive an IPv4 address + from an IPv6 address or vice versa. This applies not only to + devices that do IPv4/IPv6 packet translation, but also to other + entities that manipulate addresses, such as name resolution + proxies (e.g. DNS64 [I-D.ietf-behave-dns64]) and possibly other + types of Application Layer Gateways (ALGs). + Well-Known Prefix: the IPv6 prefix defined in this document for use + in an algorithmic mapping. + Network-Specific Prefix: an IPv6 prefix assigned by an organization + for use in algorithmic mapping. Options for the Network Specific + Prefix are discussed in Section 3.3 and Section 3.4. + IPv4-Embedded IPv6 addresses: IPv6 addresses in which 32 bits + contain an IPv4 address. Their format is described in + Section 2.2. + IPv4-Converted IPv6 addresses: IPv6 addresses used to represent IPv4 + nodes in an IPv6 network. They are a variant of IPv4-Embedded + IPv6 addresses, and follow the format described in Section 2.2. + IPv4-Translatable IPv6 addresses: IPv6 addresses assigned to IPv6 + nodes for use with stateless translation. They are a variant of + IPv4-Embedded IPv6 addresses, and follow the format described in + Section 2.2. + + +2. IPv4-Embedded IPv6 Address Prefix and Format + +2.1. Well Known Prefix + + This document reserves a "Well-Known Prefix" for use in an + algorithmic mapping. The value of this IPv6 prefix is: + + 64:FF9B::/96 + +2.2. IPv4-Embedded IPv6 Address Format + + IPv4-Converted IPv6 addresses and IPv4-Translatable IPv6 addresses + follow the same format, described here as the IPv4-Embedded IPv6 + address Format. IPv4-Embedded IPv6 addresses are composed of a + + + +Bao, et al. Expires October 11, 2010 [Page 4] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + variable length prefix, the embedded IPv4 address, and a variable + length suffix, as presented in the following diagram, in which PL + designates the prefix length: + + + +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + |PL| 0-------------32--40--48--56--64--72--80--88--96--104-112-120-| + +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + |32| prefix |v4(32) | u | suffix | + +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + |40| prefix |v4(24) | u |(8)| suffix | + +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + |48| prefix |v4(16) | u | (16) | suffix | + +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + |56| prefix |(8)| u | v4(24) | suffix | + +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + |64| prefix | u | v4(32) | suffix | + +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + |96| prefix | v4(32) | + +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + + + Figure 1 + + In these addresses, the prefix shall be either the "Well-Known + Prefix", or a "Network-Specific Prefix" unique to the organization + deploying the address translators. The prefixes can only have one of + the following lengths: 32, 40, 48, 56, 64 or 96. (The Well-Known + prefic is 96 bits long, and can only be used in the last form of the + table.) + + Various deployments justify different prefix lengths with Network- + Specific prefixes. The tradeoff between different prefix lengths are + discussed in Section 3.3 and Section 3.4. + + Bits 64 to 71 of the address are reserved for compatibility with the + host identifier format defined in the IPv6 addressing architecture + [RFC4291]. These bits MUST be set to zero. When using a /96 + Network-Specific Prefix, the administrators MUST ensure that the bits + 64 to 71 are set to zero. A simple way to achieve that is to + construct the /96 Network-Specific Prefix by picking a /64 prefix, + and then adding four octets set to zero. + + The IPv4 address is encoded following the prefix, most significant + bits first. Depending of the prefix length, the 4 octets of the + address may be separated by the reserved octet "u", whose 8 bits MUST + be set to zero. In particular: + + + + +Bao, et al. Expires October 11, 2010 [Page 5] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + o When the prefix is 32 bits long, the IPv4 address is encoded in + positions 32 to 63. + o When the prefix is 40 bits long, 24 bits of the IPv4 address are + encoded in positions 40 to 63, with the remaining 8 bits in + position 72 to 79. + o When the prefix is 48 bits long, 16 bits of the IPv4 address are + encoded in positions 48 to 63, with the remaining 16 bits in + position 72 to 87. + o When the prefix is 56 bits long, 8 bits of the IPv4 address are + encoded in positions 56 to 63, with the remaining 24 bits in + position 72 to 95. + o When the prefix is 64 bits long, the IPv4 address is encoded in + positions 72 to 103. + o When the prefix is 96 bits long, the IPv4 address is encoded in + positions 96 to 127. + + There are no remaining bits, and thus no suffix, if the prefix is 96 + bits long. In the other cases, the remaining bits of the address + constitute the suffix. These bits are reserved for future + extensions, and SHOULD be set to zero. + +2.3. Address Translation Algorithms + + IPv4-Embedded IPv6 addresses are composed according to the following + algorithm: + o Concatenate the prefix, the 32 bits of the IPv4 address and the + null suffix if needed to obtain a 128 bit address. + o If the prefix length is less than 96 bits, insert the null octet + "u" at the appropriate position, thus causing the least + significant octet to be excluded, as documented in Figure 1. + + The IPv4 addresses are extracted from the IPv4-Embedded IPv6 + addresses according to the following algorithm: + o If the prefix is 96 bit long, extract the last 32 bits of the IPv6 + address; + o for the other prefix lengths, extract the "u" octet to obtain a + 120 bit sequence, then extract the 32 bits following the prefix. + +2.4. Text Representation + + IPv4-Embedded IPv6 addresses will be represented in text in + conformity with section 2.2 of [RFC4291]. IPv4-Embedded IPv6 + addresses constructed using the Well-Known Prefix or a /96 Network- + Specific Prefix may be represented using the alternative form + presented in section 2.2 of [RFC4291], with the embedded IPv4 address + represented in dotted decimal notation. Examples of such + representations are presented in Table 1 and Table 2. + + + + +Bao, et al. Expires October 11, 2010 [Page 6] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + +-----------------------+------------+------------------------------+ + | Network-Specific | IPv4 | IPv4-Embedded IPv6 address | + | Prefix | address | | + +-----------------------+------------+------------------------------+ + | 2001:DB8::/32 | 192.0.2.33 | 2001:DB8:C000:221:: | + | 2001:DB8:100::/40 | 192.0.2.33 | 2001:DB8:1C0:2:21:: | + | 2001:DB8:122::/48 | 192.0.2.33 | 2001:DB8:122:C000:2:2100:: | + | 2001:DB8:122:300::/56 | 192.0.2.33 | 2001:DB8:122:3C0:0:221:: | + | 2001:DB8:122:344::/64 | 192.0.2.33 | 2001:DB8:122:344:C0:2:2100:: | + | 2001:DB8:122:344::/96 | 192.0.2.33 | 2001:DB8:122:344::192.0.2.33 | + +-----------------------+------------+------------------------------+ + + Table 1: Text representation of IPv4-Embedded IPv6 addresses using + Network-Specific Prefixes + + +-------------------+--------------+----------------------------+ + | Well Known Prefix | IPv4 address | IPv4-Embedded IPv6 address | + +-------------------+--------------+----------------------------+ + | 64:FF9B::/96 | 192.0.2.33 | 64:FF9B::192.0.2.33 | + +-------------------+--------------+----------------------------+ + + Table 2: Text representation of IPv4-Embedded IPv6 addresses using + the Well-Known Prefix + + The Network-Specific Prefix examples in Table 1 are derived from the + IPv6 prefix reserved for documentation in [RFC3849]. The IPv4 + address 192.0.2.33 is part of the subnet 192.0.2.0/24 reserved for + documentation in [RFC5735]. + + +3. Deployment Guidelines and Choices + +3.1. Restrictions on the use of the Well-Known Prefix + + The Well-Known Prefix MAY be used by organizations deploying + translation services, as explained in Section 3.4. + + The Well-Known Prefix SHOULD NOT be used to construct IPv4- + Translatable addresses. The nodes served by IPv4-Translatable IPv6 + addresses should be able to receive global IPv6 traffic bound to + their IPv4-Translatable IPv6 address without incurring intermediate + protocol translation. This is only possible if the specific prefix + used to build the IPv4-Translatable IPv6 addresses is advertized in + inter-domain routing, but the advertisement of more specific prefixes + derived from the Well-Known Prefix is not supported, as explained in + Section 3.2. Network-Specific Prefixes SHOULD be used in these + scenarios, as explained in Section 3.3. + + + + +Bao, et al. Expires October 11, 2010 [Page 7] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + The Well-Known Prefix MUST NOT be used to represent non global IPv4 + addresses, such as those defined in [RFC1918]. + +3.2. Impact on Inter-Domain Routing + + The Well-Known Prefix MAY appear in inter-domain routing tables, if + service providers decide to provide IPv6-IPv4 interconnection + services to peers. Advertisement of the Well-Known Prefix SHOULD be + controlled either by upstream and/or downstream service providers + owing to inter-domain routing policies, e.g., through configuration + of BGP [RFC4271]. Organizations that advertize the Well-Known Prefix + in inter-domain routing MUST be able to provide IPv4/IPv6 translation + service. + + When the IPv4/IPv6 translation relies on the Well-Known Prefix, + embedded IPv6 prefixes longer than the Well-Known Prefix MUST NOT be + advertised in BGP (especially e-BGP) [RFC4271] because this leads to + importing the IPv4 routing table into the IPv6 one and therefore + induces scalability issues to the global IPv6 routing table. + Administrators of BGP nodes SHOULD configure filters that discard + advertisements of embedded IPv6 prefixes longer than the Well-Known + Prefix. + + When the IPv4/IPv6 translation service relies on Network-Specific + Prefixes, the IPv4-Translatable IPv6 prefixes used in stateless + translation MUST be advertised with proper aggregation to the IPv6 + Internet. Similarly, if translators are configured with multiple + Network-Specific Prefixes,these prefixes MUST be advertised to the + IPv6 Internet with proper aggregation. + +3.3. Choice of Prefix for Stateless Translation Deployments + + Organizations may deploy translation services using stateless + translation. In these deployments, internal IPv6 nodes are addressed + using IPv4-Translatable IPv6 addresses, which enable them to be + accessed by IPv4 nodes. The addresses of these external IPv4 nodes + are then represented in IPv4-Converted IPv6 addresses. + + Organizations deploying stateless IPv4/IPv6 translation SHOULD assign + a Network-Specific Prefix to their IPv4/IPv6 translation service. + IPv4-Translatable and IPv4-Converted IPv6 addresses MUST be + constructed as specified in Section 2.2. IPv4-Translatable IPv6 + addresses MUST use the selected Network-Specific Prefix. Both IPv4- + Translatable IPv6 addresses and IPv4-Converted IPv6 addresses SHOULD + use the same prefix. + + Using the same prefix ensures that IPv6 nodes internal to the + organization will use the most efficient paths to reach the nodes + + + +Bao, et al. Expires October 11, 2010 [Page 8] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + served by IPv4-Translatable IPv6 addresses. Specifically, if a node + learns the IPv4 address of a target internal node without knowing + that this target is in fact located behind the same translator that + the node also uses, translation rules will ensure that the IPv6 + address constructed with the Network-Specific prefix is the same as + the IPv4-Translatable IPv6 address assigned to the target. Standard + routing preference (more specific wins) will then ensure that the + IPv6 packets are delivered directly, without requiring "hair-pinning" + at the translator. + + The intra-domain routing protocol must be able to deliver packets to + the nodes served by IPv4-Translatable IPv6 addresses. This may + require routing on some or all of the embedded IPv4 address bits. + Security considerations detailed in Section 4 require that routers + check the validity of the IPv4-Translatable IPv6 source addresses, + using some form of reverse path check. + + The management of stateless address translation can be illustrated + with a small example. We will consider an IPv6 network with the + prefix 2001:DB8:122::/48. The network administrator has selected the + Network-Specific prefix 2001:DB8:122:344::/64 for managing stateless + IPv4/IPv6 translation. The IPv4-Translatable address block is 2001: + DB8:122:344:C0:2::/96 and this block is visible in IPv4 as the subnet + 192.0.2.0/24. In this network, the host A is assigned the IPv4- + Translatable IPv6 address 2001:DB8:122:344:C0:2:2100::, which + corresponds to the IPv4 address 192.0.2.33. Host A's address is + configured either manually or through DHCPv6. + + In this example, host A is not directly connected to the translator, + but instead to a link managed by a router R. The router R is + configured to forward to A the packets bound to 2001:DB8:122:344:C0: + 2:2100::. To receive these packets, R will advertise reachability of + the prefix 2001:DB8:122:344:C0:2:2100::/104 in the intra-domain + routing protocol -- or perhaps a shorter prefix if many hosts on link + have IPv4-Translatable IPv6 addresses derived from the same IPv4 + subnet. If a packet bound to 192.0.2.33 reaches the translator, the + destination address will be translated to 2001:DB8:122:344:C0:2: + 2100::, and the packet will be routed towards R and then to A. + + Let's suppose now that a host B of the same domain learns the IPv4 + address of A, maybe through an application-specific referral. If B + has translation-aware software, B can compose a destination address + by combining the Network-Specific Prefix 2001:DB8:122:344::/64 and + the IPv4 address 192.0.2.33, resulting in the address 2001:DB8:122: + 344:C0:2:2100::. The packet sent by B will be forwarded towards R, + and then to A, avoiding protocol translation. + + Forwarding, and reverse path checks, should be performed on the + + + +Bao, et al. Expires October 11, 2010 [Page 9] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + combination of the prefix and the IPv4 address. In theory, routers + should be able to route on prefixes of any length. However, routing + on prefixes larger than 64 bits may be slower on some routers. But + routing efficiency is not the only consideration in the choice of a + prefix length. Organizations also need to consider the availability + of prefixes, and the potential impact of all-zeroes identifiers. + + If a /32 prefix is used, all the routing bits are contained in the + top 64 bits of the IPv6 address, leading to excellent routing + properties. These prefixes may however be hard to obtain, and + allocation of a /32 to a small set of IPv4-Translatable IPv6 + addresses may be seen as wasteful. In addition, the /32 prefix and a + zero suffix leads to an all-zeroes interface identifier, an issue + that we discuss in Section 3.5. + + Intermediate prefix lengths such as /40, /48 or /56 appear as + compromises. Only some of the IPv4 bits are part of the /64 + prefixes. Reverse path checks, in particular, may have a limited + efficiency. Reverse path checks limited to the most significant bits + of the IPv4 address will reduce the possibility of spoofing external + IPv4 addresses, but would allow IPv6 nodes to spoof internal IPv4- + Translatable IPv6 addresses. + + We propose here a compromise, based on using no more than 1/256th of + an organization's allocation of IPv6 addresses for the IPv4/IPv6 + translation service. For example, if the organization is an Internet + Service Provider with an allocated IPv6 prefix /32 or shorter, the + ISP could dedicate a /40 prefix to the translation service. An end + site with a /48 allocation could dedicate a /56 prefix to the + translation service, or possibly a /96 prefix if all IPv4- + Translatable IPv6 addresses are located on the same link. + + The recommended prefix length is also a function of the deployment + scenario. The stateless translation can be used for Scenario 1, + Scenario 2, Scenario 5, and Scenario 6 defined in + [I-D.ietf-behave-v6v4-framework]. For different scenarios, the + prefix length recommendations are: + o For scenario 1 (an IPv6 network to the IPv4 Internet) and scenario + 2 (the IPv4 Internet to an IPv6 network), we recommend using a /40 + prefix for an ISP holding a /32 allocation, and a /56 prefix for a + site holding a /48 allocation. + o For scenario 5 (an IPv6 network to an IPv4 network) and scenario 6 + (an IPv4 network to an IPv6 network), we recommend using a /64 or + a /96 prefix. + + IPv4-Translatable IPv6 addresses SHOULD follow the IPv6 address + architecture and SHOULD be compatible with the IPv4 address + architecture. The first IPv4-translatable address is the subnet- + + + +Bao, et al. Expires October 11, 2010 [Page 10] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + router anycast address in IPv6 and network identifier in IPv4, the + last IPv4-translatable address is the subnet broadcast addresses in + IPv4. Both of them SHOULD NOT be used for IPv6 nodes. In addition, + the minimum IPv4 subnet can be used for hosts is /30 (the router + interface needs a valid address for the same subnet) and this rule + SHOULD also be applied to the corresponding subnet of the IPv4- + translatable addresses. + +3.4. Choice of Prefix for Stateful Translation Deployments + + Organizations may deploy translation services based on stateful + translation technology. An organization may decide to use either a + Network-Specific Prefix or the Well-Known Prefix for its stateful + IPv4/IPv6 translation service. + + When these services are used, IPv6 nodes are addressed through + standard IPv6 addresses, while IPv4 nodes are represented by IPv4- + Converted IPv6 addresses, as specified in Section 2.2. + + The stateful nature of the translation creates a potential stability + issue when the organization deploys multiple translators. If several + translators use the same prefix, there is a risk that packets + belonging to the same connection may be routed to different + translators as the internal routing state changes. This issue can be + avoided either by assigning different prefixes to different + translators, or by ensuring that all translators using same prefix + coordinate their state. + + Stateful translation can be used in scenarios defined in + [I-D.ietf-behave-v6v4-framework]. The Well Known Prefix SHOULD be + used in these scenarios, with two exceptions: + o In all scenarios, the translation MAY use a Network-Specific + Prefix, if deemed appropriate for management reasons. + o The Well-Known Prefix MUST NOT be used for scenario 3 (the IPv6 + Internet to an IPv4 network), as this would lead to using the + Well-Known Prefix with non-global IPv4 addresses. That means a + Network-Specific Prefix MUST be used in that scenario, for example + a /96 prefix compatible with the Well-Known prefix format. + +3.5. Choice of Suffix + + The address format described in Section 2.2 recommends a zero suffix. + Before making this recommendation, we considered different options: + checksum neutrality; the encoding of a port range; and a value + different than 0. + + In the case of stateless translation, there would be no need for the + translator to recompute a one's complement checksum if both the IPv4- + + + +Bao, et al. Expires October 11, 2010 [Page 11] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + Translatable and the IPv4-Converted IPv6 addresses were constructed + in a "checksum-neutral" manner, that is if the IPv6 addresses would + have the same one's complement checksum as the embedded IPv4 address. + In the case of stateful translation, checksum neutrality does not + eliminate checksum computation during translation, as only one of the + two addresses would be checksum neutral. We considered reserving 16 + bits in the suffix to guarantee checksum neutrality, but declined + because it would not help with stateful translation, and because + checksum neutrality can also be achieved by an appropriate choice of + the Network-Specific Prefix, as was done for example with the Well- + Known Prefix. + + There have been proposals to complement stateless translation with a + port-range feature. Instead of mapping an IPv4 address to exactly + one IPv6 prefix, the options would allow several IPv6 nodes to share + an IPv4 address, with each node managing a different range of ports. + If a port range extension is needed, it could be defined later, using + bits currently reserved as null in the suffix. + + When a /32 prefix is used, an all-zero suffix results in an all-zero + interface identifier. We understand the conflict with Section 2.6.1 + of RFC4291, which specifies that all zeroes are used for the subnet- + router anycast address. However, in our specification, there would + be only one node with an IPv4-Translatable IPv6 address in the /64 + subnet, and the anycast semantic would not create confusion. We thus + decided to keep the null suffix for now. This issue does not exist + for prefixes larger than 32 bits, such as the /40, /56, /64 and /96 + prefixes that we recommend in Section 3.3. + +3.6. Choice of the Well-Known Prefix + + Before making our recommendation of the Well-Known Prefix, we were + faced with three choices: + o reuse the IPv4-mapped prefix, ::FFFF:0:0/96, as specified in RFC + 2765 Section 2.1; + o request IANA to allocate a /32 prefix, + o or request allocation of a new /96 prefix. + + We weighted the pros and cons of these choices before settling on the + recommended /96 Well-Known Prefix. + + The main advantage of the existing IPv4-mapped prefix is that it is + already defined. Reusing that prefix would require minimal + standardization efforts. However, being already defined is not just + an advantage, as there may be side effects of current + implementations. When presented with the IPv4-mapped prefix, current + versions of Windows and MacOS generate IPv4 packets, but will not + send IPv6 packets. If we used the IPv4-mapped prefix, these nodes + + + +Bao, et al. Expires October 11, 2010 [Page 12] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + would not be able to support translation without modification. This + will defeat the main purpose of the translation techniques. We thus + eliminated the first choice, and decided to not reuse the IPv4-mapped + prefix, ::FFFF:0:0/96. + + A /32 prefix would have allowed the embedded IPv4 address to fit + within the top 64 bits of the IPv6 address. This would have + facilitated routing and load balancing when an organization deploys + several translators. However, such destination-address based load + balancing may not be desirable. It is not compatible with STUN in + the deployments involving multiple stateful translators, each one + having a different pool of IPv4 addresses. STUN compatibility would + only be achieved if the translators managed the same pool of IPv4 + addresses and were able to coordinate their translation state, in + which case there is no big advantage to using a /32 prefix rather + than a /96 prefix. + + According to Section 2.2 of [RFC4291], in the legal textual + representations of IPv6 addresses, dotted decimal can only appear at + the end. The /96 prefix is compatible with that requirement. It + enables the dotted decimal notation without requiring an update to + [RFC4291]. This representation makes the address format easier to + use, and log files easier to read. + + The prefix that we recommend has the particularity of being "checksum + neutral". The sum of the hexadecimal numbers "0064" and "FF9B" is + "FFFF", i.e. a value equal to zero in one's complement arithmetic. + An IPv4-Embedded IPv6 address constructed with this prefix will have + the same one's complement checksum as the embedded IPv4 address. + + +4. Security Considerations + +4.1. Protection Against Spoofing + + By and large, IPv4/IPv6 translators can be modeled as special + routers, are subject to the same risks, and can implement the same + mitigations. There is however a particular risk that directly + derives from the practice of embedding IPv4 addresses in IPv6: + address spoofing. + + An attacker could use an IPv4-Embedded IPv6 address as the source + address of malicious packets. After translation, the packets will + appear as IPv4 packets from the specified source, and the attacker + may be hard to track. If left without mitigation, the attack would + allow malicious IPv6 nodes to spoof arbitrary IPv4 addresses. + + The mitigation is to implement reverse path checks, and to verify + + + +Bao, et al. Expires October 11, 2010 [Page 13] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + throughout the network that packets are coming from an authorized + location. + +4.2. Secure Configuration + + The prefixes used for address translation are used by IPv6 nodes to + send packets to IPv6/IPv4 translators. Attackers could attempt to + fool nodes, DNS gateways, and IPv4/IPv6 translators into using wrong + values for these parameters, resulting in network disruption, denial + of service, and possible information disclosure. To mitigate such + attacks, network administrators need to ensure that prefixes are + configured in a secure way. + + The mechanisms for achieving secure configuration of prefixes are + beyond the scope of this document. + + +5. IANA Considerations + + The IANA is requested to add a note to the documentation of the + 0000::/8 address block in + http://www.iana.org/assignments/ipv6-address-space to document the + assignment by the IETF of the Well Known Prefix. For example: + + The "Well Known Prefix" 64:FF9B::/96 used in an algorithmic + mapping between IPv4 to IPv6 addresses is defined out of the + 0000::/8 address block, per (this document). + + +6. Acknowledgements + + Many people in the Behave WG have contributed to the discussion that + led to this document, including Andrew Sullivan, Andrew Yourtchenko, + Brian Carpenter, Dan Wing, Ed Jankiewicz, Fred Baker, Hiroshi Miyata, + Iljitsch van Beijnum, John Schnizlein, Keith Moore, Kevin Yin, Magnus + Westerlund, Margaret Wasserman, Masahito Endo, Phil Roberts, Philip + Matthews, Remi Denis-Courmont, Remi Despres and William Waites. + + Marcelo Bagnulo is partly funded by Trilogy, a research project + supported by the European Commission under its Seventh Framework + Program. + + +7. Contributors + + The following individuals co-authored drafts from which text has been + incorporated, and are listed in alphabetical order. + + + + +Bao, et al. Expires October 11, 2010 [Page 14] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + Congxiao Bao + CERNET Center/Tsinghua University + Room 225, Main Building, Tsinghua University + Beijing, 100084 + China + Phone: +86 62785983 + Email: congxiao@cernet.edu.cn + + Dave Thaler + Microsoft Corporation + One Microsoft Way + Redmond, WA 98052 + USA + Phone: +1 425 703 8835 + Email: dthaler@microsoft.com + + Fred Baker + Cisco Systems + Santa Barbara, California 93117 + USA + Phone: +1-408-526-4257 + Fax: +1-413-473-2403 + Email: fred@cisco.com + + Hiroshi Miyata + Yokogawa Electric Corporation + 2-9-32 Nakacho + Musashino-shi, Tokyo 180-8750 + JAPAN + Email: h.miyata@jp.yokogawa.com + + Marcelo Bagnulo + Universidad Carlos III de Madrid + Av. Universidad 30 + Leganes, Madrid 28911 + ESPANA + Email: marcelo@it.uc3m.es + + Xing Li + CERNET Center/Tsinghua University + Room 225, Main Building, Tsinghua University + Beijing, 100084 + China + Phone: +86 62785983 + Email: xing@cernet.edu.cn + + + + + + +Bao, et al. Expires October 11, 2010 [Page 15] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + +8. References + +8.1. Normative References + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, March 1997. + + [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing + Architecture", RFC 4291, February 2006. + +8.2. Informative References + + [I-D.ietf-behave-dns64] + Bagnulo, M., Sullivan, A., Matthews, P., and I. Beijnum, + "DNS64: DNS extensions for Network Address Translation + from IPv6 Clients to IPv4 Servers", + draft-ietf-behave-dns64-04 (work in progress), + December 2009. + + [I-D.ietf-behave-v6v4-framework] + Baker, F., Li, X., Bao, C., and K. Yin, "Framework for + IPv4/IPv6 Translation", + draft-ietf-behave-v6v4-framework-03 (work in progress), + October 2009. + + [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and + E. Lear, "Address Allocation for Private Internets", + BCP 5, RFC 1918, February 1996. + + [RFC3484] Draves, R., "Default Address Selection for Internet + Protocol version 6 (IPv6)", RFC 3484, February 2003. + + [RFC3849] Huston, G., Lord, A., and P. Smith, "IPv6 Address Prefix + Reserved for Documentation", RFC 3849, July 2004. + + [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway + Protocol 4 (BGP-4)", RFC 4271, January 2006. + + [RFC5735] Cotton, M. and L. Vegoda, "Special Use IPv4 Addresses", + BCP 153, RFC 5735, January 2010. + + + + + + + + + + + +Bao, et al. Expires October 11, 2010 [Page 16] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + +Authors' Addresses + + Congxiao Bao + CERNET Center/Tsinghua University + Room 225, Main Building, Tsinghua University + Beijing, 100084 + China + + Phone: +86 10-62785983 + Email: congxiao@cernet.edu.cn + + + Christian Huitema + Microsoft Corporation + One Microsoft Way + Redmond, WA 98052-6399 + U.S.A. + + Email: huitema@microsoft.com + + + Marcelo Bagnulo + UC3M + Av. Universidad 30 + Leganes, Madrid 28911 + Spain + + Phone: +34-91-6249500 + Fax: + Email: marcelo@it.uc3m.es + URI: http://www.it.uc3m.es/marcelo + + + Mohamed Boucadair + France Telecom + 3, Av Francois Chateaux + Rennes 350000 + France + + Email: mohamed.boucadair@orange-ftgroup.com + + + + + + + + + + + +Bao, et al. Expires October 11, 2010 [Page 17] + +Internet-Draft IPv6 Addressing of IPv4/IPv6 Translators April 2010 + + + Xing Li + CERNET Center/Tsinghua University + Room 225, Main Building, Tsinghua University + Beijing, 100084 + China + + Phone: +86 10-62785983 + Email: xing@cernet.edu.cn + + + + + + + + + + + + + + + + + + + + + + + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@FreeBSD.ORG Sun May 23 18:49:15 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA6FA106566B; Sun, 23 May 2010 18:49:15 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A19868FC15; Sun, 23 May 2010 18:49:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4NInFpC059794; Sun, 23 May 2010 18:49:15 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4NInFDT059793; Sun, 23 May 2010 18:49:15 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201005231849.o4NInFDT059793@svn.freebsd.org> From: Doug Barton Date: Sun, 23 May 2010 18:49:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r208457 - vendor/bind9/9.4-ESV-R2 X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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: Sun, 23 May 2010 18:49:15 -0000 Author: dougb Date: Sun May 23 18:49:15 2010 New Revision: 208457 URL: http://svn.freebsd.org/changeset/base/208457 Log: Tag the 9.4-ESV-R2 release Added: vendor/bind9/9.4-ESV-R2/ - copied from r208456, vendor/bind9/dist-9.4/ From owner-svn-src-vendor@FreeBSD.ORG Thu May 27 15:16:00 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 29D28106566B; Thu, 27 May 2010 15:16:00 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 14C3A8FC13; Thu, 27 May 2010 15:16:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4RFG0qO008291; Thu, 27 May 2010 15:16:00 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4RFFx0I008237; Thu, 27 May 2010 15:15:59 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201005271515.o4RFFx0I008237@svn.freebsd.org> From: Roman Divacky Date: Thu, 27 May 2010 15:15:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r208599 - in vendor/llvm/dist: . autoconf docs docs/CommandGuide docs/tutorial include/llvm include/llvm/ADT include/llvm/Analysis include/llvm/CodeGen include/llvm/Config include/llvm/... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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: Thu, 27 May 2010 15:16:00 -0000 Author: rdivacky Date: Thu May 27 15:15:58 2010 New Revision: 208599 URL: http://svn.freebsd.org/changeset/base/208599 Log: Update LLVM to r104832. Added: vendor/llvm/dist/include/llvm/MC/MCLabel.h vendor/llvm/dist/include/llvm/MC/MCMachOSymbolFlags.h vendor/llvm/dist/include/llvm/MC/MCSectionCOFF.h vendor/llvm/dist/include/llvm/Transforms/Utils/SSAUpdaterImpl.h vendor/llvm/dist/lib/Analysis/ModuleDebugInfoPrinter.cpp vendor/llvm/dist/lib/MC/MCLabel.cpp vendor/llvm/dist/lib/MC/MCLoggingStreamer.cpp vendor/llvm/dist/lib/MC/MCSectionCOFF.cpp vendor/llvm/dist/lib/Transforms/Scalar/Sink.cpp vendor/llvm/dist/test/CodeGen/ARM/2010-05-14-IllegalType.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-17-DAGCombineAssert.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-17-FastAllocCrash.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-18-LocalAllocCrash.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-18-PostIndexBug.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-19-Shuffles.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-20-NEONSpillCrash.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-21-BuildVector.ll vendor/llvm/dist/test/CodeGen/ARM/arm-returnaddr.ll vendor/llvm/dist/test/CodeGen/ARM/lsr-on-unrolled-loops.ll vendor/llvm/dist/test/CodeGen/ARM/reg_sequence.ll vendor/llvm/dist/test/CodeGen/ARM/trap.ll vendor/llvm/dist/test/CodeGen/CellSPU/jumptable.ll vendor/llvm/dist/test/CodeGen/CellSPU/sub_ops.ll vendor/llvm/dist/test/CodeGen/Generic/legalize-dbg-value.ll vendor/llvm/dist/test/CodeGen/Thumb/trap.ll vendor/llvm/dist/test/CodeGen/Thumb2/2010-05-24-rsbs.ll vendor/llvm/dist/test/CodeGen/Thumb2/div.ll vendor/llvm/dist/test/CodeGen/Thumb2/sign_extend_inreg.ll vendor/llvm/dist/test/CodeGen/X86/2010-05-05-LocalAllocEarlyClobber.ll vendor/llvm/dist/test/CodeGen/X86/2010-05-06-LocalInlineAsmClobber.ll vendor/llvm/dist/test/CodeGen/X86/2010-05-07-ldconvert.ll vendor/llvm/dist/test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll vendor/llvm/dist/test/CodeGen/X86/2010-05-12-FastAllocKills.ll vendor/llvm/dist/test/CodeGen/X86/2010-05-16-nosseconversion.ll vendor/llvm/dist/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll vendor/llvm/dist/test/CodeGen/X86/2010-05-26-FP_TO_INT-crash.ll vendor/llvm/dist/test/CodeGen/X86/fp-stack.ll vendor/llvm/dist/test/CodeGen/X86/label-redefinition.ll vendor/llvm/dist/test/CodeGen/X86/mcinst-lowering-cmp0.ll vendor/llvm/dist/test/CodeGen/X86/mcinst-lowering.ll vendor/llvm/dist/test/CodeGen/X86/tls-1.ll vendor/llvm/dist/test/CodeGen/X86/unknown-location.ll vendor/llvm/dist/test/DebugInfo/2010-05-10-MultipleCU.ll vendor/llvm/dist/test/DebugInfo/2010-05-25-DotDebugLoc.ll vendor/llvm/dist/test/Feature/metadata.ll vendor/llvm/dist/test/FrontendC++/2010-05-10-Var-DbgInfo.cpp vendor/llvm/dist/test/FrontendC++/2010-05-11-alwaysinlineinstantiation.cpp vendor/llvm/dist/test/FrontendC++/2010-05-12-PtrToMember-Dbg.cpp vendor/llvm/dist/test/FrontendC++/thunk-weak-odr.cpp vendor/llvm/dist/test/FrontendC/2010-05-14-Optimized-VarType.c vendor/llvm/dist/test/FrontendC/2010-05-18-asmsched.c vendor/llvm/dist/test/FrontendC/2010-05-18-palignr.c vendor/llvm/dist/test/FrontendC/2010-05-26-AsmSideEffect.c vendor/llvm/dist/test/FrontendC/pr2394.c vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-imm-widths.s vendor/llvm/dist/test/MC/AsmParser/directive_tbss.s vendor/llvm/dist/test/MC/AsmParser/directive_tdata.s vendor/llvm/dist/test/MC/AsmParser/directive_thread_init_func.s vendor/llvm/dist/test/MC/AsmParser/directive_tlv.s vendor/llvm/dist/test/MC/MachO/direction_labels.s vendor/llvm/dist/test/MC/MachO/indirect-symbols.s vendor/llvm/dist/test/MC/MachO/string-table.s vendor/llvm/dist/test/MC/MachO/tbss.s vendor/llvm/dist/test/MC/MachO/tdata.s vendor/llvm/dist/test/MC/MachO/thread_init_func.s vendor/llvm/dist/test/MC/MachO/tls.s vendor/llvm/dist/test/MC/MachO/tlv-reloc.s vendor/llvm/dist/test/MC/MachO/tlv.s vendor/llvm/dist/test/MC/MachO/zerofill-5.s vendor/llvm/dist/test/Other/2010-05-06-Printer.ll vendor/llvm/dist/test/Other/inline-asm-newline-terminator.ll vendor/llvm/dist/test/Transforms/GVN/2010-05-08-OneBit.ll vendor/llvm/dist/test/Transforms/Inline/2010-05-12-ValueMap.ll vendor/llvm/dist/test/Transforms/Sink/ vendor/llvm/dist/test/Transforms/Sink/basic.ll vendor/llvm/dist/test/Transforms/Sink/dg.exp vendor/llvm/dist/unittests/ADT/ilistTest.cpp vendor/llvm/dist/utils/TableGen/ClangASTNodesEmitter.cpp vendor/llvm/dist/utils/TableGen/ClangASTNodesEmitter.h vendor/llvm/dist/utils/valgrind/i386-pc-linux-gnu.supp vendor/llvm/dist/utils/valgrind/x86_64-pc-linux-gnu.supp Deleted: vendor/llvm/dist/include/llvm/CodeGen/ELFRelocation.h vendor/llvm/dist/test/CodeGen/X86/stack-color-with-reg-2.ll Modified: vendor/llvm/dist/Makefile.config.in vendor/llvm/dist/Makefile.rules vendor/llvm/dist/autoconf/configure.ac vendor/llvm/dist/configure vendor/llvm/dist/docs/AliasAnalysis.html vendor/llvm/dist/docs/BitCodeFormat.html vendor/llvm/dist/docs/Bugpoint.html vendor/llvm/dist/docs/CodeGenerator.html vendor/llvm/dist/docs/CodingStandards.html vendor/llvm/dist/docs/CommandGuide/index.html vendor/llvm/dist/docs/CommandGuide/lit.pod vendor/llvm/dist/docs/CommandLine.html vendor/llvm/dist/docs/CompilerDriver.html vendor/llvm/dist/docs/CompilerWriterInfo.html vendor/llvm/dist/docs/DeveloperPolicy.html vendor/llvm/dist/docs/ExceptionHandling.html vendor/llvm/dist/docs/ExtendingLLVM.html vendor/llvm/dist/docs/FAQ.html vendor/llvm/dist/docs/GCCFEBuildInstrs.html vendor/llvm/dist/docs/GarbageCollection.html vendor/llvm/dist/docs/GetElementPtr.html vendor/llvm/dist/docs/GettingStarted.html vendor/llvm/dist/docs/GettingStartedVS.html vendor/llvm/dist/docs/HowToReleaseLLVM.html vendor/llvm/dist/docs/HowToSubmitABug.html vendor/llvm/dist/docs/LangRef.html vendor/llvm/dist/docs/Lexicon.html vendor/llvm/dist/docs/LinkTimeOptimization.html vendor/llvm/dist/docs/MakefileGuide.html vendor/llvm/dist/docs/Packaging.html vendor/llvm/dist/docs/Passes.html vendor/llvm/dist/docs/ProgrammersManual.html vendor/llvm/dist/docs/Projects.html vendor/llvm/dist/docs/ReleaseNotes.html vendor/llvm/dist/docs/SourceLevelDebugging.html vendor/llvm/dist/docs/SystemLibrary.html vendor/llvm/dist/docs/TableGenFundamentals.html vendor/llvm/dist/docs/TestingGuide.html vendor/llvm/dist/docs/UsingLibraries.html vendor/llvm/dist/docs/WritingAnLLVMBackend.html vendor/llvm/dist/docs/WritingAnLLVMPass.html vendor/llvm/dist/docs/index.html vendor/llvm/dist/docs/tutorial/LangImpl1.html vendor/llvm/dist/docs/tutorial/LangImpl2.html vendor/llvm/dist/docs/tutorial/LangImpl3.html vendor/llvm/dist/docs/tutorial/LangImpl4.html vendor/llvm/dist/docs/tutorial/LangImpl5.html vendor/llvm/dist/docs/tutorial/LangImpl6.html vendor/llvm/dist/docs/tutorial/LangImpl7.html vendor/llvm/dist/docs/tutorial/LangImpl8.html vendor/llvm/dist/docs/tutorial/OCamlLangImpl1.html vendor/llvm/dist/docs/tutorial/OCamlLangImpl2.html vendor/llvm/dist/docs/tutorial/OCamlLangImpl3.html vendor/llvm/dist/docs/tutorial/OCamlLangImpl4.html vendor/llvm/dist/docs/tutorial/OCamlLangImpl5.html vendor/llvm/dist/docs/tutorial/OCamlLangImpl6.html vendor/llvm/dist/docs/tutorial/OCamlLangImpl7.html vendor/llvm/dist/include/llvm/ADT/DenseMap.h vendor/llvm/dist/include/llvm/ADT/EquivalenceClasses.h vendor/llvm/dist/include/llvm/ADT/SparseBitVector.h vendor/llvm/dist/include/llvm/ADT/StringRef.h vendor/llvm/dist/include/llvm/ADT/Twine.h vendor/llvm/dist/include/llvm/ADT/ilist_node.h vendor/llvm/dist/include/llvm/Analysis/DebugInfo.h vendor/llvm/dist/include/llvm/Analysis/InlineCost.h vendor/llvm/dist/include/llvm/Analysis/Lint.h vendor/llvm/dist/include/llvm/Analysis/Passes.h vendor/llvm/dist/include/llvm/CallingConv.h vendor/llvm/dist/include/llvm/CodeGen/FastISel.h vendor/llvm/dist/include/llvm/CodeGen/ISDOpcodes.h vendor/llvm/dist/include/llvm/CodeGen/LatencyPriorityQueue.h vendor/llvm/dist/include/llvm/CodeGen/LinkAllCodegenComponents.h vendor/llvm/dist/include/llvm/CodeGen/LiveInterval.h vendor/llvm/dist/include/llvm/CodeGen/LiveIntervalAnalysis.h vendor/llvm/dist/include/llvm/CodeGen/MachineFrameInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.h vendor/llvm/dist/include/llvm/CodeGen/MachineInstr.h vendor/llvm/dist/include/llvm/CodeGen/MachineRegisterInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineSSAUpdater.h vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAG.h vendor/llvm/dist/include/llvm/CodeGen/SchedulerRegistry.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAG.h vendor/llvm/dist/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h vendor/llvm/dist/include/llvm/CodeGen/ValueTypes.h vendor/llvm/dist/include/llvm/CodeGen/ValueTypes.td vendor/llvm/dist/include/llvm/Config/config.h.cmake vendor/llvm/dist/include/llvm/Config/config.h.in vendor/llvm/dist/include/llvm/Constants.h vendor/llvm/dist/include/llvm/Intrinsics.td vendor/llvm/dist/include/llvm/IntrinsicsX86.td vendor/llvm/dist/include/llvm/LinkAllPasses.h vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h vendor/llvm/dist/include/llvm/MC/MCAsmLayout.h vendor/llvm/dist/include/llvm/MC/MCAssembler.h vendor/llvm/dist/include/llvm/MC/MCContext.h vendor/llvm/dist/include/llvm/MC/MCExpr.h vendor/llvm/dist/include/llvm/MC/MCFixup.h vendor/llvm/dist/include/llvm/MC/MCObjectWriter.h vendor/llvm/dist/include/llvm/MC/MCParser/AsmParser.h vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmLexer.h vendor/llvm/dist/include/llvm/MC/MCSection.h vendor/llvm/dist/include/llvm/MC/MCSectionELF.h vendor/llvm/dist/include/llvm/MC/MCSectionMachO.h vendor/llvm/dist/include/llvm/MC/MCStreamer.h vendor/llvm/dist/include/llvm/MC/MCSymbol.h vendor/llvm/dist/include/llvm/MC/MachObjectWriter.h vendor/llvm/dist/include/llvm/PassManager.h vendor/llvm/dist/include/llvm/Support/Compiler.h vendor/llvm/dist/include/llvm/Support/DOTGraphTraits.h vendor/llvm/dist/include/llvm/Support/GraphWriter.h vendor/llvm/dist/include/llvm/Support/StandardPasses.h vendor/llvm/dist/include/llvm/System/Signals.h vendor/llvm/dist/include/llvm/Target/SubtargetFeature.h vendor/llvm/dist/include/llvm/Target/Target.td vendor/llvm/dist/include/llvm/Target/TargetAsmBackend.h vendor/llvm/dist/include/llvm/Target/TargetInstrInfo.h vendor/llvm/dist/include/llvm/Target/TargetLowering.h vendor/llvm/dist/include/llvm/Target/TargetLoweringObjectFile.h vendor/llvm/dist/include/llvm/Target/TargetMachine.h vendor/llvm/dist/include/llvm/Target/TargetRegisterInfo.h vendor/llvm/dist/include/llvm/Target/TargetRegistry.h vendor/llvm/dist/include/llvm/Target/TargetSelectionDAGInfo.h vendor/llvm/dist/include/llvm/Transforms/Scalar.h vendor/llvm/dist/include/llvm/Transforms/Utils/SSAUpdater.h vendor/llvm/dist/lib/Analysis/CMakeLists.txt vendor/llvm/dist/lib/Analysis/DebugInfo.cpp vendor/llvm/dist/lib/Analysis/InlineCost.cpp vendor/llvm/dist/lib/Analysis/Lint.cpp vendor/llvm/dist/lib/AsmParser/LLLexer.cpp vendor/llvm/dist/lib/AsmParser/LLParser.cpp vendor/llvm/dist/lib/AsmParser/LLToken.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfException.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfException.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/IntrinsicLowering.cpp vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp vendor/llvm/dist/lib/CodeGen/LatencyPriorityQueue.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp vendor/llvm/dist/lib/CodeGen/LowerSubregs.cpp vendor/llvm/dist/lib/CodeGen/MachineCSE.cpp vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp vendor/llvm/dist/lib/CodeGen/MachineLICM.cpp vendor/llvm/dist/lib/CodeGen/MachineRegisterInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineSSAUpdater.cpp vendor/llvm/dist/lib/CodeGen/MachineSink.cpp vendor/llvm/dist/lib/CodeGen/MachineVerifier.cpp vendor/llvm/dist/lib/CodeGen/PHIElimination.cpp vendor/llvm/dist/lib/CodeGen/PHIElimination.h vendor/llvm/dist/lib/CodeGen/PostRASchedulerList.cpp vendor/llvm/dist/lib/CodeGen/PreAllocSplitting.cpp vendor/llvm/dist/lib/CodeGen/ProcessImplicitDefs.cpp vendor/llvm/dist/lib/CodeGen/PrologEpilogInserter.cpp vendor/llvm/dist/lib/CodeGen/RegAllocFast.cpp vendor/llvm/dist/lib/CodeGen/RegAllocLinearScan.cpp vendor/llvm/dist/lib/CodeGen/RegAllocLocal.cpp vendor/llvm/dist/lib/CodeGen/RegAllocPBQP.cpp vendor/llvm/dist/lib/CodeGen/RegisterScavenging.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAG.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGEmit.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/FastISel.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypes.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp vendor/llvm/dist/lib/CodeGen/SimpleRegisterCoalescing.cpp vendor/llvm/dist/lib/CodeGen/Spiller.cpp vendor/llvm/dist/lib/CodeGen/StackSlotColoring.cpp vendor/llvm/dist/lib/CodeGen/StrongPHIElimination.cpp vendor/llvm/dist/lib/CodeGen/TailDuplication.cpp vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp vendor/llvm/dist/lib/CodeGen/TwoAddressInstructionPass.cpp vendor/llvm/dist/lib/CodeGen/VirtRegRewriter.cpp vendor/llvm/dist/lib/CompilerDriver/Action.cpp vendor/llvm/dist/lib/ExecutionEngine/ExecutionEngine.cpp vendor/llvm/dist/lib/MC/CMakeLists.txt vendor/llvm/dist/lib/MC/MCAsmInfo.cpp vendor/llvm/dist/lib/MC/MCAsmInfoDarwin.cpp vendor/llvm/dist/lib/MC/MCAsmStreamer.cpp vendor/llvm/dist/lib/MC/MCAssembler.cpp vendor/llvm/dist/lib/MC/MCContext.cpp vendor/llvm/dist/lib/MC/MCExpr.cpp vendor/llvm/dist/lib/MC/MCInst.cpp vendor/llvm/dist/lib/MC/MCMachOStreamer.cpp vendor/llvm/dist/lib/MC/MCNullStreamer.cpp vendor/llvm/dist/lib/MC/MCParser/AsmLexer.cpp vendor/llvm/dist/lib/MC/MCParser/AsmParser.cpp vendor/llvm/dist/lib/MC/MCSection.cpp vendor/llvm/dist/lib/MC/MCSectionMachO.cpp vendor/llvm/dist/lib/MC/MCStreamer.cpp vendor/llvm/dist/lib/MC/MCSymbol.cpp vendor/llvm/dist/lib/MC/MachObjectWriter.cpp vendor/llvm/dist/lib/Support/APInt.cpp vendor/llvm/dist/lib/Support/CommandLine.cpp vendor/llvm/dist/lib/Support/ErrorHandling.cpp vendor/llvm/dist/lib/Support/PrettyStackTrace.cpp vendor/llvm/dist/lib/Support/StringRef.cpp vendor/llvm/dist/lib/Support/Timer.cpp vendor/llvm/dist/lib/Support/Twine.cpp vendor/llvm/dist/lib/Support/raw_ostream.cpp vendor/llvm/dist/lib/System/Unix/Signals.inc vendor/llvm/dist/lib/System/Win32/Signals.inc vendor/llvm/dist/lib/Target/ARM/ARM.h vendor/llvm/dist/lib/Target/ARM/ARM.td vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.h vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.h vendor/llvm/dist/lib/Target/ARM/ARMCodeEmitter.cpp vendor/llvm/dist/lib/Target/ARM/ARMExpandPseudoInsts.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/ARMInstrFormats.td 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/ARMJITInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMRegisterInfo.h vendor/llvm/dist/lib/Target/ARM/ARMRegisterInfo.td vendor/llvm/dist/lib/Target/ARM/ARMRelocations.h vendor/llvm/dist/lib/Target/ARM/ARMSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMSelectionDAGInfo.h vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.cpp vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.h vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.h vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMMCInstLower.h vendor/llvm/dist/lib/Target/ARM/NEONMoveFix.cpp vendor/llvm/dist/lib/Target/ARM/NEONPreAllocPass.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.h vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.h vendor/llvm/dist/lib/Target/Alpha/AlphaInstrInfo.cpp vendor/llvm/dist/lib/Target/Alpha/AlphaInstrInfo.h vendor/llvm/dist/lib/Target/Alpha/AlphaInstrInfo.td vendor/llvm/dist/lib/Target/Alpha/AlphaSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/Alpha/AlphaSelectionDAGInfo.h vendor/llvm/dist/lib/Target/Alpha/AlphaTargetMachine.cpp vendor/llvm/dist/lib/Target/Alpha/AlphaTargetMachine.h vendor/llvm/dist/lib/Target/Blackfin/BlackfinInstrInfo.cpp vendor/llvm/dist/lib/Target/Blackfin/BlackfinInstrInfo.h vendor/llvm/dist/lib/Target/Blackfin/BlackfinInstrInfo.td vendor/llvm/dist/lib/Target/Blackfin/BlackfinRegisterInfo.cpp vendor/llvm/dist/lib/Target/Blackfin/BlackfinRegisterInfo.h vendor/llvm/dist/lib/Target/Blackfin/BlackfinRegisterInfo.td vendor/llvm/dist/lib/Target/Blackfin/BlackfinSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/Blackfin/BlackfinSelectionDAGInfo.h vendor/llvm/dist/lib/Target/Blackfin/BlackfinTargetMachine.cpp vendor/llvm/dist/lib/Target/Blackfin/BlackfinTargetMachine.h vendor/llvm/dist/lib/Target/CBackend/CBackend.cpp vendor/llvm/dist/lib/Target/CBackend/CTargetMachine.h vendor/llvm/dist/lib/Target/CellSPU/README.txt vendor/llvm/dist/lib/Target/CellSPU/SPUISelLowering.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.h vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.td vendor/llvm/dist/lib/Target/CellSPU/SPURegisterInfo.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUSelectionDAGInfo.h vendor/llvm/dist/lib/Target/CellSPU/SPUTargetMachine.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUTargetMachine.h vendor/llvm/dist/lib/Target/CppBackend/CPPBackend.cpp vendor/llvm/dist/lib/Target/CppBackend/CPPTargetMachine.h vendor/llvm/dist/lib/Target/MBlaze/AsmPrinter/MBlazeAsmPrinter.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeInstrInfo.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeInstrInfo.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeRegisterInfo.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeRegisterInfo.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeSelectionDAGInfo.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeTargetMachine.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeTargetMachine.h vendor/llvm/dist/lib/Target/MSIL/MSILWriter.cpp vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.h vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.h vendor/llvm/dist/lib/Target/MSP430/MSP430RegisterInfo.td vendor/llvm/dist/lib/Target/MSP430/MSP430SelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430SelectionDAGInfo.h vendor/llvm/dist/lib/Target/MSP430/MSP430TargetMachine.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430TargetMachine.h vendor/llvm/dist/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp vendor/llvm/dist/lib/Target/Mips/MipsISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.h vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.h vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.td vendor/llvm/dist/lib/Target/Mips/MipsSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsSelectionDAGInfo.h vendor/llvm/dist/lib/Target/Mips/MipsTargetMachine.cpp vendor/llvm/dist/lib/Target/Mips/MipsTargetMachine.h vendor/llvm/dist/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h vendor/llvm/dist/lib/Target/PIC16/PIC16DebugInfo.cpp vendor/llvm/dist/lib/Target/PIC16/PIC16ISelDAGToDAG.h vendor/llvm/dist/lib/Target/PIC16/PIC16InstrInfo.cpp vendor/llvm/dist/lib/Target/PIC16/PIC16InstrInfo.h vendor/llvm/dist/lib/Target/PIC16/PIC16Section.h vendor/llvm/dist/lib/Target/PIC16/PIC16SelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/PIC16/PIC16SelectionDAGInfo.h vendor/llvm/dist/lib/Target/PIC16/PIC16TargetMachine.cpp vendor/llvm/dist/lib/Target/PIC16/PIC16TargetMachine.h vendor/llvm/dist/lib/Target/PowerPC/PPCISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.h vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.td vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.td vendor/llvm/dist/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCSelectionDAGInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.h vendor/llvm/dist/lib/Target/README.txt vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.cpp vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.h vendor/llvm/dist/lib/Target/Sparc/SparcRegisterInfo.td vendor/llvm/dist/lib/Target/Sparc/SparcSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/Sparc/SparcSelectionDAGInfo.h vendor/llvm/dist/lib/Target/Sparc/SparcTargetMachine.cpp vendor/llvm/dist/lib/Target/Sparc/SparcTargetMachine.h vendor/llvm/dist/lib/Target/SubtargetFeature.cpp vendor/llvm/dist/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZISelLowering.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.h vendor/llvm/dist/lib/Target/SystemZ/SystemZRegisterInfo.h vendor/llvm/dist/lib/Target/SystemZ/SystemZRegisterInfo.td vendor/llvm/dist/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZSelectionDAGInfo.h vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetMachine.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetMachine.h vendor/llvm/dist/lib/Target/TargetMachine.cpp vendor/llvm/dist/lib/Target/TargetRegisterInfo.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmParser.cpp vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86AsmPrinter.h vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86MCInstLower.h vendor/llvm/dist/lib/Target/X86/CMakeLists.txt vendor/llvm/dist/lib/Target/X86/Disassembler/X86Disassembler.cpp vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h vendor/llvm/dist/lib/Target/X86/SSEDomainFix.cpp vendor/llvm/dist/lib/Target/X86/X86AsmBackend.cpp vendor/llvm/dist/lib/Target/X86/X86COFFMachineModuleInfo.h vendor/llvm/dist/lib/Target/X86/X86CallingConv.td vendor/llvm/dist/lib/Target/X86/X86FastISel.cpp vendor/llvm/dist/lib/Target/X86/X86FloatingPointRegKill.cpp vendor/llvm/dist/lib/Target/X86/X86ISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.h vendor/llvm/dist/lib/Target/X86/X86Instr64bit.td vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp vendor/llvm/dist/lib/Target/X86/X86InstrInfo.h vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td vendor/llvm/dist/lib/Target/X86/X86InstrMMX.td vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.h vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.td vendor/llvm/dist/lib/Target/X86/X86SelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/X86/X86SelectionDAGInfo.h vendor/llvm/dist/lib/Target/X86/X86TargetMachine.cpp vendor/llvm/dist/lib/Target/X86/X86TargetMachine.h vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.cpp vendor/llvm/dist/lib/Target/XCore/XCoreInstrInfo.cpp vendor/llvm/dist/lib/Target/XCore/XCoreInstrInfo.h vendor/llvm/dist/lib/Target/XCore/XCoreSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/XCore/XCoreSelectionDAGInfo.h vendor/llvm/dist/lib/Target/XCore/XCoreTargetMachine.cpp vendor/llvm/dist/lib/Target/XCore/XCoreTargetMachine.h vendor/llvm/dist/lib/Transforms/IPO/DeadArgumentElimination.cpp vendor/llvm/dist/lib/Transforms/IPO/InlineAlways.cpp vendor/llvm/dist/lib/Transforms/IPO/InlineSimple.cpp vendor/llvm/dist/lib/Transforms/IPO/MergeFunctions.cpp vendor/llvm/dist/lib/Transforms/IPO/StripSymbols.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombine.h vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCasts.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineWorklist.h vendor/llvm/dist/lib/Transforms/Scalar/CMakeLists.txt vendor/llvm/dist/lib/Transforms/Scalar/GVN.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopStrengthReduce.cpp vendor/llvm/dist/lib/Transforms/Scalar/SimplifyCFGPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/SimplifyLibCalls.cpp vendor/llvm/dist/lib/Transforms/Utils/CloneFunction.cpp vendor/llvm/dist/lib/Transforms/Utils/PromoteMemoryToRegister.cpp vendor/llvm/dist/lib/Transforms/Utils/SSAUpdater.cpp vendor/llvm/dist/lib/VMCore/AsmWriter.cpp vendor/llvm/dist/lib/VMCore/PassManager.cpp vendor/llvm/dist/lib/VMCore/ValueTypes.cpp vendor/llvm/dist/lib/VMCore/Verifier.cpp vendor/llvm/dist/test/CodeGen/ARM/2008-02-04-LocalRegAllocBug.ll vendor/llvm/dist/test/CodeGen/ARM/2008-02-29-RegAllocLocal.ll vendor/llvm/dist/test/CodeGen/ARM/2009-05-05-DAGCombineBug.ll vendor/llvm/dist/test/CodeGen/ARM/2009-05-07-RegAllocLocal.ll vendor/llvm/dist/test/CodeGen/ARM/2009-11-02-NegativeLane.ll vendor/llvm/dist/test/CodeGen/ARM/arm-frameaddr.ll vendor/llvm/dist/test/CodeGen/ARM/div.ll vendor/llvm/dist/test/CodeGen/ARM/fabss.ll vendor/llvm/dist/test/CodeGen/ARM/fadds.ll vendor/llvm/dist/test/CodeGen/ARM/fdivs.ll vendor/llvm/dist/test/CodeGen/ARM/fmacs.ll vendor/llvm/dist/test/CodeGen/ARM/fmscs.ll vendor/llvm/dist/test/CodeGen/ARM/fmuls.ll vendor/llvm/dist/test/CodeGen/ARM/fnmscs.ll vendor/llvm/dist/test/CodeGen/ARM/mul_const.ll vendor/llvm/dist/test/CodeGen/ARM/spill-q.ll vendor/llvm/dist/test/CodeGen/ARM/vcgt.ll vendor/llvm/dist/test/CodeGen/Generic/2006-09-02-LocalAllocCrash.ll vendor/llvm/dist/test/CodeGen/PowerPC/2007-04-30-InlineAsmEarlyClobber.ll vendor/llvm/dist/test/CodeGen/PowerPC/2007-10-21-LocalRegAllocAssert.ll vendor/llvm/dist/test/CodeGen/PowerPC/2007-10-21-LocalRegAllocAssert2.ll vendor/llvm/dist/test/CodeGen/PowerPC/2008-02-09-LocalRegAllocAssert.ll vendor/llvm/dist/test/CodeGen/PowerPC/cr_spilling.ll vendor/llvm/dist/test/CodeGen/SystemZ/2009-07-10-BadIncomingArgOffset.ll vendor/llvm/dist/test/CodeGen/Thumb/2010-01-15-local-alloc-spill-physical.ll vendor/llvm/dist/test/CodeGen/Thumb2/machine-licm.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-pack.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-rev.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-shifter.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-smla.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-smul.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-spill-q.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-sxt_rot.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-uxt_rot.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-uxtb.ll vendor/llvm/dist/test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll vendor/llvm/dist/test/CodeGen/X86/2008-02-22-LocalRegAllocBug.ll vendor/llvm/dist/test/CodeGen/X86/2008-04-15-LiveVariableBug.ll vendor/llvm/dist/test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll vendor/llvm/dist/test/CodeGen/X86/2008-09-17-inline-asm-1.ll vendor/llvm/dist/test/CodeGen/X86/2008-09-18-inline-asm-2.ll vendor/llvm/dist/test/CodeGen/X86/2009-01-29-LocalRegAllocBug.ll vendor/llvm/dist/test/CodeGen/X86/2009-04-14-IllegalRegs.ll vendor/llvm/dist/test/CodeGen/X86/2009-06-03-Win64DisableRedZone.ll vendor/llvm/dist/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll vendor/llvm/dist/test/CodeGen/X86/2009-08-08-CastError.ll vendor/llvm/dist/test/CodeGen/X86/2010-04-30-LocalAlloc-LandingPad.ll vendor/llvm/dist/test/CodeGen/X86/call-imm.ll vendor/llvm/dist/test/CodeGen/X86/fast-cc-callee-pops.ll vendor/llvm/dist/test/CodeGen/X86/fast-cc-pass-in-regs.ll vendor/llvm/dist/test/CodeGen/X86/fp-stack-O0-crash.ll vendor/llvm/dist/test/CodeGen/X86/liveness-local-regalloc.ll vendor/llvm/dist/test/CodeGen/X86/lsr-delayed-fold.ll vendor/llvm/dist/test/CodeGen/X86/sse-align-11.ll vendor/llvm/dist/test/FrontendC/2007-04-11-InlineStorageClassC89.c vendor/llvm/dist/test/FrontendC/2007-04-11-InlineStorageClassC99.c vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-bit_cat.s vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-encoding.s vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-new-encoder.s vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-encoding.s vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-new-encoder.s vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-suffix-matching.s vendor/llvm/dist/test/MC/AsmParser/X86/x86_instructions.s vendor/llvm/dist/test/MC/AsmParser/assignment.s vendor/llvm/dist/test/MC/AsmParser/directive_zerofill.s vendor/llvm/dist/test/MC/Disassembler/simple-tests.txt vendor/llvm/dist/test/MC/MachO/darwin-x86_64-reloc.s vendor/llvm/dist/test/MC/MachO/reloc.s vendor/llvm/dist/test/MC/MachO/symbol-flags.s vendor/llvm/dist/test/MC/MachO/x86_32-optimal_nop.s vendor/llvm/dist/test/Other/lint.ll vendor/llvm/dist/test/Transforms/InstCombine/cast.ll vendor/llvm/dist/test/Transforms/Mem2Reg/ConvertDebugInfo.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/trapping-load-unreachable.ll vendor/llvm/dist/test/Transforms/SimplifyLibCalls/memcmp.ll vendor/llvm/dist/tools/bugpoint/ExecutionDriver.cpp vendor/llvm/dist/tools/bugpoint/Miscompilation.cpp vendor/llvm/dist/tools/bugpoint/ToolRunner.cpp vendor/llvm/dist/tools/bugpoint/ToolRunner.h vendor/llvm/dist/tools/edis/EDInst.cpp vendor/llvm/dist/tools/gold/Makefile vendor/llvm/dist/tools/gold/gold-plugin.cpp vendor/llvm/dist/tools/llc/llc.cpp vendor/llvm/dist/tools/llvm-ld/llvm-ld.cpp vendor/llvm/dist/tools/llvm-mc/Disassembler.cpp vendor/llvm/dist/tools/llvm-mc/llvm-mc.cpp vendor/llvm/dist/tools/lto/LTOCodeGenerator.cpp vendor/llvm/dist/tools/lto/LTOModule.cpp vendor/llvm/dist/tools/opt/opt.cpp vendor/llvm/dist/unittests/ADT/StringRefTest.cpp vendor/llvm/dist/utils/TableGen/AsmMatcherEmitter.cpp vendor/llvm/dist/utils/TableGen/CMakeLists.txt vendor/llvm/dist/utils/TableGen/ClangDiagnosticsEmitter.cpp vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp vendor/llvm/dist/utils/TableGen/CodeGenRegisters.h vendor/llvm/dist/utils/TableGen/CodeGenTarget.cpp vendor/llvm/dist/utils/TableGen/CodeGenTarget.h vendor/llvm/dist/utils/TableGen/DAGISelMatcherGen.cpp vendor/llvm/dist/utils/TableGen/EDEmitter.cpp vendor/llvm/dist/utils/TableGen/FastISelEmitter.cpp vendor/llvm/dist/utils/TableGen/IntrinsicEmitter.cpp vendor/llvm/dist/utils/TableGen/IntrinsicEmitter.h vendor/llvm/dist/utils/TableGen/Makefile vendor/llvm/dist/utils/TableGen/Record.h vendor/llvm/dist/utils/TableGen/RegisterInfoEmitter.cpp vendor/llvm/dist/utils/TableGen/TableGen.cpp vendor/llvm/dist/utils/TableGen/X86RecognizableInstr.cpp vendor/llvm/dist/utils/buildit/GNUmakefile vendor/llvm/dist/utils/buildit/build_llvm vendor/llvm/dist/utils/lit/lit/LitConfig.py vendor/llvm/dist/utils/lit/lit/ShUtil.py vendor/llvm/dist/utils/lit/lit/TestFormats.py vendor/llvm/dist/utils/lit/lit/lit.py Modified: vendor/llvm/dist/Makefile.config.in ============================================================================== --- vendor/llvm/dist/Makefile.config.in Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/Makefile.config.in Thu May 27 15:15:58 2010 (r208599) @@ -156,6 +156,7 @@ TAR := @TAR@ # Paths to miscellaneous programs we hope are present but might not be PERL := @PERL@ BZIP2 := @BZIP2@ +CAT := @CAT@ DOT := @DOT@ DOXYGEN := @DOXYGEN@ GROFF := @GROFF@ @@ -167,6 +168,7 @@ OCAMLDOC := @OCAMLDOC@ GAS := @GAS@ POD2HTML := @POD2HTML@ POD2MAN := @POD2MAN@ +PDFROFF := @PDFROFF@ RUNTEST := @RUNTEST@ TCLSH := @TCLSH@ ZIP := @ZIP@ @@ -268,6 +270,9 @@ ENABLE_SHARED := @ENABLE_SHARED@ # Use -fvisibility-inlines-hidden? ENABLE_VISIBILITY_INLINES_HIDDEN := @ENABLE_VISIBILITY_INLINES_HIDDEN@ +# Do we want to allow timestamping information into builds? +ENABLE_TIMESTAMPS := @ENABLE_TIMESTAMPS@ + # This option tells the Makefiles to produce verbose output. # It essentially prints the commands that make is executing #VERBOSE = 1 Modified: vendor/llvm/dist/Makefile.rules ============================================================================== --- vendor/llvm/dist/Makefile.rules Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/Makefile.rules Thu May 27 15:15:58 2010 (r208599) @@ -447,6 +447,14 @@ else endif endif +# Support makefile variable to disable any kind of timestamp/non-deterministic +# info from being used in the build. +ifeq ($(ENABLE_TIMESTAMPS),1) + DOTDIR_TIMESTAMP_COMMAND := $(DATE) +else + DOTDIR_TIMESTAMP_COMMAND := echo 'Created.' +endif + ifeq ($(HOST_OS),MingW) # Work around PR4957 CPP.Defines += -D__NO_CTYPE_INLINE @@ -581,10 +589,14 @@ ifeq ($(TARGET_OS),Darwin) endif ifdef SHARED_LIBRARY +ifneq ($(HOST_OS),Darwin) + LD.Flags += $(RPATH) -Wl,'$$ORIGIN' +else ifneq ($(DARWIN_MAJVERS),4) LD.Flags += $(RPATH) -Wl,$(LibDir) endif endif +endif ifdef TOOL_VERBOSE C.Flags += -v @@ -779,7 +791,7 @@ $(DESTDIR)$(PROJ_bindir) $(DESTDIR)$(PRO # To create other directories, as needed, and timestamp their creation %/.dir: $(Verb) $(MKDIR) $* > /dev/null - $(Verb) $(DATE) > $@ + $(Verb) $(DOTDIR_TIMESTAMP_COMMAND) > $@ .PRECIOUS: $(ObjDir)/.dir $(LibDir)/.dir $(ToolDir)/.dir $(ExmplDir)/.dir .PRECIOUS: $(LLVMLibDir)/.dir $(LLVMToolDir)/.dir $(LLVMExmplDir)/.dir @@ -1116,7 +1128,12 @@ install-local:: uninstall-local:: $(Echo) Uninstall circumvented with NO_INSTALL else + +ifdef LOADABLE_MODULE +DestSharedLib = $(DESTDIR)$(PROJ_libdir)/$(LIBRARYNAME)$(SHLIBEXT) +else DestSharedLib = $(DESTDIR)$(PROJ_libdir)/lib$(LIBRARYNAME)$(SHLIBEXT) +endif install-local:: $(DestSharedLib) Modified: vendor/llvm/dist/autoconf/configure.ac ============================================================================== --- vendor/llvm/dist/autoconf/configure.ac Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/autoconf/configure.ac Thu May 27 15:15:58 2010 (r208599) @@ -525,6 +525,20 @@ case "$enableval" in *) AC_MSG_ERROR([Invalid setting for --enable-shared. Use "yes" or "no"]) ;; esac +dnl Enable embedding timestamp information into build. +AC_ARG_ENABLE(timestamps, + AS_HELP_STRING([--enable-timestamps], + [Enable embedding timestamp information in build (default is YES)]),, + enableval=default) +case "$enableval" in + yes) AC_SUBST(ENABLE_TIMESTAMPS,[1]) ;; + no) AC_SUBST(ENABLE_TIMESTAMPS,[0]) ;; + default) AC_SUBST(ENABLE_TIMESTAMPS,[1]) ;; + *) AC_MSG_ERROR([Invalid setting for --enable-timestamps. Use "yes" or "no"]) ;; +esac +AC_DEFINE_UNQUOTED([ENABLE_TIMESTAMPS],$ENABLE_TIMESTAMPS, + [Define if timestamp information (e.g., __DATE___) is allowed]) + dnl Allow specific targets to be specified for building (or not) TARGETS_TO_BUILD="" AC_ARG_ENABLE([targets],AS_HELP_STRING([--enable-targets], @@ -1003,11 +1017,13 @@ dnl are not found then they are set to " dnl nothing. This just lets the build output show that we could have done dnl something if the tool was available. AC_PATH_PROG(BZIP2, [bzip2]) +AC_PATH_PROG(CAT, [cat]) AC_PATH_PROG(DOXYGEN, [doxygen]) AC_PATH_PROG(GROFF, [groff]) AC_PATH_PROG(GZIP, [gzip]) AC_PATH_PROG(POD2HTML, [pod2html]) AC_PATH_PROG(POD2MAN, [pod2man]) +AC_PATH_PROG(PDFROFF, [pdfroff]) AC_PATH_PROG(RUNTEST, [runtest]) DJ_AC_PATH_TCLSH AC_PATH_PROG(ZIP, [zip]) @@ -1543,9 +1559,6 @@ AC_CONFIG_FILES([Makefile.config]) dnl Configure the RPM spec file for LLVM AC_CONFIG_FILES([llvm.spec]) -dnl Configure doxygen's configuration file -AC_CONFIG_FILES([docs/doxygen.cfg]) - dnl Configure llvmc's Base plugin AC_CONFIG_FILES([tools/llvmc/plugins/Base/Base.td]) Modified: vendor/llvm/dist/configure ============================================================================== --- vendor/llvm/dist/configure Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/configure Thu May 27 15:15:58 2010 (r208599) @@ -690,6 +690,7 @@ ENABLE_DOXYGEN ENABLE_THREADS ENABLE_PIC ENABLE_SHARED +ENABLE_TIMESTAMPS TARGETS_TO_BUILD LLVM_ENUM_TARGETS LLVM_ENUM_ASM_PRINTERS @@ -736,11 +737,13 @@ INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA BZIP2 +CAT DOXYGEN GROFF GZIP POD2HTML POD2MAN +PDFROFF RUNTEST TCLSH ZIP @@ -1408,6 +1411,8 @@ Optional Features: is YES) --enable-shared Build a shared library and link tools against it (default is NO) + --enable-timestamps Enable embedding timestamp information in build + (default is YES) --enable-targets Build specific host targets: all or target1,target2,... Valid targets are: host, x86, x86_64, sparc, powerpc, alpha, arm, mips, spu, @@ -4921,6 +4926,30 @@ echo "$as_me: error: Invalid setting for { (exit 1); exit 1; }; } ;; esac +# Check whether --enable-timestamps was given. +if test "${enable_timestamps+set}" = set; then + enableval=$enable_timestamps; +else + enableval=default +fi + +case "$enableval" in + yes) ENABLE_TIMESTAMPS=1 + ;; + no) ENABLE_TIMESTAMPS=0 + ;; + default) ENABLE_TIMESTAMPS=1 + ;; + *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-timestamps. Use \"yes\" or \"no\"" >&5 +echo "$as_me: error: Invalid setting for --enable-timestamps. Use \"yes\" or \"no\"" >&2;} + { (exit 1); exit 1; }; } ;; +esac + +cat >>confdefs.h <<_ACEOF +#define ENABLE_TIMESTAMPS $ENABLE_TIMESTAMPS +_ACEOF + + TARGETS_TO_BUILD="" # Check whether --enable-targets was given. if test "${enable_targets+set}" = set; then @@ -8016,6 +8045,46 @@ echo "${ECHO_T}no" >&6; } fi +# Extract the first word of "cat", so it can be a program name with args. +set dummy cat; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_CAT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $CAT in + [\\/]* | ?:[\\/]*) + ac_cv_path_CAT="$CAT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +CAT=$ac_cv_path_CAT +if test -n "$CAT"; then + { echo "$as_me:$LINENO: result: $CAT" >&5 +echo "${ECHO_T}$CAT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + # Extract the first word of "doxygen", so it can be a program name with args. set dummy doxygen; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -8216,6 +8285,46 @@ echo "${ECHO_T}no" >&6; } fi +# Extract the first word of "pdfroff", so it can be a program name with args. +set dummy pdfroff; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_PDFROFF+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PDFROFF in + [\\/]* | ?:[\\/]*) + ac_cv_path_PDFROFF="$PDFROFF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PDFROFF="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +PDFROFF=$ac_cv_path_PDFROFF +if test -n "$PDFROFF"; then + { echo "$as_me:$LINENO: result: $PDFROFF" >&5 +echo "${ECHO_T}$PDFROFF" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + # Extract the first word of "runtest", so it can be a program name with args. set dummy runtest; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -11275,7 +11384,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <conf$$subs.sed <<_ACEOF +ENABLE_BUILT_CLANG!$ENABLE_BUILT_CLANG$ac_delim OPTIMIZE_OPTION!$OPTIMIZE_OPTION$ac_delim EXTRA_OPTIONS!$EXTRA_OPTIONS$ac_delim BINUTILS_INCDIR!$BINUTILS_INCDIR$ac_delim @@ -21176,11 +21282,13 @@ INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_deli INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim BZIP2!$BZIP2$ac_delim +CAT!$CAT$ac_delim DOXYGEN!$DOXYGEN$ac_delim GROFF!$GROFF$ac_delim GZIP!$GZIP$ac_delim POD2HTML!$POD2HTML$ac_delim POD2MAN!$POD2MAN$ac_delim +PDFROFF!$PDFROFF$ac_delim RUNTEST!$RUNTEST$ac_delim TCLSH!$TCLSH$ac_delim ZIP!$ZIP$ac_delim @@ -21233,7 +21341,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 92; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 Modified: vendor/llvm/dist/docs/AliasAnalysis.html ============================================================================== --- vendor/llvm/dist/docs/AliasAnalysis.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/AliasAnalysis.html Thu May 27 15:15:58 2010 (r208599) @@ -930,7 +930,7 @@ analysis directly.

Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2010-03-01 20:24:17 +0100 (Mon, 01 Mar 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/BitCodeFormat.html ============================================================================== --- vendor/llvm/dist/docs/BitCodeFormat.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/BitCodeFormat.html Thu May 27 15:15:58 2010 (r208599) @@ -40,8 +40,9 @@
-

Written by Chris Lattner - and Joshua Haberman. +

Written by Chris Lattner, + Joshua Haberman, + and Peter S. Housel.

@@ -1037,8 +1038,17 @@ fields of FUNCTION records.

-

The PARAMATTR_BLOCK block (id 9) ... -

+

The PARAMATTR_BLOCK block (id 9) contains a table of +entries describing the attributes of function parameters. These +entries are referenced by 1-based index in the paramattr field +of module block FUNCTION +records, or within the attr field of function block INST_INVOKE and INST_CALL records.

+ +

Entries within PARAMATTR_BLOCK are constructed to ensure +that each is unique (i.e., no two indicies represent equivalent +attribute lists).

@@ -1051,8 +1061,41 @@ fields of FUNCTION records.

[ENTRY, paramidx0, attr0, paramidx1, attr1...]

-

The ENTRY record (code 1) ... +

The ENTRY record (code 1) contains an even number of +values describing a unique set of function parameter attributes. Each +paramidx value indicates which set of attributes is +represented, with 0 representing the return value attributes, +0xFFFFFFFF representing function attributes, and other values +representing 1-based function parameters. Each attr value is a +bitmap with the following interpretation:

+ +
    +
  • bit 0: zeroext
  • +
  • bit 1: signext
  • +
  • bit 2: noreturn
  • +
  • bit 3: inreg
  • +
  • bit 4: sret
  • +
  • bit 5: nounwind
  • +
  • bit 6: noalias
  • +
  • bit 7: byval
  • +
  • bit 8: nest
  • +
  • bit 9: readnone
  • +
  • bit 10: readonly
  • +
  • bit 11: noinline
  • +
  • bit 12: alwaysinline
  • +
  • bit 13: optsize
  • +
  • bit 14: ssp
  • +
  • bit 15: sspreq
  • +
  • bits 16–31: align n
  • +
  • bit 32: nocapture
  • +
  • bit 33: noredzone
  • +
  • bit 34: noimplicitfloat
  • +
  • bit 35: naked
  • +
  • bit 36: inlinehint
  • +
  • bits 37–39: alignstack n, represented as +the logarithm base 2 of the requested alignment, plus 1
  • +
@@ -1061,11 +1104,283 @@ fields of FUNCTION records.

-

The TYPE_BLOCK block (id 10) ... +

The TYPE_BLOCK block (id 10) contains records which +constitute a table of type operator entries used to represent types +referenced within an LLVM module. Each record (with the exception of +NUMENTRY) generates a +single type table entry, which may be referenced by 0-based index from +instructions, constants, metadata, type symbol table entries, or other +type operator records. +

+ +

Entries within TYPE_BLOCK are constructed to ensure that +each entry is unique (i.e., no two indicies represent structurally +equivalent types).

+ +
+ + + + +
+ +

[NUMENTRY, numentries]

+ +

The NUMENTRY record (code 1) contains a single value which +indicates the total number of type code entries in the type table of +the module. If present, NUMENTRY should be the first record +in the block.

+
+ + +
+ +

[VOID]

+ +

The VOID record (code 2) adds a void type to the +type table. +

+
+ + + + +
+ +

[FLOAT]

+ +

The FLOAT record (code 3) adds a float (32-bit +floating point) type to the type table. +

+
+ + + + +
+ +

[DOUBLE]

+ +

The DOUBLE record (code 4) adds a double (64-bit +floating point) type to the type table. +

+
+ + + + +
+ +

[LABEL]

+ +

The LABEL record (code 5) adds a label type to +the type table. +

+
+ + + + +
+ +

[OPAQUE]

+ +

The OPAQUE record (code 6) adds an opaque type to +the type table. Note that distinct opaque types are not +unified. +

+
+ + + + +
+ +

[INTEGER, width]

+ +

The INTEGER record (code 7) adds an integer type to the +type table. The single width field indicates the width of the +integer type. +

+
+ + + + +
+ +

[POINTER, pointee type, address space]

+ +

The POINTER record (code 8) adds a pointer type to the +type table. The operand fields are

+ +
    +
  • pointee type: The type index of the pointed-to type
  • + +
  • address space: If supplied, the target-specific numbered +address space where the pointed-to object resides. Otherwise, the +default address space is zero. +
  • +
+
+ + + + +
+ +

[FUNCTION, vararg, ignored, retty, ...paramty... ]

+ +

The FUNCTION record (code 9) adds a function type to the +type table. The operand fields are

+ +
    +
  • vararg: Non-zero if the type represents a varargs function
  • + +
  • ignored: This value field is present for backward +compatibility only, and is ignored
  • + +
  • retty: The type index of the function's return type
  • + +
  • paramty: Zero or more type indices representing the +parameter types of the function
  • +
+ +
+ + + + +
+ +

[STRUCT, ispacked, ...eltty...]

+ +

The STRUCT record (code 10) adds a struct type to the +type table. The operand fields are

+ +
    +
  • ispacked: Non-zero if the type represents a packed structure
  • + +
  • eltty: Zero or more type indices representing the element +types of the structure
  • +
+
+ + + + +
+ +

[ARRAY, numelts, eltty]

+ +

The ARRAY record (code 11) adds an array type to the type +table. The operand fields are

+ +
    +
  • numelts: The number of elements in arrays of this type
  • + +
  • eltty: The type index of the array element type
  • +
+
+ + + + +
+ +

[VECTOR, numelts, eltty]

+ +

The VECTOR record (code 12) adds a vector type to the type +table. The operand fields are

+ +
    +
  • numelts: The number of elements in vectors of this type
  • + +
  • eltty: The type index of the vector element type
  • +
+
+ + + + +
+ +

[X86_FP80]

+ +

The X86_FP80 record (code 13) adds an x86_fp80 (80-bit +floating point) type to the type table. +

+
+ + + + +
+ +

[FP128]

+ +

The FP128 record (code 14) adds an fp128 (128-bit +floating point) type to the type table. +

+
+ + + + +
+ +

[PPC_FP128]

+ +

The PPC_FP128 record (code 15) adds a ppc_fp128 +(128-bit floating point) type to the type table. +

+
+ + + + +
+ +

[METADATA]

+ +

The METADATA record (code 16) adds a metadata +type to the type table. +

+
+ + + + +
+ +

[UNION, ...eltty...]

+ +

The UNION record (code 17) adds a union type to +the type table. The eltty operand fields are zero or more type +indices representing the element types of the union. +

+ +
CONSTANTS_BLOCK Contents @@ -1107,11 +1422,28 @@ fields of FUNCTION records.

-

The TYPE_SYMTAB_BLOCK block (id 13) ... +

The TYPE_SYMTAB_BLOCK block (id 13) contains entries which +map between module-level named types and their corresponding type +indices.

+ + + +
+ +

[ENTRY, typeid, ...string...]

+ +

The ENTRY record (code 1) contains a variable number of +values, with the first giving the type index of the designated type, +and the remaining values giving the character codes of the type +name. Each entry corresponds to a single named type. +

+
+
VALUE_SYMTAB_BLOCK Contents @@ -1157,7 +1489,7 @@ fields of FUNCTION records.

src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"> Chris Lattner
The LLVM Compiler Infrastructure
-Last modified: $Date: 2010-01-20 18:53:51 +0100 (Wed, 20 Jan 2010) $ +Last modified: $Date: 2010-05-22 00:20:54 +0200 (Sat, 22 May 2010) $ Modified: vendor/llvm/dist/docs/Bugpoint.html ============================================================================== --- vendor/llvm/dist/docs/Bugpoint.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/Bugpoint.html Thu May 27 15:15:58 2010 (r208599) @@ -243,7 +243,7 @@ non-obvious ways. Here are some hints a Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2009-10-12 20:12:47 +0200 (Mon, 12 Oct 2009) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/CodeGenerator.html ============================================================================== --- vendor/llvm/dist/docs/CodeGenerator.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/CodeGenerator.html Thu May 27 15:15:58 2010 (r208599) @@ -2162,7 +2162,7 @@ MOVSX32rm16 -> movsx, 32-bit register Chris Lattner
The LLVM Compiler Infrastructure
- Last modified: $Date: 2010-04-09 20:39:54 +0200 (Fri, 09 Apr 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/CodingStandards.html ============================================================================== --- vendor/llvm/dist/docs/CodingStandards.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/CodingStandards.html Thu May 27 15:15:58 2010 (r208599) @@ -1346,7 +1346,7 @@ something.

Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-26 21:18:32 +0100 (Fri, 26 Feb 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/CommandGuide/index.html ============================================================================== --- vendor/llvm/dist/docs/CommandGuide/index.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/CommandGuide/index.html Thu May 27 15:15:58 2010 (r208599) @@ -148,7 +148,7 @@ options) arguments to the tool you are i src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"> LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-18 15:08:13 +0100 (Thu, 18 Feb 2010) $ + Last modified: $Date: 2010-05-11 18:47:42 +0200 (Tue, 11 May 2010) $ Modified: vendor/llvm/dist/docs/CommandGuide/lit.pod ============================================================================== --- vendor/llvm/dist/docs/CommandGuide/lit.pod Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/CommandGuide/lit.pod Thu May 27 15:15:58 2010 (r208599) @@ -253,8 +253,8 @@ files passed on the command line. You ca discovered test suites at startup. Once a test suite is discovered, its config file is loaded. Config files -themselves are just Python modules which will be executed. When the config file -is executed, two important global variables are predefined: +themselves are Python modules which will be executed. When the config file is +executed, two important global variables are predefined: =over Modified: vendor/llvm/dist/docs/CommandLine.html ============================================================================== --- vendor/llvm/dist/docs/CommandLine.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/CommandLine.html Thu May 27 15:15:58 2010 (r208599) @@ -1972,7 +1972,7 @@ tutorial.

Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-26 21:18:32 +0100 (Fri, 26 Feb 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/CompilerDriver.html ============================================================================== --- vendor/llvm/dist/docs/CompilerDriver.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/CompilerDriver.html Thu May 27 15:15:58 2010 (r208599) @@ -748,7 +748,7 @@ the Mikhail Glushenkov
LLVM Compiler Infrastructure
-Last modified: $Date: 2010-02-18 15:08:13 +0100 (Thu, 18 Feb 2010) $ +Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $
Modified: vendor/llvm/dist/docs/CompilerWriterInfo.html ============================================================================== --- vendor/llvm/dist/docs/CompilerWriterInfo.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/CompilerWriterInfo.html Thu May 27 15:15:58 2010 (r208599) @@ -256,7 +256,7 @@ processors. Misha Brukman
LLVM Compiler Infrastructure
- Last modified: $Date: 2008-12-11 18:34:48 +0100 (Thu, 11 Dec 2008) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/DeveloperPolicy.html ============================================================================== --- vendor/llvm/dist/docs/DeveloperPolicy.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/DeveloperPolicy.html Thu May 27 15:15:58 2010 (r208599) @@ -601,7 +601,7 @@ Changes Written by the LLVM Oversight Group
The LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-26 21:18:32 +0100 (Fri, 26 Feb 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/ExceptionHandling.html ============================================================================== --- vendor/llvm/dist/docs/ExceptionHandling.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/ExceptionHandling.html Thu May 27 15:15:58 2010 (r208599) @@ -492,6 +492,26 @@ + +
+ +
+  void %llvm.eh.sjlj.setjmp(i8*)
+
+ +

The llvm.eh.sjlj.longjmp + intrinsic is used to implement __builtin_longjmp() for SJLJ + style exception handling. The single parameter is a pointer to a + buffer populated by + llvm.eh.sjlj.setjmp. The frame pointer and stack pointer + are restored from the buffer, then control is transfered to the + destination address.

+ +
+ + @@ -599,7 +619,7 @@ Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2010-01-28 02:45:32 +0100 (Thu, 28 Jan 2010) $ + Last modified: $Date: 2010-05-26 18:21:41 +0200 (Wed, 26 May 2010) $ Modified: vendor/llvm/dist/docs/ExtendingLLVM.html ============================================================================== --- vendor/llvm/dist/docs/ExtendingLLVM.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/ExtendingLLVM.html Thu May 27 15:15:58 2010 (r208599) @@ -384,7 +384,7 @@ void calcTypeName(const Type *Ty, The LLVM Compiler Infrastructure
- Last modified: $Date: 2008-12-11 19:23:24 +0100 (Thu, 11 Dec 2008) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/FAQ.html ============================================================================== --- vendor/llvm/dist/docs/FAQ.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/FAQ.html Thu May 27 15:15:58 2010 (r208599) @@ -931,7 +931,7 @@ F.i: src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"> LLVM Compiler Infrastructure
- Last modified: $Date: 2010-05-04 20:16:00 +0200 (Tue, 04 May 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/GCCFEBuildInstrs.html ============================================================================== --- vendor/llvm/dist/docs/GCCFEBuildInstrs.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/GCCFEBuildInstrs.html Thu May 27 15:15:58 2010 (r208599) @@ -272,7 +272,7 @@ More information is LLVM Compiler Infrastructure
- Last modified: $Date: 2009-07-05 14:01:44 +0200 (Sun, 05 Jul 2009) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/GarbageCollection.html ============================================================================== --- vendor/llvm/dist/docs/GarbageCollection.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/GarbageCollection.html Thu May 27 15:15:58 2010 (r208599) @@ -617,7 +617,7 @@ conforms to the binary interface defined using namespace llvm; namespace { - class VISIBILITY_HIDDEN MyGC : public GCStrategy { + class LLVM_LIBRARY_VISIBILITY MyGC : public GCStrategy { public: MyGC() {} }; @@ -1229,7 +1229,7 @@ generation in the JIT, nor using the obj using namespace llvm; namespace { - class VISIBILITY_HIDDEN MyGCPrinter : public GCMetadataPrinter { + class LLVM_LIBRARY_VISIBILITY MyGCPrinter : public GCMetadataPrinter { public: virtual void beginAssembly(std::ostream &OS, AsmPrinter &AP, const TargetAsmInfo &TAI); @@ -1380,7 +1380,7 @@ Fergus Henderson. International Symposiu Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2009-08-05 17:42:44 +0200 (Wed, 05 Aug 2009) $ + Last modified: $Date: 2010-05-11 22:16:09 +0200 (Tue, 11 May 2010) $ Modified: vendor/llvm/dist/docs/GetElementPtr.html ============================================================================== --- vendor/llvm/dist/docs/GetElementPtr.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/GetElementPtr.html Thu May 27 15:15:58 2010 (r208599) @@ -728,7 +728,7 @@ idx3 = (char*) &MyVar + 8 Valid HTML 4.01 The LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-25 19:16:03 +0100 (Thu, 25 Feb 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: vendor/llvm/dist/docs/GettingStarted.html ============================================================================== --- vendor/llvm/dist/docs/GettingStarted.html Thu May 27 13:56:53 2010 (r208598) +++ vendor/llvm/dist/docs/GettingStarted.html Thu May 27 15:15:58 2010 (r208599) @@ -452,8 +452,8 @@ href="GCCFEBuildInstrs.html">try to comp
  • Only needed if you want to run the automated test suite in the llvm/test directory.
  • If you want to make changes to the configure scripts, - you will need GNU autoconf (2.59), and consequently, GNU M4 (version 1.4 - or higher). You will also need automake (1.9.2). We only use aclocal + you will need GNU autoconf (2.60), and consequently, GNU M4 (version 1.4 + or higher). You will also need automake (1.9.6). We only use aclocal from that package.
  • @@ -1673,7 +1673,7 @@ out:

    Chris Lattner
    *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@FreeBSD.ORG Thu May 27 15:17:07 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 77BDF106564A; Thu, 27 May 2010 15:17:07 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6324C8FC1D; Thu, 27 May 2010 15:17:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4RFH7aL008583; Thu, 27 May 2010 15:17:07 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4RFH766008569; Thu, 27 May 2010 15:17:07 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201005271517.o4RFH766008569@svn.freebsd.org> From: Roman Divacky Date: Thu, 27 May 2010 15:17:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r208600 - in vendor/clang/dist: clang.xcodeproj docs docs/tools include/clang include/clang-c include/clang/AST include/clang/Analysis include/clang/Basic include/clang/Checker/PathSens... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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: Thu, 27 May 2010 15:17:07 -0000 Author: rdivacky Date: Thu May 27 15:17:06 2010 New Revision: 208600 URL: http://svn.freebsd.org/changeset/base/208600 Log: Update clang to r104832. Added: vendor/clang/dist/include/clang/AST/CMakeLists.txt vendor/clang/dist/include/clang/AST/Makefile vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h vendor/clang/dist/include/clang/AST/StmtNodes.td vendor/clang/dist/include/clang/Basic/DiagnosticCategories.td vendor/clang/dist/include/clang/Driver/CC1AsOptions.h vendor/clang/dist/include/clang/Driver/CC1AsOptions.td vendor/clang/dist/lib/Checker/CastSizeChecker.cpp vendor/clang/dist/lib/CodeGen/CGCXXABI.h vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp vendor/clang/dist/lib/Driver/CC1AsOptions.cpp vendor/clang/dist/lib/Frontend/BoostConAction.cpp vendor/clang/dist/test/CXX/expr/expr.post/expr.ref/p3.cpp vendor/clang/dist/test/CXX/temp/temp.decls/temp.friend/p4.cpp vendor/clang/dist/test/CXX/temp/temp.names/p2.cpp vendor/clang/dist/test/CodeGen/microsoft-call-conv.c vendor/clang/dist/test/CodeGenCXX/PR5863-unreachable-block.cpp vendor/clang/dist/test/CodeGenCXX/c99-variable-length-array.cpp vendor/clang/dist/test/CodeGenCXX/implicit-copy-constructor.cpp vendor/clang/dist/test/CodeGenCXX/nrvo.cpp vendor/clang/dist/test/CodeGenCXX/static-init-3.cpp vendor/clang/dist/test/CodeGenCXX/threadsafe-statics-exceptions.cpp vendor/clang/dist/test/CodeGenObjC/blocks-ivar-debug.m vendor/clang/dist/test/CodeGenObjC/default-property-synthesis.m vendor/clang/dist/test/CodeGenObjC/objc-gc-aggr-assign.m vendor/clang/dist/test/CodeGenObjCXX/encode.mm vendor/clang/dist/test/CodeGenObjCXX/mangle-blocks.mm vendor/clang/dist/test/CodeGenObjCXX/property-objects.mm vendor/clang/dist/test/Index/annotate-tokens-include.c vendor/clang/dist/test/Index/annotate-tokens-include.h vendor/clang/dist/test/Index/complete-recovery.m vendor/clang/dist/test/Index/print-typekind.c vendor/clang/dist/test/Index/properties-class-extensions.m vendor/clang/dist/test/Index/usrs.cpp vendor/clang/dist/test/Misc/diag-aka-types.cpp vendor/clang/dist/test/Parser/cxx-undeclared-identifier.cpp vendor/clang/dist/test/Parser/namespaces.cpp vendor/clang/dist/test/Parser/pragma-options.c vendor/clang/dist/test/Parser/switch-recovery.cpp vendor/clang/dist/test/Rewriter/rewrite-block-argument.m vendor/clang/dist/test/Rewriter/rewrite-local-static-id.mm vendor/clang/dist/test/Rewriter/rewrite-no-nextline.mm vendor/clang/dist/test/Sema/pragma-align-mac68k-unsupported.c vendor/clang/dist/test/Sema/pragma-align-mac68k.c vendor/clang/dist/test/Sema/pragma-pack-and-options-align.c vendor/clang/dist/test/SemaCXX/c99-variable-length-array.cpp vendor/clang/dist/test/SemaCXX/flexible-array-test.cpp vendor/clang/dist/test/SemaCXX/invalid-instantiated-field-decl.cpp vendor/clang/dist/test/SemaCXX/return-noreturn.cpp vendor/clang/dist/test/SemaCXX/scope-check.cpp vendor/clang/dist/test/SemaCXX/vector.cpp vendor/clang/dist/test/SemaObjCXX/const-cast.mm vendor/clang/dist/test/SemaObjCXX/conversion-to-objc-pointer-2.mm vendor/clang/dist/test/SemaObjCXX/conversion-to-objc-pointer.mm vendor/clang/dist/test/SemaObjCXX/deduction.mm vendor/clang/dist/test/SemaObjCXX/ivar-construct.mm vendor/clang/dist/test/SemaObjCXX/ivar-struct.mm vendor/clang/dist/test/SemaObjCXX/objc2-merge-gc-attribue-decl.mm vendor/clang/dist/test/SemaObjCXX/static-cast.mm vendor/clang/dist/test/SemaTemplate/attributes.cpp vendor/clang/dist/test/SemaTemplate/dependent-template-recover.cpp vendor/clang/dist/test/SemaTemplate/instantiate-non-dependent-types.cpp vendor/clang/dist/test/SemaTemplate/instantiate-overload-candidates.cpp vendor/clang/dist/test/SemaTemplate/overload-candidates.cpp vendor/clang/dist/test/SemaTemplate/unused-variables.cpp vendor/clang/dist/tools/driver/cc1as_main.cpp vendor/clang/dist/tools/libclang/CXTypes.cpp vendor/clang/dist/www/clang-tutorial.html Deleted: vendor/clang/dist/lib/AST/RecordLayoutBuilder.h vendor/clang/dist/test/CodeGenCXX/PR6747.cpp Modified: vendor/clang/dist/clang.xcodeproj/project.pbxproj vendor/clang/dist/docs/InternalsManual.html vendor/clang/dist/docs/UsersManual.html vendor/clang/dist/docs/tools/clang.pod vendor/clang/dist/include/clang-c/Index.h vendor/clang/dist/include/clang/AST/ASTConsumer.h vendor/clang/dist/include/clang/AST/ASTContext.h vendor/clang/dist/include/clang/AST/Attr.h vendor/clang/dist/include/clang/AST/CXXInheritance.h vendor/clang/dist/include/clang/AST/CanonicalType.h vendor/clang/dist/include/clang/AST/Decl.h vendor/clang/dist/include/clang/AST/DeclBase.h vendor/clang/dist/include/clang/AST/DeclCXX.h vendor/clang/dist/include/clang/AST/DeclContextInternals.h vendor/clang/dist/include/clang/AST/DeclObjC.h vendor/clang/dist/include/clang/AST/DeclTemplate.h vendor/clang/dist/include/clang/AST/DeclarationName.h vendor/clang/dist/include/clang/AST/Expr.h vendor/clang/dist/include/clang/AST/ExprCXX.h vendor/clang/dist/include/clang/AST/RecordLayout.h vendor/clang/dist/include/clang/AST/Stmt.h vendor/clang/dist/include/clang/AST/StmtVisitor.h vendor/clang/dist/include/clang/AST/TemplateBase.h vendor/clang/dist/include/clang/AST/TemplateName.h vendor/clang/dist/include/clang/AST/Type.h vendor/clang/dist/include/clang/AST/TypeLoc.h vendor/clang/dist/include/clang/AST/TypeLocBuilder.h vendor/clang/dist/include/clang/AST/TypeNodes.def vendor/clang/dist/include/clang/AST/TypeVisitor.h vendor/clang/dist/include/clang/AST/UnresolvedSet.h vendor/clang/dist/include/clang/Analysis/ProgramPoint.h vendor/clang/dist/include/clang/Basic/Diagnostic.h vendor/clang/dist/include/clang/Basic/Diagnostic.td vendor/clang/dist/include/clang/Basic/DiagnosticASTKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticDriverKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td vendor/clang/dist/include/clang/Basic/SourceManager.h vendor/clang/dist/include/clang/Basic/TargetInfo.h vendor/clang/dist/include/clang/Basic/TokenKinds.def vendor/clang/dist/include/clang/CMakeLists.txt vendor/clang/dist/include/clang/Checker/PathSensitive/AnalysisManager.h vendor/clang/dist/include/clang/Checker/PathSensitive/GRExprEngine.h vendor/clang/dist/include/clang/Checker/PathSensitive/Store.h vendor/clang/dist/include/clang/CodeGen/CodeGenOptions.h vendor/clang/dist/include/clang/Driver/ArgList.h vendor/clang/dist/include/clang/Driver/CC1Options.td vendor/clang/dist/include/clang/Driver/CMakeLists.txt vendor/clang/dist/include/clang/Driver/Makefile vendor/clang/dist/include/clang/Driver/Options.td vendor/clang/dist/include/clang/Driver/Tool.h vendor/clang/dist/include/clang/Frontend/AnalysisConsumer.h vendor/clang/dist/include/clang/Frontend/CodeGenAction.h vendor/clang/dist/include/clang/Frontend/CompilerInstance.h vendor/clang/dist/include/clang/Frontend/DeclXML.def vendor/clang/dist/include/clang/Frontend/DiagnosticOptions.h vendor/clang/dist/include/clang/Frontend/DocumentXML.h vendor/clang/dist/include/clang/Frontend/FrontendActions.h vendor/clang/dist/include/clang/Frontend/FrontendOptions.h vendor/clang/dist/include/clang/Frontend/PCHBitCodes.h vendor/clang/dist/include/clang/Frontend/PCHReader.h vendor/clang/dist/include/clang/Frontend/PCHWriter.h vendor/clang/dist/include/clang/Frontend/TypeXML.def vendor/clang/dist/include/clang/Lex/LiteralSupport.h vendor/clang/dist/include/clang/Lex/Preprocessor.h vendor/clang/dist/include/clang/Makefile vendor/clang/dist/include/clang/Parse/Action.h vendor/clang/dist/include/clang/Parse/AttributeList.h vendor/clang/dist/include/clang/Parse/Ownership.h vendor/clang/dist/include/clang/Parse/Parser.h vendor/clang/dist/include/clang/Parse/Scope.h vendor/clang/dist/include/clang/Sema/CodeCompleteConsumer.h vendor/clang/dist/lib/AST/ASTContext.cpp vendor/clang/dist/lib/AST/ASTDiagnostic.cpp vendor/clang/dist/lib/AST/ASTImporter.cpp vendor/clang/dist/lib/AST/AttrImpl.cpp vendor/clang/dist/lib/AST/CMakeLists.txt vendor/clang/dist/lib/AST/CXXInheritance.cpp vendor/clang/dist/lib/AST/Decl.cpp vendor/clang/dist/lib/AST/DeclBase.cpp vendor/clang/dist/lib/AST/DeclCXX.cpp vendor/clang/dist/lib/AST/DeclTemplate.cpp vendor/clang/dist/lib/AST/DeclarationName.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/NestedNameSpecifier.cpp vendor/clang/dist/lib/AST/RecordLayout.cpp vendor/clang/dist/lib/AST/RecordLayoutBuilder.cpp vendor/clang/dist/lib/AST/Stmt.cpp vendor/clang/dist/lib/AST/StmtDumper.cpp vendor/clang/dist/lib/AST/StmtPrinter.cpp vendor/clang/dist/lib/AST/StmtProfile.cpp vendor/clang/dist/lib/AST/TemplateBase.cpp vendor/clang/dist/lib/AST/Type.cpp vendor/clang/dist/lib/AST/TypeLoc.cpp vendor/clang/dist/lib/AST/TypePrinter.cpp vendor/clang/dist/lib/Analysis/CFG.cpp vendor/clang/dist/lib/Analysis/CMakeLists.txt vendor/clang/dist/lib/Basic/Diagnostic.cpp vendor/clang/dist/lib/Basic/IdentifierTable.cpp vendor/clang/dist/lib/Basic/SourceManager.cpp vendor/clang/dist/lib/Basic/TargetInfo.cpp vendor/clang/dist/lib/Basic/Targets.cpp vendor/clang/dist/lib/Basic/Version.cpp vendor/clang/dist/lib/Checker/BasicObjCFoundationChecks.cpp vendor/clang/dist/lib/Checker/BasicStore.cpp vendor/clang/dist/lib/Checker/CFRefCount.cpp vendor/clang/dist/lib/Checker/CMakeLists.txt vendor/clang/dist/lib/Checker/CheckObjCDealloc.cpp vendor/clang/dist/lib/Checker/FlatStore.cpp vendor/clang/dist/lib/Checker/GRCXXExprEngine.cpp vendor/clang/dist/lib/Checker/GRExprEngine.cpp vendor/clang/dist/lib/Checker/GRExprEngineExperimentalChecks.cpp vendor/clang/dist/lib/Checker/GRExprEngineInternalChecks.h vendor/clang/dist/lib/Checker/GRState.cpp vendor/clang/dist/lib/Checker/LLVMConventionsChecker.cpp vendor/clang/dist/lib/Checker/MallocChecker.cpp vendor/clang/dist/lib/Checker/MemRegion.cpp vendor/clang/dist/lib/Checker/ObjCUnusedIVarsChecker.cpp vendor/clang/dist/lib/Checker/RegionStore.cpp vendor/clang/dist/lib/CodeGen/CGBlocks.cpp vendor/clang/dist/lib/CodeGen/CGBlocks.h vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp vendor/clang/dist/lib/CodeGen/CGCXX.cpp vendor/clang/dist/lib/CodeGen/CGCall.cpp vendor/clang/dist/lib/CodeGen/CGClass.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.h vendor/clang/dist/lib/CodeGen/CGDecl.cpp vendor/clang/dist/lib/CodeGen/CGDeclCXX.cpp vendor/clang/dist/lib/CodeGen/CGException.cpp vendor/clang/dist/lib/CodeGen/CGExpr.cpp vendor/clang/dist/lib/CodeGen/CGExprAgg.cpp vendor/clang/dist/lib/CodeGen/CGExprCXX.cpp vendor/clang/dist/lib/CodeGen/CGExprConstant.cpp vendor/clang/dist/lib/CodeGen/CGExprScalar.cpp vendor/clang/dist/lib/CodeGen/CGObjC.cpp vendor/clang/dist/lib/CodeGen/CGObjCGNU.cpp vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp vendor/clang/dist/lib/CodeGen/CGObjCRuntime.h vendor/clang/dist/lib/CodeGen/CGRecordLayout.h vendor/clang/dist/lib/CodeGen/CGRecordLayoutBuilder.cpp vendor/clang/dist/lib/CodeGen/CGStmt.cpp vendor/clang/dist/lib/CodeGen/CGVTT.cpp vendor/clang/dist/lib/CodeGen/CGVTables.cpp vendor/clang/dist/lib/CodeGen/CGVTables.h vendor/clang/dist/lib/CodeGen/CMakeLists.txt vendor/clang/dist/lib/CodeGen/CodeGenFunction.cpp vendor/clang/dist/lib/CodeGen/CodeGenFunction.h vendor/clang/dist/lib/CodeGen/CodeGenModule.cpp vendor/clang/dist/lib/CodeGen/CodeGenModule.h vendor/clang/dist/lib/CodeGen/CodeGenTypes.cpp vendor/clang/dist/lib/CodeGen/CodeGenTypes.h vendor/clang/dist/lib/CodeGen/Mangle.cpp vendor/clang/dist/lib/CodeGen/Mangle.h vendor/clang/dist/lib/CodeGen/ModuleBuilder.cpp vendor/clang/dist/lib/CodeGen/TargetInfo.cpp vendor/clang/dist/lib/Driver/ArgList.cpp vendor/clang/dist/lib/Driver/CC1Options.cpp vendor/clang/dist/lib/Driver/CMakeLists.txt vendor/clang/dist/lib/Driver/Driver.cpp vendor/clang/dist/lib/Driver/Tool.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/Frontend/AnalysisConsumer.cpp vendor/clang/dist/lib/Frontend/CMakeLists.txt vendor/clang/dist/lib/Frontend/CodeGenAction.cpp vendor/clang/dist/lib/Frontend/CompilerInstance.cpp vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp vendor/clang/dist/lib/Frontend/DeclXML.cpp vendor/clang/dist/lib/Frontend/DocumentXML.cpp vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp vendor/clang/dist/lib/Frontend/PCHReader.cpp vendor/clang/dist/lib/Frontend/PCHReaderDecl.cpp vendor/clang/dist/lib/Frontend/PCHReaderStmt.cpp vendor/clang/dist/lib/Frontend/PCHWriter.cpp vendor/clang/dist/lib/Frontend/PCHWriterDecl.cpp vendor/clang/dist/lib/Frontend/PCHWriterStmt.cpp vendor/clang/dist/lib/Frontend/PrintParserCallbacks.cpp vendor/clang/dist/lib/Frontend/RewriteObjC.cpp vendor/clang/dist/lib/Frontend/TextDiagnosticPrinter.cpp vendor/clang/dist/lib/Headers/emmintrin.h vendor/clang/dist/lib/Headers/xmmintrin.h vendor/clang/dist/lib/Index/ASTLocation.cpp vendor/clang/dist/lib/Index/Analyzer.cpp vendor/clang/dist/lib/Index/ResolveLocation.cpp vendor/clang/dist/lib/Lex/Lexer.cpp vendor/clang/dist/lib/Lex/LiteralSupport.cpp vendor/clang/dist/lib/Parse/AttributeList.cpp vendor/clang/dist/lib/Parse/MinimalAction.cpp vendor/clang/dist/lib/Parse/ParseDecl.cpp vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp vendor/clang/dist/lib/Parse/ParseExpr.cpp vendor/clang/dist/lib/Parse/ParseExprCXX.cpp vendor/clang/dist/lib/Parse/ParseObjc.cpp vendor/clang/dist/lib/Parse/ParsePragma.cpp vendor/clang/dist/lib/Parse/ParsePragma.h vendor/clang/dist/lib/Parse/ParseStmt.cpp vendor/clang/dist/lib/Parse/ParseTemplate.cpp vendor/clang/dist/lib/Parse/ParseTentative.cpp vendor/clang/dist/lib/Parse/Parser.cpp vendor/clang/dist/lib/Sema/AnalysisBasedWarnings.cpp vendor/clang/dist/lib/Sema/CMakeLists.txt vendor/clang/dist/lib/Sema/CodeCompleteConsumer.cpp vendor/clang/dist/lib/Sema/JumpDiagnostics.cpp vendor/clang/dist/lib/Sema/Sema.cpp vendor/clang/dist/lib/Sema/Sema.h vendor/clang/dist/lib/Sema/SemaAttr.cpp vendor/clang/dist/lib/Sema/SemaCXXCast.cpp vendor/clang/dist/lib/Sema/SemaChecking.cpp vendor/clang/dist/lib/Sema/SemaCodeComplete.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/SemaDeclObjC.cpp vendor/clang/dist/lib/Sema/SemaExceptionSpec.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/SemaInit.cpp vendor/clang/dist/lib/Sema/SemaInit.h vendor/clang/dist/lib/Sema/SemaLookup.cpp vendor/clang/dist/lib/Sema/SemaObjCProperty.cpp vendor/clang/dist/lib/Sema/SemaOverload.cpp vendor/clang/dist/lib/Sema/SemaOverload.h vendor/clang/dist/lib/Sema/SemaStmt.cpp vendor/clang/dist/lib/Sema/SemaTemplate.cpp vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiate.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiateDecl.cpp vendor/clang/dist/lib/Sema/SemaType.cpp vendor/clang/dist/lib/Sema/TreeTransform.h vendor/clang/dist/test/Analysis/dead-stores.c vendor/clang/dist/test/Analysis/inline.c vendor/clang/dist/test/Analysis/inline2.c vendor/clang/dist/test/Analysis/inline3.c vendor/clang/dist/test/Analysis/inline4.c vendor/clang/dist/test/Analysis/malloc.c vendor/clang/dist/test/Analysis/method-call.cpp vendor/clang/dist/test/Analysis/misc-ps-region-store.m vendor/clang/dist/test/Analysis/misc-ps.m vendor/clang/dist/test/Analysis/retain-release.m vendor/clang/dist/test/CXX/class.access/class.friend/p1.cpp vendor/clang/dist/test/CXX/class.access/p4.cpp vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p8.cpp vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/basic.cpp vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p6.cpp vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.type/p17.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p2.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p5.cpp vendor/clang/dist/test/CodeCompletion/call.c vendor/clang/dist/test/CodeCompletion/call.cpp vendor/clang/dist/test/CodeCompletion/ordinary-name.cpp vendor/clang/dist/test/CodeCompletion/truncation.c vendor/clang/dist/test/CodeGen/blocks.c vendor/clang/dist/test/CodeGen/builtins.c vendor/clang/dist/test/CodeGen/complex.c vendor/clang/dist/test/CodeGen/stdcall-fastcall.c vendor/clang/dist/test/CodeGenCXX/anonymous-namespaces.cpp vendor/clang/dist/test/CodeGenCXX/anonymous-union-member-initializer.cpp vendor/clang/dist/test/CodeGenCXX/array-value-initialize.cpp vendor/clang/dist/test/CodeGenCXX/class-layout.cpp vendor/clang/dist/test/CodeGenCXX/condition.cpp vendor/clang/dist/test/CodeGenCXX/cxx-apple-kext.cpp vendor/clang/dist/test/CodeGenCXX/destructors.cpp vendor/clang/dist/test/CodeGenCXX/dynamic-cast.cpp vendor/clang/dist/test/CodeGenCXX/dyncast.cpp vendor/clang/dist/test/CodeGenCXX/key-function-vtable.cpp vendor/clang/dist/test/CodeGenCXX/mangle-subst-std.cpp vendor/clang/dist/test/CodeGenCXX/pointers-to-data-members.cpp vendor/clang/dist/test/CodeGenCXX/references.cpp vendor/clang/dist/test/CodeGenCXX/rtti-linkage.cpp vendor/clang/dist/test/CodeGenCXX/static-init.cpp vendor/clang/dist/test/CodeGenCXX/static-local-in-local-class.cpp vendor/clang/dist/test/CodeGenCXX/template-linkage.cpp vendor/clang/dist/test/CodeGenCXX/thunks.cpp vendor/clang/dist/test/CodeGenCXX/virtual-base-destructor-call.cpp vendor/clang/dist/test/CodeGenCXX/virtual-functions-incomplete-types.cpp vendor/clang/dist/test/CodeGenCXX/vtable-layout.cpp vendor/clang/dist/test/CodeGenCXX/vtable-linkage.cpp vendor/clang/dist/test/CodeGenCXX/x86_32-arguments.cpp vendor/clang/dist/test/CodeGenCXX/x86_64-arguments.cpp vendor/clang/dist/test/CodeGenObjC/atomic-aggregate-property.m vendor/clang/dist/test/CodeGenObjC/blocks-1.m vendor/clang/dist/test/CodeGenObjC/blocks-2.m vendor/clang/dist/test/CodeGenObjC/blocks.m vendor/clang/dist/test/CodeGenObjC/ivar-layout-64-bitfields.m vendor/clang/dist/test/CodeGenObjC/ivar-layout-64.m vendor/clang/dist/test/CodeGenObjC/ivar-layout-no-optimize.m vendor/clang/dist/test/CodeGenObjC/objc2-new-gc-api-strongcast.m vendor/clang/dist/test/CodeGenObjC/objc2-no-write-barrier.m vendor/clang/dist/test/CodeGenObjC/objc2-retain-codegen.m vendor/clang/dist/test/CodeGenObjC/objc2-strong-cast-1.m vendor/clang/dist/test/CodeGenObjC/objc2-strong-cast.m vendor/clang/dist/test/CodeGenObjC/objc2-weak-assign.m vendor/clang/dist/test/CodeGenObjC/objc2-weak-compare.m vendor/clang/dist/test/CodeGenObjC/objc2-weak-ivar-debug.m vendor/clang/dist/test/CodeGenObjC/objc2-weak-ivar.m vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier-2.m vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier-3.m vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier-4.m vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier-5.m vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier.m vendor/clang/dist/test/CodeGenObjC/property-complex.m vendor/clang/dist/test/CodeGenObjC/protocols.m vendor/clang/dist/test/Coverage/ast-printing.cpp vendor/clang/dist/test/Driver/bindings.c vendor/clang/dist/test/Driver/clang_f_opts.c vendor/clang/dist/test/FixIt/typo.m vendor/clang/dist/test/Index/annotate-tokens.c vendor/clang/dist/test/Index/annotate-tokens.m vendor/clang/dist/test/Index/c-index-api-loadTU-test.m vendor/clang/dist/test/Index/complete-at-directives.m vendor/clang/dist/test/Index/complete-at-exprstmt.m vendor/clang/dist/test/Index/complete-exprs.c vendor/clang/dist/test/Index/complete-member-access.m vendor/clang/dist/test/Index/load-stmts.cpp vendor/clang/dist/test/Index/remap-load.c vendor/clang/dist/test/Index/usrs.m vendor/clang/dist/test/Lexer/gnu_keywords.c vendor/clang/dist/test/Lexer/hexfloat.cpp vendor/clang/dist/test/Makefile vendor/clang/dist/test/PCH/Inputs/namespaces.h vendor/clang/dist/test/PCH/cxx_exprs.cpp vendor/clang/dist/test/PCH/cxx_exprs.h vendor/clang/dist/test/PCH/namespaces.cpp vendor/clang/dist/test/Parser/recovery.c vendor/clang/dist/test/Sema/attr-sentinel.c vendor/clang/dist/test/Sema/c89.c vendor/clang/dist/test/Sema/compare.c vendor/clang/dist/test/Sema/conditional-expr.c vendor/clang/dist/test/Sema/conversion.c vendor/clang/dist/test/Sema/format-strings.c vendor/clang/dist/test/Sema/init.c vendor/clang/dist/test/Sema/scope-check.c vendor/clang/dist/test/Sema/switch.c vendor/clang/dist/test/Sema/unused-expr.c vendor/clang/dist/test/SemaCXX/alignof-sizeof-reference.cpp vendor/clang/dist/test/SemaCXX/anonymous-union.cpp vendor/clang/dist/test/SemaCXX/attr-deprecated.cpp vendor/clang/dist/test/SemaCXX/blocks.cpp vendor/clang/dist/test/SemaCXX/c99.cpp vendor/clang/dist/test/SemaCXX/class.cpp vendor/clang/dist/test/SemaCXX/compare.cpp vendor/clang/dist/test/SemaCXX/conditional-expr.cpp vendor/clang/dist/test/SemaCXX/constant-expression.cpp vendor/clang/dist/test/SemaCXX/default-assignment-operator.cpp vendor/clang/dist/test/SemaCXX/empty-class-layout.cpp vendor/clang/dist/test/SemaCXX/enum.cpp vendor/clang/dist/test/SemaCXX/i-c-e-cxx.cpp vendor/clang/dist/test/SemaCXX/implicit-virtual-member-functions.cpp vendor/clang/dist/test/SemaCXX/member-pointer.cpp vendor/clang/dist/test/SemaCXX/namespace-alias.cpp vendor/clang/dist/test/SemaCXX/nested-name-spec.cpp vendor/clang/dist/test/SemaCXX/new-delete.cpp vendor/clang/dist/test/SemaCXX/offsetof.cpp vendor/clang/dist/test/SemaCXX/overload-call.cpp vendor/clang/dist/test/SemaCXX/references.cpp vendor/clang/dist/test/SemaCXX/switch.cpp vendor/clang/dist/test/SemaCXX/vararg-non-pod.cpp vendor/clang/dist/test/SemaCXX/virtual-member-functions-key-function.cpp vendor/clang/dist/test/SemaCXX/warn-missing-noreturn.cpp vendor/clang/dist/test/SemaCXX/warn-reorder-ctor-initialization.cpp vendor/clang/dist/test/SemaCXX/warn-weak-vtables.cpp vendor/clang/dist/test/SemaObjC/block-attr.m vendor/clang/dist/test/SemaObjC/error-property-gc-attr.m vendor/clang/dist/test/SemaObjC/method-conflict.m vendor/clang/dist/test/SemaObjC/objc2-warn-weak-decl.m vendor/clang/dist/test/SemaObjC/warn-assign-property-nscopying.m vendor/clang/dist/test/SemaObjC/warn-weak-field.m vendor/clang/dist/test/SemaObjCXX/vla.mm vendor/clang/dist/test/SemaObjCXX/void_to_obj.mm vendor/clang/dist/test/SemaTemplate/current-instantiation.cpp vendor/clang/dist/test/SemaTemplate/dependent-base-classes.cpp vendor/clang/dist/test/SemaTemplate/dependent-expr.cpp vendor/clang/dist/test/SemaTemplate/dependent-type-identity.cpp vendor/clang/dist/test/SemaTemplate/enum-argument.cpp vendor/clang/dist/test/SemaTemplate/instantiate-anonymous-union.cpp vendor/clang/dist/test/SemaTemplate/instantiate-attr.cpp vendor/clang/dist/test/SemaTemplate/instantiate-complete.cpp vendor/clang/dist/test/SemaTemplate/instantiate-declref-ice.cpp vendor/clang/dist/test/SemaTemplate/instantiate-expr-2.cpp vendor/clang/dist/test/SemaTemplate/instantiate-expr-3.cpp vendor/clang/dist/test/SemaTemplate/instantiate-field.cpp vendor/clang/dist/test/SemaTemplate/instantiate-function-2.cpp vendor/clang/dist/test/SemaTemplate/instantiate-member-pointers.cpp vendor/clang/dist/test/SemaTemplate/nested-name-spec-template.cpp vendor/clang/dist/test/SemaTemplate/partial-spec-instantiate.cpp vendor/clang/dist/test/SemaTemplate/temp_explicit.cpp vendor/clang/dist/test/SemaTemplate/template-id-expr.cpp vendor/clang/dist/test/SemaTemplate/virtual-member-functions.cpp vendor/clang/dist/tools/c-index-test/c-index-test.c vendor/clang/dist/tools/driver/CMakeLists.txt vendor/clang/dist/tools/driver/cc1_main.cpp vendor/clang/dist/tools/driver/driver.cpp vendor/clang/dist/tools/libclang/CIndex.cpp vendor/clang/dist/tools/libclang/CIndexCodeCompletion.cpp vendor/clang/dist/tools/libclang/CIndexUSRs.cpp vendor/clang/dist/tools/libclang/CMakeLists.txt vendor/clang/dist/tools/libclang/CXCursor.cpp vendor/clang/dist/tools/libclang/Makefile vendor/clang/dist/tools/libclang/libclang.darwin.exports vendor/clang/dist/tools/libclang/libclang.exports vendor/clang/dist/www/analyzer/annotations.html vendor/clang/dist/www/analyzer/latest_checker.html.incl vendor/clang/dist/www/comparison.html vendor/clang/dist/www/cxx_compatibility.html vendor/clang/dist/www/cxx_status.html vendor/clang/dist/www/get_started.html Modified: vendor/clang/dist/clang.xcodeproj/project.pbxproj ============================================================================== --- vendor/clang/dist/clang.xcodeproj/project.pbxproj Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/clang.xcodeproj/project.pbxproj Thu May 27 15:17:06 2010 (r208600) @@ -441,43 +441,42 @@ 1AA963AB10D8576800786C86 /* FullExpr.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = FullExpr.h; path = clang/AST/FullExpr.h; sourceTree = ""; tabWidth = 2; }; 1AB290021045858B00FE33D8 /* PartialDiagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; path = PartialDiagnostic.h; sourceTree = ""; tabWidth = 2; }; 1ABC36930C7A4BDC006DB0AB /* CGBuiltin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGBuiltin.cpp; path = lib/CodeGen/CGBuiltin.cpp; sourceTree = ""; tabWidth = 2; }; - 1ABD23B11182449800A48E65 /* APValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APValue.cpp; sourceTree = ""; }; - 1ABD23B21182449800A48E65 /* ASTConsumer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASTConsumer.cpp; sourceTree = ""; }; - 1ABD23B31182449800A48E65 /* ASTContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASTContext.cpp; sourceTree = ""; }; - 1ABD23B41182449800A48E65 /* ASTDiagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASTDiagnostic.cpp; sourceTree = ""; }; - 1ABD23B51182449800A48E65 /* ASTImporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASTImporter.cpp; sourceTree = ""; }; - 1ABD23B61182449800A48E65 /* AttrImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AttrImpl.cpp; sourceTree = ""; }; - 1ABD23B71182449800A48E65 /* CXXInheritance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CXXInheritance.cpp; sourceTree = ""; }; - 1ABD23B81182449800A48E65 /* Decl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Decl.cpp; sourceTree = ""; }; - 1ABD23B91182449800A48E65 /* DeclarationName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclarationName.cpp; sourceTree = ""; }; - 1ABD23BA1182449800A48E65 /* DeclBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclBase.cpp; sourceTree = ""; }; - 1ABD23BB1182449800A48E65 /* DeclCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclCXX.cpp; sourceTree = ""; }; - 1ABD23BC1182449800A48E65 /* DeclFriend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclFriend.cpp; sourceTree = ""; }; - 1ABD23BD1182449800A48E65 /* DeclGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclGroup.cpp; sourceTree = ""; }; - 1ABD23BE1182449800A48E65 /* DeclObjC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclObjC.cpp; sourceTree = ""; }; - 1ABD23BF1182449800A48E65 /* DeclPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclPrinter.cpp; sourceTree = ""; }; - 1ABD23C01182449800A48E65 /* DeclTemplate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclTemplate.cpp; sourceTree = ""; }; - 1ABD23C11182449800A48E65 /* Expr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Expr.cpp; sourceTree = ""; }; - 1ABD23C21182449800A48E65 /* ExprConstant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExprConstant.cpp; sourceTree = ""; }; - 1ABD23C31182449800A48E65 /* ExprCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExprCXX.cpp; sourceTree = ""; }; - 1ABD23C41182449800A48E65 /* FullExpr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FullExpr.cpp; sourceTree = ""; }; - 1ABD23C51182449800A48E65 /* InheritViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InheritViz.cpp; sourceTree = ""; }; - 1ABD23C61182449800A48E65 /* NestedNameSpecifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NestedNameSpecifier.cpp; sourceTree = ""; }; - 1ABD23C71182449800A48E65 /* ParentMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParentMap.cpp; sourceTree = ""; }; - 1ABD23C81182449800A48E65 /* RecordLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RecordLayout.cpp; sourceTree = ""; }; - 1ABD23C91182449800A48E65 /* RecordLayoutBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RecordLayoutBuilder.cpp; sourceTree = ""; }; - 1ABD23CA1182449800A48E65 /* RecordLayoutBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RecordLayoutBuilder.h; sourceTree = ""; }; - 1ABD23CB1182449800A48E65 /* Stmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Stmt.cpp; sourceTree = ""; }; - 1ABD23CC1182449800A48E65 /* StmtDumper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtDumper.cpp; sourceTree = ""; }; - 1ABD23CD1182449800A48E65 /* StmtIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtIterator.cpp; sourceTree = ""; }; - 1ABD23CE1182449800A48E65 /* StmtPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtPrinter.cpp; sourceTree = ""; }; - 1ABD23CF1182449800A48E65 /* StmtProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtProfile.cpp; sourceTree = ""; }; - 1ABD23D01182449800A48E65 /* StmtViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtViz.cpp; sourceTree = ""; }; - 1ABD23D11182449800A48E65 /* TemplateBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateBase.cpp; sourceTree = ""; }; - 1ABD23D21182449800A48E65 /* TemplateName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateName.cpp; sourceTree = ""; }; - 1ABD23D31182449800A48E65 /* Type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Type.cpp; sourceTree = ""; }; - 1ABD23D41182449800A48E65 /* TypeLoc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TypeLoc.cpp; sourceTree = ""; }; - 1ABD23D51182449800A48E65 /* TypePrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TypePrinter.cpp; sourceTree = ""; }; + 1ABD23B11182449800A48E65 /* APValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = APValue.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23B21182449800A48E65 /* ASTConsumer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ASTConsumer.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23B31182449800A48E65 /* ASTContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ASTContext.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23B41182449800A48E65 /* ASTDiagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ASTDiagnostic.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23B51182449800A48E65 /* ASTImporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ASTImporter.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23B61182449800A48E65 /* AttrImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = AttrImpl.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23B71182449800A48E65 /* CXXInheritance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = CXXInheritance.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23B81182449800A48E65 /* Decl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = Decl.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23B91182449800A48E65 /* DeclarationName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclarationName.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23BA1182449800A48E65 /* DeclBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclBase.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23BB1182449800A48E65 /* DeclCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclCXX.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23BC1182449800A48E65 /* DeclFriend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclFriend.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23BD1182449800A48E65 /* DeclGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclGroup.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23BE1182449800A48E65 /* DeclObjC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclObjC.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23BF1182449800A48E65 /* DeclPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclPrinter.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C01182449800A48E65 /* DeclTemplate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclTemplate.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C11182449800A48E65 /* Expr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = Expr.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C21182449800A48E65 /* ExprConstant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ExprConstant.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C31182449800A48E65 /* ExprCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ExprCXX.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C41182449800A48E65 /* FullExpr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = FullExpr.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C51182449800A48E65 /* InheritViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = InheritViz.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C61182449800A48E65 /* NestedNameSpecifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = NestedNameSpecifier.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C71182449800A48E65 /* ParentMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ParentMap.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C81182449800A48E65 /* RecordLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = RecordLayout.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23C91182449800A48E65 /* RecordLayoutBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = RecordLayoutBuilder.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23CB1182449800A48E65 /* Stmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = Stmt.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23CC1182449800A48E65 /* StmtDumper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtDumper.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23CD1182449800A48E65 /* StmtIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtIterator.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23CE1182449800A48E65 /* StmtPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtPrinter.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23CF1182449800A48E65 /* StmtProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtProfile.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23D01182449800A48E65 /* StmtViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtViz.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23D11182449800A48E65 /* TemplateBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateBase.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23D21182449800A48E65 /* TemplateName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateName.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23D31182449800A48E65 /* Type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = Type.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23D41182449800A48E65 /* TypeLoc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = TypeLoc.cpp; sourceTree = ""; tabWidth = 2; }; + 1ABD23D51182449800A48E65 /* TypePrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = TypePrinter.cpp; sourceTree = ""; tabWidth = 2; }; 1ACB57DB1105820D0047B991 /* CompilerInstance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CompilerInstance.cpp; path = lib/Frontend/CompilerInstance.cpp; sourceTree = ""; }; 1ACB57DC1105820D0047B991 /* CompilerInvocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CompilerInvocation.cpp; path = lib/Frontend/CompilerInvocation.cpp; sourceTree = ""; }; 1ACB57DD1105820D0047B991 /* DeclXML.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DeclXML.cpp; path = lib/Frontend/DeclXML.cpp; sourceTree = ""; }; @@ -1494,7 +1493,6 @@ 1ABD23C71182449800A48E65 /* ParentMap.cpp */, 1ABD23C81182449800A48E65 /* RecordLayout.cpp */, 1ABD23C91182449800A48E65 /* RecordLayoutBuilder.cpp */, - 1ABD23CA1182449800A48E65 /* RecordLayoutBuilder.h */, 1ABD23CB1182449800A48E65 /* Stmt.cpp */, 1ABD23CC1182449800A48E65 /* StmtDumper.cpp */, 1ABD23CD1182449800A48E65 /* StmtIterator.cpp */, Modified: vendor/clang/dist/docs/InternalsManual.html ============================================================================== --- vendor/clang/dist/docs/InternalsManual.html Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/docs/InternalsManual.html Thu May 27 15:17:06 2010 (r208600) @@ -532,12 +532,12 @@ source code of the program. Important d

    In practice, the SourceLocation works together with the SourceManager class -to encode two pieces of information about a location: it's spelling location -and it's instantiation location. For most tokens, these will be the same. However, -for a macro expansion (or tokens that came from a _Pragma directive) these will -describe the location of the characters corresponding to the token and the -location where the token was used (i.e. the macro instantiation point or the -location of the _Pragma itself).

    +to encode two pieces of information about a location: its spelling location +and its instantiation location. For most tokens, these will be the same. +However, for a macro expansion (or tokens that came from a _Pragma directive) +these will describe the location of the characters corresponding to the token +and the location where the token was used (i.e. the macro instantiation point +or the location of the _Pragma itself).

    The Clang front-end inherently depends on the location of a token being tracked correctly. If it is ever incorrect, the front-end may get confused and Modified: vendor/clang/dist/docs/UsersManual.html ============================================================================== --- vendor/clang/dist/docs/UsersManual.html Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/docs/UsersManual.html Thu May 27 15:17:06 2010 (r208600) @@ -36,6 +36,7 @@ td {

    @@ -286,6 +287,30 @@ diagnostic. This information tells you diagnostic, either from the command line or through #pragma GCC diagnostic. + +
    -fdiagnostics-show-category=none/id/name: +Enable printing category information in diagnostic line.
    +
    This option, which defaults to "none", +controls whether or not Clang prints the category associated with a diagnostic +when emitting it. Each diagnostic may or many not have an associated category, +if it has one, it is listed in the diagnostic categorization field of the +diagnostic line (in the []'s).

    + +

    For example, a format string warning will produce these three renditions +based on the setting of this option:

    + +
    +  t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat]
    +  t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat,1]
    +  t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat,Format String]
    +
    + +

    This category can be used by clients that want to group diagnostics by +category, so it should be a high level category. We want dozens of these, not +hundreds or thousands of them.

    +
    + +
    -f[no-]diagnostics-fixit-info: @@ -393,6 +418,10 @@ it:

  • An option that indicates how to control the diagnostic (for diagnostics that support it) [-fdiagnostics-show-option].
  • +
  • A high-level category for the + diagnostic for clients that want to group diagnostics by class (for + diagnostics that support it) [-fdiagnostics-show-category].
  • The line of source code that the issue occurs on, along with a caret and ranges that indicate the important locations [-fcaret-diagnostics].
  • @@ -407,6 +436,7 @@ it:

    For more information please see Formatting of Diagnostics.

    +

    Diagnostic Mappings

    All diagnostics are mapped into one of these 5 classes:

    @@ -420,7 +450,23 @@ Diagnostics.

  • Fatal
  • -

    Controlling Diagnostics via Command Line Flags

    +

    Diagnostic Categories

    + +

    Though not shown by default, diagnostics may each be associated with a + high-level category. This category is intended to make it possible to triage + builds that produce a large number of errors or warnings in a grouped way. +

    + +

    Categories are not shown by default, but they can be turned on with the +-fdiagnostics-show-category option. +When set to "name", the category is printed textually in the diagnostic +output. When it is set to "id", a category number is printed. The +mapping of category names to category id's can be obtained by running 'clang + --print-diagnostic-categories'. +

    + +

    Controlling Diagnostics via Command Line + Flags

    -W flags, -pedantic, etc

    Modified: vendor/clang/dist/docs/tools/clang.pod ============================================================================== --- vendor/clang/dist/docs/tools/clang.pod Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/docs/tools/clang.pod Thu May 27 15:17:06 2010 (r208600) @@ -50,10 +50,13 @@ parse errors. The output of this stage =item B This stage translates an AST into low-level intermediate code (known as "LLVM -IR") and ultimately to machine code (depending on the optimization level). This -phase is responsible for optimizing the generated code and handling -target-specfic code generation. The output of this stage is typically called a -".s" file or "assembly" file. +IR") and ultimately to machine code. This phase is responsible for optimizing +the generated code and handling target-specfic code generation. The output of +this stage is typically called a ".s" file or "assembly" file. + +Clang also supports the use of an integrated assembler, in which the code +generator produces object files directly. This avoids the overhead of generating +the ".s" file and of calling the target assembler. =item B @@ -325,17 +328,21 @@ Pass I to the assembler. =item B<-Xclang> I -Pass I to the clang compiler. +Pass I to the clang compiler frontend. =item B<-Xlinker> I Pass I to the linker. +=item B<-mllvm> I + +Pass I to the LLVM backend. + =item B<-Xpreprocessor> I Pass I to the preprocessor. -=item B<-o> I +=item B<-o> I Write output to I. @@ -359,6 +366,12 @@ Print the paths used for finding librari Save intermediate compilation results. +=item B<-integrated-as> B<-no-integrated-as> + +Used to enable and disable, respectively, the use of the integrated +assembler. Whether the integrated assembler is on by default is target +dependent. + =item B<-time> Time individual commands. Modified: vendor/clang/dist/include/clang-c/Index.h ============================================================================== --- vendor/clang/dist/include/clang-c/Index.h Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/include/clang-c/Index.h Thu May 27 15:17:06 2010 (r208600) @@ -343,6 +343,12 @@ CINDEX_LINKAGE CXSourceLocation clang_ge CINDEX_LINKAGE CXSourceLocation clang_getRangeEnd(CXSourceRange range); /** + * \brief Determine if the source location occurs within the main file + * of the translation unit (as opposed to an included header). + */ +CINDEX_LINKAGE unsigned clang_isFromMainFile(CXSourceLocation loc); + +/** * @} */ @@ -648,7 +654,6 @@ CINDEX_LINKAGE void clang_disposeTransla */ enum CXCursorKind { /* Declarations */ - CXCursor_FirstDecl = 1, /** * \brief A declaration whose specific kind is not exposed via this * interface. @@ -700,11 +705,15 @@ enum CXCursorKind { CXCursor_ObjCCategoryImplDecl = 19, /** \brief A typedef */ CXCursor_TypedefDecl = 20, - /** \brief A C++ class method. */ CXCursor_CXXMethod = 21, + /** \brief A C++ namespace. */ + CXCursor_Namespace = 22, + /** \brief A linkage specification, e.g. 'extern "C"'. */ + CXCursor_LinkageSpec = 23, - CXCursor_LastDecl = 21, + CXCursor_FirstDecl = CXCursor_UnexposedDecl, + CXCursor_LastDecl = CXCursor_LinkageSpec, /* References */ CXCursor_FirstRef = 40, /* Decl references */ @@ -807,7 +816,8 @@ enum CXCursorKind { CXCursor_IBActionAttr = 401, CXCursor_IBOutletAttr = 402, - CXCursor_LastAttr = CXCursor_IBOutletAttr, + CXCursor_IBOutletCollectionAttr = 403, + CXCursor_LastAttr = CXCursor_IBOutletCollectionAttr, /* Preprocessing */ CXCursor_PreprocessingDirective = 500, @@ -1021,6 +1031,124 @@ CINDEX_LINKAGE CXSourceRange clang_getCu */ /** + * \defgroup CINDEX_TYPES Type information for CXCursors + * + * @{ + */ + +/** + * \brief Describes the kind of type + */ +enum CXTypeKind { + /** + * \brief Reprents an invalid type (e.g., where no type is available). + */ + CXType_Invalid = 0, + + /** + * \brief A type whose specific kind is not exposed via this + * interface. + */ + CXType_Unexposed = 1, + + /* Builtin types */ + CXType_Void = 2, + CXType_Bool = 3, + CXType_Char_U = 4, + CXType_UChar = 5, + CXType_Char16 = 6, + CXType_Char32 = 7, + CXType_UShort = 8, + CXType_UInt = 9, + CXType_ULong = 10, + CXType_ULongLong = 11, + CXType_UInt128 = 12, + CXType_Char_S = 13, + CXType_SChar = 14, + CXType_WChar = 15, + CXType_Short = 16, + CXType_Int = 17, + CXType_Long = 18, + CXType_LongLong = 19, + CXType_Int128 = 20, + CXType_Float = 21, + CXType_Double = 22, + CXType_LongDouble = 23, + CXType_NullPtr = 24, + CXType_Overload = 25, + CXType_Dependent = 26, + CXType_ObjCId = 27, + CXType_ObjCClass = 28, + CXType_ObjCSel = 29, + CXType_FirstBuiltin = CXType_Void, + CXType_LastBuiltin = CXType_ObjCSel, + + CXType_Complex = 100, + CXType_Pointer = 101, + CXType_BlockPointer = 102, + CXType_LValueReference = 103, + CXType_RValueReference = 104, + CXType_Record = 105, + CXType_Enum = 106, + CXType_Typedef = 107, + CXType_ObjCInterface = 108, + CXType_ObjCObjectPointer = 109 +}; + +/** + * \brief The type of an element in the abstract syntax tree. + * + */ +typedef struct { + enum CXTypeKind kind; + void *data[2]; +} CXType; + +/** + * \brief Retrieve the type of a CXCursor (if any). + */ +CINDEX_LINKAGE CXType clang_getCursorType(CXCursor C); + +/** + * \determine Determine whether two CXTypes represent the same type. + * + * \returns non-zero if the CXTypes represent the same type and + zero otherwise. + */ +CINDEX_LINKAGE unsigned clang_equalTypes(CXType A, CXType B); + +/** + * \brief Return the canonical type for a CXType. + * + * Clang's type system explicitly models typedefs and all the ways + * a specific type can be represented. The canonical type is the underlying + * type with all the "sugar" removed. For example, if 'T' is a typedef + * for 'int', the canonical type for 'T' would be 'int'. + */ +CINDEX_LINKAGE CXType clang_getCanonicalType(CXType T); + +/** + * \brief For pointer types, returns the type of the pointee. + * + */ +CINDEX_LINKAGE CXType clang_getPointeeType(CXType T); + +/** + * \brief Return the cursor for the declaration of the given type. + */ +CINDEX_LINKAGE CXCursor clang_getTypeDeclaration(CXType T); + + +/** + * \brief Retrieve the spelling of a given CXTypeKind. + */ +CINDEX_LINKAGE CXString clang_getTypeKindSpelling(enum CXTypeKind K); + +/** + * @} + */ + +/** * \defgroup CINDEX_CURSOR_TRAVERSAL Traversing the AST with cursors * * These routines provide the ability to traverse the abstract syntax tree @@ -1220,6 +1348,24 @@ CINDEX_LINKAGE unsigned clang_isCursorDe */ /** + * \defgroup CINDEX_CPP C++ AST introspection + * + * The routines in this group provide access information in the ASTs specific + * to C++ language features. + * + * @{ + */ + +/** + * \brief Determine if a C++ member function is declared 'static'. + */ +CINDEX_LINKAGE unsigned clang_CXXMethod_isStatic(CXCursor C); + +/** + * @} + */ + +/** * \defgroup CINDEX_LEX Token extraction and manipulation * * The routines in this group provide access to the tokens within a @@ -1649,6 +1795,21 @@ CINDEX_LINKAGE unsigned clang_getNumCompletionChunks(CXCompletionString completion_string); /** + * \brief Determine the priority of this code completion. + * + * The priority of a code completion indicates how likely it is that this + * particular completion is the completion that the user will select. The + * priority is selected by various internal heuristics. + * + * \param completion_string The completion string to query. + * + * \returns The priority of this completion string. Smaller values indicate + * higher-priority (more likely) completions. + */ +CINDEX_LINKAGE unsigned +clang_getCompletionPriority(CXCompletionString completion_string); + +/** * \brief Contains the results of code-completion. * * This data structure contains the results of code completion, as Modified: vendor/clang/dist/include/clang/AST/ASTConsumer.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTConsumer.h Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/include/clang/AST/ASTConsumer.h Thu May 27 15:17:06 2010 (r208600) @@ -16,6 +16,7 @@ namespace clang { class ASTContext; + class CXXRecordDecl; class DeclGroupRef; class TagDecl; class HandleTagDeclDefinition; @@ -68,6 +69,17 @@ public: /// modified by the introduction of an implicit zero initializer. virtual void CompleteTentativeDefinition(VarDecl *D) {} + /// \brief Callback involved at the end of a translation unit to + /// notify the consumer that a vtable for the given C++ class is + /// required. + /// + /// \param RD The class whose vtable was used. + /// + /// \param DefinitionRequired Whether a definition of this vtable is + /// required in this translation unit; otherwise, it is only needed if + /// it was actually used. + virtual void HandleVTable(CXXRecordDecl *RD, bool DefinitionRequired) {} + /// PrintStats - If desired, print any statistics. virtual void PrintStats() {} Modified: vendor/clang/dist/include/clang/AST/ASTContext.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTContext.h Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/include/clang/AST/ASTContext.h Thu May 27 15:17:06 2010 (r208600) @@ -96,11 +96,10 @@ class ASTContext { llvm::FoldingSet TemplateTypeParmTypes; llvm::FoldingSet SubstTemplateTypeParmTypes; llvm::FoldingSet TemplateSpecializationTypes; - llvm::FoldingSet QualifiedNameTypes; + llvm::FoldingSet ElaboratedTypes; llvm::FoldingSet DependentNameTypes; - llvm::FoldingSet ObjCInterfaceTypes; + llvm::FoldingSet ObjCObjectTypes; llvm::FoldingSet ObjCObjectPointerTypes; - llvm::FoldingSet ElaboratedTypes; llvm::FoldingSet QualifiedTemplateNames; llvm::FoldingSet DependentTemplateNames; @@ -483,7 +482,7 @@ public: /// This gets the struct used to keep track of pointer to blocks, complete /// with captured variables. QualType getBlockParmType(bool BlockHasCopyDispose, - llvm::SmallVector &BDRDs); + llvm::SmallVectorImpl &Layout); /// This builds the struct used for __block variables. QualType BuildByRefType(const char *DeclName, QualType Ty); @@ -613,8 +612,9 @@ public: const TemplateArgumentListInfo &Args, QualType Canon = QualType()); - QualType getQualifiedNameType(NestedNameSpecifier *NNS, - QualType NamedType); + QualType getElaboratedType(ElaboratedTypeKeyword Keyword, + NestedNameSpecifier *NNS, + QualType NamedType); QualType getDependentNameType(ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, const IdentifierInfo *Name, @@ -623,19 +623,16 @@ public: NestedNameSpecifier *NNS, const TemplateSpecializationType *TemplateId, QualType Canon = QualType()); - QualType getElaboratedType(QualType UnderlyingType, - ElaboratedType::TagKind Tag); - QualType getObjCInterfaceType(const ObjCInterfaceDecl *Decl, - ObjCProtocolDecl **Protocols = 0, - unsigned NumProtocols = 0); - - /// getObjCObjectPointerType - Return a ObjCObjectPointerType type for the - /// given interface decl and the conforming protocol list. - QualType getObjCObjectPointerType(QualType OIT, - ObjCProtocolDecl **ProtocolList = 0, - unsigned NumProtocols = 0, - unsigned Quals = 0); + QualType getObjCInterfaceType(const ObjCInterfaceDecl *Decl); + + QualType getObjCObjectType(QualType Base, + ObjCProtocolDecl * const *Protocols, + unsigned NumProtocols); + + /// getObjCObjectPointerType - Return a ObjCObjectPointerType type + /// for the given ObjCObjectType. + QualType getObjCObjectPointerType(QualType OIT); /// getTypeOfType - GCC extension. QualType getTypeOfExprType(Expr *e); @@ -913,6 +910,9 @@ public: CharUnits getTypeAlignInChars(QualType T); CharUnits getTypeAlignInChars(const Type *T); + std::pair getTypeInfoInChars(const Type *T); + std::pair getTypeInfoInChars(QualType T); + /// getPreferredTypeAlign - Return the "preferred" alignment of the specified /// type for the current target in bits. This can be different than the ABI /// alignment in cases where it is beneficial for performance to overalign @@ -1184,8 +1184,8 @@ public: // Check the safety of assignment from LHS to RHS bool canAssignObjCInterfaces(const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT); - bool canAssignObjCInterfaces(const ObjCInterfaceType *LHS, - const ObjCInterfaceType *RHS); + bool canAssignObjCInterfaces(const ObjCObjectType *LHS, + const ObjCObjectType *RHS); bool canAssignObjCInterfacesInBlockPointer( const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT); @@ -1196,6 +1196,8 @@ public: // Functions for calculating composite types QualType mergeTypes(QualType, QualType, bool OfBlockPointer=false); QualType mergeFunctionTypes(QualType, QualType, bool OfBlockPointer=false); + + QualType mergeObjCGCQualifiers(QualType, QualType); /// UsualArithmeticConversionsType - handles the various conversions /// that are common to binary operators (C99 6.3.1.8, C++ [expr]p9) @@ -1270,6 +1272,15 @@ public: TypeSourceInfo * getTrivialTypeSourceInfo(QualType T, SourceLocation Loc = SourceLocation()); + /// \brief Add a deallocation callback that will be invoked when the + /// ASTContext is destroyed. + /// + /// \brief Callback A callback function that will be invoked on destruction. + /// + /// \brief Data Pointer data that will be provided to the callback function + /// when it is called. + void AddDeallocation(void (*Callback)(void*), void *Data); + private: ASTContext(const ASTContext&); // DO NOT IMPLEMENT void operator=(const ASTContext&); // DO NOT IMPLEMENT @@ -1284,16 +1295,21 @@ private: const FieldDecl *Field, bool OutermostType = false, bool EncodingProperty = false); - + const ASTRecordLayout &getObjCLayout(const ObjCInterfaceDecl *D, const ObjCImplementationDecl *Impl); private: + /// \brief A set of deallocations that should be performed when the + /// ASTContext is destroyed. + llvm::SmallVector, 16> Deallocations; + // FIXME: This currently contains the set of StoredDeclMaps used // by DeclContext objects. This probably should not be in ASTContext, // but we include it here so that ASTContext can quickly deallocate them. llvm::PointerIntPair LastSDM; friend class DeclContext; + friend class DeclarationNameTable; void ReleaseDeclContextMaps(); }; Modified: vendor/clang/dist/include/clang/AST/Attr.h ============================================================================== --- vendor/clang/dist/include/clang/AST/Attr.h Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/include/clang/AST/Attr.h Thu May 27 15:17:06 2010 (r208600) @@ -23,9 +23,10 @@ using llvm::dyn_cast; namespace clang { class ASTContext; + class IdentifierInfo; + class ObjCInterfaceDecl; } - // Defined in ASTContext.h void *operator new(size_t Bytes, clang::ASTContext &C, size_t Alignment = 16) throw (); @@ -44,6 +45,7 @@ public: enum Kind { Alias, Aligned, + AlignMac68k, AlwaysInline, AnalyzerNoReturn, // Clang-specific. Annotate, @@ -63,8 +65,10 @@ public: GNUInline, Hiding, IBOutletKind, // Clang-specific. Use "Kind" suffix to not conflict w/ macro. + IBOutletCollectionKind, // Clang-specific. IBActionKind, // Clang-specific. Use "Kind" suffix to not conflict w/ macro. Malloc, + MaxFieldAlignment, NoDebug, NoInline, NonNull, @@ -79,13 +83,13 @@ public: NSReturnsNotRetained, // Clang/Checker-specific. Overloadable, // Clang-specific Packed, - PragmaPack, Pure, Regparm, ReqdWorkGroupSize, // OpenCL-specific Section, Sentinel, StdCall, + ThisCall, TransparentUnion, Unavailable, Unused, @@ -183,11 +187,14 @@ public: DEF_SIMPLE_ATTR(Packed); -class PragmaPackAttr : public Attr { +/// \brief Attribute for specifying a maximum field alignment; this is only +/// valid on record decls. +class MaxFieldAlignmentAttr : public Attr { unsigned Alignment; public: - PragmaPackAttr(unsigned alignment) : Attr(PragmaPack), Alignment(alignment) {} + MaxFieldAlignmentAttr(unsigned alignment) + : Attr(MaxFieldAlignment), Alignment(alignment) {} /// getAlignment - The specified alignment in bits. unsigned getAlignment() const { return Alignment; } @@ -196,11 +203,13 @@ public: // Implement isa/cast/dyncast/etc. static bool classof(const Attr *A) { - return A->getKind() == PragmaPack; + return A->getKind() == MaxFieldAlignment; } - static bool classof(const PragmaPackAttr *A) { return true; } + static bool classof(const MaxFieldAlignmentAttr *A) { return true; } }; +DEF_SIMPLE_ATTR(AlignMac68k); + class AlignedAttr : public Attr { unsigned Alignment; public: @@ -317,6 +326,23 @@ public: static bool classof(const IBOutletAttr *A) { return true; } }; +class IBOutletCollectionAttr : public Attr { + const ObjCInterfaceDecl *D; +public: + IBOutletCollectionAttr(const ObjCInterfaceDecl *d = 0) + : Attr(IBOutletCollectionKind), D(d) {} + + const ObjCInterfaceDecl *getClass() const { return D; } + + virtual Attr *clone(ASTContext &C) const; + + // Implement isa/cast/dyncast/etc. + static bool classof(const Attr *A) { + return A->getKind() == IBOutletCollectionKind; + } + static bool classof(const IBOutletCollectionAttr *A) { return true; } +}; + class IBActionAttr : public Attr { public: IBActionAttr() : Attr(IBActionKind) {} @@ -457,6 +483,7 @@ public: DEF_SIMPLE_ATTR(FastCall); DEF_SIMPLE_ATTR(StdCall); +DEF_SIMPLE_ATTR(ThisCall); DEF_SIMPLE_ATTR(CDecl); DEF_SIMPLE_ATTR(TransparentUnion); DEF_SIMPLE_ATTR(ObjCNSObject); Added: vendor/clang/dist/include/clang/AST/CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/clang/dist/include/clang/AST/CMakeLists.txt Thu May 27 15:17:06 2010 (r208600) @@ -0,0 +1,5 @@ +set(LLVM_TARGET_DEFINITIONS StmtNodes.td) +tablegen(StmtNodes.inc + -gen-clang-stmt-nodes) +add_custom_target(ClangStmtNodes + DEPENDS StmtNodes.inc) Modified: vendor/clang/dist/include/clang/AST/CXXInheritance.h ============================================================================== --- vendor/clang/dist/include/clang/AST/CXXInheritance.h Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/include/clang/AST/CXXInheritance.h Thu May 27 15:17:06 2010 (r208600) @@ -196,7 +196,7 @@ public: /// \brief Determine whether the path from the most-derived type to the /// given base type is ambiguous (i.e., it refers to multiple subobjects of /// the same base type). - bool isAmbiguous(QualType BaseType); + bool isAmbiguous(CanQualType BaseType); /// \brief Whether we are finding multiple paths to detect ambiguities. bool isFindingAmbiguities() const { return FindAmbiguities; } Modified: vendor/clang/dist/include/clang/AST/CanonicalType.h ============================================================================== --- vendor/clang/dist/include/clang/AST/CanonicalType.h Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/include/clang/AST/CanonicalType.h Thu May 27 15:17:06 2010 (r208600) @@ -643,6 +643,24 @@ struct CanProxyAdaptor +struct CanProxyAdaptor + : public CanProxyBase { + LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getBaseType) + LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(const ObjCInterfaceDecl *, + getInterface) + LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isObjCUnqualifiedId) + LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isObjCUnqualifiedClass) + LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isObjCQualifiedId) + LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isObjCQualifiedClass) + + typedef ObjCObjectPointerType::qual_iterator qual_iterator; + LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(qual_iterator, qual_begin) + LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(qual_iterator, qual_end) + LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, qual_empty) + LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(unsigned, getNumProtocols) +}; + +template<> struct CanProxyAdaptor : public CanProxyBase { LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getPointeeType) Modified: vendor/clang/dist/include/clang/AST/Decl.h ============================================================================== --- vendor/clang/dist/include/clang/AST/Decl.h Thu May 27 15:15:58 2010 (r208599) +++ vendor/clang/dist/include/clang/AST/Decl.h Thu May 27 15:17:06 2010 (r208600) @@ -55,7 +55,7 @@ public: QualType getType() const { return Ty; } /// \brief Return the TypeLoc wrapper for the type source info. - TypeLoc getTypeLoc() const; + TypeLoc getTypeLoc() const; // implemented in TypeLoc.h }; /// TranslationUnitDecl - The top declaration context. @@ -138,6 +138,8 @@ public: // FIXME: Deprecated, move clients to getName(). std::string getNameAsString() const { return Name.getAsString(); } + void printName(llvm::raw_ostream &os) const { return Name.printName(os); } + /// getDeclName - Get the actual, stored name of the declaration, /// which may be a special name. DeclarationName getDeclName() const { return Name; } @@ -265,18 +267,25 @@ public: // \brief Returns true if this is an anonymous namespace declaration. // // For example: + /// \code // namespace { // ... // }; + // \endcode // q.v. C++ [namespace.unnamed] bool isAnonymousNamespace() const { return !getIdentifier(); } + /// \brief Return the next extended namespace declaration or null if this + /// is none. NamespaceDecl *getNextNamespace() { return NextNamespace; } const NamespaceDecl *getNextNamespace() const { return NextNamespace; } + + /// \brief Set the next extended namespace declaration. void setNextNamespace(NamespaceDecl *ND) { NextNamespace = ND; } + /// \brief Get the original (first) namespace declaration. NamespaceDecl *getOriginalNamespace() const { if (OrigOrAnonNamespace.getInt()) return const_cast(this); @@ -284,6 +293,14 @@ public: return OrigOrAnonNamespace.getPointer(); } + /// \brief Return true if this declaration is an original (first) declaration + /// of the namespace. This is false for non-original (subsequent) namespace + /// declarations and anonymous namespaces. + bool isOriginalNamespace() const { + return getOriginalNamespace() == this; + } + + /// \brief Set the original (first) namespace declaration. void setOriginalNamespace(NamespaceDecl *ND) { if (ND != this) { OrigOrAnonNamespace.setPointer(ND); @@ -502,6 +519,10 @@ private: /// or an Objective-C @catch statement. bool ExceptionVar : 1; + /// \brief Whether this local variable could be allocated in the return + /// slot of its function, enabling the named return value optimization (NRVO). + bool NRVOVariable : 1; + friend class StmtIteratorBase; protected: VarDecl(Kind DK, DeclContext *DC, SourceLocation L, IdentifierInfo *Id, @@ -509,7 +530,7 @@ protected: StorageClass SCAsWritten) : DeclaratorDecl(DK, DC, L, Id, T, TInfo), Init(), ThreadSpecified(false), HasCXXDirectInit(false), - DeclaredInCondition(false), ExceptionVar(false) { + DeclaredInCondition(false), ExceptionVar(false), NRVOVariable(false) { SClass = SC; SClassAsWritten = SCAsWritten; } @@ -852,6 +873,19 @@ public: } void setExceptionVariable(bool EV) { ExceptionVar = EV; } + /// \brief Determine whether this local variable can be used with the named + /// return value optimization (NRVO). + /// + /// The named return value optimization (NRVO) works by marking certain + /// non-volatile local variables of class type as NRVO objects. These + /// locals can be allocated within the return slot of their containing + /// function, in which case there is no need to copy the object to the + /// return slot when returning from the function. Within the function body, + /// each return that returns the NRVO object will have this variable as its + /// NRVO candidate. + bool isNRVOVariable() const { return NRVOVariable; } + void setNRVOVariable(bool NRVO) { NRVOVariable = NRVO; } + /// \brief If this variable is an instantiated static data member of a /// class template specialization, returns the templated static data member /// from which it was instantiated. @@ -1390,6 +1424,16 @@ public: /// returns NULL. const TemplateArgumentList *getTemplateSpecializationArgs() const; + /// \brief Retrieve the template argument list as written in the sources, + /// if any. + /// + /// If this function declaration is not a function template specialization + /// or if it had no explicit template argument list, returns NULL. + /// Note that it an explicit template argument list may be written empty, + /// e.g., template<> void foo<>(char* s); + const TemplateArgumentListInfo* + getTemplateSpecializationArgsAsWritten() const; + /// \brief Specify that this function declaration is actually a function /// template specialization. /// @@ -1409,7 +1453,8 @@ public: void setFunctionTemplateSpecialization(FunctionTemplateDecl *Template, const TemplateArgumentList *TemplateArgs, void *InsertPos, - TemplateSpecializationKind TSK = TSK_ImplicitInstantiation); + TemplateSpecializationKind TSK = TSK_ImplicitInstantiation, + const TemplateArgumentListInfo *TemplateArgsAsWritten = 0); /// \brief Specifies that this function declaration is actually a /// dependent function template specialization. @@ -1593,7 +1638,19 @@ class TypedefDecl : public TypeDecl, pub : TypeDecl(Typedef, DC, L, Id), TInfo(TInfo) {} virtual ~TypedefDecl(); + +protected: + typedef Redeclarable redeclarable_base; + virtual TypedefDecl *getNextRedeclaration() { return RedeclLink.getNext(); } + public: + typedef redeclarable_base::redecl_iterator redecl_iterator; + redecl_iterator redecls_begin() const { + return redeclarable_base::redecls_begin(); + } + redecl_iterator redecls_end() const { + return redeclarable_base::redecls_end(); + } static TypedefDecl *Create(ASTContext &C, DeclContext *DC, SourceLocation L, IdentifierInfo *Id, @@ -1631,11 +1688,7 @@ class TagDecl : public TypeDecl, public DeclContext, public Redeclarable { public: // This is really ugly. - typedef ElaboratedType::TagKind TagKind; - static const TagKind TK_struct = ElaboratedType::TK_struct; - static const TagKind TK_union = ElaboratedType::TK_union; - static const TagKind TK_class = ElaboratedType::TK_class; - static const TagKind TK_enum = ElaboratedType::TK_enum; + typedef TagTypeKind TagKind; private: // FIXME: This can be packed into the bitfields in Decl. @@ -1651,6 +1704,12 @@ private: /// in the syntax of a declarator. bool IsEmbeddedInDeclarator : 1; +protected: + // These are used by (and only defined for) EnumDecl. + unsigned NumPositiveBits : 8; + unsigned NumNegativeBits : 8; + +private: SourceLocation TagKeywordLoc; SourceLocation RBraceLoc; @@ -1680,7 +1739,8 @@ protected: TagDecl *PrevDecl, SourceLocation TKL = SourceLocation()) : TypeDecl(DK, DC, L, Id), DeclContext(DK), TagKeywordLoc(TKL), TypedefDeclOrQualifier((TypedefDecl*) 0) { - assert((DK != Enum || TK == TK_enum) &&"EnumDecl not matched with TK_enum"); + assert((DK != Enum || TK == TTK_Enum) && + "EnumDecl not matched with TTK_Enum"); TagDeclKind = TK; IsDefinition = false; IsEmbeddedInDeclarator = false; @@ -1753,30 +1813,26 @@ public: void setDefinition(bool V) { IsDefinition = V; } const char *getKindName() const { - return ElaboratedType::getNameForTagKind(getTagKind()); + return TypeWithKeyword::getTagTypeKindName(getTagKind()); } - /// getTagKindForTypeSpec - Converts a type specifier (DeclSpec::TST) - /// into a tag kind. It is an error to provide a type specifier - /// which *isn't* a tag kind here. - static TagKind getTagKindForTypeSpec(unsigned TypeSpec); - TagKind getTagKind() const { return TagKind(TagDeclKind); } void setTagKind(TagKind TK) { TagDeclKind = TK; } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@FreeBSD.ORG Fri May 28 18:39:16 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A04B4106567A; Fri, 28 May 2010 18:39:16 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from mx0.hoeg.nl (mx0.hoeg.nl [IPv6:2001:4dd0:ff41::b23f:aa]) by mx1.freebsd.org (Postfix) with ESMTP id 5E9698FC2A; Fri, 28 May 2010 18:39:16 +0000 (UTC) Received: by mx0.hoeg.nl (Postfix, from userid 1000) id 0C6C02A28CBE; Fri, 28 May 2010 20:39:15 +0200 (CEST) Date: Fri, 28 May 2010 20:39:15 +0200 From: Ed Schouten To: Roman Divacky Message-ID: <20100528183915.GN56080@hoeg.nl> References: <201005271515.o4RFFx0I008237@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="0iSpYRf9rOurbk0+" Content-Disposition: inline In-Reply-To: <201005271515.o4RFFx0I008237@svn.freebsd.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-vendor@freebsd.org Subject: Re: svn commit: r208599 - in vendor/llvm/dist: . autoconf docs docs/CommandGuide docs/tutorial include/llvm include/llvm/ADT include/llvm/Analysis include/llvm/CodeGen include/llvm/Config include/llvm/... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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: Fri, 28 May 2010 18:39:16 -0000 --0iSpYRf9rOurbk0+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Roman Divacky wrote: > Log: > Update LLVM to r104832. So is there any chance we can start tagging LLVM snapshots again? Tags in SVN are basically free. --=20 Ed Schouten WWW: http://80386.nl/ --0iSpYRf9rOurbk0+ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAkwADdMACgkQ52SDGA2eCwVZIwCfeXS7wPomE0kl7buMNJUvlAiB nIgAnjQ5d2crAbaYue6PlWfDI/p50DEf =02e2 -----END PGP SIGNATURE----- --0iSpYRf9rOurbk0+-- From owner-svn-src-vendor@FreeBSD.ORG Fri May 28 18:46:49 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2BA591065670; Fri, 28 May 2010 18:46:49 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1637D8FC12; Fri, 28 May 2010 18:46:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4SIkn7P077448; Fri, 28 May 2010 18:46:49 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4SIkmtP077438; Fri, 28 May 2010 18:46:48 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201005281846.o4SIkmtP077438@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 28 May 2010 18:46:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r208625 - in vendor-sys/acpica/dist: . common compiler debugger disassembler dispatcher events executer hardware include namespace os_specific/service_layers tools/acpiexec tools/acpisr... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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: Fri, 28 May 2010 18:46:49 -0000 Author: jkim Date: Fri May 28 18:46:48 2010 New Revision: 208625 URL: http://svn.freebsd.org/changeset/base/208625 Log: Import ACPICA 20100528. Added: vendor-sys/acpica/dist/compiler/dtcompile.c (contents, props changed) vendor-sys/acpica/dist/compiler/dtcompiler.h (contents, props changed) vendor-sys/acpica/dist/compiler/dtfield.c (contents, props changed) vendor-sys/acpica/dist/compiler/dtio.c (contents, props changed) vendor-sys/acpica/dist/compiler/dtsubtable.c (contents, props changed) vendor-sys/acpica/dist/compiler/dttable.c (contents, props changed) vendor-sys/acpica/dist/compiler/dtutils.c (contents, props changed) Modified: vendor-sys/acpica/dist/changes.txt vendor-sys/acpica/dist/common/adisasm.c vendor-sys/acpica/dist/common/adwalk.c vendor-sys/acpica/dist/common/dmextern.c vendor-sys/acpica/dist/common/dmrestag.c vendor-sys/acpica/dist/common/dmtable.c vendor-sys/acpica/dist/common/dmtbdump.c vendor-sys/acpica/dist/common/dmtbinfo.c vendor-sys/acpica/dist/compiler/Makefile vendor-sys/acpica/dist/compiler/aslanalyze.c vendor-sys/acpica/dist/compiler/aslcompile.c vendor-sys/acpica/dist/compiler/aslcompiler.h vendor-sys/acpica/dist/compiler/aslcompiler.l vendor-sys/acpica/dist/compiler/aslcompiler.y vendor-sys/acpica/dist/compiler/asldefine.h vendor-sys/acpica/dist/compiler/aslerror.c vendor-sys/acpica/dist/compiler/aslfiles.c vendor-sys/acpica/dist/compiler/aslglobal.h vendor-sys/acpica/dist/compiler/asllookup.c vendor-sys/acpica/dist/compiler/aslmain.c vendor-sys/acpica/dist/compiler/aslopt.c vendor-sys/acpica/dist/compiler/aslpredef.c vendor-sys/acpica/dist/compiler/aslstartup.c vendor-sys/acpica/dist/compiler/asltransform.c vendor-sys/acpica/dist/compiler/asltree.c vendor-sys/acpica/dist/compiler/asltypes.h vendor-sys/acpica/dist/compiler/aslutils.c vendor-sys/acpica/dist/debugger/dbcmds.c vendor-sys/acpica/dist/debugger/dbdisply.c vendor-sys/acpica/dist/debugger/dbexec.c vendor-sys/acpica/dist/debugger/dbfileio.c vendor-sys/acpica/dist/debugger/dbhistry.c vendor-sys/acpica/dist/debugger/dbinput.c vendor-sys/acpica/dist/debugger/dbutils.c vendor-sys/acpica/dist/disassembler/dmobject.c vendor-sys/acpica/dist/disassembler/dmopcode.c vendor-sys/acpica/dist/disassembler/dmresrc.c vendor-sys/acpica/dist/dispatcher/dsinit.c vendor-sys/acpica/dist/dispatcher/dsmethod.c vendor-sys/acpica/dist/dispatcher/dsmthdat.c vendor-sys/acpica/dist/dispatcher/dsopcode.c vendor-sys/acpica/dist/dispatcher/dsutils.c vendor-sys/acpica/dist/events/evgpeutil.c vendor-sys/acpica/dist/events/evrgnini.c vendor-sys/acpica/dist/executer/exdump.c vendor-sys/acpica/dist/executer/exfldio.c vendor-sys/acpica/dist/executer/exprep.c vendor-sys/acpica/dist/executer/exregion.c vendor-sys/acpica/dist/executer/exsystem.c vendor-sys/acpica/dist/hardware/hwsleep.c vendor-sys/acpica/dist/hardware/hwvalid.c vendor-sys/acpica/dist/include/acconfig.h vendor-sys/acpica/dist/include/acdisasm.h vendor-sys/acpica/dist/include/acexcep.h vendor-sys/acpica/dist/include/acglobal.h vendor-sys/acpica/dist/include/aclocal.h vendor-sys/acpica/dist/include/acnamesp.h vendor-sys/acpica/dist/include/acobject.h vendor-sys/acpica/dist/include/acpixf.h vendor-sys/acpica/dist/include/acpredef.h vendor-sys/acpica/dist/include/acstruct.h vendor-sys/acpica/dist/include/actbl2.h vendor-sys/acpica/dist/namespace/nsaccess.c vendor-sys/acpica/dist/namespace/nsalloc.c vendor-sys/acpica/dist/namespace/nsdump.c vendor-sys/acpica/dist/namespace/nsinit.c vendor-sys/acpica/dist/namespace/nsnames.c vendor-sys/acpica/dist/namespace/nsparse.c vendor-sys/acpica/dist/namespace/nsrepair2.c vendor-sys/acpica/dist/namespace/nssearch.c vendor-sys/acpica/dist/namespace/nsutils.c vendor-sys/acpica/dist/namespace/nswalk.c vendor-sys/acpica/dist/namespace/nsxfobj.c vendor-sys/acpica/dist/os_specific/service_layers/oswinxf.c vendor-sys/acpica/dist/tools/acpiexec/aehandlers.c vendor-sys/acpica/dist/tools/acpiexec/aemain.c vendor-sys/acpica/dist/tools/acpisrc/asconvrt.c vendor-sys/acpica/dist/tools/acpisrc/asfile.c vendor-sys/acpica/dist/tools/acpixtract/acpixtract.c vendor-sys/acpica/dist/utilities/utglobal.c vendor-sys/acpica/dist/utilities/uttrack.c Modified: vendor-sys/acpica/dist/changes.txt ============================================================================== --- vendor-sys/acpica/dist/changes.txt Fri May 28 18:15:34 2010 (r208624) +++ vendor-sys/acpica/dist/changes.txt Fri May 28 18:46:48 2010 (r208625) @@ -1,4 +1,91 @@ ---------------------------------------- +28 May 2010. Summary of changes for version 20100528: + +This release is available at www.acpica.org/downloads + +Note: The ACPI 4.0a specification was released on April 5, 2010 and is +available at www.acpi.info. This is primarily an errata release. + +1) ACPI CA Core Subsystem: + +Undefined ACPI tables: We are looking for the definitions for the following +ACPI tables that have been seen in the field: ATKG, IEIT, GSCI. + +Implemented support to enable multi-byte transfers for Embedded Controller +(EC) operation regions. Previously, the maximum data size passed to the EC +operation region handler was a single byte. There are often EC Fields larger +than one byte that need to be transferred, and it is useful for the EC driver +to lock these as a single transaction. This change enables single transfers +larger than 8 bits. This effectively changes the access to the EC space from +ByteAcc to AnyAcc, and will probably require changes to the host OS Embedded +Controller driver to enable 16/32/64/256-bit transfers in addition to 8-bit +transfers. Alexey Starikovskiy, Lin Ming + +Implemented a performance enhancement for namespace search and access. This +change enhances the performance of namespace searches and walks by adding a +backpointer to the parent in each namespace node. On large namespaces, this +change can improve overall ACPI performance by up to 9X. Adding a pointer to +each namespace node increases the overall size of the internal namespace by +about 5%, since each namespace entry usually consists of both a namespace +node and an ACPI operand object. However, this is the first growth of the +namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy. + +Implemented a performance optimization that reduces the number of namespace +walks. On control method exit, only walk the namespace if the method is known +to have created namespace objects outside of its local scope. Previously, the +entire namespace was traversed on each control method exit. This change can +improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob Moore. + +Added support to truncate I/O addresses to 16 bits for Windows compatibility. +Some ASL code has been seen in the field that inadvertently has bits set +above bit 15. This feature is optional and is enabled if the BIOS requests +any Windows OSI strings. It can also be enabled by the host OS. Matthew +Garrett, Bob Moore. + +Added support to limit the maximum time for the ASL Sleep() operator. To +prevent accidental deep sleeps, limit the maximum time that Sleep() will +actually sleep. Configurable, the default maximum is two seconds. ACPICA +bugzilla 854. + +Added run-time validation support for the _WDG and_WED Microsoft predefined +methods. These objects are defined by "Windows Instrumentation", and are not +part of the ACPI spec. ACPICA BZ 860. + +Expanded all statistic counters used during namespace and device +initialization from 16 to 32 bits in order to support very large namespaces. + +Replaced all instances of %d in printf format specifiers with %u since nearly +all integers in ACPICA are unsigned. + +Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly returned +as AE_NO_HANDLER. + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 6.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. + + Previous Release: + Non-Debug Version: 88.4K Code, 18.8K Data, 107.2K Total + Debug Version: 164.2K Code, 51.5K Data, 215.7K Total + Current Release: + Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total + Debug Version: 164.1K Code, 51.5K Data, 215.6K Total + +2) iASL Compiler/Disassembler and Tools: + +iASL: Added compiler support for the _WDG and_WED Microsoft predefined +methods. These objects are defined by "Windows Instrumentation", and are not +part of the ACPI spec. ACPICA BZ 860. + +AcpiExec: added option to disable the memory tracking mechanism. The -dt +option will disable the tracking mechanism, which improves performance +considerably. + +AcpiExec: Restructured the command line options into -d (disable) and -e +(enable) options. + +---------------------------------------- 28 April 2010. Summary of changes for version 20100428: 1) ACPI CA Core Subsystem: Modified: vendor-sys/acpica/dist/common/adisasm.c ============================================================================== --- vendor-sys/acpica/dist/common/adisasm.c Fri May 28 18:15:34 2010 (r208624) +++ vendor-sys/acpica/dist/common/adisasm.c Fri May 28 18:46:48 2010 (r208625) @@ -502,7 +502,7 @@ AdAmlDisassemble ( if (AcpiDmGetExternalMethodCount ()) { fprintf (stderr, - "\nFound %d external control methods, reparsing with new information\n", + "\nFound %u external control methods, reparsing with new information\n", AcpiDmGetExternalMethodCount ()); /* @@ -515,10 +515,11 @@ AdAmlDisassemble ( AcpiGbl_RootNodeStruct.Name.Integer = ACPI_ROOT_NAME; AcpiGbl_RootNodeStruct.DescriptorType = ACPI_DESC_TYPE_NAMED; AcpiGbl_RootNodeStruct.Type = ACPI_TYPE_DEVICE; + AcpiGbl_RootNodeStruct.Parent = NULL; AcpiGbl_RootNodeStruct.Child = NULL; AcpiGbl_RootNodeStruct.Peer = NULL; AcpiGbl_RootNodeStruct.Object = NULL; - AcpiGbl_RootNodeStruct.Flags = ANOBJ_END_OF_PEER_LIST; + AcpiGbl_RootNodeStruct.Flags = 0; Status = AcpiNsRootInitialize (); AcpiDmAddExternalsToNamespace (); @@ -706,7 +707,7 @@ AdCreateTableHeader ( /* Open the ASL definition block */ AcpiOsPrintf ( - "DefinitionBlock (\"%s\", \"%4.4s\", %hd, \"%.6s\", \"%.8s\", 0x%8.8X)\n", + "DefinitionBlock (\"%s\", \"%4.4s\", %hu, \"%.6s\", \"%.8s\", 0x%8.8X)\n", NewFilename, Table->Signature, Table->Revision, Table->OemId, Table->OemTableId, Table->OemRevision); @@ -1018,7 +1019,7 @@ AdGetLocalTables ( * is architecture-dependent. */ NumTables = (NewTable->Length - sizeof (ACPI_TABLE_HEADER)) / PointerSize; - AcpiOsPrintf ("There are %d tables defined in the %4.4s\n\n", + AcpiOsPrintf ("There are %u tables defined in the %4.4s\n\n", NumTables, NewTable->Signature); /* Get the FADT */ Modified: vendor-sys/acpica/dist/common/adwalk.c ============================================================================== --- vendor-sys/acpica/dist/common/adwalk.c Fri May 28 18:15:34 2010 (r208624) +++ vendor-sys/acpica/dist/common/adwalk.c Fri May 28 18:46:48 2010 (r208625) @@ -537,7 +537,7 @@ AcpiDmFindOrphanDescending ( } ArgCount = AcpiDmInspectPossibleArgs (3, 1, NextOp); - AcpiOsPrintf ("/* A-CHILDREN: %d Actual %d */\n", ArgCount, AcpiDmCountChildren (Op)); + AcpiOsPrintf ("/* A-CHILDREN: %u Actual %u */\n", ArgCount, AcpiDmCountChildren (Op)); if (ArgCount < 1) { Modified: vendor-sys/acpica/dist/common/dmextern.c ============================================================================== --- vendor-sys/acpica/dist/common/dmextern.c Fri May 28 18:15:34 2010 (r208624) +++ vendor-sys/acpica/dist/common/dmextern.c Fri May 28 18:46:48 2010 (r208625) @@ -252,7 +252,7 @@ AcpiDmNormalizeParentPrefix ( Node = Op->Common.Node; while (Node && (*Path == (UINT8) AML_PARENT_PREFIX)) { - Node = AcpiNsGetParentNode (Node); + Node = Node->Parent; Path++; } @@ -629,7 +629,7 @@ AcpiDmEmitExternals ( if (AcpiGbl_ExternalList->Type == ACPI_TYPE_METHOD) { - AcpiOsPrintf (") // %d Arguments\n", + AcpiOsPrintf (") // %u Arguments\n", AcpiGbl_ExternalList->Value); } else Modified: vendor-sys/acpica/dist/common/dmrestag.c ============================================================================== --- vendor-sys/acpica/dist/common/dmrestag.c Fri May 28 18:15:34 2010 (r208624) +++ vendor-sys/acpica/dist/common/dmrestag.c Fri May 28 18:46:48 2010 (r208625) @@ -549,13 +549,6 @@ AcpiDmGetResourceNode ( return (Node); } - /* List is circular, this flag marks the end */ - - if (Node->Flags & ANOBJ_END_OF_PEER_LIST) - { - return (NULL); - } - Node = Node->Peer; } Modified: vendor-sys/acpica/dist/common/dmtable.c ============================================================================== --- vendor-sys/acpica/dist/common/dmtable.c Fri May 28 18:15:34 2010 (r208624) +++ vendor-sys/acpica/dist/common/dmtable.c Fri May 28 18:46:48 2010 (r208625) @@ -117,6 +117,7 @@ #include "accommon.h" #include "acdisasm.h" #include "actables.h" +#include "dtcompiler.h" /* This module used for application-level code only */ @@ -125,10 +126,6 @@ /* Local Prototypes */ -static ACPI_DMTABLE_DATA * -AcpiDmGetTableData ( - char *Signature); - static void AcpiDmCheckAscii ( UINT8 *Target, @@ -247,37 +244,37 @@ static const char *AcpiDmFadtP static ACPI_DMTABLE_DATA AcpiDmTableData[] = { - {ACPI_SIG_ASF, NULL, AcpiDmDumpAsf, "Alert Standard Format table"}, - {ACPI_SIG_BOOT, AcpiDmTableInfoBoot, NULL, "Simple Boot Flag Table"}, - {ACPI_SIG_BERT, AcpiDmTableInfoBert, NULL, "Boot Error Record Table"}, - {ACPI_SIG_CPEP, NULL, AcpiDmDumpCpep, "Corrected Platform Error Polling table"}, - {ACPI_SIG_DBGP, AcpiDmTableInfoDbgp, NULL, "Debug Port table"}, - {ACPI_SIG_DMAR, NULL, AcpiDmDumpDmar, "DMA Remapping table"}, - {ACPI_SIG_ECDT, AcpiDmTableInfoEcdt, NULL, "Embedded Controller Boot Resources Table"}, - {ACPI_SIG_EINJ, NULL, AcpiDmDumpEinj, "Error Injection table"}, - {ACPI_SIG_ERST, NULL, AcpiDmDumpErst, "Error Record Serialization Table"}, - {ACPI_SIG_FADT, NULL, AcpiDmDumpFadt, "Fixed ACPI Description Table"}, - {ACPI_SIG_HEST, NULL, AcpiDmDumpHest, "Hardware Error Source Table"}, - {ACPI_SIG_HPET, AcpiDmTableInfoHpet, NULL, "High Precision Event Timer table"}, - {ACPI_SIG_IVRS, NULL, AcpiDmDumpIvrs, "I/O Virtualization Reporting Structure"}, - {ACPI_SIG_MADT, NULL, AcpiDmDumpMadt, "Multiple APIC Description Table"}, - {ACPI_SIG_MCFG, NULL, AcpiDmDumpMcfg, "Memory Mapped Configuration table"}, - {ACPI_SIG_MCHI, AcpiDmTableInfoMchi, NULL, "Management Controller Host Interface table"}, - {ACPI_SIG_MSCT, NULL, AcpiDmDumpMsct, "Maximum System Characteristics Table"}, - {ACPI_SIG_RSDT, NULL, AcpiDmDumpRsdt, "Root System Description Table"}, - {ACPI_SIG_SBST, AcpiDmTableInfoSbst, NULL, "Smart Battery Specification Table"}, - {ACPI_SIG_SLIC, AcpiDmTableInfoSlic, NULL, "Software Licensing Description Table"}, - {ACPI_SIG_SLIT, NULL, AcpiDmDumpSlit, "System Locality Information Table"}, - {ACPI_SIG_SPCR, AcpiDmTableInfoSpcr, NULL, "Serial Port Console Redirection table"}, - {ACPI_SIG_SPMI, AcpiDmTableInfoSpmi, NULL, "Server Platform Management Interface table"}, - {ACPI_SIG_SRAT, NULL, AcpiDmDumpSrat, "System Resource Affinity Table"}, - {ACPI_SIG_TCPA, AcpiDmTableInfoTcpa, NULL, "Trusted Computing Platform Alliance table"}, - {ACPI_SIG_UEFI, AcpiDmTableInfoUefi, NULL, "UEFI Boot Optimization Table"}, - {ACPI_SIG_WAET, AcpiDmTableInfoWaet, NULL, "Windows ACPI Emulated Devices Table"}, - {ACPI_SIG_WDAT, NULL, AcpiDmDumpWdat, "Watchdog Action Table"}, - {ACPI_SIG_WDRT, AcpiDmTableInfoWdrt, NULL, "Watchdog Resource Table"}, - {ACPI_SIG_XSDT, NULL, AcpiDmDumpXsdt, "Extended System Description Table"}, - {NULL, NULL, NULL, NULL} + {ACPI_SIG_ASF, NULL, AcpiDmDumpAsf, DtCompileAsf, "Alert Standard Format table"}, + {ACPI_SIG_BOOT, AcpiDmTableInfoBoot, NULL, NULL, "Simple Boot Flag Table"}, + {ACPI_SIG_BERT, AcpiDmTableInfoBert, NULL, NULL, "Boot Error Record Table"}, + {ACPI_SIG_CPEP, NULL, AcpiDmDumpCpep, DtCompileCpep, "Corrected Platform Error Polling table"}, + {ACPI_SIG_DBGP, AcpiDmTableInfoDbgp, NULL, NULL, "Debug Port table"}, + {ACPI_SIG_DMAR, NULL, AcpiDmDumpDmar, DtCompileDmar, "DMA Remapping table"}, + {ACPI_SIG_ECDT, AcpiDmTableInfoEcdt, NULL, NULL, "Embedded Controller Boot Resources Table"}, + {ACPI_SIG_EINJ, NULL, AcpiDmDumpEinj, DtCompileEinj, "Error Injection table"}, + {ACPI_SIG_ERST, NULL, AcpiDmDumpErst, DtCompileErst, "Error Record Serialization Table"}, + {ACPI_SIG_FADT, NULL, AcpiDmDumpFadt, DtCompileFadt, "Fixed ACPI Description Table"}, + {ACPI_SIG_HEST, NULL, AcpiDmDumpHest, DtCompileHest, "Hardware Error Source Table"}, + {ACPI_SIG_HPET, AcpiDmTableInfoHpet, NULL, NULL, "High Precision Event Timer table"}, + {ACPI_SIG_IVRS, NULL, AcpiDmDumpIvrs, DtCompileIvrs, "I/O Virtualization Reporting Structure"}, + {ACPI_SIG_MADT, NULL, AcpiDmDumpMadt, DtCompileMadt, "Multiple APIC Description Table"}, + {ACPI_SIG_MCFG, NULL, AcpiDmDumpMcfg, DtCompileMcfg, "Memory Mapped Configuration table"}, + {ACPI_SIG_MCHI, AcpiDmTableInfoMchi, NULL, NULL, "Management Controller Host Interface table"}, + {ACPI_SIG_MSCT, NULL, AcpiDmDumpMsct, DtCompileMsct, "Maximum System Characteristics Table"}, + {ACPI_SIG_RSDT, NULL, AcpiDmDumpRsdt, DtCompileRsdt, "Root System Description Table"}, + {ACPI_SIG_SBST, AcpiDmTableInfoSbst, NULL, NULL, "Smart Battery Specification Table"}, + {ACPI_SIG_SLIC, AcpiDmTableInfoSlic, NULL, NULL, "Software Licensing Description Table"}, + {ACPI_SIG_SLIT, NULL, AcpiDmDumpSlit, DtCompileSlit, "System Locality Information Table"}, + {ACPI_SIG_SPCR, AcpiDmTableInfoSpcr, NULL, NULL, "Serial Port Console Redirection table"}, + {ACPI_SIG_SPMI, AcpiDmTableInfoSpmi, NULL, NULL, "Server Platform Management Interface table"}, + {ACPI_SIG_SRAT, NULL, AcpiDmDumpSrat, DtCompileSrat, "System Resource Affinity Table"}, + {ACPI_SIG_TCPA, AcpiDmTableInfoTcpa, NULL, NULL, "Trusted Computing Platform Alliance table"}, + {ACPI_SIG_UEFI, AcpiDmTableInfoUefi, NULL, NULL, "UEFI Boot Optimization Table"}, + {ACPI_SIG_WAET, AcpiDmTableInfoWaet, NULL, NULL, "Windows ACPI Emulated Devices Table"}, + {ACPI_SIG_WDAT, NULL, AcpiDmDumpWdat, DtCompileWdat, "Watchdog Action Table"}, + {ACPI_SIG_WDRT, AcpiDmTableInfoWdrt, NULL, NULL, "Watchdog Resource Table"}, + {ACPI_SIG_XSDT, NULL, AcpiDmDumpXsdt, DtCompileXsdt, "Extended System Description Table"}, + {NULL, NULL, NULL, NULL, NULL} }; @@ -328,7 +325,7 @@ AcpiTbGenerateChecksum ( * ******************************************************************************/ -static ACPI_DMTABLE_DATA * +ACPI_DMTABLE_DATA * AcpiDmGetTableData ( char *Signature) { Modified: vendor-sys/acpica/dist/common/dmtbdump.c ============================================================================== --- vendor-sys/acpica/dist/common/dmtbdump.c Fri May 28 18:15:34 2010 (r208624) +++ vendor-sys/acpica/dist/common/dmtbdump.c Fri May 28 18:46:48 2010 (r208625) @@ -1174,7 +1174,7 @@ AcpiDmDumpMcfg ( { if (Offset + sizeof (ACPI_MCFG_ALLOCATION) > Table->Length) { - AcpiOsPrintf ("Warning: there are %d invalid trailing bytes\n", + AcpiOsPrintf ("Warning: there are %u invalid trailing bytes\n", sizeof (ACPI_MCFG_ALLOCATION) - (Offset - Table->Length)); return; } Modified: vendor-sys/acpica/dist/common/dmtbinfo.c ============================================================================== --- vendor-sys/acpica/dist/common/dmtbinfo.c Fri May 28 18:15:34 2010 (r208624) +++ vendor-sys/acpica/dist/common/dmtbinfo.c Fri May 28 18:46:48 2010 (r208625) @@ -230,6 +230,11 @@ #define ACPI_MADT9_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_X2APIC,f,o) #define ACPI_MADT10_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_X2APIC_NMI,f,o) +/* + * Required terminator for all tables below + */ +#define ACPI_DMT_TERMINATOR {ACPI_DMT_EXIT, 0, NULL, 0} + /* * ACPI Table Information, used to dump formatted ACPI tables @@ -245,16 +250,16 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[] = { - {ACPI_DMT_SIG, ACPI_HDR_OFFSET (Signature[0]), "Signature"}, - {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (Length), "Table Length"}, - {ACPI_DMT_UINT8, ACPI_HDR_OFFSET (Revision), "Revision"}, - {ACPI_DMT_CHKSUM, ACPI_HDR_OFFSET (Checksum), "Checksum"}, - {ACPI_DMT_NAME6, ACPI_HDR_OFFSET (OemId[0]), "Oem ID"}, - {ACPI_DMT_NAME8, ACPI_HDR_OFFSET (OemTableId[0]), "Oem Table ID"}, - {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (OemRevision), "Oem Revision"}, - {ACPI_DMT_NAME4, ACPI_HDR_OFFSET (AslCompilerId[0]), "Asl Compiler ID"}, - {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (AslCompilerRevision), "Asl Compiler Revision"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_SIG, ACPI_HDR_OFFSET (Signature[0]), "Signature", 0}, + {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (Length), "Table Length", DT_LENGTH}, + {ACPI_DMT_UINT8, ACPI_HDR_OFFSET (Revision), "Revision", 0}, + {ACPI_DMT_CHKSUM, ACPI_HDR_OFFSET (Checksum), "Checksum", 0}, + {ACPI_DMT_NAME6, ACPI_HDR_OFFSET (OemId[0]), "Oem ID", 0}, + {ACPI_DMT_NAME8, ACPI_HDR_OFFSET (OemTableId[0]), "Oem Table ID", 0}, + {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (OemRevision), "Oem Revision", 0}, + {ACPI_DMT_NAME4, ACPI_HDR_OFFSET (AslCompilerId[0]), "Asl Compiler ID", 0}, + {ACPI_DMT_UINT32, ACPI_HDR_OFFSET (AslCompilerRevision), "Asl Compiler Revision", 0}, + ACPI_DMT_TERMINATOR }; @@ -266,12 +271,12 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoGas[] = { - {ACPI_DMT_SPACEID, ACPI_GAS_OFFSET (SpaceId), "Space ID"}, - {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (BitWidth), "Bit Width"}, - {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (BitOffset), "Bit Offset"}, - {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (AccessWidth), "Access Width"}, - {ACPI_DMT_UINT64, ACPI_GAS_OFFSET (Address), "Address"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_SPACEID, ACPI_GAS_OFFSET (SpaceId), "Space ID", 0}, + {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (BitWidth), "Bit Width", 0}, + {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (BitOffset), "Bit Offset", 0}, + {ACPI_DMT_UINT8, ACPI_GAS_OFFSET (AccessWidth), "Access Width", 0}, + {ACPI_DMT_UINT64, ACPI_GAS_OFFSET (Address), "Address", 0}, + ACPI_DMT_TERMINATOR }; @@ -283,23 +288,23 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[] = { - {ACPI_DMT_NAME8, ACPI_RSDP_OFFSET (Signature[0]), "Signature"}, - {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (Checksum), "Checksum"}, - {ACPI_DMT_NAME6, ACPI_RSDP_OFFSET (OemId[0]), "Oem ID"}, - {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (Revision), "Revision"}, - {ACPI_DMT_UINT32, ACPI_RSDP_OFFSET (RsdtPhysicalAddress), "RSDT Address"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_NAME8, ACPI_RSDP_OFFSET (Signature[0]), "Signature", 0}, + {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (Checksum), "Checksum", 0}, + {ACPI_DMT_NAME6, ACPI_RSDP_OFFSET (OemId[0]), "Oem ID", 0}, + {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (Revision), "Revision", 0}, + {ACPI_DMT_UINT32, ACPI_RSDP_OFFSET (RsdtPhysicalAddress), "RSDT Address", 0}, + ACPI_DMT_TERMINATOR }; /* ACPI 2.0+ Extensions */ ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[] = { - {ACPI_DMT_UINT32, ACPI_RSDP_OFFSET (Length), "Length"}, - {ACPI_DMT_UINT64, ACPI_RSDP_OFFSET (XsdtPhysicalAddress), "XSDT Address"}, - {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (ExtendedChecksum), "Extended Checksum"}, - {ACPI_DMT_UINT24, ACPI_RSDP_OFFSET (Reserved[0]), "Reserved"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT32, ACPI_RSDP_OFFSET (Length), "Length", DT_LENGTH}, + {ACPI_DMT_UINT64, ACPI_RSDP_OFFSET (XsdtPhysicalAddress), "XSDT Address", 0}, + {ACPI_DMT_UINT8, ACPI_RSDP_OFFSET (ExtendedChecksum), "Extended Checksum", 0}, + {ACPI_DMT_UINT24, ACPI_RSDP_OFFSET (Reserved[0]), "Reserved", 0}, + ACPI_DMT_TERMINATOR }; @@ -311,20 +316,20 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[] = { - {ACPI_DMT_NAME4, ACPI_FACS_OFFSET (Signature[0]), "Signature"}, - {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (Length), "Length"}, - {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (HardwareSignature), "Hardware Signature"}, - {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (FirmwareWakingVector), "32 Firmware Waking Vector"}, - {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (GlobalLock), "Global Lock"}, - {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (Flags), "Flags (decoded below)"}, - {ACPI_DMT_FLAG0, ACPI_FACS_FLAG_OFFSET (Flags,0), "S4BIOS Support Present"}, - {ACPI_DMT_FLAG1, ACPI_FACS_FLAG_OFFSET (Flags,0), "64-bit Wake Supported (V2)"}, - {ACPI_DMT_UINT64, ACPI_FACS_OFFSET (XFirmwareWakingVector), "64 Firmware Waking Vector"}, - {ACPI_DMT_UINT8, ACPI_FACS_OFFSET (Version), "Version"}, - {ACPI_DMT_UINT24, ACPI_FACS_OFFSET (Reserved[0]), "Reserved"}, - {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (OspmFlags), "OspmFlags (decoded below)"}, - {ACPI_DMT_FLAG0, ACPI_FACS_FLAG_OFFSET (OspmFlags,0), "64-bit Wake Env Required (V2)"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_NAME4, ACPI_FACS_OFFSET (Signature[0]), "Signature", 0}, + {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (Length), "Length", DT_LENGTH}, + {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (HardwareSignature), "Hardware Signature", 0}, + {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (FirmwareWakingVector), "32 Firmware Waking Vector", 0}, + {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (GlobalLock), "Global Lock", 0}, + {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, + {ACPI_DMT_FLAG0, ACPI_FACS_FLAG_OFFSET (Flags,0), "S4BIOS Support Present", 0}, + {ACPI_DMT_FLAG1, ACPI_FACS_FLAG_OFFSET (Flags,0), "64-bit Wake Supported (V2)", 0}, + {ACPI_DMT_UINT64, ACPI_FACS_OFFSET (XFirmwareWakingVector), "64 Firmware Waking Vector", 0}, + {ACPI_DMT_UINT8, ACPI_FACS_OFFSET (Version), "Version", 0}, + {ACPI_DMT_UINT24, ACPI_FACS_OFFSET (Reserved[0]), "Reserved", 0}, + {ACPI_DMT_UINT32, ACPI_FACS_OFFSET (OspmFlags), "OspmFlags (decoded below)", DT_FLAG}, + {ACPI_DMT_FLAG0, ACPI_FACS_FLAG_OFFSET (OspmFlags,0), "64-bit Wake Env Required (V2)", 0}, + ACPI_DMT_TERMINATOR }; @@ -338,113 +343,113 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[] = { - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Facs), "FACS Address"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Dsdt), "DSDT Address"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Model), "Model"}, - {ACPI_DMT_FADTPM, ACPI_FADT_OFFSET (PreferredProfile), "PM Profile"}, - {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (SciInterrupt), "SCI Interrupt"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (SmiCommand), "SMI Command Port"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (AcpiEnable), "ACPI Enable Value"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (AcpiDisable), "ACPI Disable Value"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (S4BiosRequest), "S4BIOS Command"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (PstateControl), "P-State Control"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1aEventBlock), "PM1A Event Block Address"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1bEventBlock), "PM1B Event Block Address"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1aControlBlock), "PM1A Control Block Address"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1bControlBlock), "PM1B Control Block Address"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm2ControlBlock), "PM2 Control Block Address"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (PmTimerBlock), "PM Timer Block Address"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Gpe0Block), "GPE0 Block Address"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Gpe1Block), "GPE1 Block Address"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm1EventLength), "PM1 Event Block Length"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm1ControlLength), "PM1 Control Block Length"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm2ControlLength), "PM2 Control Block Length"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (PmTimerLength), "PM Timer Block Length"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe0BlockLength), "GPE0 Block Length"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe1BlockLength), "GPE1 Block Length"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe1Base), "GPE1 Base Offset"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (CstControl), "_CST Support"}, - {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (C2Latency), "C2 Latency"}, - {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (C3Latency), "C3 Latency"}, - {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (FlushSize), "CPU Cache Size"}, - {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (FlushStride), "Cache Flush Stride"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DutyOffset), "Duty Cycle Offset"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DutyWidth), "Duty Cycle Width"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DayAlarm), "RTC Day Alarm Index"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (MonthAlarm), "RTC Month Alarm Index"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Century), "RTC Century Index"}, - {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (BootFlags), "Boot Flags (decoded below)"}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Facs), "FACS Address", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Dsdt), "DSDT Address", DT_NON_ZERO}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Model), "Model", 0}, + {ACPI_DMT_FADTPM, ACPI_FADT_OFFSET (PreferredProfile), "PM Profile", 0}, + {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (SciInterrupt), "SCI Interrupt", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (SmiCommand), "SMI Command Port", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (AcpiEnable), "ACPI Enable Value", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (AcpiDisable), "ACPI Disable Value", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (S4BiosRequest), "S4BIOS Command", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (PstateControl), "P-State Control", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1aEventBlock), "PM1A Event Block Address", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1bEventBlock), "PM1B Event Block Address", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1aControlBlock), "PM1A Control Block Address", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm1bControlBlock), "PM1B Control Block Address", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Pm2ControlBlock), "PM2 Control Block Address", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (PmTimerBlock), "PM Timer Block Address", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Gpe0Block), "GPE0 Block Address", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Gpe1Block), "GPE1 Block Address", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm1EventLength), "PM1 Event Block Length", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm1ControlLength), "PM1 Control Block Length", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Pm2ControlLength), "PM2 Control Block Length", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (PmTimerLength), "PM Timer Block Length", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe0BlockLength), "GPE0 Block Length", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe1BlockLength), "GPE1 Block Length", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Gpe1Base), "GPE1 Base Offset", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (CstControl), "_CST Support", 0}, + {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (C2Latency), "C2 Latency", 0}, + {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (C3Latency), "C3 Latency", 0}, + {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (FlushSize), "CPU Cache Size", 0}, + {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (FlushStride), "Cache Flush Stride", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DutyOffset), "Duty Cycle Offset", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DutyWidth), "Duty Cycle Width", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (DayAlarm), "RTC Day Alarm Index", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (MonthAlarm), "RTC Month Alarm Index", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Century), "RTC Century Index", 0}, + {ACPI_DMT_UINT16, ACPI_FADT_OFFSET (BootFlags), "Boot Flags (decoded below)", DT_FLAG}, /* Boot Architecture Flags byte 0 */ - {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "Legacy Devices Supported (V2)"}, - {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "8042 Present on ports 60/64 (V2)"}, - {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "VGA Not Present (V4)"}, - {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "MSI Not Supported (V4)"}, - {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "PCIe ASPM Not Supported (V4)"}, + {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "Legacy Devices Supported (V2)", 0}, + {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "8042 Present on ports 60/64 (V2)", 0}, + {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "VGA Not Present (V4)", 0}, + {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "MSI Not Supported (V4)", 0}, + {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (BootFlags,0), "PCIe ASPM Not Supported (V4)", 0}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Reserved), "Reserved"}, - {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Flags), "Flags (decoded below)"}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Flags), "Flags (decoded below)", DT_FLAG}, /* Flags byte 0 */ - {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,0), "WBINVD instruction is operational (V1)"}, - {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,0), "WBINVD flushes all caches (V1)"}, - {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,0), "All CPUs support C1 (V1)"}, - {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,0), "C2 works on MP system (V1)"}, - {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,0), "Control Method Power Button (V1)"}, - {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,0), "Control Method Sleep Button (V1)"}, - {ACPI_DMT_FLAG6, ACPI_FADT_FLAG_OFFSET (Flags,0), "RTC wake not in fixed reg space (V1)"}, - {ACPI_DMT_FLAG7, ACPI_FADT_FLAG_OFFSET (Flags,0), "RTC can wake system from S4 (V1)"}, + {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,0), "WBINVD instruction is operational (V1)", 0}, + {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,0), "WBINVD flushes all caches (V1)", 0}, + {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,0), "All CPUs support C1 (V1)", 0}, + {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,0), "C2 works on MP system (V1)", 0}, + {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,0), "Control Method Power Button (V1)", 0}, + {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,0), "Control Method Sleep Button (V1)", 0}, + {ACPI_DMT_FLAG6, ACPI_FADT_FLAG_OFFSET (Flags,0), "RTC wake not in fixed reg space (V1)", 0}, + {ACPI_DMT_FLAG7, ACPI_FADT_FLAG_OFFSET (Flags,0), "RTC can wake system from S4 (V1)", 0}, /* Flags byte 1 */ - {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,1), "32-bit PM Timer (V1)"}, - {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,1), "Docking Supported (V1)"}, - {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,1), "Reset Register Supported (V2)"}, - {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,1), "Sealed Case (V3)"}, - {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,1), "Headless - No Video (V3)"}, - {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,1), "Use native instr after SLP_TYPx (V3)"}, - {ACPI_DMT_FLAG6, ACPI_FADT_FLAG_OFFSET (Flags,1), "PCIEXP_WAK Bits Supported (V4)"}, - {ACPI_DMT_FLAG7, ACPI_FADT_FLAG_OFFSET (Flags,1), "Use Platform Timer (V4)"}, + {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,1), "32-bit PM Timer (V1)", 0}, + {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,1), "Docking Supported (V1)", 0}, + {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,1), "Reset Register Supported (V2)", 0}, + {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,1), "Sealed Case (V3)", 0}, + {ACPI_DMT_FLAG4, ACPI_FADT_FLAG_OFFSET (Flags,1), "Headless - No Video (V3)", 0}, + {ACPI_DMT_FLAG5, ACPI_FADT_FLAG_OFFSET (Flags,1), "Use native instr after SLP_TYPx (V3)", 0}, + {ACPI_DMT_FLAG6, ACPI_FADT_FLAG_OFFSET (Flags,1), "PCIEXP_WAK Bits Supported (V4)", 0}, + {ACPI_DMT_FLAG7, ACPI_FADT_FLAG_OFFSET (Flags,1), "Use Platform Timer (V4)", 0}, /* Flags byte 2 */ - {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,2), "RTC_STS valid on S4 wake (V4)"}, - {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,2), "Remote Power-on capable (V4)"}, - {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,2), "Use APIC Cluster Model (V4)"}, - {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,2), "Use APIC Physical Destination Mode (V4)"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_FLAG0, ACPI_FADT_FLAG_OFFSET (Flags,2), "RTC_STS valid on S4 wake (V4)", 0}, + {ACPI_DMT_FLAG1, ACPI_FADT_FLAG_OFFSET (Flags,2), "Remote Power-on capable (V4)", 0}, + {ACPI_DMT_FLAG2, ACPI_FADT_FLAG_OFFSET (Flags,2), "Use APIC Cluster Model (V4)", 0}, + {ACPI_DMT_FLAG3, ACPI_FADT_FLAG_OFFSET (Flags,2), "Use APIC Physical Destination Mode (V4)", 0}, + ACPI_DMT_TERMINATOR }; /* ACPI 1.0 MS Extensions (FADT version 2) */ ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[] = { - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (ResetRegister), "Reset Register"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (ResetValue), "Value to cause reset"}, - {ACPI_DMT_UINT24, ACPI_FADT_OFFSET (Reserved4[0]), "Reserved"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (ResetRegister), "Reset Register", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (ResetValue), "Value to cause reset", 0}, + {ACPI_DMT_UINT24, ACPI_FADT_OFFSET (Reserved4[0]), "Reserved", 0}, + ACPI_DMT_TERMINATOR }; /* ACPI 2.0+ Extensions (FADT version 3+) */ ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[] = { - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (ResetRegister), "Reset Register"}, - {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (ResetValue), "Value to cause reset"}, - {ACPI_DMT_UINT24, ACPI_FADT_OFFSET (Reserved4[0]), "Reserved"}, - {ACPI_DMT_UINT64, ACPI_FADT_OFFSET (XFacs), "FACS Address"}, - {ACPI_DMT_UINT64, ACPI_FADT_OFFSET (XDsdt), "DSDT Address"}, - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1aEventBlock), "PM1A Event Block"}, - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1bEventBlock), "PM1B Event Block"}, - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1aControlBlock), "PM1A Control Block"}, - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1bControlBlock), "PM1B Control Block"}, - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm2ControlBlock), "PM2 Control Block"}, - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPmTimerBlock), "PM Timer Block"}, - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XGpe0Block), "GPE0 Block"}, - {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XGpe1Block), "GPE1 Block"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (ResetRegister), "Reset Register", 0}, + {ACPI_DMT_UINT8, ACPI_FADT_OFFSET (ResetValue), "Value to cause reset", 0}, + {ACPI_DMT_UINT24, ACPI_FADT_OFFSET (Reserved4[0]), "Reserved", 0}, + {ACPI_DMT_UINT64, ACPI_FADT_OFFSET (XFacs), "FACS Address", 0}, + {ACPI_DMT_UINT64, ACPI_FADT_OFFSET (XDsdt), "DSDT Address", 0}, + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1aEventBlock), "PM1A Event Block", 0}, + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1bEventBlock), "PM1B Event Block", 0}, + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1aControlBlock), "PM1A Control Block", 0}, + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm1bControlBlock), "PM1B Control Block", 0}, + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPm2ControlBlock), "PM2 Control Block", 0}, + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XPmTimerBlock), "PM Timer Block", 0}, + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XGpe0Block), "GPE0 Block", 0}, + {ACPI_DMT_GAS, ACPI_FADT_OFFSET (XGpe1Block), "GPE1 Block", 0}, + ACPI_DMT_TERMINATOR }; @@ -462,97 +467,97 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[] = { - {ACPI_DMT_ASF, ACPI_ASF0_OFFSET (Header.Type), "Subtable Type"}, - {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (Header.Reserved), "Reserved"}, - {ACPI_DMT_UINT16, ACPI_ASF0_OFFSET (Header.Length), "Length"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_ASF, ACPI_ASF0_OFFSET (Header.Type), "Subtable Type", 0}, + {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (Header.Reserved), "Reserved", 0}, + {ACPI_DMT_UINT16, ACPI_ASF0_OFFSET (Header.Length), "Length", DT_LENGTH}, + ACPI_DMT_TERMINATOR }; /* 0: ASF Information */ ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[] = { - {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinResetValue), "Minimum Reset Value"}, - {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinPollInterval), "Minimum Polling Interval"}, - {ACPI_DMT_UINT16, ACPI_ASF0_OFFSET (SystemId), "System ID"}, - {ACPI_DMT_UINT32, ACPI_ASF0_OFFSET (MfgId), "Manufacturer ID"}, - {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (Flags), "Flags"}, - {ACPI_DMT_UINT24, ACPI_ASF0_OFFSET (Reserved2[0]), "Reserved"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinResetValue), "Minimum Reset Value", 0}, + {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinPollInterval), "Minimum Polling Interval", 0}, + {ACPI_DMT_UINT16, ACPI_ASF0_OFFSET (SystemId), "System ID", 0}, + {ACPI_DMT_UINT32, ACPI_ASF0_OFFSET (MfgId), "Manufacturer ID", 0}, + {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (Flags), "Flags", 0}, + {ACPI_DMT_UINT24, ACPI_ASF0_OFFSET (Reserved2[0]), "Reserved", 0}, + ACPI_DMT_TERMINATOR }; /* 1: ASF Alerts */ ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[] = { - {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (AssertMask), "AssertMask"}, - {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (DeassertMask), "DeassertMask"}, - {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (Alerts), "Alert Count"}, - {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (DataLength), "Alert Data Length"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (AssertMask), "AssertMask", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (DeassertMask), "DeassertMask", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (Alerts), "Alert Count", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1_OFFSET (DataLength), "Alert Data Length", 0}, + ACPI_DMT_TERMINATOR }; /* 1a: ASF Alert data */ ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[] = { - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Address), "Address"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Command), "Command"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Mask), "Mask"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Value), "Value"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SensorType), "SensorType"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Type), "Type"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Offset), "Offset"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SourceType), "SourceType"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Severity), "Severity"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SensorNumber), "SensorNumber"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Entity), "Entity"}, - {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Instance), "Instance"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Address), "Address", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Command), "Command", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Mask), "Mask", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Value), "Value", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SensorType), "SensorType", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Type), "Type", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Offset), "Offset", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SourceType), "SourceType", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Severity), "Severity", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (SensorNumber), "SensorNumber", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Entity), "Entity", 0}, + {ACPI_DMT_UINT8, ACPI_ASF1a_OFFSET (Instance), "Instance", 0}, + ACPI_DMT_TERMINATOR }; /* 2: ASF Remote Control */ ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[] = { - {ACPI_DMT_UINT8, ACPI_ASF2_OFFSET (Controls), "Control Count"}, - {ACPI_DMT_UINT8, ACPI_ASF2_OFFSET (DataLength), "Control Data Length"}, - {ACPI_DMT_UINT16, ACPI_ASF2_OFFSET (Reserved2), "Reserved"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_ASF2_OFFSET (Controls), "Control Count", 0}, + {ACPI_DMT_UINT8, ACPI_ASF2_OFFSET (DataLength), "Control Data Length", 0}, + {ACPI_DMT_UINT16, ACPI_ASF2_OFFSET (Reserved2), "Reserved", 0}, + ACPI_DMT_TERMINATOR }; /* 2a: ASF Control data */ ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[] = { - {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Function), "Function"}, - {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Address), "Address"}, - {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Command), "Command"}, - {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Value), "Value"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Function), "Function", 0}, + {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Address), "Address", 0}, + {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Command), "Command", 0}, + {ACPI_DMT_UINT8, ACPI_ASF2a_OFFSET (Value), "Value", 0}, + ACPI_DMT_TERMINATOR }; /* 3: ASF RMCP Boot Options */ ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[] = { - {ACPI_DMT_UINT56, ACPI_ASF3_OFFSET (Capabilities[0]), "Capabilites"}, - {ACPI_DMT_UINT8, ACPI_ASF3_OFFSET (CompletionCode), "Completion Code"}, - {ACPI_DMT_UINT32, ACPI_ASF3_OFFSET (EnterpriseId), "Enterprise ID"}, - {ACPI_DMT_UINT8, ACPI_ASF3_OFFSET (Command), "Command"}, - {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (Parameter), "Parameter"}, - {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (BootOptions), "Boot Options"}, - {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (OemParameters), "Oem Parameters"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT56, ACPI_ASF3_OFFSET (Capabilities[0]), "Capabilities", 0}, + {ACPI_DMT_UINT8, ACPI_ASF3_OFFSET (CompletionCode), "Completion Code", 0}, + {ACPI_DMT_UINT32, ACPI_ASF3_OFFSET (EnterpriseId), "Enterprise ID", 0}, + {ACPI_DMT_UINT8, ACPI_ASF3_OFFSET (Command), "Command", 0}, + {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (Parameter), "Parameter", 0}, + {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (BootOptions), "Boot Options", 0}, + {ACPI_DMT_UINT16, ACPI_ASF3_OFFSET (OemParameters), "Oem Parameters", 0}, + ACPI_DMT_TERMINATOR }; /* 4: ASF Address */ ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[] = { - {ACPI_DMT_UINT8, ACPI_ASF4_OFFSET (EpromAddress), "Eprom Address"}, - {ACPI_DMT_UINT8, ACPI_ASF4_OFFSET (Devices), "Device Count"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_ASF4_OFFSET (EpromAddress), "Eprom Address", 0}, + {ACPI_DMT_UINT8, ACPI_ASF4_OFFSET (Devices), "Device Count", DT_COUNT}, + ACPI_DMT_TERMINATOR }; @@ -564,9 +569,9 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoBert[] = { - {ACPI_DMT_UINT32, ACPI_BERT_OFFSET (RegionLength), "Boot Error Region Length"}, - {ACPI_DMT_UINT64, ACPI_BERT_OFFSET (Address), "Boot Error Region Address"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT32, ACPI_BERT_OFFSET (RegionLength), "Boot Error Region Length", 0}, + {ACPI_DMT_UINT64, ACPI_BERT_OFFSET (Address), "Boot Error Region Address", 0}, + ACPI_DMT_TERMINATOR }; @@ -578,9 +583,9 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[] = { - {ACPI_DMT_UINT8, ACPI_BOOT_OFFSET (CmosIndex), "Boot Register Index"}, - {ACPI_DMT_UINT24, ACPI_BOOT_OFFSET (Reserved[0]), "Reserved"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_BOOT_OFFSET (CmosIndex), "Boot Register Index", 0}, + {ACPI_DMT_UINT24, ACPI_BOOT_OFFSET (Reserved[0]), "Reserved", 0}, + ACPI_DMT_TERMINATOR }; @@ -592,18 +597,18 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[] = { - {ACPI_DMT_UINT64, ACPI_CPEP_OFFSET (Reserved), "Reserved"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT64, ACPI_CPEP_OFFSET (Reserved), "Reserved", 0}, + ACPI_DMT_TERMINATOR }; ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[] = { - {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Type), "Subtable Type"}, - {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Length), "Length"}, - {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Id), "Processor ID"}, - {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Eid), "Processor EID"}, - {ACPI_DMT_UINT32, ACPI_CPEP0_OFFSET (Interval), "Polling Interval"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Type), "Subtable Type", 0}, + {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Length), "Length", DT_LENGTH}, + {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Id), "Processor ID", 0}, + {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Eid), "Processor EID", 0}, + {ACPI_DMT_UINT32, ACPI_CPEP0_OFFSET (Interval), "Polling Interval", 0}, + ACPI_DMT_TERMINATOR }; @@ -615,10 +620,10 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[] = { - {ACPI_DMT_UINT8, ACPI_DBGP_OFFSET (Type), "Interface Type"}, - {ACPI_DMT_UINT24, ACPI_DBGP_OFFSET (Reserved[0]), "Reserved"}, - {ACPI_DMT_GAS, ACPI_DBGP_OFFSET (DebugPort), "Debug Port Register"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_DBGP_OFFSET (Type), "Interface Type", 0}, + {ACPI_DMT_UINT24, ACPI_DBGP_OFFSET (Reserved[0]), "Reserved", 0}, + {ACPI_DMT_GAS, ACPI_DBGP_OFFSET (DebugPort), "Debug Port Register", 0}, + ACPI_DMT_TERMINATOR }; @@ -630,30 +635,30 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[] = { - {ACPI_DMT_UINT8, ACPI_DMAR_OFFSET (Width), "Host Address Width"}, - {ACPI_DMT_UINT8, ACPI_DMAR_OFFSET (Flags), "Flags"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_DMAR_OFFSET (Width), "Host Address Width", 0}, + {ACPI_DMT_UINT8, ACPI_DMAR_OFFSET (Flags), "Flags", 0}, + ACPI_DMT_TERMINATOR }; /* Common Subtable header (one per Subtable) */ ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[] = { - {ACPI_DMT_DMAR, ACPI_DMAR0_OFFSET (Header.Type), "Subtable Type"}, - {ACPI_DMT_UINT16, ACPI_DMAR0_OFFSET (Header.Length), "Length"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_DMAR, ACPI_DMAR0_OFFSET (Header.Type), "Subtable Type", 0}, + {ACPI_DMT_UINT16, ACPI_DMAR0_OFFSET (Header.Length), "Length", DT_LENGTH}, + ACPI_DMT_TERMINATOR }; /* Common device scope entry */ ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[] = { - {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (EntryType), "Device Scope Entry Type"}, - {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (Length), "Entry Length"}, - {ACPI_DMT_UINT16, ACPI_DMARS_OFFSET (Reserved), "Reserved"}, - {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (EnumerationId), "Enumeration ID"}, - {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (Bus), "PCI Bus Number"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (EntryType), "Device Scope Entry Type", 0}, + {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (Length), "Entry Length", DT_LENGTH}, + {ACPI_DMT_UINT16, ACPI_DMARS_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (EnumerationId), "Enumeration ID", 0}, + {ACPI_DMT_UINT8, ACPI_DMARS_OFFSET (Bus), "PCI Bus Number", 0}, + ACPI_DMT_TERMINATOR }; /* DMAR Subtables */ @@ -662,42 +667,42 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[] = { - {ACPI_DMT_UINT8, ACPI_DMAR0_OFFSET (Flags), "Flags"}, - {ACPI_DMT_UINT8, ACPI_DMAR0_OFFSET (Reserved), "Reserved"}, - {ACPI_DMT_UINT16, ACPI_DMAR0_OFFSET (Segment), "PCI Segment Number"}, - {ACPI_DMT_UINT64, ACPI_DMAR0_OFFSET (Address), "Register Base Address"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_DMAR0_OFFSET (Flags), "Flags", 0}, + {ACPI_DMT_UINT8, ACPI_DMAR0_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_UINT16, ACPI_DMAR0_OFFSET (Segment), "PCI Segment Number", 0}, + {ACPI_DMT_UINT64, ACPI_DMAR0_OFFSET (Address), "Register Base Address", 0}, + ACPI_DMT_TERMINATOR }; /* 1: Reserved Memory Definition */ ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[] = { - {ACPI_DMT_UINT16, ACPI_DMAR1_OFFSET (Reserved), "Reserved"}, - {ACPI_DMT_UINT16, ACPI_DMAR1_OFFSET (Segment), "PCI Segment Number"}, - {ACPI_DMT_UINT64, ACPI_DMAR1_OFFSET (BaseAddress), "Base Address"}, - {ACPI_DMT_UINT64, ACPI_DMAR1_OFFSET (EndAddress), "End Address (limit)"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT16, ACPI_DMAR1_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_UINT16, ACPI_DMAR1_OFFSET (Segment), "PCI Segment Number", 0}, + {ACPI_DMT_UINT64, ACPI_DMAR1_OFFSET (BaseAddress), "Base Address", 0}, + {ACPI_DMT_UINT64, ACPI_DMAR1_OFFSET (EndAddress), "End Address (limit)", 0}, + ACPI_DMT_TERMINATOR }; /* 2: Root Port ATS Capability Definition */ ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[] = { - {ACPI_DMT_UINT8, ACPI_DMAR2_OFFSET (Flags), "Flags"}, - {ACPI_DMT_UINT8, ACPI_DMAR2_OFFSET (Reserved), "Reserved"}, - {ACPI_DMT_UINT16, ACPI_DMAR2_OFFSET (Segment), "PCI Segment Number"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_DMAR2_OFFSET (Flags), "Flags", 0}, + {ACPI_DMT_UINT8, ACPI_DMAR2_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_UINT16, ACPI_DMAR2_OFFSET (Segment), "PCI Segment Number", 0}, + ACPI_DMT_TERMINATOR }; /* 3: Remapping Hardware Static Affinity Structure */ ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[] = { - {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (Reserved), "Reserved"}, - {ACPI_DMT_UINT64, ACPI_DMAR3_OFFSET (BaseAddress), "Base Address"}, - {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (ProximityDomain), "Proximity Domain"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_UINT64, ACPI_DMAR3_OFFSET (BaseAddress), "Base Address", 0}, + {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (ProximityDomain), "Proximity Domain", 0}, + ACPI_DMT_TERMINATOR }; @@ -709,12 +714,12 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[] = { - {ACPI_DMT_GAS, ACPI_ECDT_OFFSET (Control), "Command/Status Register"}, - {ACPI_DMT_GAS, ACPI_ECDT_OFFSET (Data), "Data Register"}, - {ACPI_DMT_UINT32, ACPI_ECDT_OFFSET (Uid), "UID"}, - {ACPI_DMT_UINT8, ACPI_ECDT_OFFSET (Gpe), "GPE Number"}, - {ACPI_DMT_STRING, ACPI_ECDT_OFFSET (Id[0]), "Namepath"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_GAS, ACPI_ECDT_OFFSET (Control), "Command/Status Register", 0}, + {ACPI_DMT_GAS, ACPI_ECDT_OFFSET (Data), "Data Register", 0}, + {ACPI_DMT_UINT32, ACPI_ECDT_OFFSET (Uid), "UID", 0}, + {ACPI_DMT_UINT8, ACPI_ECDT_OFFSET (Gpe), "GPE Number", 0}, + {ACPI_DMT_STRING, ACPI_ECDT_OFFSET (Id[0]), "Namepath", 0}, + ACPI_DMT_TERMINATOR }; @@ -726,23 +731,23 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[] = { - {ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (HeaderLength), "Injection Header Length"}, - {ACPI_DMT_UINT8, ACPI_EINJ_OFFSET (Flags), "Flags"}, - {ACPI_DMT_UINT24, ACPI_EINJ_OFFSET (Reserved[0]), "Reserved"}, - {ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (Entries), "Injection Entry Count"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (HeaderLength), "Injection Header Length", DT_LENGTH}, + {ACPI_DMT_UINT8, ACPI_EINJ_OFFSET (Flags), "Flags", 0}, + {ACPI_DMT_UINT24, ACPI_EINJ_OFFSET (Reserved[0]), "Reserved", 0}, + {ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (Entries), "Injection Entry Count", 0}, + ACPI_DMT_TERMINATOR }; ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[] = { - {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Action), "Action"}, - {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Instruction), "Instruction"}, - {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Flags), "Flags"}, - {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Reserved), "Reserved"}, - {ACPI_DMT_GAS, ACPI_EINJ0_OFFSET (RegisterRegion), "Register Region"}, - {ACPI_DMT_UINT64, ACPI_EINJ0_OFFSET (Value), "Value"}, - {ACPI_DMT_UINT64, ACPI_EINJ0_OFFSET (Mask), "Mask"}, - {ACPI_DMT_EXIT, 0, NULL} + {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Action), "Action", 0}, + {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Instruction), "Instruction", 0}, + {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Flags), "Flags", 0}, + {ACPI_DMT_UINT8, ACPI_EINJ0_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_GAS, ACPI_EINJ0_OFFSET (RegisterRegion), "Register Region", 0}, + {ACPI_DMT_UINT64, ACPI_EINJ0_OFFSET (Value), "Value", 0}, + {ACPI_DMT_UINT64, ACPI_EINJ0_OFFSET (Mask), "Mask", 0}, + ACPI_DMT_TERMINATOR }; @@ -754,10 +759,10 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMTABLE_INFO AcpiDmTableInfoErst[] = { - {ACPI_DMT_UINT32, ACPI_ERST_OFFSET (HeaderLength), "Serialization Header Length"}, - {ACPI_DMT_UINT32, ACPI_ERST_OFFSET (Reserved), "Reserved"}, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@FreeBSD.ORG Fri May 28 18:47:57 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67756106566C; Fri, 28 May 2010 18:47:57 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3DA578FC24; Fri, 28 May 2010 18:47:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4SIlv9p077744; Fri, 28 May 2010 18:47:57 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4SIlvgt077743; Fri, 28 May 2010 18:47:57 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201005281847.o4SIlvgt077743@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 28 May 2010 18:47:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r208626 - vendor-sys/acpica/20100528 X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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: Fri, 28 May 2010 18:47:57 -0000 Author: jkim Date: Fri May 28 18:47:56 2010 New Revision: 208626 URL: http://svn.freebsd.org/changeset/base/208626 Log: Tag ACPICA 20100528. Added: vendor-sys/acpica/20100528/ - copied from r208625, vendor-sys/acpica/dist/ From owner-svn-src-vendor@FreeBSD.ORG Sat May 29 11:12:07 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 341371065676; Sat, 29 May 2010 11:12:07 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (lev.vlakno.cz [77.93.215.190]) by mx1.freebsd.org (Postfix) with ESMTP id DBF848FC1B; Sat, 29 May 2010 11:12:05 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id ECED89CB082; Sat, 29 May 2010 13:08:39 +0200 (CEST) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (lev.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QKmmlsgTa-Wf; Sat, 29 May 2010 13:08:37 +0200 (CEST) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id AB8EE9CB181; Sat, 29 May 2010 13:08:37 +0200 (CEST) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.14.3/8.14.3/Submit) id o4TB8bIF093298; Sat, 29 May 2010 13:08:37 +0200 (CEST) (envelope-from rdivacky) Date: Sat, 29 May 2010 13:08:37 +0200 From: Roman Divacky To: Ed Schouten Message-ID: <20100529110837.GA93235@freebsd.org> References: <201005271515.o4RFFx0I008237@svn.freebsd.org> <20100528183915.GN56080@hoeg.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100528183915.GN56080@hoeg.nl> User-Agent: Mutt/1.4.2.3i Cc: svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-vendor@freebsd.org Subject: Re: svn commit: r208599 - in vendor/llvm/dist: . autoconf docs docs/CommandGuide docs/tutorial include/llvm include/llvm/ADT include/llvm/Analysis include/llvm/CodeGen include/llvm/Config include/llvm/... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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: Sat, 29 May 2010 11:12:07 -0000 On Fri, May 28, 2010 at 08:39:15PM +0200, Ed Schouten wrote: > * Roman Divacky wrote: > > Log: > > Update LLVM to r104832. > > So is there any chance we can start tagging LLVM snapshots again? Tags > in SVN are basically free. if this particular import gets all the testing I'll sure tag this one as clang-import or something :) From owner-svn-src-vendor@FreeBSD.ORG Sat May 29 12:49:08 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 953D2106567A; Sat, 29 May 2010 12:49:08 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from mx0.hoeg.nl (mx0.hoeg.nl [IPv6:2001:4dd0:ff41::b23f:aa]) by mx1.freebsd.org (Postfix) with ESMTP id 51BB78FC18; Sat, 29 May 2010 12:49:08 +0000 (UTC) Received: by mx0.hoeg.nl (Postfix, from userid 1000) id 598C52A28CBE; Sat, 29 May 2010 14:49:07 +0200 (CEST) Date: Sat, 29 May 2010 14:49:07 +0200 From: Ed Schouten To: Roman Divacky Message-ID: <20100529124907.GO56080@hoeg.nl> References: <201005271515.o4RFFx0I008237@svn.freebsd.org> <20100528183915.GN56080@hoeg.nl> <20100529110837.GA93235@freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="WVt2Ja9ZTIogLOrS" Content-Disposition: inline In-Reply-To: <20100529110837.GA93235@freebsd.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-vendor@freebsd.org Subject: Re: svn commit: r208599 - in vendor/llvm/dist: . autoconf docs docs/CommandGuide docs/tutorial include/llvm include/llvm/ADT include/llvm/Analysis include/llvm/CodeGen include/llvm/Config include/llvm/... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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: Sat, 29 May 2010 12:49:08 -0000 --WVt2Ja9ZTIogLOrS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Roman Divacky wrote: > if this particular import gets all the testing I'll sure tag this one=20 > as clang-import or something :) For some reason I still can't understand why tagging each import is a bad thing. But I have no time and interest to bikeshed about this. --=20 Ed Schouten WWW: http://80386.nl/ --WVt2Ja9ZTIogLOrS Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAkwBDUMACgkQ52SDGA2eCwWw/wCfVxW+C8bW/2krtGbjr319HZFe OgcAnArigHA4kjvdJYrT1fJgO7KQl0w8 =TAqq -----END PGP SIGNATURE----- --WVt2Ja9ZTIogLOrS--