Android JellyBean AOSP Changes

Changes from 4.0.4_r2.1 (IMM76L) to 4.1.1_r1 (JRO03C):

Warning Releases with no significant changes other than version bump in platform/build component are likely to only feature proprietary binary blob (e.g. firmwares) changes.

Newly Added Components (69):

Updated Components (170):

  • device/common with 19 change(s)
    • 8ffd5f8 : Restore crespo4g
    • 1dedf14 : Generate output even in case of error
    • 01bbc97 : Remove unsupported devices
    • d06dd40 : Allow packaging factory images from a separate bootloader file
    • d1b8c70 : Clean up device list - do not merge
    • 9cb1b4a : Fine-tune the generation of factory images
    • 7e33db5 : Add grouper
    • 6d820c3 : Remove unused NTP_SERVER.
    • 28b6c52 : Ooops, override the right variable
    • 36cbd9a : Common part of the factory-image-generator
    • 7e2521e : Add manta
    • 411fad5 : Use parallel syncs.
    • b55ae8e : Switch to blob lists.
    • 1c4179c : Add torospr
    • 602a4b1 : Move to plain file lists instead of complex scripts
    • 9e47372 : Restore parts that had been deleted by accident
    • 4b57212 : Improve self-extractor-generation scripts.
    • 7837661 : Force sort order to 'C'
    • 51c5207 : Revert "Cut support for crespo / stingray - do not merge"

  • device/generic/goldfish with 3 change(s)
    • f0397b6 : copy files from development/data/etc to device/generic/goldfish/data/etc
    • 985594c : Remove obsolete dependency on libmedia
    • 89845e0 : emulator: Power HAL

  • device/moto/stingray with 23 change(s)
    • cdb6b46 : organize scripts with per-version sections to avoid merge conflicts
    • 62d8f69 : Update self-extractors for IMM76D
    • 9586e8b : Remove Camera package (it's merged into Gallery package).
    • 44d8452 : remove HAL_MODULE_INFO_SYM const
    • e7db86a : auto-generated blob list
    • 510dafd : Remove old-style blobs handlers
    • 109c006 : auto-generated blob list
    • a141e38 : auto-generated blob-handling scripts
    • 456bad2 : Self-extractors for IMM30D
    • c5efbc1 : Simplify lunch menu
    • 22da8cc : add sideload-from-adb command to recovery menu
    • c909fa4 : auto-generated blob list
    • 56da0dd : Remove old-style blob-handling scripts
    • c3b1680 : Self-extractors for IML74K
    • b336720 : Self-extractors for IML74G
    • 6f94773 : Self-extractors for IML74E
    • f9850da : Self-extractors for IML74B
    • 31ac44e : Self-extractors for IML73
    • c113dc3 : Self-extractors for IML70C
    • 567af05 : convert stingray recovery UI to C++ model
    • 52f5308 : convert stingray recovery UI to C++ model
    • 3ad07ed : comment out references to ui_print
    • 5e9abda : MM/LTE Ril v6.5B

  • device/moto/wingray with 74 change(s)
    • 9bfb004 : libaudio: add 12000 Hz capture sampling rate
    • 3d459d1 : Stingray: kernel prebuilt
    • b13767a : fix for wingray PDK build
    • 45af6f3 : stingray: kernel prebuilt
    • 5ede125 : Update device for new location provider configs.
    • 63b2db1 : Only power-off option when long-pressing power button.
    • d7181aa : stingray: kernel prebuilt
    • ebcf6f5 : stingray: kernel prebuilt
    • 600eac1 : Remove background scanning
    • 8d2cf3f : Set sensible bitrate.
    • 886ed23 : Add FLAC encoder to the list of media codecs.
    • 854a5b5 : stingray: kernel prebuilt (netfilter, wifi,...)
    • 26c2d42 : Use the filesystem manager to mount and check filesystems
    • 57ccb5e : Updated media_profiles to standard bit-rates, added HE-AAC.
    • 6f41842 : Add USB audio HAL to the build
    • 38301ec : Update profiles for new AAC library / AAC-ELD
    • 80c6fa6 : Reduce /storage permissions to 0050.
    • 46c1910 : rename audio policy output flags
    • ee5fe4b : audio: added usb audio hw module
    • e27cf1f : Set ro.carrier=wifi-only
    • 1a85e9a : Organize external storage to enforce sdcard_r.
    • a8c2f0d : stingray: kernel prebuilt
    • 4d61699 : stingray: kernel prebuilt
    • 80937f8 : stingray: kernel prebuilt
    • 24cb787 : stingray: kernel prebuilt
    • afc2371 : organize scripts with per-version sections to avoid merge conflicts
    • fbe280c : Update self-extractors for IMM76D
    • 89f21de : Allow user management on wing/stingray Settings
    • 7072fc6 : move hardware feature definitions
    • aa1cfaf : wingray: update dalvik heap config location
    • 7c1ce9e : audio policy: added configuration file
    • 701b4fb : wingray: set density override to 160
    • dc47516 : wingray: set density override to 160
    • af493c7 : stingray: update kernel
    • 729c92f : Remove false references to frameworks/base
    • 3f86360 : fix the build
    • aaef81b : stingray: kernel prebuilt
    • e8554db : Prepare to move system/media
    • 36ce859 : audio policy manager refactoring.
    • a37d7bf : stingray: update prebuilt kernel
    • b815680 : Remove Camera package (it's merged into Gallery package).
    • 18f0fb5 : stingray: update kernel prebuilt
    • f71ba00 : fix build.
    • ceb320b : Media codecs are now dynamically configured.
    • 916b3a2 : stingray: update prebuilt kernel
    • 0af3c16 : stingray: update prebuilt kernel
    • 8430267 : Remove route setup from dhcp
    • da13957 : stingray: update prebuilt kernel
    • bfffc47 : auto-generated blob list
    • 669bfc3 : Add cleanspec entry
    • a282c73 : Remove old-style blobs handlers
    • c323a8f : Disable wi-fi direct
    • 6d7a15b : Fix support for USB ethernet adapters on Xoom
    • 845dc77 : Fix support for USB ethernet adapters on Xoom
    • d45af18 : egl.cfg can now only have a single entry
    • 47e9127 : auto-generated blob list
    • a06872a : auto-generated blob-handling scripts
    • 0590381 : Self-extractors for IMM30D
    • 3515c42 : stingray: Kernel prebuilt
    • 7af1e29 : Self-extractors for imm30b
    • 6fc66bc : Fix supplicant start
    • 6c25462 : split board-info.txt into AOSP and non-AOSP versions
    • bcdc1d6 : stingray: wifi: Remove obsolete wifi.supplicant_scan_interval
    • 7e468ef : wingray: convert all usages of $prop to ${prop}
    • ca81990 : auto-generated blob list
    • e26c4cf : Remove old-style blob-handling scripts
    • 8ecdc59 : Self-extractors for IML74K
    • 1560bdb : Remove unnecessary config overlay settings.
    • 9ca1d16 : Self-extractors for IML74G
    • 37da03a : Self-extractors for IML74E
    • 09ad89b : Self-extractors for IML74B
    • 152c106 : Self-extractors for IML73
    • aee5be4 : Self-extractors for IML70C
    • 872f5f4 : Revert "Disable wi-fi direct"

  • device/sample with 8 change(s)
    • f5fd423 : Reorder Rogers/Chatr to prefer Rogers
    • 72fa8fd : disable java build for PDK case
    • efd95e1 : remove false dependency on libandroid_runtime for PDK
    • e7365b8 : Remove mifare feature from device/sample.
    • 703dc05 : [sample] change apns-full-conf.xml
    • beb7cfd : Update Orange apns
    • ee4e8b0 : Update Vodafone IT APN names.
    • 4ae8c09 : change apn

  • device/samsung/crespo with 119 change(s)
    • afdc44a : Update board-info.txt
    • c19dd36 : prebuilt kernel (GPU, flush CPU cache workaround)
    • f9abc11 : auto-generated blob list
    • da0d2b9 : Remap SEARCH key to ASSIST.
    • 907fa55 : libaudio: add 32000 Hz capture sampling rate
    • d3cffa5 : prebuilt kernel (ext4 fix, wifi fixes)
    • e3fb64c : prebuilt kernel (reduce unused FIMC1 buffers)
    • ff0da21 : Decrease UI sound levels
    • 97495d4 : prebuilt kernel (ddk version number change only)
    • 2084d15 : Camera: Fix crash when cancelling autofocus outside of preview.
    • 5bf3edc : prebuilt kernel (USB audio fixes, rild perf workaround)
    • 0326aaa : prebuilt kernel (USB audio fixes, rild perf workaround)
    • 2d76a06 : Camera: Fix crash when cancelling autofocus outside of preview.
    • 78897c5 : Update device for new location provider configs.
    • ad917f1 : crespo: kernel prebuilt
    • 2372657 : Set sensible bitrate.
    • fc3477b : libhwcomposer: VSYNC_ACTIVE ioctl - VSYNC_INT
    • 73c3d77 : prebuilt kernel (s3cfb VSYNC_INT ioctl fix)
    • c41743a : Enable EGL hibernation on crespo
    • 7527363 : prebuilt kernel (DDK 1.8@905891)
    • 0ed63d6 : prebuilt kernel: wimax fix, ipv6 crash fix
    • 5a5aa8e : prebuilt kernel: wimax fix, ipv6 crash fix
    • 3d779cc : Adjust output to 2 buffers of 880 frames each
    • 8fa0377 : Add FLAC encoder to the list of media codecs.
    • 2b749a4 : prebuilt kernel update (mergedowns 3.0.31, netfilter, cpufreq, ...)
    • 2db43af : prebuilt kernel (DDK1.8@900138, merge from common up to 3.0.28)
    • db6230d : Use the filesystem manager to mount and check filesystems
    • ab79c91 : Updated media_profiles to standard bit-rates, added HE-AAC.
    • 8c72ced : enable triple buffering on crespos
    • 1e50ab9 : Add USB audio HAL to the build
    • 58346d8 : Update profiles for new AAC library / AAC-ELD
    • 848f271 : crespo libhwcomposer: handle vsync uevents
    • cb3eb57 : crespo libhwcomposer: keep window 2 open
    • e63af0a : prebuild kernel update (vsync, sched_trace)
    • f50a346 : add a board config variable to disable 3x buffering
    • fe3ccce : Reduce /storage permissions to 0050.
    • e26771a : prebuilt kernel update (DDK 1.8@873556, netfilter, wifi)
    • d526098 : rename audio policy output flags
    • c90b74d : Simplify board-info for 4.0.4
    • 0ca5e27 : Move Mifare feature to frameworks/native.
    • 16af72a : crespo: kernel prebuilt
    • d057d9d : crespo: kernel prebuilt
    • b97b5bd : update nfc path
    • cbd6918 : kernel prebuild update (wifi, wimax, ...)
    • 53c66bd : Remove unused NTP_SERVER.
    • f8f5a19 : Organize external storage to enforce sdcard_r.
    • 0ef2975 : libcamera: remove unused fimc_v4l2_s_ext_ctrl function
    • eda76f2 : kernel prebuild (gpu: enable MMU pagetable write-protection)
    • acd7250 : kernel perbuild update (DDK 1.8@869593)
    • ed5609f : kernel prebuild update (enable XFRM for userland)
    • d6ba9f3 : kernel prebuild update (mostly wifi and fimc fixes)
    • 30a4fe1 : Generate sojua and sojuk factory images in addition to soju
    • 8834bb5 : crespo: kernel prebuilt
    • fea11b2 : crespo: kernel prebuilt
    • 6ddbd8e : kernel prebuild update (disable oprofile, enable perf)
    • cef7c03 : crespo: Kernel prebuilt
    • 5cd7e86 : organize scripts with per-version sections to avoid merge conflicts
    • 308dbe9 : Distributables for IMM76D
    • ccc62ab : move hardware feature definitions
    • b815eee : crespo: prebuilt kernel
    • c7db296 : crespo: update dalvik heap config location
    • 7cd5cbe : audio policy: added configuration file
    • cf8b12b : kernel update (mostly: KSM, wifi, gpu:pvr:disable MMU write-prot)
    • 0c32ada : kernel update (mostly: KSM, wifi, gpu:pvr:disable MMU write-prot)
    • b3e372f : Remove obsolete dependency on libmedia
    • 5795042 : crespo: start KSM on boot
    • f49a0a4 : Kernel prebuild update (mostly DDK 1.8@840215 and wifi)
    • 89d216e : Prepare to move system/media
    • 8174ff4 : Switched to use header files from /frameworks/native
    • 6804c66 : audio policy manager refactoring.
    • c9316f0 : Remove Camera package (it's merged into Gallery package).
    • fa61d0e : prebuilt kernel update
    • aed5c95 : crespo: prebuilt kernel
    • 0c323f3 : remove HAL_MODULE_INFO_SYM const
    • 21a850d : We now dynamically configure available media codecs.
    • 81e7367 : crespo: prebuilt kernel
    • 7ae3620 : crespo: prebuilt kernel
    • 594566c : remove uneeded dependency on libsurfaceflinger_client and libbinder
    • c249ff9 : remove dependency on android_native_buffer.h
    • 78f17c0 : Remove ANAVMID EEPROM values.
    • 6b99e6a : crespo: prebuilt kernel
    • 77800b3 : Remove route setup from dhcp
    • 4cdeceb : auto-generated blob list
    • f48c08f : Remove old-style blobs handlers
    • eb85be2 : Fix supplicant start
    • dfc9a97 : egl.cfg can now only have a single entry
    • 8addb43 : Do not use MediaDebug in libstagefrighthw.
    • dbdc778 : Reduce NFC-DEP target timeout in ATR_RES to 8.
    • 2c4616c : Self-extractors for IMM30D
    • ea648a2 : kernel prebuild update (mostly bcmdhd)
    • da87da6 : Fixed some race condition in OMX_Init and OMX_Deinit calls
    • 1232ac7 : new kernel + wifi prebuilt
    • 9c9480f : Self-extractors for imm30b
    • 942f348 : crespo: Kernel prebuilt
    • b61fc77 : Fix misspelled symbol name.
    • 1171489 : wlan: Fix tethering interface name
    • db0763d : Fix the incorrect min bit rate setting for AMR NB.
    • 14d7e18 : wlan: Switch to CFG80211
    • ca7d879 : Fix build warning on uninitialized field avail_min
    • dee850c : split board-info.txt into AOSP and non-AOSP versions
    • 148c245 : Fix SEC-OMX, for resolve two bugs.
    • 17e987e : crespo: wifi: Remove obsolete wifi.supplicant_scan_interval
    • e06d496 : crespo: convert all usages of $prop to ${prop}
    • 982fc24 : add sideload-from-adb command to recovery menu
    • 9ba8664 : auto-generated blob list
    • 06e019b : Remove old-style blob-handling scripts
    • 96a318f : kernel + wifi prebuild update
    • f77f6df : Remove libaudioutils, now in core
    • 787a346 : Self-extractors for IML74K
    • 3c69a92 : Self-extractors for IML74G
    • 9f357c0 : Self-extractors for IML74E
    • 96ec529 : Self-extractors for IML74B
    • aacb238 : Self-extractors for IML73
    • bc38bf8 : Self-extractors for IML70C
    • f9b9570 : Remove explicit desk dock orientation.
    • bcf3729 : Fix broken build due to transition to ALOGV instead of LOGV
    • affccc0 : convert crespo recovery UI to C++ model
    • eee3aab : convert crespo recovery UI to C++ model
    • 4539e6b : kernel + wifi prebuild update (DDK 1.8@300406)

  • device/samsung/crespo4g with 35 change(s)
    • b0301b2 : Update board-info.txt
    • 4d8f81a : auto-generated blob list
    • 05312df : Add "config_cellBroadcastAppLinks" to Crespo 4G overlay.
    • acb481a : Revert "Turn Wimax off for the weekend build"
    • 3840606 : Revert "Turn Wimax off for the weekend build"
    • 4387612 : Use the filesystem manager to mount and check filesystems
    • fbe7d94 : Reduce /storage permissions to 0050.
    • 4a666bb : Only list the 4.0.4 versions.
    • e73ead8 : Remove unused NTP_SERVER.
    • 1c47e25 : Organize external storage to enforce sdcard_r.
    • a638a56 : Package 4.0.4 images
    • 1bfa550 : Use the common implementation of the factory-image-generator
    • ec8c138 : Generate factory-image package for sojus. 2.3.7 for now.
    • c35ffb8 : organize scripts with per-version sections to avoid merge conflicts
    • 0422104 : Update self-extractors for IMM76D
    • d3bccde : move hardware feature definitions
    • 1652979 : Turn Wimax off for the weekend build
    • bed58e2 : Turn Wimax off for the weekend build
    • c948783 : crespo4g: start KSM on boot
    • a081117 : Update for new sprint radio
    • 7c8b4c8 : Remove Camera package (it's merged into Gallery package).
    • b498991 : auto-generated blob list
    • 49fa6f4 : Remove old-style blobs handlers
    • e04eaaa : Self-extractors for IMM30D
    • 6bb4553 : Simplify lunch menu
    • dff48fe : wlan: Switch to CFG80211
    • c0fbddf : split board-info.txt into AOSP and non-AOSP versions
    • 42ba798 : auto-generated blob list
    • eb6ab69 : Remove old-style blob-handling scripts
    • ef1feec : Self-extractors for IML74K
    • fa08cfa : Self-extractors for IML74G
    • 36650ca : Self-extractors for IML74E
    • 8c03f7a : Self-extractors for IML74B
    • 725a456 : Self-extractors for IML73
    • f1270e6 : Self-extractors for IML70C.

  • device/samsung/maguro with 41 change(s)
    • 33c5f33 : Update board-info.txt
    • 2730dc9 : We should not auto convert multiple SMS to MMS messages
    • 5eb91bb : Only list the exact 4.0.4 versions
    • abf5a1a : Add takju
    • 8d3fceb : organize scripts with per-version sections to avoid merge conflicts
    • 4555fd1 : Updated copyright/license for broadcom
    • 0c5d1eb : Update extractor scripts to IMM76D
    • 2311cb2 : require bootloader PRIMELC03
    • 89a35e7 : move hardware feature definitions
    • 9c33a4c : Add broadcom license. Go back to IML74K.
    • 0d26d4a : Remove Camera package (it's merged into Gallery package).
    • fcaf8ef : require bootloader PRIMELB02
    • 748cf6e : auto-generated blob list
    • cec5432 : Remove old-style blobs handlers
    • 423cd87 : Self-extractors for IMM30D
    • 15bdcae : Restrict the list of acceptable prerequisites
    • b2fba58 : Self-extractors for imm30b
    • 820a131 : require bootloader LA03
    • 7126957 : pvrsrvinit - pvrsrvctl
    • 19c62c3 : auto-generated blob list
    • 5e7e03f : split board-info.txt into AOSP and non-AOSP versions
    • 4351ff1 : Move installation of fRom to /system/vendor
    • 9e31844 : Require bootloader PRIMELA01
    • bbb0a0c : Rename the makefiles used in self-extractors.
    • a10d8c2 : Improve makefiles of distributable packages
    • 4d9b9c4 : auto-generated blob list
    • 7550dcc : Remove old-style blob-handling scripts
    • f898086 : Self-extractors for IML74K
    • 078a0b0 : PRODUCT_RESTRICT_VENDOR_FILES=true for full_maguro
    • 7c3e113 : Self-extractors for IML74G
    • 6587fbc : Self-extractors for IML74E
    • a56f053 : Add a CleanSpec
    • 487230b : Self-extractors for IML74B
    • e6bdcd4 : Self-extractors for IML73
    • ca58ed8 : Self-extractors for IML70C
    • e5b8445 : Generate downloads for icl53f
    • 87048e3 : Use the right sequence number for ITL41F
    • 9ffd74a : Generate factory images for itl41f
    • 72aa63e : Generate self-extractors for ITL41F
    • 5afdd84 : Package factory images for distribution
    • b3bc352 : Also allow the MR0 baseband in AOSP - do not merge

  • device/samsung/toro with 44 change(s)
    • e6b22a1 : Update board-info.txt
    • 3f4cf90 : Add "config_cellBroadcastAppLinks" to Toro overlay.
    • d25b64b : toro: overlay: fix Ethernet support
    • 14f42c5 : Only list the latest version (toro is unsupported in AOSP)
    • 72919ab : We should not auto convert multiple SMS to MMS messages
    • c34c9f5 : Update for CDMA version FC04
    • e045bf4 : Update board-info.txt for new lte and cdma radios.
    • 94d72b9 : Update for radio-cdma.I515.FC02
    • 90bd587 : Update for radio-cdma.I515.FC02
    • f504ab3 : organize scripts with per-version sections to avoid merge conflicts
    • 1d7e931 : Add proprietary blob to the distributable packages
    • 080c9d1 : Updated copyright/license for broadcom
    • 243a9b2 : Update distributable packages for IMM76D
    • ab12389 : require bootloader PRIMELC03
    • d7e6f64 : move hardware feature definitions
    • ec28d99 : Add broadcom license. Go back to IML74K.
    • 855a5f9 : auto-generated blob list
    • ae245eb : Remove Camera package (it's merged into Gallery package).
    • 407a55a : require bootloader PRIMELB02
    • 8c1afe4 : auto-generated blob list
    • e7156eb : Remove old-style blobs handlers
    • 58b1808 : Self-extractors for IMM30D
    • 3982c25 : Simplify lunch menu
    • 58d4b28 : require bootloader LA03
    • 213fa4b : pvrsrvinit - pvrsrvctl
    • 0b04795 : auto-generated blob list
    • 63d5f7e : split board-info.txt into AOSP and non-AOSP versions
    • 3f87a66 : Prepare self-extractors to deal with two toro variants
    • 3c615aa : Move installation of fRom to /system/vendor
    • cabcac3 : Require bootloader PRIMELA01
    • 70093fc : Update toro self-extractors to new style
    • 91acdf7 : auto-generated blob list
    • cf60a3e : Remove old-style blob-handling scripts
    • 7752139 : PRODUCT_RESTRICT_VENDOR_FILES:=true for full_toro
    • 3d92021 : Self-extractors for IML74K
    • a35ed79 : Self-extractors for IML74G
    • 9fa6834 : Self-extractors for IML74E
    • fc33e80 : Self-extractors for IML74B
    • 37c59c4 : Self-extractors for IML73
    • 0c1a5ae : Self-extractors for IML70C
    • 43613c4 : wifi: Add calibration parameter to avoid 5GHz FEM Damage
    • a72cb82 : Generate factory package for icl53c
    • f0fb3ee : wlan: Update calibration file
    • 5cf7945 : Package factory images for toro

  • device/samsung/torospr with 7 change(s)
    • aeba866 : move hardware feature definitions
    • 9564ba1 : auto-generated blob list
    • b0ef3af : Remove Camera package (it's merged into Gallery package).
    • 306fd7f : auto-generated blob list
    • f48ed3a : Remove old-style blobs handlers
    • 029811e : Simplify lunch menu
    • 5d3f101 : auto-generated blob list

  • device/samsung/tuna with 160 change(s)
    • cc170b7 : tuna: kernel prebuilt
    • d0bb949 : tuna: prebuilt kernel
    • 2cbfd06 : audio: fix in call audio path switch issue
    • 67fde1a : tuna: prebuilt kernel
    • 25003bb : tuna: prebuilt kernel
    • 8b30685 : audio: add 24000 Hz capture sampling rate
    • 0b2b471 : restrict /dev/dsscomp permissions
    • 78081e5 : tuna: kernel prebuilt
    • d84a8f8 : audio: workaround for hdmi multi channel swap
    • 3cbd1d4 : tuna: prebuilt kernel
    • 5e57291 : tuna: prebuilt kernel
    • f8db617 : New kernel prebuilt
    • 4bf3d14 : audio: add support for multichannel HDMI
    • 8a1d4ed : enable maguro PDK build
    • 7724be5 : tuna: kernel prebuilt
    • 857594c : tuna: prebuilt kernel
    • e7cc5bd : tuna: specify key behavior for sii9234 numeric keypad
    • 370d0c3 : Update device for new location provider configs.
    • 7cd304e : Enable 5.1 AAC for tuna.
    • dc85a71 : tuna: prebuilt kernel
    • 007efa2 : tuna: prebuilt kernel
    • 51b2bc4 : new kernel prebuilt
    • e804033 : tuna: prebuilt kernel
    • 219848f : tuna: kernel prebuilt
    • 7a44825 : tuna: kernel prebuilt
    • 5e2d6ee : tuna: prebuilt kernel
    • 359a416 : audio: variable deep buffer size
    • 69c1b18 : new kernel prebuilt
    • 8343e2f : tuna: prebuilt kernel
    • a04bead : tuna: Power HAL: Boost pulse CPU speeds on POWER_HINT_INTERACTION
    • 4a1d1b0 : tuna: prebuilt kernel
    • 589b709 : new kernel prebuilt
    • d6cc09e : audio: fix media volume issues.
    • 6366a3f : Add FLAC encoder to the list of media codecs.
    • b694faf : tuna: prebuilt kernel
    • 54d7ec5 : tuna: init.rc: add dhcpcd_eth0 service
    • f941dd2 : tuna: overlay: fix ethernet support
    • 6db83b3 : tuna: prebuilt kernel
    • d99f286 : tuna: prebuilt kernel
    • d27d66a : tuna: remove triggering suspend from power hal
    • e5c8369 : new kernel prebuilt
    • 51f0e9c : tuna: prebuilt kernel
    • 97f3dcc : tuna: kernel prebuilt
    • 079bd66 : audio: fix memory leak.
    • 9e45c29 : tuna: kernel prebuilt
    • a2dc21a : tuna: prebuilt kernel
    • 98fb2f5 : Use the filesystem mounter to mount and check filesystems
    • 4e7a573 : audio: add support for deep PCM buffering
    • d0a7e7a : tuna: prebuilt kernel
    • 90d9cc5 : keymaster: set delete_all to NULL
    • 8acb868 : Updated media_profiles to standard bit-rates, added HE-AAC.
    • ecc13f4 : tuna: Power HAL: min sample time to 60ms, go hispeed load to 50%
    • c059339 : tuna: Power HAL: Enable touchscreen input boost
    • 221c3d1 : tuna: Power HAL: turn off VSYNC power hint
    • 47623d4 : Adjust output buffer size and sample rate
    • 3f762e3 : tuna: prebuilt kernel
    • 6930c8e : tuna: Power HAL: Add version 0.2
    • e834192 : Add USB audio HAL to the build
    • d27e136 : Update profiles for new AAC library / AAC-ELD
    • aae0bb3 : tuna: prebuilt kernel
    • 6a79c6c : Only use QVGA for mms in timelapse.
    • 2e65359 : Reduce /storage permissions to 0050.
    • 33b692c : tuna: prebuilt kernel
    • a783372 : tuna: Power HAL: Set 100ms delay for moving above CPU 700MHz
    • d5b9786 : tuna: prebuilt kernel
    • cdfaf83 : rename audio policy output flags
    • 7233787 : new audio device API version.
    • cb8ba82 : tuna: prebuilt kernel (locally built)
    • baa3585 : tuna: prebuilt kernel
    • be67b67 : Revert "tuna: prebuilt kernel (locally built)"
    • 9dea725 : tuna: prebuilt kernel (locally built)
    • 3505f7c : Move Mifare feature to frameworks/native.
    • 6bd5949 : tuna: prebuilt kernel
    • ae0717d : update nfc xml path
    • 095e19a : tuna: Add Power HAL
    • 139959c : audio: add dual mic support for pre processing
    • c3c9892 : Remove tracing setup from init.tuna.rc.
    • 415a179 : Remove unused NTP_SERVER.
    • 6ad18b6 : Organize external storage to enforce sdcard_r.
    • 2c80c7e : tuna: prebuilt kernel
    • 8cd0e4b : new kernel
    • a18f3a2 : tuna: kernel prebuilt
    • 4af56bf : Add sii9234 rcp keymap
    • b74801d : Remove keystore.tuna.so from product build
    • 792edf5 : Remove keystore.tuna.so from product build
    • 3dbd45a : audio policy: added configuration file
    • 915f5d0 : audio: fix audio drop when speaker is selected 2.
    • 2e879fc : tuna: kernel prebuilt
    • 22ab522 : audio: fix error in capture path delay calculation
    • d08cb98 : [Tuna] Add product specific definition to HDCP symlink
    • 764ea44 : tuna: kernel prebuilt
    • 20ed985 : tuna: kernel prebuilt
    • e862c9d : tuna: prebuilt kernel
    • ae8408a : tuna: prebuilt kernel
    • a5e1f12 : tuna: kernel prebuilt
    • 7d863c7 : Add implementation of keymaster for tuna
    • 01a2041 : require bootloader PRIMELC03
    • 13dbe6c : Allow user management in Settings for this device
    • 4284270 : move hardware feature definitions
    • 1a7f789 : Change dumpstate.h include path from frameworks/base to frameworks/native
    • 24cabba : tuna: prebuilt kernel
    • 2e2b60b : tuna: update dalvik heap config location
    • 5b9819c : tuna: kernel prebuilt
    • db6fb53 : tuna: prebuilt kernel
    • 9063d5e : audio_channel_in_mask_from_count
    • b45f8eb : tuna: kernel prebuilt
    • 9168291 : Prepare to move system/media
    • f64ebfa : tuna: prebuilt kernel
    • 9de9cad : new kernel prebuilt
    • c9f1f56 : new kernel prebuilt
    • 2e1364e : Remove Camera package (it's merged into Gallery package).
    • 14a155c : tuna: prebuilt kernel
    • 0a84285 : require bootloader PRIMELB02
    • 56222bf : tuna: prebuilt kernel
    • 8e50e80 : lights: remove HAL_MODULE_INFO_SYM const
    • d8edac6 : Codec components are now dynamically configured.
    • a699b9e : tuna: prebuilt kernel
    • 44e164b : Remove route setup from dhcp
    • db654ff : Remove ANAVMID EEPROM values.
    • 18b7ded : new kernel prebuilt
    • 2848155 : tuna: prebuilt kernel
    • 600c52d : tuna: prebuilt kernel
    • 040efa4 : init.rc: set things up for tracing
    • d175d9b : new kernel prebuilt
    • d64d297 : tuna: new kernel prebuilt
    • 7baaa86 : Fix memory leaks
    • 46c7365 : Add support for concurrent operation
    • b74f97a : egl.cfg can now only have a single entry
    • 599cf9c : Reduce NFC-DEP target timeout in ATR_RES to 8.
    • ea632a6 : tuna: Kernel prebuilt
    • 6fa3e04 : enable WAITFORVSYNC
    • 1944c3f : new kernel prebuilt
    • 8a3262c : Mark locale-neutral configuration strings translatable="false"
    • 9de99f3 : Fix incorrect min bit rate setting for AMR NB audio recording
    • 465056c : require bootloader LA03
    • 4ccf272 : require bootloader LA02
    • b963756 : Use audio_format_t consistently
    • c8bb333 : new kernel prebuilt
    • 4a43539 : split board-info.txt into AOSP and non-AOSP versions
    • 10e3032 : tuna: prebuilt kernel
    • e58be4e : Turn off execute bit
    • cc703a6 : tuna: convert all usages of $prop to ${prop}
    • d9733c4 : Use audio_mode_t consistently
    • b66d968 : Create /data/radio directory in post-fs-data section
    • 9dc151a : tuna: wifi: Remove obsolete wifi.supplicant_scan_interval
    • e3e7ab3 : new kernel prebuilt
    • 995ab74 : add sideload-from-adb command to recovery menu
    • de11e11 : Require bootloader PRIMELA01
    • 16d7059 : Remove libaudioutils, now in core
    • 1d6ed5a : Clean up lunch menu
    • 9f9c31b : Get the kernel from ITF41F - do not merge
    • d3bf1fb : Import revised translations.
    • 247155b : Revert AOSP to the MR0 kernel - do not merge
    • 5e49422 : Clean up lunch menu
    • 5d52b35 : audio: delete unused ril-client API.
    • 8e912e3 : new kernel prebuilt
    • 466f531 : Import revised translations.
    • 418447e : convert tuna recovery UI to the new C++ model
    • c946e8d : convert tuna recovery UI to the new C++ model
    • 40489ac : Import revised translations.

  • device/ti/panda with 61 change(s)
    • 9cd9cd2 : Set sensible bitrate.
    • f39713c : Use the filesystem manager to mount and check filesystems
    • 8fceda2 : Reduce /storage permissions to 0050.
    • b1bd16d : rename audio policy output flags
    • c639b12 : audio: update to new audio HAL device API.
    • b9cab25 : Organize external storage to enforce sdcard_r.
    • 0e75057 : audio policy: added configuration file
    • cbe92e6 : move hardware feature definitions
    • a7e22f9 : panda: update dalvik heap config location
    • 67bc508 : Prepare to move system/media
    • 005d3db : Panda: Clean up the readme for Panda
    • 66a3a11 : Update documentation: audio is now working
    • 6512433 : Panda: Add a lunch option for userdebug
    • c752589 : New PandaBoard bootloader
    • 793defd : PandaBoard prebuilt kernel
    • c74d0c7 : auto-generated blob list
    • 015b1b5 : Remove old-style blobs handlers
    • 2694781 : egl.cfg can now only have a single entry
    • e532a40 : Panda: Bluetooth: Add TI bluetooth firmware to panda
    • f7ff7b4 : PandaBoard prebuilt kernel
    • 3b160d0 : Enable DHCP on eth0 during init.
    • f0ee15a : [Panda] Make bluetooth available for Panda
    • a42c412 : [Panda] Add boot initialization for Bluetooth components
    • 3bc554a : [Panda] Add device specific overrides for bluetooth
    • d842aec : [Panda] Add bluetooth permission file
    • 3744626 : PandaBoard prebuilt kernel
    • cbd4fae : Use new logging macro names
    • a6b213b : LOG - ALOG
    • ca19166 : [Panda] Enable board specific audio HAL
    • a09009f : [Panda] Add OMAP4 audio support for Panda
    • 92996ed : PandaBoard kernel prebuilt
    • 3e6cfe6 : panda: convert all usages of $prop to ${prop}
    • b93702f : auto-generated blob list
    • fa804b2 : Remove old-style blob-handling scripts
    • 63b6b67 : Updated usbboot that recognizes PandaBoard ES
    • 83c631f : PandaBoard kernel prebuilt
    • d5e4b51 : Updated bootloaders that work on PandaBoard ES.
    • ccb1ba2 : Panda kernel prebuilt
    • a38e069 : Panda kernel prebuilt
    • 5c8fc62 : Remove libaudioutils, now in core
    • 871cc85 : Updated panda kernel
    • bc5ee76 : Updated kernel
    • 7a72ed1 : Add a flag to use panda-specific gfx libs
    • 2e0d124 : update documentation
    • 3caf3cb : Point to the proper wifi makefile
    • c9f833a : Enable wifi-related build config flags
    • b62237f : Update README with notes on getting proprietary binaries.
    • a901e68 : Temporarily disable WPA-related options
    • 59ff61e : Update for copying in WiFi firmware files
    • a57759f : Add frimware files for wl1271 Wi-Fi chip
    • ba3238e : Changes for enabling Wi-Fi on panda board
    • 58ab99e : New panda kernel prebuilt.
    • b851c91 : Set size of cache partition
    • 7ded373 : New panda kernel prebuilt
    • 7ce388c : Add the proper license for binary packaging
    • 1b4349e : Add audio libraries to panda
    • 94dd5b3 : Panda: Fix the model and the manufacturer
    • c3908e8 : Panda: Update the USB rc file for the VID/PID
    • 52d454a : Add permissions for video components
    • 5b36f6c : Remove kernel cmdline
    • 929fb99 : Add hwcomposer HAL to the device make

  • platform/abi/cpp with 1 change(s)

  • platform/bionic with 142 change(s)
    • ec2ab73 : Minor tweak to get memory around corrupted heap chunks dumped.
    • b7630f0 : Use new debuggerd protocol.
    • e1dd3c2 : bionic: import heaptracker as chk_malloc
    • 7d2e24e : bionic: introduce libc.debug.malloc.program
    • 2481468 : Print the corrupted address passed to free().
    • c84ff11 : Print the corrupted address passed to free().
    • b23f193 : Ensure that the port number and TXID are properly randomized.
    • 08e72d0 : bionic: add support for non-NEON memcpy() on NEON SoCs
    • 08b51e2 : Implement the "abort" stub in assembly for ARM.
    • b091dd9 : libc: continue to use Android's custom linker script
    • ed87404 : Update f_accessory.h kernel header
    • 94179a5 : linker: remove STB_LOCAL hack
    • baeacba : add linux/sw_sync.h
    • 6b99103 : add linux/sync.h
    • 4a9d6e5 : Fix segv when unwinding stack past __libc_init.
    • d515ce4 : Bionic: Fix wrong prototype of system call clock_nanosleep
    • 41070dd : bionic: Fix wrong prototype of system call getresuid/getresgid
    • e5bf068 : bionic: fix NULL parameter failure in getcwd()
    • ee18fb4 : libstdc++: Fix x86 thread-safe one-time-construction implementation.
    • f0ec06b : Add faccessat to syscall list
    • e54cc75 : Update unistd.h for new syscalls
    • 0613dce : regenerate linux/fb.h
    • 1a78fbb : Initialize TLS before any application code is run.
    • 470835b : Move end of __on_dlclose up
    • 03273f8 : __on_dlclose should be aligned
    • ad7ff82 : Revert "linker: remove STB_LOCAL hack"
    • 7f03d23 : Revert "linker: remove STB_LOCAL hack"
    • cd15bac : Fix segv when unwinding stack past __libc_init.
    • bd0383a : libm: fix invalid result of function remquo/remquof
    • 61ff834 : linker: remove STB_LOCAL hack
    • 0fdc190 : Update linux/input.h to version 3.4.
    • 07a387e : libc/kernel: update cleaned v4l2 header
    • 17ed54d : libc/kernel-headers: Auto generated files for netfilter/xt_IDLETIMER
    • 8c4f3ce : linker: surround "debug_verbosity" by "#if LINKER_DEBUG"
    • 3a7ea52 : linker: enable -fvisibility=hidden
    • 8f78ddb : Update to tzdata2012c.
    • ddb2f13 : Revert "libc/kernel: Add rules to autogenerate device specific kernel headers"
    • 82fa43f : [MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.
    • faca92f : Handle pthread-related changes (mutex/atfork)
    • 2ab5bfd : Add auto-generated headers for USB FunctionFS
    • 126601d : Fixed to #include correct 32-bit headers; Refreshed libc/kernel headers
    • cb08204 : libc/x86: ensure the stack 16-byte aligned when tasks created
    • eaae810 : Initialize mspace-least_addr properly in the mmap path.
    • b8e1e96 : bionic: pass MADV_MERGEABLE on private & anonymous mmaps
    • 2f33c5a : Update the libc kernel includes to support the newer mman for KSM support
    • d1860ad : fnmatch.c: Update to version in OpenBSD HEAD
    • a677907 : string.h: add __attribute__ ((pure)) to string functions
    • 884147c : libc/kernel: Add rules to autogenerate device specific kernel headers
    • 21eab51 : New additions/bug fixes required/found when porting perf.
    • d73b5ca : linker: fix off-by-one error in GNU_RELRO handling
    • 34e89c2 : bionic: fix atfork hanlder_mutex deadlock
    • 6625986 : linker: initially reserved memory as PROT_NONE
    • ad812ef : Add in auto-generated if_alg.h header
    • 1a82369 : Update kernel headers and add syscall "perf_event_open"
    • 06823da : Revert "am be741d47: am 2f460fbe: am 73b5cad9: Merge "bionic: Fix wrong kernel_id in pthread descriptor after fork()""
    • d8bc6e7 : bionic: Fix wrong kernel_id in pthread descriptor after fork()
    • c59ba45 : Use new binary code format
    • ca9a071 : Re-throw signals
    • 654325d : Update bionic kernel headers using update_all.py
    • 4b29af0 : Revert "Update bionic kernel headers using update_all.py"
    • 06e1831 : Prevent potential stall on dns proxy operations.
    • 3df3e67 : Log the thread id and name for fatal signals.
    • 94a85f6 : Update bionic kernel headers using update_all.py
    • 9ec0f03 : Add relro support
    • fa3f72e : Revert "Reference __dso_handle in PIC way"
    • be101bf : Revert "Reference __dso_handle in PIC way"
    • 93cb308 : Reference __dso_handle in PIC way
    • dd8e404 : Upgrade to tzdata2012b.
    • 69ea1c0 : Upgrade to tzdata2011a.
    • 53d161a : update stddef.h
    • 9921947 : Eliminate duplicate constants
    • 67e7a93 : Eliminate duplicate constants
    • ec37237 : update stddef.h
    • 1fa7b45 : libm: cherry-pick one patch from freebsd to fix logb() denormals issue
    • 93b8f94 : Revert "Use the new NativeDaemonConnector style."
    • 906dbea : libc: Add __aeabi_llsl and __aeabi_llsr to libgcc_compat
    • 1fb6662 : Revert "Use the new NativeDaemonConnector style."
    • c5393b2 : bionic/x86: fix one potential deadlock in __set_tls()
    • f1a17e7 : libc: Add __aeabi_llsl and __aeabi_llsr to libgcc_compat
    • 58b2c16 : Trivial fix in comment
    • e19d702 : Redesign dlopen() locks to be recursive per thread.
    • 058d6d8 : Update bionic to know users and isolated uids for uid string representation.
    • b69060f : Clean up the remnants of SuperH support
    • f39a3fe : Allow C++ to call fdprintf
    • 1625c7a : Use the new NativeDaemonConnector style.
    • 177a770 : linker: fix x86 build
    • 5fbf2e0 : libc: Define new symbol visibility macros
    • 70b1668 : remove obsolete SuperH support
    • f5d1693 : Fix recursive ELF constructor check
    • e1414aa : libc: remove global lock from recursive mutex implementation.
    • 1fc5176 : Log debuggerd connection failures
    • 52764f5 : Increase the size of the system-wide dns cache
    • 738b175 : Make sure __u64 is defined even for strict ansi or -std=c99
    • b57db75 : libc: Fix recursive mutex lock implementation.
    • bb44055 : Move variable declaration on its own line
    • 861b42a : Use the AT_SECURE auxv flag to determine whether to enable secure mode.
    • 3452e30 : Add new suspend-block input ioctls.
    • 5eb686d : Add extended attribute (xattr) system call wrappers to bionic.
    • ea29cd5 : Eliminate duplicate copies of constants.
    • d6045cb : Don't generate sys/linux-unistd.h
    • b6f40f0 : update personality.h
    • 87043f9 : res_send: Avoid spurious close()s and (rare) failure
    • 28a7c35 : execvp: bcopy() is deprecated. Use memcpy() instead
    • c61f990 : Fix misspelled Python variable name and typos
    • 208898e : libc: remove private declarations from time.h and resolv.h
    • 11f3d5a : libc: Copy private C library declarations to private/
    • e83c56d : Execute .preinit_array before any shared object initialization functions.
    • e30e909 : sreadahead: adding readahead system call into bionic libc
    • a37f372 : readdir: fix interface to kernel getdents64 function
    • 85aad90 : Add the posix_memalign(3) function to bionic
    • a5cb76b : libc: x86: Use SSE2 or SSSE3 optimized routines when possible.
    • 7c0c379 : implement pthread mutex deadlock detection
    • af96d4d : x86: libc may use the gcc flags from TARGET_linux-x86.mk
    • 022d303 : libc: optimize pthread mutex lock/unlock operations (1/2)
    • 6c6de44 : libc: optimize pthread_once() implementation.
    • 7d03c9c : pathconf: dead loop in bionic function __2_symlinks
    • 177ba8c : Prevent deadlock when using fork
    • e4a21c8 : signal: Align the sigset_t size passed to from user space to kernel.
    • cb1df91 : string: Fix wrong comparison semantics
    • 253b763 : get rid of unused "main" function.
    • 89d3fdc : MALLOC_DEBUG: enable the option libc.debug.malloc = 10
    • e480fc8 : bionic: fix pthread_{create, exit}/signal race condition
    • 31e72bc : bionic: fix __get_tls( ) crash issue
    • 897815a : bionic: add machine type check
    • 495f16c : update capabilities.h
    • f1a39dc : libc: Fix typo that broke NDK compatibility.
    • ca6fe7b : Request both v4 and v6 dns when on secondary net
    • 10c8ce5 : Add tgkill syscall.
    • 5f64df4 : ASLR: enable pthread stack location randomization
    • 0fec6b9 : libc: provide atomic operations will full barriers for NDK apps.
    • e31bfae : bionic: Do not use sys/atomics.h for platform code.
    • 8180b08 : linker: Fix the computation of si-base
    • 9831ad3 : libc: speed-up flockfile()/funlockfile()
    • 9bf330b : libc: fix the pthread_sigmask implementation
    • 468319c : Make the linker relocatable.
    • 0aa8289 : generate PIC code.
    • 7939908 : linker: set LOCAL_NO_CRT := true
    • 8e8a7b1 : Revert "Make the linker relocatable."
    • 994e9a5 : Make the linker relocatable.
    • f3dbdbe : Update to tzdata2011n.
    • bcb2eda : Update to tzdata2011m.
    • d9ad623 : Add linker support for PIE

  • platform/bootable/bootloader/legacy with 1 change(s)
    • b1fde5c : Moves us from e=3 to e=65537

  • platform/bootable/diskinstaller with 4 change(s)
    • d2a0ffa : vbox_x86 builds: force-set the vdi UUIDs
    • 6d3fad1 : vbox_x86: use cache.img
    • e05d6d1 : vbox_x86: have separate system and data disks
    • f4190db : editdisklbl: remove stale include-file reference

  • platform/bootable/recovery with 33 change(s)
    • 69f4b67 : fix timed progress bars in recovery
    • e5d5ac7 : minor recovery changes
    • 038818c : Update merge for SELinux to compile
    • 6e960cd : Add NOTICE file
    • 516e4e2 : Change the format command to always take the mount point as an argument.
    • 779701d : Extend recovery and updater to support setting file security contexts.
    • acd73ed : fail edify script if set_perm() or symlink() fails
    • 4870479 : run minadbd as shell user, remove unused code
    • 098d1f6 : remove unused code from minadbd
    • 703ed15 : run minadbd as shell user
    • 35a35a6 : remove retouching code from updater
    • b07b293 : fix build
    • 1c43c97 : fix failure to free memory
    • 74a6279 : libz is a superset of libunz, so we don't need both.
    • 1a11449 : Add libselinux to LOCAL_STATIC_LIBRARIES wherever libext4_utils is used.
    • 48b5b07 : allow recovery UI to ignore certain keypresses
    • 336a994 : allow recovery UI to ignore certain keypresses
    • e83b7cf : support "sideload over ADB" mode
    • 6639248 : always initialize usb product, vendor, etc. for adb in recovery
    • 9270a20 : support "sideload over ADB" mode
    • 0a7b45a : recovery: convert all usages of $prop to ${prop}
    • d9428e3 : mount cache before sideloading from external storage
    • 32a0a47 : move key processing to RecoveryUI
    • d538eb7 : fix verifier test
    • a4e88e4 : move key processing to RecoveryUI
    • daefc1d : C++ class for device-specific code
    • bd8e7fb : verifier_test needs to provide a UI object
    • b88aea8 : temporarily remove verifier_test binary
    • 211aebc : refactor ui functions into a class
    • 7d0542f : C++ class for device-specific code
    • 28ce47c : turn recovery into a C++ binary
    • 7440630 : refactor ui functions into a class
    • 10e418d : turn recovery into a C++ binary

  • platform/build with 654 change(s)
    • 39865ff : JRO03C
    • 7f8c15f : JRO03B
    • b435a8c : 4.1.1
    • 95497ec : JRO02D
    • b04e932 : JRO02C
    • 4a3e68d : JRO02B
    • 2513bf5 : JRO02
    • 792ba3b : JRN90
    • e0e910e : JRN89B
    • f973ced : docs: better message for download page when os detection fails
    • bbd80f6 : JRN89
    • 28fe266 : JRN88
    • 810e288 : docs: fix overlapping sidebar bug, but I think this re-introduces a bug in IE where the sidenav position moves slightly left/right during scroll, but it's a worthwhile compromise and will investigate a diff solution for that later.
    • 03c972c : docs: misc css
    • 3ae5998 : JRN87
    • af1a370 : JRN84D
    • 58cdcd1 : JRN84C
    • 4b06007 : JRN84B
    • 795683d : JRN86
    • 16cd5c0 : JRN84
    • 9ada226 : docs: darker font color
    • 6a7a66b : docs: try darker text and shorter line height
    • d786a29 : docs: adjust homepage carousel styles
    • 8a6fb02 : JRN83D
    • 67cff69 : JRN83C
    • 25659b0 : docs: update sdk template to support new ndk doc layout
    • db7d1d3 : JRN83B
    • 412eaf2 : docs: style changes for notes
    • f9b799b : cherrypick from ics Change-Id: I07b59de3f2e4a5fef2e8722d7f7ab159ded8b2df return old analytics script
    • ba18963 : JRN83
    • e4d8f1b : Massive clobber of all template files in developer site for new design
    • fd6d004 : JRN82C
    • 2afa4c5 : JRN82B
    • 486d6e8 : JRN82
    • 30ac57a : JRN81C
    • ff64a92 : JRN81B
    • 5f42586 : JRN81
    • f4d15cf : JRN80C
    • fde5719 : JRN80B
    • 03bb085 : Remove references to packages that don't exist any more.
    • ae25ec1 : More flexibility to keep/remove R.class in static Java library
    • cab8934 : JRN80
    • 2f78c04 : JRN79C
    • 5bd0baa : JRN79B
    • 7be7b42 : JRN79
    • 5b0b2a4 : JRN78B
    • 87888c7 : JRN78
    • e770754 : add uiautomator into system image
    • 583216a : JRN77
    • 43ca4a4 : Remove the user tag and legacy prebuilts for the srec modules.
    • 175026a : JRN75E
    • fe79d01 : JRN75D
    • ccfa22e : JRN75C
    • 43843b6 : JRN75B
    • 74aba61 : Allow additional vendors
    • 91f3d74 : JRN75
    • 291b58d : JRN74C
    • 0445111 : JRN74B
    • d3acbf2 : JRN74
    • 11ee14d : JRN73
    • 9657c61 : JRN72D
    • 3b123c0 : JRN72C
    • 2715ac8 : JRN72B
    • fc57a28 : JRN72
    • 18cb32b : JRN69D
    • a9efae3 : Add atrace to core.mk
    • 13a099d : JRN69C
    • 7765a8a : JRN69B
    • a63502c : JRN69
    • 1f61e09 : JRN68B
    • efe02ce : add TARGET_BUILD_JAVA_SUPPORT_LEVEL to allow checking if java build is OK in PDK
    • adca40c : JRN68
    • 04e7264 : JRN67D
    • 099f4ae : JRN67C
    • fd9f8bc : add mini.mk for common configurations for mini products
    • 84f4b69 : JRN67B
    • 989d99a : JRN67
    • 0296c83 : JRN66C
    • 9715049 : Add LegacyCamera to SDK product
    • c5c3c70 : JRN66B
    • 90beb4f : Add some known binary owners
    • 66b114d : JRN66
    • 71004f8 : Clean common intermediate files if overlay changed
    • 2c6cb07 : JRN65B
    • a1fe1ab : JRN65
    • 81ae93a : JRN64
    • 28a1817 : Don't use .. to reference the target file.
    • e7af5e2 : Add Live Wallpapers to AOSP builds
    • 1fb843b : JRN61B
    • 689f117 : Fix rild running in Nakasi.
    • 1544817 : JRN61
    • e581d86 : change location of apns-conf.xml and vold.conf
    • c41c5f4 : add add-to-product-copy-files-if-exists for pdk
    • 23398c8 : JRN60B
    • 01efddb : Make make make faster.
    • 1347ee6 : JRN60
    • 70efb21 : JRN59D
    • 0dcdc13 : JRN59C
    • 3e93aea : add platform.zip from platform-java to dist
    • d9a65fd : JRN59B
    • 82eb708 : Fix typo.
    • 2e05f1d : JRN59
    • f26c49d : JRN54F
    • 117bfe3 : JRN54E
    • d8de82f : ignore touch error happening from broken symbolic link
    • 98d83b5 : JRN54D
    • fc3b84a : JRN54C
    • 567b3e4 : JRN54B
    • 816b9fd : enable PDK to use platform JAVA API
    • ea1d824 : JRN54
    • 8e3b307 : JRN53E
    • 7eb5051 : JRN53D
    • 8ad9c19 : JRN53C
    • 1bdbe64 : JRN53B
    • 3fbe1e2 : JRN53
    • 9ccacd7 : Set PWD to the absolute path of the top tree.
    • cbd9e14 : JRN52B
    • 4689e01 : JRN52
    • f39a761 : JRN51C
    • 166a113 : JRN51B
    • 1a59d4c : JRN51
    • 3838dba : JRN50
    • 9690bf6 : JRN47E
    • e8a9636 : JRN49
    • a744652 : JRN47E
    • f7eace6 : JRN47D
    • 06fc824 : JRN48
    • 783908c : JRN47C
    • 159b9d4 : JRN47B
    • 81b2eb3 : JRN47
    • 167cbb0 : force version reset
    • 6631b29 : JRN47
    • 8246871 : JRN46D
    • 4ab2f9c : JRN46C
    • 838ebb2 : JRN46B
    • ad13a75 : JRN46
    • 4007faf : Remove dependency of libvideoeditor_jni.so on static libs from video editor engine
    • 129c58f : JRN45B
    • c8bfb1c : Revert "Remove dependency of libvideoeditor_jni.so on static libs from video editor engine" Fixed the broken build first.
    • 6e371e4 : Don't set or reference LOCAL_MODULE_PATH for uninstallable modules.
    • 95d04d0 : JRN45
    • e85f05b : Remove dependency of libvideoeditor_jni.so on static libs from video editor engine
    • 267de65 : JRN44C
    • 5b2c7ae : JRN44B
    • 3ceecfa : Check the well-formedness of an xml file before copying.
    • fe61a0b : JRN44
    • 917fc02 : JRN40I
    • b705c02 : JRN40H take three
    • 32f2436 : JRN40H take two
    • 99956ed : JRN40H
    • 3dbf4c9 : JRN40G
    • e2bcb9e : JRN40F
    • 17f197f : JRN41
    • 7bb0423 : add copy of public cert used for signing to OTA packages
    • 3742983 : JellyBean is now 4.1.
    • a6862ca : JRN40E
    • a1ff629 : Now current is also a valid prebuilt SDK.
    • 0ec188f : Support to build against prebuilt current SDK in unbundled branch
    • 9e8f70a : JRN40D
    • b9c3d8a : JRN40C
    • 668a29b : JRN40B
    • 9eb5173 : JRN40
    • 780c36e : JRN39D
    • b8bc852 : Add OMX IL FLAC encoder library
    • 20e6e85 : JRN39C
    • ecb1a56 : x86: compile everything with relro / bind_now
    • 125f01f : JRN39B
    • 4f48867 : JRN39
    • 7e48e40 : Add LLVM_AS to tools.
    • 675b0eb : JRN38B
    • c5fc790 : Parse external/cibu-fonts/fonts.mk.
    • d9a9bde : JRN38
    • b2d9268 : Add keyboard layout package to build.
    • 9264e4a : The 'localize' tool is dead.
    • d3763c4 : Make audio downmixer part of the core platform
    • 222237b : JRN37B
    • 667aa33 : JRN37
    • 4348eb5 : JRN36B
    • 3d86eb1 : JRN36
    • 7a54af9 : JRN34B
    • e396df8 : Fix the build. Exchange - Exchange2
    • 876ce3a : JRN34
    • 89898df : Track libnativehelper move for PDK.
    • f822f5e : JRN33F
    • b985e69 : JRN33E
    • fffe1d5 : use the file uid/gid/mode saved in the target_files
    • 12b152b : JRN33D
    • 8867a14 : JRN33C
    • b0a58da : JRN33B
    • 48469a6 : JRN33
    • 218fe74 : JRN32D
    • 2afad40 : JRN32C
    • 5ff168f : JRN32B
    • 39bf18f : JRN32
    • af9bd9c : JRN31B
    • 8600994 : JRN31
    • 9a6c8c2 : JRN30C
    • 000e89a : Strengthen dependencies on LOCAL_REQUIRED_MODULES
    • 6d558a5 : JRN30B
    • dfb1b67 : JRN30
    • 8b033d4 : 26D take two
    • 412d8d2 : JRN26D
    • 0987f03 : Add Development/scripts to path.
    • 86f90ef : JRN26C
    • f8dc89b : Use split-long-arguments to touch pdk platform.zip files
    • b8d2d71 : JRN26B
    • 83dbd2f : Option to keep the generated R class in static Java libarry
    • 233d460 : ARM: compile everything with relro / bind_now.
    • 8ea01b7 : JRN26
    • a69e619 : Build libstagefright_soft_mpeg4enc.so by default
    • 9a9400b : JRN25B
    • 4c24d41 : JRN25
    • 64f642d : Fix pdk build.
    • 3ec1f68 : JRN24B
    • d517795 : Build libstagefright_soft_h264enc by default
    • 2bea2e6 : Set timestamps of files from platform.zip to current time
    • 58228e2 : JRN24
    • 68f1c77 : Make export_includes depend on the module's definition makefile.
    • e1a42cc : Whitelist audience
    • 7151e9d : JRN23B
    • 7b0946d : JRN23
    • 4e82d1f : On linux, always use the prebuilt host toolchain
    • ebb351e : enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build
    • b9566c0 : Revert "enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build - uses prebuilt tools for PDK"
    • a50ef1c : Switch to new locations of toolchains
    • 4e960a3 : JRN19F
    • 74bc051 : Move pdk fusion platform.zip file under vendor/pdk
    • f66f347 : Split target/product/sdk.mk into sdk.git
    • b132a54 : JRN19E
    • 6b719da : docs: update sidenav-width-adjust script so Training classes save the width for the Resources section
    • 9283168 : enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build - uses prebuilt tools for PDK
    • c856e31 : Workaround for a gcc-4.6 bug on -fstrict-volatile-bitfields.
    • 422a365 : Fix build problems with gcc-4.6.x.
    • ecd054c : Add goldfish audio hw to board/generic_x86
    • 6e417bc : JRN19D
    • 76b0139 : docs: update doc template to make the Resources side nav wider (+40px)
    • 5ededc0 : JRN19C
    • 48ccb18 : JRN19B
    • 5d4bcb4 : Use an https URL
    • aad195e : vbox_x86: add a 256M ext4 cache partition
    • c312f31 : build: separate dist tools and ota tools
    • 4049130 : build: remove unused ota tools
    • 7826101 : enable recovery img build for PDK
    • 7c6f117 : JRN19
    • 21adee0 : Move pdk fusion platform.zip file under vendor/pdk
    • 616e596 : Write out export_includes whenever the module is built.
    • 0c50c08 : JRN18C
    • c32af65 : Revert "Write out export_includes whenever the module is built."
    • 40c34f3 : Write out export_includes whenever the module is built.
    • 685df30 : JRN18B
    • 0703b96 : JRN18
    • 08f5e9a : Add back ARM_EABI_TOOLCHAIN.
    • 49e213e : JRN17B
    • b2d24a5 : JRN17
    • 1e420b6 : Add smoke tests to sdk build.
    • 1cb4fa6 : JRN16C
    • 600bd23 : JRN16B
    • dc790b0 : Default ro.carrier to unknown
    • 4f613f8 : JRN16
    • 55f3f85 : Fix problem with audio policy configuration file.
    • a6b2505 : JRN12D
    • 1c9ee24 : JRN12C
    • dbff3f5 : Whitelist widevine
    • 6577da0 : JRN12B
    • 6c70362 : Allow packages to place manifest files in any directory
    • 843bc2c : Add MDNS to the build.
    • 2dbae81 : JRN12
    • 477e189 : JRN11B
    • a0d8a6a : core.mk: Add rule for init.usb.rc
    • 40937f0 : JRN11
    • d0c6327 : Fix audio broken for sdk builds.
    • 7a2664d : JRN10C
    • 303d876 : Revert "ARM: compile everything with relro / bind_now."
    • b3789be : Revert "ARM: compile everything with relro / bind_now."
    • 50e91ab : JRN10B
    • 7d0ede7 : Update gdbclient for x86 target
    • 64cd96c : Bump DX Java heap to 2GB.
    • 2aa9536 : JRN10
    • f50f4c5 : More Clang tweaks to the build system.
    • df2056e : fix broken OTAs; format() is called with wrong # of args
    • c4625ab : Fix deps for notice generation.
    • 020e491 : ARM: compile everything with relro / bind_now.
    • f5fe0d4 : JRN09
    • 1bf173c : JRN05E
    • b9c8be9 : JRN05D
    • 090b8d7 : JRN05C
    • 56882bf : Support the setting of file security contexts in OTA and update packages.
    • 5042392 : Pass the file_contexts configuration to mkyaffs2image and make_ext4fs.
    • 277e68b : init.vbox_x86.rc: mount data & cache partitions from /dev/sdb
    • df49771 : Allow factory specific kernel commandline
    • 11d3c44 : Add new camera system include path to pathmap.
    • 7ade79a : JRN05B take two
    • 2ec9320 : JRN05B
    • a2209e2 : JRN05
    • 48dfc6f : JRN04C
    • 8cf1c22 : JRN04B
    • ce7d34c : vbox_x86: update init.vbox_x86.rc, remove custom init.rc
    • 7d3c9c9 : JRN04
    • b520df4 : target/product: have the sdk product pull in the apns
    • cc6766f : added audio_policy.conf file
    • edd5f70 : JRN03C
    • fde6632 : JRN03B
    • 1048bd3 : docs: revert the change that made "new" tags stick on the first line and thus allow them to wrap.
    • 8245810 : Revert "Update versions of the Eclipse prebuilt libraries"
    • 6cc9c06 : Add support for building with AddressSanitizer.
    • a7095e9 : Include Clang headers from ".../include" directory.
    • ed26485 : JRN03
    • 3f45b3c : Support to run DroidDoc in unbundled builds.
    • 30960a2 : JRN02D
    • 2109487 : Changes to C++ protocol buffer compilation.
    • 5a101e7 : JRN02
    • 9ad36ef : Remove base_intermediates from LOCAL_C_INCLUDES
    • 82b836f : Support to build pdk and pdk fusion.
    • fb7d523 : JRM89D
    • 4c289e5 : Generate platfrom.zip for build goal "platform".
    • f5a97d7 : Moving notice file generation to a python script (it was getting fairly complicated in bash), update HTML output to have a table of contents, and fix typos/bugs in notice file CSS
    • 06e758a : config: add documentation for managing kernel-headers
    • 8e4042c : Revert "core: the device/board/product kernel headers will be auto-generated"
    • 10a1e47 : JRM89C
    • f5172c7 : Switch default gcc toolchain from 4.4.3 to 4.6.
    • a996e0b : JRM89B
    • 971c246 : Remove some dist targets from PDK builds
    • 5eed15e : docs: Android Design: v3 update (CSS changes)
    • 51cf729 : Include new raw audio decoder.
    • 405acb8 : JRM89
    • 3a7ede2 : install drm libraries and drmserver to the core product, which covers sdk build
    • 0f22e8c : JRM88B
    • b877542 : don't build apicheck for PDK builds, removing dependency on doclava
    • 0b7d3d6 : Moving libRS
    • bbd4998 : Add samsung_arm as an owner
    • b4e05b6 : JRM88
    • 8f4c311 : telephony: remove default apns_conf.xml
    • 3d0743f : JRM87B
    • 4c45699 : Allow make 3.82 to be used under Cygwin 1.7
    • fe97fe9 : Multi-Project Commit: Move of filterfw out of system/media (3 of 7)
    • f396f56 : Fix build
    • 10e0b15 : JRM87
    • d905491 : mv wilhelm
    • 97e023c : move hardware feature definitions
    • 33666ad : docs: re-add android design icon, which had been removed from original location
    • 4fb621d : JRM86B
    • 9bf081e : Add hardware API libs and SSL engines to gdb path
    • 546e26f : JRM86
    • 55daae9 : Skip host system directories in Clang include path.
    • e7b0dbb : audio configuration file path change because it is relocated
    • c49ee71 : Added /frameworks/av/include to the default include search path
    • 7a59605 : Introduce TARGET_BUILD_PDK for selecting build tweaks for the PDK
    • ee6bddc : move ndk headers to frameworks/native
    • 8f8f0d4 : Add build.prop to factory ramdisk
    • a3f122a : Fix build: Revert "SDK: Enable monitor in sdk product."
    • 62304f1 : Make sure compiler flags also pick up correct toolchain.
    • f0813c2 : Fix missing xml configuration files for sdk builds
    • 0bf8073 : build: move Zip* from libandroidfw to libutils
    • aef279d : JRM81C
    • dfbe79b : Don't expose the compiler dependency.
    • 2245d17 : Point to new linux prebuilt toolchain for SDK build
    • b71e2df : Add LOCAL_CLANG variable to switch C/C++ build environment to Clang.
    • 74160ed : SDK atree: support HOST_OUT location.
    • 0022a03 : SDK: Enable monitor in sdk product.
    • da11f87 : JRM81B
    • d14d3b4 : Add a comment about publishing licenses for third-party code
    • 8f3670b : fix build: make check_radio_versions.py okay with no args
    • 9296f09 : optional cross-check between OTA radio images and board-info.txt
    • d27e4f8 : JRM81
    • 347e812 : JRM79C
    • 7022c52 : JRM79C
    • e28ec41 : JRM79B
    • 94c8504 : Update versions of the Eclipse prebuilt libraries
    • 962b13d : JRM80
    • 1319005 : Define a basic llvm-link + clang environment
    • e25a519 : Added media_codecs.xml file to generic_x86 and vbox_x86 configuration files
    • 992a529 : core: the device/board/product kernel headers will be auto-generated
    • f926990 : core: allow product to provide kernel headers as well
    • 9101918 : JRM79
    • 15deb24 : JRM75F
    • 3316544 : Revert "Swicth to toolchain gcc-4.6"
    • 1d737c5 : JRM75E
    • e5129bd : Swicth to toolchain gcc-4.6
    • e3e4b7a : JRM75D
    • f2a98a3 : Revert "Swicth to toolchain gcc-4.6"
    • c914cc9 : Swicth to toolchain gcc-4.6
    • 9b9d3d9 : JRM75C
    • 0bc277c : JRM75B
    • 4e16f96 : core: allow devices to provide their own device specific kernel headers
    • 9ec15ec : rename pdk builds: pdk1 to pdk_eng, pdk2 to pdk_rel
    • 9ea6952 : Move keystore from user_tags to core req
    • 62fbd8b : JRM75
    • fefc17f : Use pathmap.mk for system/media includes
    • 6577f6f : JRM74
    • bf69aa3 : Fix tests build.
    • 160b670 : Add build goal "tests".
    • aaf01f4 : Make adbs work again on Darwin x86.
    • 02b59ac : JRM73C
    • 468e449 : JRM73B
    • c5f0497 : Remove system partition files from the test zip file.
    • 8fd1541 : Make sure to copy codec setup files to their proper filesystem location on the emulator
    • c778fda : JRM73
    • 0e63fd3 : Point to new linux prebuilt toolchain for SDK build
    • 49932f1 : Adding clean variables for some variables used in CTS.
    • c178ea6 : JRM72B
    • 519316e : Fix build caused by 168380
    • 7fc7aad : changes to add pdk1 / pdk2 build for PDK build - additional files will be added to pdk/build Bug: 6079146
    • ad0f850 : JRM72
    • 43ba688 : Include the downmix effect in the platform
    • 178a4a6 : JRM68D
    • b0ff345 : JRM68C
    • 8c61c32 : JRM68B
    • 086b11c : JRM68
    • a125a3b : Remove Camera package (it's merged into Gallery package).
    • 1a5fc95 : Rename help function in envsetup.sh to be hmm
    • 5a4eb5f : Update llvm-rs-cc build to use unified headers in all cases.
    • b2fbb38 : JRM67B
    • 975599a : JRM67
    • e204523 : JRM66
    • fb956ef : update include paths to new location
    • bd118e6 : add frameworks/native include paths
    • cdcea7a : add a name for opengl tests include paths
    • 266ac7f : JRM65C
    • b9aa8d8 : JRM65B
    • 082aa25 : JRM65
    • 7314933 : Include CTS Build Rules
    • 3ab307a : SDK: Also read sdk/build/tools.OS.atree
    • e1a5c43 : JRM61C
    • dfb025a : JRM61B
    • 0090b0b : JRM61
    • 13dff61 : JRM60B
    • 495e585 : Revert "Remove unused notice_files target"
    • 620a527 : Remove unused notice_files target
    • e1778dc : JRM60
    • 1807e70 : don't generate retouch commands in OTA scripts
    • ed6b815 : BUILD_HOST_64bit=1 to build host tools in 64-bit
    • 55fe8ee : JRM59
    • 9849041 : JRM58B
    • 276053b : Use %zd instead of %d for variables of type ssize_t
    • a06a560 : JRM58
    • e4425ad : JRM53D
    • 7bed58d : JRM53C
    • acf01ec : Issue warning when "make snod" with dexpreopt enabled.
    • 92ca609 : Fix bug with the HOST_AR.
    • 852575c : JRM54
    • e69fbdf : JRM53B
    • 756b530 : JRM53
    • 0f9aec8 : releasetools: Fix image size checking
    • 87f4d5a : Enable TLS register by default for ARMv7a arch
    • ed3550c : JRM52
    • 9f763be : frameworks/base refactoring
    • 6125b52 : JRM51
    • 6b0a355 : frameworks/base refactoring: build fix
    • 548f646 : build: goldfish: add emulator Power HAL
    • 1d27da7 : Attempt to fix the emulator.
    • 66ec6c8 : build: Add default/legacy Power HAL
    • 7295780 : Add the default local_time HAL to the base product.
    • 013a18d : JRM47
    • 9986e1a : Remove simg2img from user_tags.mk
    • 6056432 : Move AOSP to another fake version number
    • fe8d791 : JRM46
    • d9fc5d6 : Remove generic_armv5 board config and product.
    • eaa3ba4 : Make sure the emulator system image define the features it supports.
    • ca85b44 : JRM45
    • f84ed93 : JRM44
    • 67772b8 : Linker script support for constructor priorities.
    • 34eddf6 : JRM40
    • cd2150b : JRM39B
    • 33f2dd8 : JRM39
    • b9d5682 : Adding shell commands for manipulating content via content providers.
    • 5f1c9ba : Add extra environment info to build output
    • 49214a2 : JRM38
    • b7fc154 : Add gcc_demangle to BUILD_TINY_ANDROID projects
    • 80af599 : JRM37
    • 77816b8 : Add lint to all builds.
    • d79f950 : Add annotations to the sdk build.
    • c3e73d3 : JRM33
    • df6a14f : Add requestsync package
    • 5dea692 : Use @rpath and @loader_path to avoid absolute path
    • d8b5bb3 : Include the amr wb encoder shared library in all builds.
    • 80469e4 : Delete unused var.
    • 715686d : Include the amr encoder shared library in all builds.
    • 8d71d6c : JRM32
    • b4c2a64 : Set install name with absolute path for Mac host shared libraries.
    • 68eb22a : JRM31
    • 756eda8 : Add build.prop to factory ramdisk
    • 29b3afa : Increase java heap size.
    • 7a93b48 : Added libstagefright_soft_aacenc to all builds of all products
    • 707328a : Build should fail if any proto file fails compiling
    • 3228210 : JRM30
    • 160711d : Add missing tools jar to the sdk product modules.
    • 65f706a : Add annotations to the sdk build.
    • 5c97da7 : Fix for "dexopt: No such file or directory" error
    • 347f305 : Move Windows SDK whitelist out of main.mk
    • 7daf30d : JRM26
    • 1e1c4d7 : JRM25B
    • 6bdc7a8 : JRM25
    • 4bd8ead : You know back when I said this thing about Ice Cream Sandwich MR2?
    • d25045b : reset version to jb value
    • 512ce9c : You know back when I said this thing about Ice Cream Sandwich MR2?
    • 4a9580a : IRM25
    • d146e49 : IRM24
    • c3dbeb5 : Remove non-existent AlarmProvider to fix SDK build.
    • 10622d0 : IRM23
    • fcf246c : Workaround for lack of "-Wl,--whole-archive" in MacOS's linker.
    • 545b799 : prefer an explicitly-set TARGET_BOARD_INFO_FILE
    • 20694df : IRM19
    • 91332cb : IRM18
    • e5ff590 : add device-specific hooks at start of OTA phases
    • 16209aa : IRM17
    • df2b4b3 : Compute TARGET_TOOLCHAIN_ROOT from TARGET_TOOLS_PREFIX.
    • 81b4e62 : IRM12
    • 1022e27 : Fix build warning
    • 4b5e4ba : Remove mention of layoutopt/uix as they are gone.
    • e6f127d : IRM11
    • d75dbec : Revert "Reference new location of SDK toolchain"
    • cb8f663 : Revert "Point arm toolchain to the new gcc-4.6 one."
    • 8e0f712 : Add a module_path_check for vendor files
    • c726b8e : IRM10
    • 1b834c6 : Reference new location of SDK toolchain
    • ea91f0a : Reference x86 toolchain in its new location
    • 71b5cc1 : Reference the new prebuilt ccache location.
    • 9a11ad5 : IRM09
    • 5ea72ef : Use the new location of the emulator kernel
    • a230c4d : Reference kernel notice in the new location
    • 1f87795 : Point arm toolchain to the new gcc-4.6 one.
    • c7a10dd : Include toolchain makefile based on the current config.
    • c0a6924 : Avoid Rebuilding Core and VMTest Descriptions
    • 3203891 : Add hm/hmm/hmmm command.
    • fdf014d : IRM05
    • 80cfc37 : Partial fix for emulator under Lion.
    • d21af13 : IRM04
    • 7d2ba7c : Add default kernel and base for factory ramdisk.
    • aaa8f06 : Default LOCAL_SDK_RES_VERSION to LOCAL_SDK_VERSION
    • 13f4853 : IRM03
    • 83785c7 : IRM02
    • 5a46406 : IRL90
    • 89fbc54 : Add CSR to the list of known vendors
    • c0328b4 : IRL89
    • 204c2b4 : IRL88
    • 8f4ff3f : IRL87
    • 29b6918 : Remove the restriction that PHONY_PACKAGE needs LOCAL_REQUIRED_MODULES
    • a66c512 : Remove the restriction that PHONY_PACKAGE needs LOCAL_REQUIRED_MODULES
    • d38c870 : Get build system to work with Make 3.82
    • d7a1a9b : Get build system to work with Make 3.82
    • e91918b : IRL83
    • 4c54b9f : We should include factory ramdisk if one shot makefile is NOT defined.
    • 14eeea6 : We should include factory ramdisk if one shot makefile is NOT defined.
    • 9f0e3c9 : Disable factory ramdisk if build with mm/mmm
    • 9d5e83d : Disable factory ramdisk if build with mm/mmm
    • 931a099 : Fix multiple modules with the same name in FACTORY_RAMDISK_MODULES
    • 9ce06f1 : Don't run ranlib on MacOS 10.7
    • c16dbcd : Fix multiple modules with the same name in FACTORY_RAMDISK_MODULES
    • 60fe963 : build: explicitly define dependency files
    • 93a3241 : IRL82
    • 0d75a0a : Filter out static library in PRODUCT_FACTORY_RAMDISK_MODULES
    • fc444cf : Filter out static library in PRODUCT_FACTORY_RAMDISK_MODULES
    • 61db865 : IRL81
    • 76bf62d : Allow make 3.82 to be used under Cygwin 1.7
    • 0ae6d29 : Add 2 SDK directories that can build under Cygwin/Mingw
    • b056d71 : If setupwizard is disabled, don't force it to optional
    • c23c446 : IRL80
    • d1ee208 : Add libaudioutils
    • 8968653 : Support to build factory ramdisk image.
    • 5fc0057 : Stop Building CTS VM Tests
    • 193010c : Print out ignored PRODUCT_COPY_FILES
    • 0a099d9 : Support to build factory ramdisk image.
    • 5758b8e : Remove the R/Manifest classes when building the static Java library
    • bf6c611 : Don't remove R class to fix the build.
    • a8c9594 : Unset HAVE_TLS_REGISTER for ARMv5
    • d497a1d : Add several module owners to the whitelist
    • a176f57 : IRL76
    • 20e2083 : Support to build static Java library with Android resource
    • 6371da1 : x86: Refine the way we configure the x86 build.
    • 411616e : IRL75
    • e6b969f : Add boot property enabling ADBD over QEMU
    • 6da9ef6 : Make java-event-log-tags.py create its output directory if it does not exist.
    • f5e9037 : IRL74
    • e109a1d : Allow to build Java module from mere static Java libraries.
    • a2c1261 : Set version numbers for AOSP - do not merge
    • dbb31be : Restrict vendor modules to help AOSP product distribution.
    • fd626f2 : Collect the GPL source files.
    • 3a32946 : IRL73
    • 3343b27 : x86: The default ATOM BSP flags need to be in sync with the NDK ABI
    • ab4fbff : Use ARM TLS register for emulator
    • f849c99 : IRL69
    • 914f7a2 : Enable -Wall/-Werror with LOCAL_RENDERSCRIPT_FLAGS.
    • b5542d3 : IRL68
    • 8af0efd : Improve handling of absolute paths in out directory
    • ffe03c9 : Set OUT_DIR based on a common base path
    • 4f2d7de : IRL67
    • 59075b8 : Make asm-3.1 an optional module, remove from grandfathered list
    • 9bd0f4a : IRL66
    • 0276d18 : check entire recovery partition on startup
    • 99bcbeb : Print more info of the image size stats.
    • 80866c9 : IRL62
    • 68895a9 : Add support for building specific modules with mmm using the following syntax: Build all modules: mmm dir Build a single module: mmm dir:module Build multiple modules: mmm dir:module1,module2 Or in other words:
    • 4ca3807 : IRL61
    • 37db6cf : English must be the first language specified
    • b50bd7f : Move the prebuilt NDKs to their own git project prebuilts/ndk/.
    • 9978faf : Move prebuilt SDKs to their own git project.
    • 1b174cd : IRL60
    • dc2450c : Build fix - include sdk/lint in build.
    • 057fde1 : Point OPROFILE_EVENTS_DIR to oprofile dir in source tree.
    • 254ca70 : IRL59
    • d2cbcb4 : Restore AOSP-specific pseudo-version-numbers.
    • 293f939 : Bypass alias for grep in the tapas command.
    • 7bf82e0 : Workaround for a gcc-4.6 bug on -fstrict-volatile-bitfields.
    • 5f07480 : Build system support to export include paths
    • 8325af0 : IRL48
    • c486967 : Remove BUILT_TESTS_ZIP_PACKAGE's dependency on the image files
    • c6e952f : Don't build userdata.img for tests build.
    • c4a32d1 : IRL47
    • 2a53317 : SDK: pass $HOST_OUT variable to atree.
    • 79a7a26 : IRL46
    • 0fb3e79 : IRL45
    • 5a967ac : IRL44
    • f9b556c : Add a hash-bang as the first line of a shell script
    • 0ab21d3 : make gdbclient work on x86
    • 6e4e1bb : Dev branch for ICS MR2.
    • 9f8e8db : Build cache.img on demand
    • cb48497 : HOST_linux-x86: Avoid doubly define macro _FORTIFY_SOURCE
    • e915ab4 : Place linker arguments after objects for gcc
    • d9e7d25 : Place linker arguments after objects for gcc
    • 598288e : IRL41
    • 1bc444e : IRL40
    • aaea5c1 : IRL39
    • 653a7e7 : IRL38
    • cf191b7 : IRL37
    • d9d2e7a : x86: enable PIE for dynamically linked executables
    • e030aac : IRL34
    • d4495e9 : Allow to set ANDROID_BUILDSPEC as path of buildspec.mk
    • ad2c1b4 : Allow to set ANDROID_BUILDSPEC as path of buildspec.mk
    • c0debb9 : Revert "Build cache.img."
    • 12d232a : IRL33
    • 4185447 : stop using a custom linker script for static executables.
    • 531bdb5 : Build cache.img.
    • aaa0840 : IRL32
    • 178ef92 : Fix build.
    • bd93d42 : Unify the user image building code
    • be60152 : IRL31
    • c72b140 : Add a tool to let you enforce layering between packages in a java module.
    • 478012e : IRL30
    • 2b6aaa3 : Add TARGET_COPY_OUT_* variables.
    • 2d50524 : main.mk: Allow overriding subdirs via make variable TARGET_SUBDIRS
    • a09c24d : Add the default local_time hal implementation to builds.
    • 090d360 : IRL27
    • 5a86600 : Remove last reference to layoutopt.
    • 3282e9b : Remove references to layoutopt from the build.
    • 65216a2 : Revert "Remove layoutopt; replaced by the more generic "lint" tool."
    • 7a23d45 : Remove layoutopt; replaced by the more generic "lint" tool.
    • c37f082 : IRL26
    • 489b6f1 : IRL25
    • 04b4701 : IRL24B
    • 026a85b : enable PIE for dynamically linked executables
    • 59d2966 : HOST_linux-x86: Avoid doubly define macro _FORTIFY_SOURCE
    • 2b40757 : Fix build problems with gcc-4.6.x.
    • b55a633 : main.mk: Allow overriding subdirs via make variable TARGET_SUBDIRS
    • 2e3ae1b : Add the default local_time hal implementation to builds.

  • platform/cts with 487 change(s)
    • 34e8c0f : fix ValueAnimatorTest.testGetAnimatedFraction
    • 9085d9c : fix ContextWrapperTest#testSendOrderedBroadcast1
    • 8f6e76b : add debugging message to fix MediaRecorderTest.testOnErrorListener
    • 4ceaa3c : reduce possible delay from 1 to 6 secs to 1 to 2.5 secs
    • dd778ec : More threading issues fixed in audio effect tests
    • 32788fc : fix android.text.format.cts.TimeTest#testSetToNow0
    • cd5fd05 : fix wrong time comparison
    • f3d6f5c : add missing assets for StreamingMediaPlayerTest
    • 904d406 : Fix AudioEffect.test4_3EnableStatusListener()
    • 260e3ab : fix missing rename from cts.stub to cts.media
    • ab4c456 : AudioManagerTest: fix testVolume.
    • 7751e0f : Fix pattern issue in MonkeyTest
    • e351eb0 : move activities for media to media package
    • 6798264 : Fix window focus change timing issue
    • d3e9461 : Improvements for IntentServiceTest
    • 0973bb5 : Fix ValueAnimatorTest#testCancel
    • f4409dc : Add wifi & p2p Concurrency test
    • a678d61 : Fix WifiInfoTest flakiness
    • 0756bbb : work-around AudioTrack bug
    • 15fc136 : Add some error messages to ValueAnimatorTest
    • 98a2e57 : Fix more SlidingDrawer flakiness
    • 5d04ecb : testAllFilesInSysAreNotWritable: Add trace_marker exception
    • 1562ac6 : fix MediaRecorderTest.testOnErrorListener step 2.
    • cf2171c : Fix SlidingDrawerTest flakiness
    • c5e6546 : trial fix for MediaRecorderTest.testOnErrorListener
    • 04d1280 : Fix TextViewTest#testIsInputMethodTarget
    • 67f748f : fix wrong override
    • 6a16e58 : Disabled broken tests in StaticLayoutLineBreakingTest
    • 2504acc : Remove setMaximumTimeToLock Test
    • 8afc998 : New StaticLayout line break tests
    • da429d7 : Remove CTS Verifier welcome screen
    • cf1d115 : Revert "Fix AudioManager.testRouting()."
    • 8819e08 : updating faces.jpg again
    • 395214c : More wifi direct CTS tests
    • 37bf373 : fix flaky opengl test
    • e217625 : Increase timeout for IntentServiceTest
    • 4c9583c : FileSystemPermissionTest: add /data/data/com.redbend.vdmc/lib
    • 2a1e521 : fix AudioTrack testPlaybackHeadPositionAfterStop()
    • fa99801 : fix wekelock issue
    • 523f646 : Enable AccessibilityService tests
    • d1e1b18 : Updated Holo ProgressBar Test Assets
    • 815af42 : Remove CtsRootDeviceSetup accessibility steps
    • d6898df : replace face detection image with better quality one
    • 88274df : Remove bad assert from a test.
    • 09fa236 : Flip condition in ApacheHttpClientTest
    • 84d1b98 : Check if accessibility is enabled in test
    • 5c20d13 : Disable AccessibilityService tests temporarily
    • 0d47218 : Increase time out for CTS
    • 8d4e9ad : Increase Bluetooth test timeout
    • 1d89002 : Poll for isTouchExplorationEnabled
    • f721464 : Increase CTS test recents panel timeout
    • 511f187 : Increase Holo long timeout to 6 seconds
    • 3b5d4ff : Fixing a regression in the CTS tests due to a framework change.
    • 537e918 : chage activity to handle layout change
    • cff25f5 : Update Holo CTS calendar assets
    • e5a2b4d : Camera: Add cancelAutofocus test case.
    • 0aec054 : Improve ValueAnimatorTest Reliability
    • 20cd621 : Fix AnimationTest#testSetAnimationListener
    • b4bca5b : Remove flakey ObjectAnimatorTest
    • 7ec2c07 : AccessibilityEndToEndTest#testTypeViewFocusedAccessibilityEvent fails.
    • 6f1d52d : Improve OpenGL test reliability
    • c2f6fd7 : Fix Holo CalendarView (Feb) Assets
    • ab362eb : Fix PermissionInfoTest#testPermissionInfo
    • 5b7fa18 : Rewrite VelocityTracker tests.
    • 64e22d7 : Fix AudioManager.testRouting().
    • b209dd7 : Fix copy/paste error
    • 1ca738e : Release MediaFrameworkTest wakelock in onPause
    • bdc0b2c : Fix BasicAdapterTest flakiness
    • 1ea506e : Remove flaky GestureDetectorTest
    • 82b8e07 : Try to improve ViewTest#testInputMethodConnection
    • 25b8034 : Retry flaky tests
    • 8354f8d : Increase MediaScanner test timeouts
    • 7fa4f52 : JB Holo Assets
    • dadf5cf : Updating the behaviour of accessibility text iterators - CTS
    • ff0de96 : Add camera autofocus move callback CTS.
    • cae69bb : Add a camera face detection test.
    • 59069a7 : New CTS tests for unstable content provider references.
    • becf878 : Test case sensitivity behavior
    • 2a58af7 : Fix ViewTest#testWindowFocusChanged
    • 3960f94 : Add media provider/scanner tests
    • d9b9ff2 : Fix InputMethodManagerTest flakiness
    • 235639c : FileSystemPermissionTest: add /data/install
    • 008ffcf : add playback THD / spectrum tests
    • e7afa6d : Fixing the other half of the accessibility CTS tests.
    • 6a3ac6d : Fixing the accessibility CTS tests.
    • 4810641 : Add tests for frame callbacks.
    • af28273 : Fix ViewDebug tests
    • 2a44d12 : change Gl error code checked
    • e081aa8 : Force the favicon to be loaded before testing getLastRequestUrl().
    • d096bce : Fix testGetCurrentItem by fixing setUp and tearDown methods.
    • 31ea7e1 : Improve GPS test.
    • 319bfa1 : Fix NPE in android.webkit.cts.WebViewTest#testSetScrollBarStyle
    • 49d5fd9 : Discount previous title when checking newly-loaded title.
    • c14b13c : Fix time-out in testOnFormResubmission
    • ce3e6c2 : Adding a CTS test for the new global accessibility action.
    • 813da65 : change debugging message to print mode
    • 1fe0897 : Add CTS Verifier test for GPS.
    • 1ff1e29 : Fixing the build.
    • f00f897 : change THD pass criteria to be in line with CDD
    • 1ffdbd3 : Fix AudioManager tests.
    • 38983bf : Fix BuildVersionTest#testReleaseVersion
    • cf00930 : Improve spectrum testing for recording
    • 3e031d9 : CtsTestServer: Don't always use one port
    • 5eba08f : cts_audio work: initial code - volume calibration and THD test case work tuned. - 59 unit tests pass - local audio playback / recording works : uses tinyalsa - host to device ptorocol in host side implemented / tested (with loopback) - device side recording / playback works for test cases / test_io.xml - python processing baseline added. - spectrum algorithm implementated: calculate Transfer Function of device over host and check if amplitudes are within margain. Needs parameter tuning - spectrum test needs some improvements due to the non-flat response from ref microphone. - build is enabled only for linux host except the client code
    • 34d6427 : Revert "cts_audio work: initial code - volume calibration and THD test case work tuned. - 59 unit tests pass - local audio playback / recording works : uses tinyalsa - host to device ptorocol in host side implemented / tested (with loopback) - device side recordi"
    • fa0420d : KernelSettingsTest: make sure suid_dumpable is 0
    • 9236145 : Disable Keyguard in OpenGL Tests
    • 4bbb5d7 : cts_audio work: initial code - volume calibration and THD test case work tuned. - 59 unit tests pass - local audio playback / recording works : uses tinyalsa - host to device ptorocol in host side implemented / tested (with loopback) - device side recording / playback works for test cases / test_io.xml - python processing baseline added. - spectrum algorithm implementated: calculate Transfer Function of device over host and check if amplitudes are within margain. Needs parameter tuning - spectrum test needs some improvements due to the non-flat response from ref microphone.
    • edae19a : Test clamp in CTS (full and relaxed precision).
    • c3fe017 : BannedFilesTest: Add "sync_agent"
    • 0b4aba1 : Track rename of Uri.normalize() to Uri.normalizeScheme().
    • 67fbdc4 : Fix DateUtilsTest#testFormatMethods
    • 4a76540 : CertificateTest Update
    • 64baab3 : Fix AssetFileDescriptorTest#testMiscMethod
    • fabfb51 : Adding a missing change to fix the build.
    • 2f2ac94 : Fix CTS test for updated API
    • 75e1987 : Fix AudioManagerTest.testVolume()
    • a76e8dc : Now that MediaCodec marks buffers as having host endianness remove obsolete code.
    • d4c3a6d : Fix ContentWrapperTest#testAccessDatabase
    • 252c1be : Make Baboons Extend Monkeys
    • bc1e126 : MediaCodec now submits codec specific data automatically
    • 1599c8d : FileSystemPermissionTest: add more dirs.
    • 6ce2ef1 : Fixing a falure in AccessibilityFocusAndInputFocusSyncTest.
    • 0a7facc : Updated accessibility node info tests due to newly added members.
    • 362948e : Move CancellationSignal to android.os package.
    • b5a88dd : Tests for READ_EXTERNAL permission.
    • b56d30c : Fix WebHistoryItemTest
    • 53f88f9 : check for presence of camera before testing
    • f34f06e : Fix AnimationTest#testRunAccelerateAlpha
    • 2ebcb4f : Get rid of zergrush reflection test
    • 0fd4b3a : Text traversal at various granularities.
    • c420132 : Fixing the build.
    • f5efdc3 : Fix Flakey Widget Tests
    • e2fbd91 : Fix Flakey View Tests
    • 8b12675 : API REVIEW: android.view.accessibility
    • 5d871c9 : Fix path-permission tests.
    • b4762a3 : Fix EXCLUSIVE spans removal condition in unit test
    • e56ae2a : Add manual camera preview format tests to CtsVerifier.
    • 6ea50eb : Making the test fail more gracefully.
    • ea34ca0 : Making sure bitmap is not rescaled.
    • 0eb4d6b : Adjust to API changes requested by the api-council.
    • 4ab9590 : Ensure test works on silenced device
    • 7b17574 : Fix bug #6293328 android.view.cts.ViewTest#testLayoutDirection fails on JRN04 soju-userdebug
    • f9053ac : Fix StreamingMediaPlayerTest
    • a3811b6 : Holo Test Assets I
    • b7107a9 : Tests for FieldPacker fix.
    • ec85873 : Freeze ProgressBar
    • 07a80d1 : Updated SpannableStringBuilderSpanTest for correct MARK/POINT
    • 88c0f66 : CTS test for java codec APIs
    • 8c96240 : Updated an accessibility event test due to new event properties.
    • 0e5b07a : Updating CTS tests that fail due to small screen size.
    • 10d131f : Update the CTS tests to avoid failure on narrow screen.
    • 961d1f2 : fix MediaPlayerTest.testVideoSurfaceResetting()
    • d9d6b60 : FileSystemPermissionTest: check pn544 and ttyO3
    • 673cc33 : FileSystemPermissionTest: Don't stop early
    • 5306fa4 : Fix/expand gapless test
    • 40beeca : Make sure the EGLConfig is ES2-compatible
    • 91b820c : Remove ImageViewTest#testOnSetAlpha
    • f875688 : Fix SweepGradientTest#testMultiColor
    • f2bfc97 : Add wifi direct service discovery test to CtsVerifier.
    • 0a5fd59 : FileSystemPermissionTest: more directories.
    • da34b0e : Removing hierarchical accessibility focus directions.
    • 311dd42 : Fix bug #6305010 PaintTest broken for setTextSize()
    • 3273b82 : Fix AnimationDrawableTest
    • 380b385 : FileSystemPermissionTest: add /data/data/recovery/HTCFOTA add /data/data/recovery/OMADM
    • 5dfea06 : Make sure default camera autofocus mode is auto.
    • a09eb53 : Add camera exif image width and height tests.
    • 8f54ce5 : FileSystemPermissionTest: add /data/data/recovery/HTCFOTA add /data/data/recovery/OMADM
    • 715840a : Cts tests for webview file origin policy changes
    • e470100 : Remove TimeUtilsTest#testWorld
    • 5947eef : Revert "Cts tests for webview file origin policy changes"
    • b75e6c7 : Cts tests for webview file origin policy changes
    • 272498f : Bypassed two test cases for 4.0.3 builds
    • 378f30e : remove font from test
    • 7e0eacb : Fixed AnimationDrawable isRunning() logic
    • daebf14 : Fix flakiness in testCacheResult
    • 2791bdf : use front camera if rear isn't defined.
    • 8593a36 : Add test for album art
    • bfdf2a4 : added cts tests for audio preprocessing
    • 0649840 : Removed removeAllIcons from tests.
    • c8925b3 : Fixed SpannableStringBuilderSpanTest
    • 3cb44ac : Fix for MediaPlayerTest#testGapless
    • 5a93d38 : Adding CTS test for some actions for accessibility.
    • 02161c3 : Fix MediaPlayerTest#testPlayNullSource
    • fb51a2f : Update column blacklist
    • f381563 : Add a trivial test that exercises the LegacySensorManager.
    • 08a6717 : Used recent time for the last visit time in BrowserTest
    • d96d4e9 : Have testAccessCacheMode wait for favicons to load.
    • 7bc0320 : Accessibility focus - CTS
    • 1941c64 : Fix SimpleSignatureTest to use getDeclaredClasses when checking API.
    • c0b150c : Clean up Camera Analyzer UI a little bit.
    • d89e2c3 : Add CTS unit test for Paint.setTextLocale()
    • bfa0da6 : Fix alphabetical ordering.
    • b9ae909 : Fix alphabetical ordering.
    • d59cd76 : Added world writable dirs from Pantech Element
    • c1d2e7f : Added world writable dirs from Pantech Element
    • c1d6bd5 : Updated SpannableStringBuilderSpanTest
    • 84746ad : Fix MediaStubActivity Layout
    • 7a51d0e : Tests for Element.FONT() + updated element count.
    • 9202360 : Fix AsyncTaskTest#testCancelTooLate
    • 7da50e8 : Fixed Bugs BugId: 6293426, 6292673
    • ddb2192 : Fix AvoidXfermodeTest
    • 45b5750 : Fix ContactsTest and ProviderPermissionTest
    • 9e1bec7 : Six Test cases for AttachShader - Written in opengl es c apis
    • 5d51435 : Fix wrong a static variable for output path name.
    • 54e18c6 : Fix GestureStrokeTest
    • 7c1d125 : Landscape Holo Test Resources
    • 56bf023 : Fix flaky testRequestImageRef and testRequestFocusNodeHref
    • e262927 : Add tests for data access issue.
    • fcae24c : Remove Audio Quality Verifier
    • ba89df3 : Add missing provider for CTS tests.
    • 6474786 : Add directories.
    • 073d547 : Refactor, fix and expand CTS test for playlists
    • addef57 : Fix Permission Tests
    • 8f46ea7 : NoReadLogsPermissionTest: Fix false positives.
    • b8ae506 : Fix expected output of testIndexOf with start == Integer.MAX_VALUE.
    • dad1e96 : NoExecutePermissionTest: Don't assume a heap is present
    • e1233df : Minor naming refactoring
    • 5cdea8d : New CTS test for Span handling in SpannableStringBuilder
    • 0c516ad : Fix FilterTest#testFilterX Tests
    • f43c32d : Fix AbsListViewTest#testGetFocusedRect
    • 3836021 : Relax WebView UA string check to ease transition to ChromeView.
    • 730b62f : Update the NO_DELIVERY_REPORTS lists Add additional carriers that don’t support sms delivery support. CTS Bug Fix : This parameter("311230" // C SPire Wireless + Celluar South) adds in CTS source code This parameter("310600" // Cellcom) adds in CTS source code
    • ec1dec2 : Fix NetworkInfo_DetailedStateTest
    • 2e0a6bb : Turn up volume before running gapless test
    • e1cafc0 : PIILogTest: remove
    • a81bcd6 : Fix MediaPlayerFlakyNetworkTest NPE
    • d7e06ad : Fix testVideoSurfaceResetting for Landscape
    • ddbee9d : Fix failing RTL unit tests
    • dd7e30e : Add CTS unit tests for View textAlignment
    • c165b56 : Add forgotten copyright statement
    • 8cf1ead : Loop doesn't compare the whole bitmap image
    • bf365d0 : Test cases for OpenGL ES 2.0 compliance Ported from Khoronos Test Framework Attach Shader tests
    • bc4b869 : Enable Mock Locations via ADB Content Command
    • 827d671 : Fix bug #4770292 Update CTS tests for ViewGroup margin
    • 7e08e09 : Fix bug #6222864 android.text.cts.HtmlTest#testUtf8 fails on JRM73B soju-userdebug
    • 81bf43f : Add CTS test for android.net.rtp.
    • fc46353 : Update CTS for READ_LOGS permission change.
    • c05d681 : Update tests for new Choreographer implementation.
    • a5e07f7 : Add tests for yield transaction that actually yield.
    • 2cae904 : Add CTS test for TextureView.getBitmap().
    • 6d4ce28 : Rename private methods in CameraTest to not start with 'test'.
    • 1820d45 : Added test for CVE-2011-3901, sqlite journal files being world readable.
    • e79bef3 : Fix build
    • 1f7a292 : Fix build
    • 6edd2ea : Add CTS test for gapless playback
    • 5daf323 : InstrumentationCtsTestRunner Static Library
    • 3f40dc0 : Add tests for setting foreign key constraint mode.
    • 7268214 : Add tests for new WAL mode flag.
    • c5c2488 : CertificateTest Update
    • f40c91f : Add test for MediaPlayer.setNextMediaPlayer
    • 096195d : increase frame rate check margin as there is no guarantee that the specified frame rate can be achieved.
    • 3891b85 : Run WebView methods on correct thread.
    • 8369b87 : Add /data/amit
    • b97bc58 : fix CTS issue for case testSetOnScrollListener
    • 3ee9b2e : Fix CTS case testScrollTo.
    • 94f2e43 : Add more tests for enabling/disabling WAL.
    • c957189 : Added security tests for webkit crashes.
    • a5c2c8a : FileSystemPermissionTest: Add /data/internal-device
    • c249943 : Fixed CTS TextViewTest didTouchFocusSelect
    • e3ef9ca : Fix Broken PreferenceWithHeadersTest
    • fc19db6 : Add more CTS unit tests for View layoutDirection
    • 49fde7b : First set of sampling tests.
    • 3387617 : Rename MediaPlayerStreamingTest
    • e22aa42 : Fixed an incorrect test case where MediaPlayer.start() was called right after MediaPlayer.stop() was called.
    • f88df2f : Test cases for PreferenceGroup, Preference, PreferenceFragment
    • 259aa4b : Verify asset files can receive query and fragments.
    • eefc5fd : Move LocalUtil unit tests from Frameworks to CTS
    • 082f61c : Test path-permissions on unprotected providers.
    • b803f80 : Automated accessibility CTS tests and added more tests.
    • 8f11484 : Move some Gravity unit tests to CTS
    • 63d85b5 : Add resource tests for configs that are the same.
    • d33633f : Add CTS tests for new ClipData Intent feature.
    • c9352b6 : Refresh RS CTS tests (updated headers + optmization level metadata).
    • 7c157f9 : Fix bug #4768303 Update CTS tests for View padding
    • b6d00d3 : Add tests for new Choreographer callback token feature.
    • 94c9437 : Fix bug #4972463 Update CTS tests for TextView textDirection
    • 26c57ed : Add CTS tests for View layoutDirection
    • 471beda : Static Libs for Popular CTS Stub Components
    • f6dcf60 : Rename remove callback methods.
    • 28ae149 : Add tests for new Choreographer behavior.
    • bd8d1f4 : Initial test cases for DrmSupportInfo class
    • e89e974 : Move CTS Build Definitions for mmm
    • 59da788 : Added more test cases to DrmEvent classes, DrmInfoRequest, and DrmInfo
    • 5a26599 : Add CTS test for SQLiteDatabase.deleteDatabase API.
    • 88c2dcc : Initial test cases for DrmInfoStatus class
    • 501331c : Test versioned RS bitcode in CTS.
    • 490dc16 : CTS Holo: Add +/- tolerance to bitmap comparison
    • 2d5d043 : Remove manual steps from the accessibility CTS tests.
    • 01ae1e7 : Fix testHtmlEncode
    • 59a0205 : Initial test cases for DrmInfo class
    • a504eb1 : Initial test cases for DrmInfoRequest
    • dffdaca : Add initial tests for DrmEvent, DrmInfoEvent and DrmErrorEvent
    • e3ad638 : Remove yet another prebuilt junit jar from cts.
    • 5401a9e : Combine RS kernels in a single Script.
    • eeca343 : Support testing non-root ForEach kernels.
    • 6e6f1d2 : Improved test cases in MediaRecorderTest.java
    • e763711 : Add ability to read symbols for ReadElf
    • 4ace4ab : Add a CTS test for the header map populated by CacheManager.getCacheFile()
    • af31fd0 : Implement tests regarding loading of network resources and data url images.
    • 8d81e8d : Tests for android.preference.Preference
    • f5cfb71 : Modification of testSetHorizontalSpacing()
    • 39f5f92 : Add a CTS test for android.webkit.WebView.getVisibleTitleHeight.
    • 84e9860 : Add stub method for ViewParent
    • 3620919 : Update MessageQueue barrier API tests.
    • 98439bb : Fix a bad Looper test.
    • 659a8e6 : Fix resource leaks for Audio Quality Verifier
    • e9386c7 : Update RS CTS to check API level 16.
    • 2f33419 : Check we get SecurityException from DNS lookups without INTERNET permission.
    • c0fa86b : Make sure that creating a vector of non-primitive type throws an exception.
    • d5f0489 : Simplify Choreographer API.
    • 0e16c03 : Account for Element.DataType.NONE in ElementTest.
    • e7fbfee : Add tests for the Choreographer class.
    • b7349b9 : Add tests for MessageQueue barriers.
    • ef231f9 : fix build
    • 75476e0 : Bump invalid Usage type for new SurfaceTexture functionality.
    • c399486 : Revert "Revert "Add proper CTS tests for array initialization.""
    • bc9b467 : Revert "Add proper CTS tests for array initialization."
    • 2105f75 : Add proper CTS tests for array initialization.
    • a249242 : Add more media provider tests
    • c17394e : added a test case for time-lapse video recording
    • 12f55d2 : Added more test coverage and a test case for MediaRecorderTest.java
    • 2f102b5 : Fix CTS Proguard Build Issues
    • 9fd1fdd : add a new cts test for MediaRecorder.setOrientationHint()
    • b5eddba : Move test to a different CTS test and expand it.
    • a78e3ec : Monkeying Around
    • e8894cf : Test video file is deleted when db entry is deleted
    • 29c0350 : Move AppSecurity Tests to hostsidetests
    • a77b408 : Tests for ActionBar#addTab
    • 6409c18 : Add some cts tests for raw audio file formats: AMR_NB, AMR_WB and AAC_ADTS
    • 3b32805 : More image thumbnail tests
    • 22ba1bc : Remove Most of dx-tests
    • 90d4504 : Revert "Disable GL tests until we finish FIFO rewrite."
    • 18a0e2a : Refactor error checking on script/control side.
    • 5982b42 : Check that thumbnail is removed when db entry is deleted
    • 678cdd6 : Rename CancellationSignal using preferred spelling.
    • 1b15fd3 : Tests for ActivityManager#isUserAMonkey
    • 4ac85cf : Disable GL tests until we finish FIFO rewrite.
    • ef48a49 : Test for array field setter.
    • c29ede0 : Verify that RS compilation failures don't crash the runtime.
    • f78a333 : More mediascanner tests
    • 5dc8ba1 : Committer: Rajdeep Dua rajdeep@google.com Test cases for android.preference
    • 242ed91 : Some Tests for ContactsContract.StatusUpdates
    • 6f48426 : Remove unnecessary copy of media resource.
    • 7c9f67a : Close files after reading them
    • 349b8fe : Fix typos
    • b6ebeb8 : Fix testSetToNow0 test
    • 0925bc0 : Some android.database CTS Cleanup
    • 38edd6a : Use ContentProviderClient Instead
    • 1f0afdf : Add test to verify that adding and removing a nomedia file is handled correctly.
    • 98acba0 : Test versioned RS bitcode in CTS.
    • 8597c02 : Fix UserDictionary Test
    • 37ef3df : Fix a silly bug.
    • 10ed073 : Add tests for query cancelation.
    • c5268b5 : Improve structure setting tests for RS.
    • e86ece2 : Remove Test Annotations
    • f059cb2 : Fix testFindNext flakiness.
    • 4338156 : Missing an explicit termination before return
    • a7176fb : Update CTS tests for NDEF API changes.
    • f590a15 : Fix Build
    • e1c1c47 : CTS tests for Intent.normalize...() API's
    • 5ec668d : Fixing two issues in the accessibility CTS tests.
    • 5f6d88e : Add tests for new content observer API with change Uri.
    • 229c2a8 : Fix bug # 5863709 API request: Change param names of deleteSurroundingText to "before" and "after"
    • 27a7185 : FileCopyHelper Refactoring
    • 91da497 : Add stress test for native media player - Uses SurfaceTexture / OpenGl to display the rendered contents - repeat creating / destroying native instances for different resolutions
    • 278962c : Missing Commits from ICS MR1
    • df9378a : Don't Report Installed Apps and Properties
    • cb8e9c5 : Some Tests for ContactsContract_StreamItemPhotos
    • 1d67e19 : Report Installed Apps and Properties
    • 2018501 : Add a MediaPlayerFlakyNetworkTest
    • 87091b6 : Fix CommonDataKinds IM Typo
    • 066fb28 : Option for Running Known Failures
    • f95948e : Fix CTS WebViewTest#testFindAddress
    • e9b95a8 : DeviceDefault ActionBar Tests
    • 4682982 : Remove ref to non-existent dir in xml-generator's Android.mk
    • 63c5983 : Update screen size and dpi in device info
    • 6a7c5d5 : Remove WebViewTest.testAddJavascriptInterfaceOddName()
    • 81687a3 : integrate media stress test : MediaPlay and MediaRecord only - media files are copied manually before test - one test class per each resolution and format - support of format is checked for each test case, and not-supported format will be just passed.
    • 868438a : Added test cases for android.animation Committer: Rajdeep Dua rajdeep@google.com
    • 96fdfb7 : Fix Missing VM Tests
    • be775f5 : Some CTS Makefile Cleaning
    • 2425d5c : Test Update Ops for Stream Items
    • ad70404 : Test for MediaStore_Video_Thumbnails
    • 6069507 : Support Older XML Formats
    • 1cc3c4a : Fix malformed CtsTestStubs manifest entries.
    • 1a2a505 : Exercise Contacts#openContactPhotoInputStream
    • 780179c : Tests for Contact Lookup Uri Methods
    • 4771c9e : Add GlAppSwitchTest - switches between two Gl-using apps and forces recreating GlContext - replica island is used for one GL app. - if something goes wrong and rendering is blocked, watchdog timer in each app will fire - fixed a bug in GlPlanetsActivity as the original code freed vertex / index buffer and did not create after pause resume : Buffers are just kept to reduce resume time for this test
    • 4c64897 : StreamItems CONTENT_DIRECTORY Insert Test
    • 144a0c9 : Fix CTS tests for setting AppCache path
    • 656df69 : Delete More Old CTS Test Runner Files
    • 29d3478 : Delete RefAppTest
    • 2b1069b : Disable spectrum test temporarily
    • 8fb7136 : /data/drm directories
    • d9423e0 : Mark Deprecated Classes and Methods
    • 8b0a3cf : Tests for MediaStore.Files
    • 57c35c3 : Create helper script for running cts-tradefed-tests
    • 1cfcdc4 : Fix Build
    • 5df641c : Move Test XML Generation from buildCts.py
    • aad26c3 : Test ContactsContract_StreamItems Insert
    • c710283 : Some MediaStore Tests
    • 7eed6e3 : Add non regression unit test for Paint.measureText() and long strings
    • 2b763f6 : Clean Up SearchRecentSuggestionsTest
    • 33d9526 : Tests for WRITE_SOCIAL_STREAM
    • 81b693d : Label and Resources Tests for CommonDataKinds
    • ef17ac9 : Introduce CTS_SRC_ROOT classpath variable for cts-tradefed.
    • 4824ba9 : Tests for READ_SOCIAL_STREAM
    • ffdee92 : Fixed a broken rtsp test case
    • 37e7341 : Some Coverage Tweaks
    • e409dce : Remove PhoneNumberFormattingTextWatcherTest
    • bb7869a : add OpelGl performance test as a separate package Currently runs two types of tests 1. rendering performance comparison with VBO vs without VBO This can also work as a stress test due to the amount of triangles used.
    • d12e7ab : Terminate Looper if Video Snapshot Not Supported
    • 89ae08c : Add CTS-TF Plan Again
    • e3e4d7b : Add camera test to ensure Datetime EXIF is localtime.
    • 937cf8a : Define TAG in LoopbackExperiment
    • c1eacbb : Remove onCreateDialog from private interface
    • 6b77aa6 : CTS test for voicemail content provider.
    • c0f0bd2 : Define TAG in LoopbackExperiment
    • 6960639 : Create Dir in Makefile Instead
    • ad20737 : Support Native Test Expectations
    • b287ea0 : Add CtsEffectTestCases to CtsTestCaseList.mk
    • 94747b0 : Remove Duplicate CTS-TF Plan
    • 35d1307 : Remove onCreateDialog from private interface
    • 68babe4 : Flesh out NDEF cts tests.
    • 9349ccb : Remove VM Tests
    • f1e72cc : EnvironmentTest: make sure TMPDIR isn't set.
    • 1b9681d : Enable and fix testAccessAllowFileAccess test.
    • 87ff4df : Make CTS and CTS-TF Plans Same
    • 354ed32 : Cleanup / fixes for CTS DebugTest.
    • 92bed2d : Fix Rezzz Warning
    • adb0f64 : Added PII logging tests.
    • 841a1e3 : Release version only checked in release builds.
    • 0c8a8bc : Change tests to run WebView calls on the UI thread.
    • 68ecbe7 : Change tests to use WaitForLoadUrl.
    • ac8f864 : Don't catch IllegalStateException
    • 9c292f9 : Fix Native Exes List
    • 5a722c7 : Add /data/data/recovery
    • 0821639 : add /data/local/tmp
    • f3044f3 : Make zergrush test more reliable.
    • 98caf9a : Fix IssueReporter Bugs
    • 7ca5743 : Add CTS tests for getRemoteDevice(byte[])
    • f859ea6 : Track removal of JUnit from dx.
    • c1ca42f : Report Test Failures to Remote Server
    • 37993b2 : add testMmapMinAddr
    • 476a26a : CTS Tests for the Media Effects API.
    • 7499c18 : waitForLoadComplete now uses callbacks instead of sleep.
    • 8f955a9 : Fix flaky WebViewTest.testFindNext
    • b04f7fe : Delete More Old Test Runner Files
    • ccc0edf : Fix flaky WebChromeClientTest.testOnJsBeforeUnload.
    • f0b5636 : Fix flaky testCacheResult test.
    • 66e57a3 : Revert "integrate media stress test : MediaPlay and MediaRecord only"
    • ca06be8 : Fixed timing issue with testRequestFocusNodeHref.
    • 2720338 : two more dirs
    • 525855d : integrate media stress test : MediaPlay and MediaRecord only MediaPlay test changed to use assets/video directory due to the limitation of 10 min time-out, video play test is separated to run one clip per each test case. MediaStressTestRunner simply puts multile MediaPlayerStressTest cases, and each invokation will play different clips.
    • a60dfed : Updated the color checker detection code.
    • 8a5fb5e : one more dir
    • fa16077 : add more directories.
    • bdcfc7c : Couple buildCts.py Improvements
    • 662a3cb : Updated the exposure compensation patch.
    • 501de53 : Added tests for the camera's white balance modes.
    • c720407 : Added the quality test for exposure compensation.
    • 806b8ec : Added quality test for camera's metering function.
    • 527cfcd : Added image quality test for the AE lock.
    • ad0d2e5 : Added tests to look for a MacBeth color checker.
    • 0ed3f71 : Added test handler class and the main activity.
    • 3e826a8 : Included new base classes for Camera Analyzer.
    • 523d04c : Updated Cts Camera Verifier properties.
    • aa98071 : Fix FD leak
    • 030d60c : Ensure /data/data isn't writable.
    • 79c3156 : Add Finish() calls after every ForEach().
    • ee46436 : Verify /proc/sys/kernel/kptr_restrict = 2
    • 00056a9 : Small fix to PollingCheck
    • a224673 : Texture compresison format test.
    • 05a8fe2 : Fixing up constants in CTS tests
    • b683513 : Fix 4970300 OpenMAX AL and OpenSL ES libs checked in CTS
    • 8ed5601 : Move file, change loopback handling, docs.
    • 0162547 : Renaming DelayedCheck to PollingCheck
    • a9631ce : Use Settings.ACTION_NFC_SETTINGS and Settings.ACTION_NFCSHARING_SETTINGS.
    • b32cc21 : Better explain why writable dirs are bad.
    • 204cf3d : CTS sanity checks for ASLR.
    • 0953b3b : Fix build: remove CtsSetupTest.
    • f3af4df : Manual merge cts-tradefed changes into master.
    • 8e88654 : Fix Build 2
    • db579c6 : Fix Build
    • 116f46f : Adjust test start date
    • 60b284a : test for uri parsing

  • platform/dalvik with 67 change(s)
    • 89cf125 : Report GC pause times more accurately.
    • 6fb6f30 : Update test 089 expectations
    • 0cea134 : Fix: Issue 26627: Dalvik Heap Trim timer value after GC
    • 259298d : Make sure we have room for future Maps builds.
    • 2b02fef : Lose libnativehelper to its own project for the PDK.
    • e3b03b3 : apps forked from zygote run in default cgroup
    • 3897bab : Fix a leak in the JIT.
    • 7e2f0ea : Fix a small memory leak.
    • 6ad3f10 : Output number of bytes used by LinearAlloc during dexopt.
    • 5136911 : Fix an array out-of-bound read in the JIT compiler.
    • 7222596 : Add a -XX:mainThreadStackSize= option.
    • ce6603b : Add a -XX:mainThreadStackSize= option.
    • 3ca3a08 : Make sure we rethrow the same exception we started with.
    • 95b0899 : Support building Dalvik with AddressSanitizer.
    • 51bb1c0 : Make sure we rethrow the same exception we started with.
    • deb0790 : Make indexOfCommon clamp start to count when start count.
    • 66a6e44 : Throw ArrayStoreException instead of corrupting the heap.
    • c628d17 : Dump the native stacks of threads in VmWait as well Native.
    • fa76cb5 : Obvious mix of = and ==
    • fa3b293 : Transform static values eagerly rather than on use.
    • 231611a : Always call the native exit hook, even for halt().
    • 5094108 : Compact merged dexes on their byte aligned size
    • b74e719 : Replace malloc() followed by memset() to zero with calloc()
    • 5bac60a : Replace large calloc() with ashmem-backed anonymous mmap
    • 9a05976 : Fix verifier typing for null float arrays.
    • 13c9f04 : Add a test for a dalvikvm 'switch' bug.
    • aec9c8f : Updates to the VM tests.
    • 356839b : Set SYSTEM_PAGE_SIZE from PAGE_SHIFT
    • 3185a41 : x86 mterp debug/profile fix (issue 5938080)
    • 5da4362 : Fix assert
    • 0a6a598 : Tweak Dalvik tests
    • 5cc7450 : Tweak UnsatisfiedLinkError
    • a5a1848 : Update and extend Dalvik tests
    • f36ff04 : Bug fix for control-flow construction involving nested loops.
    • 3560a2d : Remove stale assert
    • 2a249c5 : Fix to dex verifier to handle float types that look like Boolean.
    • 5c80d7d : Fix log macro name
    • d8a81cf : cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use
    • 4dfe64e : Provide detail when methods or fields exceed the limit.
    • 069df3c : fix dvmDbgOutputAllInterfaces to include only direct super-interfaces
    • 6d1a1df : Fix a small memory leak.
    • c6284c2 : Remove misleading and outdated documentation.
    • 57dd2d5 : Remove documentation that's now in docs/source.android.com.
    • ab35b50 : Remove unsupported experimental opcodes.
    • 1609c0c : Remove dexmaker code from dx.
    • 26f9572 : Introduces ProxyBuilder and tests.
    • 7adb0bf : DexGenerator: allow specifying dex cache dir.
    • 95f4f01 : DexOptions should default targetApiLevel to API_NO_EXTENDED_OPCODES
    • 2cdb0f9 : Don't throw an AssertionError on invalid input.
    • 4cd7b39 : Remove dx's copy of JUnit.
    • 541a4c1 : Admit to not supporting over 65,536 methods.
    • 69c4756 : Use libcorkscrew to format the stack trace.
    • 0083c42 : Fix DexMerger to emit dex files without extended op codes.
    • 9f0f8b6 : Be humane when there are more methods or fields than Dalvik can handle.
    • 1375a15 : Can't set variable to null with loadConstant.
    • 517db3e : This test fails with a class not found error.
    • c0a1885 : Further refinement of card table clear
    • 955c3a0 : Fix reporting of initial pause time
    • 668a92a : Slight change to unwinder API.
    • 4e12055 : hprof-conv: Better error message when run on a 1.0.2 file.
    • fabd018 : Disable dumping native stacks of non-Dalvik threads. Bug: 5544153
    • b121230 : Dump stacks for all native threads, not just those in JNI.
    • 0c0624b : Fix single-stepping resume mode in the interpreter.
    • 5552e62 : Optimize IndirectRefTable.
    • 476157d : Add a simple performance test for IndirectRefTable.
    • 34987b4 : Fix reference to non-existent function in debug code.
    • b78eab0 : Dump native stack of JNI methods when handling SIGQUIT.

  • platform/development with 256 change(s)
    • 2eb9e37 : docs: fix markup error in redirects
    • d8557b0 : docs: add redirects for faq and notepad docs
    • 6b78d89 : docs: more redirects
    • e1ec055 : docs: a bunch of new reidrects; for search, videos, hello views, and a bunch of easter eggs
    • 14c3608 : docs: submit latest set of redirects
    • 672fa25 : WiFi Direct Service Discovery sample
    • 7fa6b8d : Update SDK Windows USB driver definition.
    • e8f7f5f : Fix WXGA800-7in to be portrait by default.
    • 1e49320 : Update the API 16 files used by the SDK.
    • 0c3d438 : Fix NPE in BeamDemo if NFC not present. do not merge.
    • ddb532d : Support lib is now in rev 9
    • f5d811e : Add Platform.CodeName to source.properties
    • 8a8046a : Initial commit of NsdChat application
    • 35c48dc : Update SDK revision files.
    • 80df91c : New API demos for retained fragments with loaders.
    • 50d5736 : Fix libutils test package path.
    • 6cc9755 : Update device for new location provider configs.
    • 1e284c1 : Remove outdated PDK.
    • 2476301 : Fix up .classpath for Email/Exchange/emailcommon
    • 928c7d6 : Add API 16 to the SDK API file.
    • 9649bee : Update API file with proper content.
    • 58ce6f0 : A few little tweaks to system ui flag demos.
    • 5e20670 : Remove the WaitEvent added in Tap and Drag.
    • 7947d9f : Updating the accessibility sample due to a security fix.
    • 8cb9623 : Put the compute samples back in the SDK.
    • f2bc2a0 : Work on issue #6475693 OnSystemUiVisibilityChangeListener reporting...
    • cb62e8b : Add FLAC encoder to the list of media codecs.
    • 6bd1ae5 : Fix skin.
    • f5d3a23 : Improvements to system UI demos.
    • 77dc0d2 : more fixes to monkey motion event timing
    • a8863a9 : Eclipse classpath cleanup
    • ffb145c : Follow framework API change in TaskStackBuilder
    • 237448b : fix how monkey adjust timestamps for motion events
    • 8749a29 : fix how monkey adjust timestamps for motion events
    • 9089c7d : Submit fixed script.
    • 9cd1654 : Add API demo for Activity.finishAffinity().
    • 0b28341 : Fix Monkey key events.
    • f63ed9b : Fix Monkey key events.
    • d71b64f : Added software mpeg4 and h263 video encoder to sdk/emulator build
    • 1632bc6 : Added software h264 video encoder for emulator/sdk build
    • d5296c8 : No longer using bindAppWidgetId
    • faa031a : Fix GridLayout in support library. do not merge.
    • 3c3cb46 : Fix GridLayout copy into the SDK.
    • 805b169 : Move support library to r8. do not merge.
    • 3fb225f : Support for Windows SDK pre-requisite module list.
    • 8957faa : Add .classpath/.project/readme to gridlayout support package.
    • a185bad : Fixing the build
    • 01d30e1 : Split build/targets/product/sdk.mk
    • d0e6543 : Fixed compilation error #include android/*h
    • 1583b7c : Delete the fragment-UI sample in favor of the FragmentBasics sample for the 101 training class on fragments
    • d573ba5 : Rename the activity lifecycle sample's directory
    • ba1636e : Add new sample for 101 class on fragments.
    • 4c5f2d2 : Renderscript is deprecated. Removing from the sdk.
    • 262cb24 : Add skin for 1280x800@213dpi devices.
    • 968c2e4 : Fixed the XMLAdapters example
    • 80d4ba7 : Move emulator GLES from development.git to sdk.git
    • 0819e42 : Add skeleton implementation of a fake v2 camera device.
    • ee16c83 : Revert "Revert "Multi-project commit, other commits weren't ready after all. (Revert)""
    • 16266ff : Updated "Making your App Location Aware" class to include information on location provider enable check.
    • d187140 : Add demo for new custom animation.
    • b62e28d : Move emulator GLES from development.git to sdk.git
    • affcdfd : adding media effects sample to sdk
    • 32d9069 : Get rid of isSentenceSpellCheckSupported corresponding to I0e931b7248f8c65268b60af599c07
    • e6c0176 : Fixed compilation error #include android/*h
    • eb1b7a6 : Use new InputDevice.getVibrator() API.
    • 6c5e9eb : Update API demo to show new clip data types and conversions.
    • a4920b7 : Improve GameControllerInput demo with input device listeners.
    • 7dd80c2 : Ensure Monkey uses sane timestamps for key events.
    • 2af3f30 : Ensure Monkey uses sane timestamps for key events.
    • 1b9744a : Update to follow API change.
    • 99e94c0 : Use new InputManager API.
    • 800fbe1 : change the way we fetch the test result file.
    • 6ec6d98 : Update libandroidfw test package.
    • f6c3400 : Fix use of fitsSystemWindows, so padding doesn't conflict.
    • dab6072 : Refresh development/ndk/platforms/android-9/arch-x86/include/machine
    • 001a30f : Use new input manager API.
    • a1e84ac : Revert "Multi-project commit, other commits weren't ready after all. (Revert)"
    • e331666 : Move AppNavigation samples around
    • f3785f1 : Multi-project commit, other commits weren't ready after all.
    • 5a35e72 : Add skeleton implementation of a fake v2 camera device.
    • 5318919 : Camera emulator: Add timestamps to PreviewWindow output.
    • cd68d40 : Support sentence level spell check in sample code of the spell checker
    • 92abb63 : Convert fp constants from double - float.
    • a539e4e : Update activity-lifecycle sample: Use unique package name
    • 6ad1018 : Use fitsSystemWindows for better demoing.
    • 137dce1 : Sample app for Android Training lesson: Making your app location aware.
    • 87a714c : uploading sample code for AU class on Activity Lifecycle
    • 2bab013 : Sample app for Android U class: Displaying Bitmaps Efficiently
    • d2d0d4f : first draft of sample code for AU basic training class on fragments
    • 202b652 : docs: add GP Licensing redirect
    • 40525ef : Move stuff from prebuilt to prebuilts/tools
    • 16c0f25 : ndk: ANativeActivity: Fix 'clazz' member documentation.
    • f7541b8 : Change video demo theme to dark.
    • 02b5347 : Add new way to calculate FPS to monkey.
    • 3f59495 : Remove auto-gen project.properties
    • b2f2036 : ndk: dlfcn.h: dladdr() takes a 'const void*' parameter, not 'void*'
    • 00038de : Native media sample app for NDK API level 14
    • e43487b : ndk: android-9: Add missing sys/eventfd.h header
    • ef0d31e : ndk: signal.h: Increase _NSIG definition to 64
    • 015d054 : ndk: pthread.h: formatting + updates
    • 002d536 : ndk: unistd.h: minor cleanup
    • 3da072d : ndk: sys/cdefs.h minor update
    • 1fe0de6 : ndk: minor header update
    • f4e62ff : ndk: Fix ipv6 related headers
    • 6c32dac : ndk: Fix sys/atomics.h declarations.
    • 5704b40 : ndk: minor update to netinet/... headers.
    • 554c5ec : ndk: libc: Add RLIM_RTTIME to asm-generic/resource.h
    • 34c6c85 : ndk: arm: Update asm/ptrace.h and asm/user.h
    • e938d97 : ndk: disable logs in release builds of native_app_glue library.
    • a79e56e : Fixed inconsistent minSdkVersion and target= in NDK samples
    • 0523af7 : Fixed to #include correct 32-bit headers
    • 93036ac : Relax FP requirements
    • 22d3d88 : [MIPS] crt* Object files generated from .S files. The object files are generated with the assembler built from binutils-2.21
    • 718e73c : MIPS platform files for building the NDK
    • adee1fd : Update Full Screen Modes to demostrate more modes.
    • 1a2ddb4 : sdk doc change: Added KeyChain API Demo
    • c94da69 : Refresh development/ndk/platforms/android-9/arch-x86/include/machine
    • 8d83be9 : Fixed win_sdk build due to rs relocation
    • 697914d : Docs: Fixing broken link in TtsEngine/_index.html
    • e46673a : Multiple webviews could be a bad model for developers to follow.
    • a2a4669 : Moving libRS
    • d6a3832 : Update emulated camera to support HAL v2.0 modules and devices.
    • a8a0638 : ndk: Add MIPS Platform files which contain C runtime headers and sources of crt* assembler files
    • a85a93f : SDK: correctly zip sources.zip package.
    • 46b6741 : Support to generate screen rotation events.
    • 64cd8f3 : EmuGL: use custom egl.cfg in Google APIs add-on
    • 29539e9 : Fixed to #include correct 32-bit headers
    • a71d47a : Add API demo for thumbnail animations.
    • 75112fa : add missing include
    • 9c7b559 : SDK source pkg: exclude all /tools/ and /tests/ directories.
    • d588246 : EmuGL: Deliver every frame to a callback
    • e35ac78 : Fix build - configure for schema-v4 output
    • 8a33c36 : Revert "EmuGL: Deliver every frame to a callback"
    • 08d643e : EmuGL: Deliver every frame to a callback
    • 7678066 : Added rules to build 64-bit libraries for 64-bit emulator
    • 8aafafe : Fixed crash and 64-bit porting issues
    • 8f7e1f7 : SDK: generate repo using latest schemas when available.
    • 8c12262 : Add flag indicating gpu support in emulator system image.
    • 37bae21 : Add flag indicating gpu support in emulator system image.
    • 206ea39 : Refactor with ToTargetCompatibleHandle()
    • a277cee : Package control per user
    • f9e6097 : Fixed inconsistent minSdkVersion and target= in NDK samples
    • 967d1e6 : Update animation sample to use new activity options API.
    • c9d6ede : Change camera HAL to catch up with changes in emulator.
    • c06e37e : ndk: Include limits.h in wchar.h as it contains the definitions for INT_MAX and INT_MIN. Without this fix, the following lines will fail when configuring gnu stdlibc++ library. (INT_MAX and INT_MIN are undefined.)
    • 51cb3a4 : Update to follow IActivityManager change.
    • a3f456f : Added rules to build 64-bit libraries for 64-bit emulator
    • c65cfeb : ndk: signal.h: include asm/sigcontext.h
    • 27b71c7 : Switched to use header files in /frameworks/native
    • 913d903 : Support lib: use /samples directory.
    • fd4a739 : Fix # of arguments to startActivity
    • 06f3f54 : Add framework/native to fix build.
    • d069948 : update Eclipse include paths
    • cc3332a : remove dependency on apparently uneeded libs. might fix sdk build
    • e35bfe5 : Minor makefile tweak to compile with elfutils-0.138
    • 83f4573 : Fixes for runtest
    • f4a20e5 : Add/fix copyright notices
    • 2478dfd : Work around a y-invert bug on Macs w/ Intel GPU
    • 54934b0 : Delete dead code.
    • 7942a69 : Add the new v7 support library project to the SDK.
    • 94548b6 : Add missing includes for threads.h
    • d3ed045 : Rename resource drawable to drawable-nodpi for RsStates.
    • c7f0d89 : remove HAL_MODULE_INFO_SYM const
    • eb611a2 : SDK repo: fix to handle new and old xsd for support lib
    • e01feb2 : We're configuring media codecs dynamically now.
    • 9516dc5 : SDK: generate repo using latest schemas when available.
    • b100b6f : Fixed crash and 64-bit porting issues
    • bea50d3 : SDK repo: use a template for samples/source.properties.
    • 73421de : Update the intent that monkey uses to launch application
    • 9789239 : Android native include paths and symbols for Eclipse IDE
    • a3b1c78 : remove dependency on android_natives_priv.h
    • 9ba4eff : Add the camera functional continuous test.
    • 9ada0ac : Fix version metadata for java.lang.reflect.Field
    • 88a2bd6 : glesv2debugger: Remove obsolete files.
    • 25dfd79 : Fix runtest local.prop handling.
    • 3c4c9f8 : Remove the GlobalTime sample app.
    • b4ce1c0 : SDK: Support generating XML with new name/vendor attributes.
    • b707698 : Adding the mock camera activity test to continuous test.
    • 3d3d642 : Fix UNKNOWN keycode parsing in monkey.
    • 97e2d1b : Use IO stream
    • 2753baa : Add volley target to runtest.
    • 3619336 : Remove old development settings.
    • baa8e96 : egl.cfg can now only have a single entry
    • 770fc91 : Update SharingSupport demo for support lib API change
    • de48b21 : Fix isolated process demo to work with new restrictions.
    • 37f02d8 : New API demo for isolated processes.
    • 8f3f77f : Add cleaned-up filter framework, camera, gallery back to .classpath
    • 432b5a2 : Fix app bug, where some memory could remain uninitialized due to early exit.
    • 0a94feb : Win SDK: add ext4_utils to project whitelist.
    • d174a02 : Put Email back into eclipse .classpath
    • 936e648 : Fix findunusedresources to handle package name different from path
    • 3f733fd : Classpath cleanup
    • 6dd4b91 : Make sure __u64 is defined even for strict ansi or -std=c99
    • 2b53ba5 : Projects whitelisted for Windows SDK compilation.
    • 8e78aab : Organize imports to resolve ambiguous type errors.
    • a983c2a : Update NFC samples.
    • e42979c : ndk: Remove obsolete header and library files.
    • 4ce026b : Updating the monkey to use a dedicated UI test bridge.
    • 0da366d : Use Map.Entry, not LinkedHashMap.Entry
    • 12db436 : Increase default runtest -j to 16.
    • a39865a : Update create_test to new android_mk API.
    • 70c13b1 : fix the layout oddness that occurrs in portrait mode
    • af4519e : ndk: Fix ipv6 related headers
    • e56aece : ndk: API level 14: Add C library symbol files
    • c835796 : ndk: API level 12: Add ARM libc symbol files
    • 7d8f5ae : ndk: API level 11: Add libc.so + libm.so symbol files
    • 485ea2e : ndk: sys/stat.h: Add utimensat() to API level 12
    • a58e760 : ndk: arm: Update asm/ptrace.h and asm/user.h
    • 21fc12d : ndk: libc: Add RLIM_RTTIME to asm-generic/resource.h
    • fe012f5 : ndk: dlfcn.h: dladdr() takes a 'const void*' parameter, not 'void*'
    • 8e28627 : ndk: wchar.h: Add wcscasecmp and wcsncasecmp for API level 11
    • 47c55f4 : ndk: unistd.h: Update for API level 11 + minor cleanup
    • bca6402 : ndk: time.h: Add new time functions to API level 11
    • 3970aef : ndk: stdlib.h: Add mkdtemp() for API level 11
    • fed3dfb : ndk: signal.h: Increase _NSIG definition to 64
    • aa566ea : ndk: sched.h: Add cpu_set_t and related functions to API level 11
    • bea0525 : ndk: sys/cdefs.h minor update
    • e4f2528 : ndk: pthread.h: formatting + updates
    • 42dddab : ndk: minor header update
    • 15af16f : ndk: minor update to netinet/... headers.
    • e0ff988 : ndk: android-9: Add missing sys/eventfd.h header
    • e882d4c : Catch IOException for close
    • 95cbc9e : Fix runtest for CTS Tests
    • e4ee58f : Reference kernels in new location
    • 07ffdd5 : Reference kernels in new location
    • 98f56b1 : ndk: disable logs in release builds of native_app_glue library.
    • fc2aded : Fix headers
    • 40b0530 : Stripping out geometry data, but keeping names and references instead of removing all geometric data.
    • 8787983 : Fix build on MacOS 10.7 / XCode 4
    • a64f05b : Allow d.a.c. to serve SVG files
    • 714e516 : Update default project icons, and add an xhdpi version
    • 1bc7aaf : Add code sample for ShareCompat
    • a98b9f2 : Revert "Revert "Update the media_profiles.xml file to include...""
    • 7fb8be5 : Update mkstubs from ASM 3.1 to ASM 4.0
    • 031b92f : Pass white balance and exposure compensation to webcam emulator
    • 15ee96f : Fising the build
    • 31ef1de : Revert "Add missing -lX11 on the link line."
    • 6f00e7f : Update supported frame sizes for fake camera
    • 904f692 : ndk: Fix sys/atomics.h declarations.
    • f347e62 : New compute sample for simple image processing.
    • 8dca56b : Add missing -lX11 on the link line.
    • d79eab5 : SDK: source.properties templates.
    • e27055b : Fixing vector element alignment issues.
    • b3f32a8 : Fix build
    • 50ab613 : Fix temperature sensor
    • 25e3c21 : ndk: ANativeActivity: Fix 'clazz' member documentation.
    • 4216f99 : Bug 5560527 Inject the keycode_0 to the wakeupscreen test activity to trun off the screen.
    • 76bd108 : SDK: update SDK to API 15
    • e14b1a2 : Native media sample app for NDK API level 14
    • acf9553 : Change the test to user the listener mechanism
    • 0ece08b : Import revised translations.
    • fb5178a : SDK: updating android Windows USB Driver.
    • 7d95585 : Adding a code sample for using AccessibilityNodeProvider to report virtual Views.
    • 94a55dd : SDK: package fastboot in platform-tools on 3 OSes.
    • 12c0b21 : Added white balance settings to the camera Emulator.
    • f87d80f : Updated the Monkey runner to reflect changes to some private APIs it uses.

  • platform/docs/source.android.com with 101 change(s)
    • c3cee19 : fix version number for older security features
    • be8b5b2 : security: update Memory Management Security section
    • 358da47 : security: update docs
    • 2b32638 : Update the SHA-1 for repo.
    • f7fd0e8 : Mention takju along with yakju
    • 66426b3 : Link to the new locations for Nexus binaries
    • f1694d3 : Document known issues with TCP/IP settings
    • 6c032a9 : Document DNS issues
    • c97e885 : Document VirtualBox network settings
    • 50fc5ad : Document build issues related to uncommon tool behaviors
    • 51489a6 : Document build issues related non-default compilers
    • b176fae : Document that Galaxy Nexus doesn't have support for all the hardware
    • 993d0b8 : Document how to build the master branch for devices.
    • 7d2ff82 : Document known issue with false antivirus positives.
    • 8eef6f4 : Document the workaround for make snod on emulator builds
    • dfce7fc : Document workaround for network issues
    • 60c8141 : Switch to https for most links
    • 6ec0d89 : Restrict possible radio versions.
    • 2a179c3 : Refine lists of version numbers
    • 822f529 : Mention Google Play instead of Android Market
    • c173c70 : Add links to Gerrit
    • f6bacdc : Remove notes about fixing a kernel header
    • 0318a19 : Clarify the list of factory images that are available
    • 015de9c : Document the emulator issue on MacOS 10.7 / XCode 4.
    • aa73c4f : Add 4.0.4 to the list of builds
    • 3aec3f4 : Assume the location of the out directory
    • 18dea52 : Remove support for building with 32-bit Ubuntu
    • 26ff704 : Mention a few other projects where we basically only ever take upstream patches.
    • 1cbb5ed : Adding a PDF version of the Corporate CLA. Pretty much every submitter prints and faxes/emails this, so we might as well make life a little easier for them.
    • fc3d3c1 : Make 3.82 is ok for ICS and beyond
    • e0cec46 : Data Usage Docs in Android 4.0 for Systems Integrators.
    • 8aae4f4 : Recommend full_panda-userdebug for PandaBoard
    • 4d4bd3a : using-eclipse: fix typo
    • 7553981 : Remove references to gitweb from `submit-patches`
    • 0190249 : Fix branch creation example
    • c2680b7 : Documentation: add JDK configuration note
    • 8b4db15 : Add usbboot rule for panda in 51-android.rules
    • 7929ddf : Add notes about building kernels
    • eef0004 : Add notes about building on Ubuntu 12.04
    • 00e60e1 : fix bullet point
    • 9b6c876 : update user manual revision to r2
    • 035b076 : CDD update for Android 4.0.3
    • 9aaa52a : Add instructions for fastboot on pandaboard
    • 26d7fd0 : fix broken format
    • 388b7af : Clarify that the CDMA situation is AOSP-specific
    • 482fc88 : updated version name missed
    • 5003420 : version update for downloads
    • 0fc4d1d : document update for media files.
    • cb33af6 : Updated Android 4.0 CDD. Changes include updates for SDK level-15, optional NFC-V requirement and PAR ration in range of 0.9-1.1.
    • ee6360b : Link to new privacy policy.
    • eca69c0 : Remove mentions of CDMA devices
    • 543b03f : Add new key mappings from ICS MR1.
    • 0ac7115 : Revert "Merge "Known issue: can't repo upload""
    • df3931c : Known issue: can't repo upload
    • fd5f79e : link to security faq page.
    • 0e3ee32 : Point to new Gerrit location
    • 9171436 : Use a better fix for 32bit x11 libraries on 11.10
    • 8d77794 : Update the docs for ICS.
    • 76adec6 : Add instructions for creating mirrors
    • cb81c79 : Add IML77
    • 2e2de67 : Add section about using authentication to access AOSP
    • 57a7910 : Document some known workarounds for network issues
    • 9d600e6 : Clean up table of version numbers.
    • dc6e9ca : Add known issue about cts-native-xml-generator
    • 4c07af9 : Add a section for known issues
    • 93afea9 : Clarify the process to manage devices with AOSP.
    • 8bb9cf3 : Add note about allowed versions of Make
    • 42064a9 : Gingerbread CTS r11 and update to the current branch on development page
    • a842527 : Add CTS 4.0.3 Links
    • 1a408da : Increase max HD requirement to 90GB.
    • 61142cb : Add versions 4.0.1_r1.1 and 4.0.2_r1
    • c95d7e6 : IML74G - IML74K
    • 31cabc2 : Add mention of toro
    • e6149c4 : USB VIDs/PIDs for Xoom
    • 70c6fbc : 4.0.3 is now IML74G
    • f34289f : 4.0.3 is IML74E
    • 35f5101 : Update for 4.0.3, Xoom, etc...
    • bdac766 : Add support for sidebar3.md, and do general cleanups
    • 91b9bab : Provide `git clone` commands for kernel sources
    • 34e9812 : Add notes on using ccache
    • 93b7626 : Fixed links and the current CTS version
    • 5f2afb1 : Tweaks: new repo checksum, python version
    • 59de1c2 : Updated user manual and overview to point to 4.0 CDD
    • 80fe839 : New versions
    • 56c7e22 : add ASLR.
    • 590a9d6 : Add section on input devices.
    • 6881b2c : ICS CDD changes - Current, download and Nav link for sidebar
    • ec62033 : Add USB IDs for PandaBoard.
    • 49e1d83 : Add libGL fix for Ubuntu 10.10
    • f259650 : Add alt attributes
    • 7ecc607 : Allow reuse of port 8080
    • 69835fd : Update info for building on Ubuntu
    • 3e466b0 : Prepare ICS release.
    • b086324 : Make note about .dmg.sparsefile extension
    • 8b20337 : Mention 2.3.6/2.3.7 as preferred versions for GB AOSP work.
    • 64175aa : Repo init must be on a case-sensitive filesystem.
    • c46da01 : refine language around XCode and gcc versions
    • e68d2e4 : Add packages to install for Ubuntu 11.10
    • 933c854 : Remove instruction to add deb-src... lucid partner
    • 9682628 : Document that XCode 3.1.4 is required.
    • aeac48d : Add mention of 2.2.3

  • platform/external/antlr with 1 change(s)
    • 324c464 : Add full source for antlr project (version 3.4)

  • platform/external/apache-http with 2 change(s)
    • b975b95 : Advertise HttpURLConnection in DefaultHttpClient.
    • 719e149 : Remove incorrect doc comments. The scheme registry may not be null.

  • platform/external/astl with 1 change(s)
    • 0a397b4 : Remove libs from static library modules.

  • platform/external/bluetooth/bluez with 11 change(s)
    • e73c02b : Don't return a fallback value for Alias property of BT device.
    • 635699a : fix gpl build
    • 99226bc : audio: update to new audio HAL device API.
    • 6c25fc5 : send extra UUID property change notifications to help the upper layers change state
    • d6ae61e : fix GPL build
    • 3cd3a11 : audio: use common string for A2DP sink address
    • 141398b : send extra UUID property change notifications to help the upper layers change state
    • 62215e2 : audio: fix wrong latency reported by audio HAL
    • d0cbf94 : Use audio_mode_t consistently
    • 80e611b : Use audio_format_t consistently
    • 6ad49c1 : Add missing LOCAL_MODULE_TAGS

  • platform/external/bouncycastle with 5 change(s)
    • 89b880f : Added CertBlacklister.
    • c3ca927 : Restore AuthorityKeyIdentifierStructure and SubjectKeyIdentifierStructure for Polo
    • e8ed366 : Blacklist Digicert Malaysia intermediate CA
    • 8dfe782 : Blacklist two additional DigiNotar intermediate CAs
    • d1f1330 : Add Chrome-style public key blacklist to CertPathValidator

  • platform/external/bzip2 with 1 change(s)
    • c1e644e : [MIPS] Only use prebuilt NDK libraries for ARM

  • platform/external/chromium with 14 change(s)
    • 4f83513 : Properly clean an exception to prevent a crash
    • d473d7a : Disable TLSv1.2 and TLSv1.1.
    • fb29283 : Disable TLSv1.2 and TLSv1.1.
    • 7311583 : Make SSL_CIPHER_get_id definition conditional on OpenSSL version
    • b2197ca : Tracking openssl-1.0.1 upgrade
    • a7dee89 : Import content and address detector support
    • 4f3a742 : Append client parameter to AutoFill server requests.
    • 940e47a : Fix for bug 5152544, remove warning from chromium port
    • 6aec04f : Part of fix for bug 5584571 Add HTTP request header with app name
    • ae2796c : Part of fix for bug 5523834, backporting cache fixes
    • ea38098 : Part of fix for bug 5523834, backporting cache fixes
    • d129b9e : Part of fix for bug 5523834, backporting cache fixes
    • 0a9239c : Part of fix for bug 5523834, backporting cache fixes
    • 7d2c383 : fix for bug 5454586, fix up getDbThread()

  • platform/external/clang with 4537 change(s)
    • 094004c : Update README.android.
    • 28c9e57 : Migrate external/clang to CLANG-155088-20120419.
    • ab8f4da : Changed title.
    • f7736ea : Changed wording of availability.
    • b75f8de : modern objective-c translator: Fix writing a spurious 'static' into the wrong place when rewriting a static function which declares block literals. // rdar://11275241
    • eb382ec : Implements boxed expressions for Objective-C. rdar://problem/10194391
    • 13bffc5 : PR 12586: Fix assert while running libc++ testsuite: deal with exception specifications on member function templates of class templates and other such nested beasties. Store the function template from which we are to instantiate an exception specification rather than trying to deduce it. Plus some additional test cases.
    • 103f41d : Revert some Hexagon builtin commits to match reverts done to LLVM in r155047. See the LLVM log for the primary motivation: http://llvm.org/viewvc/llvm-project?rev=155047&view=rev
    • a2c91e7 : objective-c: Issue diagnostic when an implicit property accessor (getter) missing, instead of crashing. // rdar://11273060
    • 0ddb097 : Suppress -Wunused-variable warning in -Asserts build
    • d448ce0 : VerifyICE: Pass PartialDiagnostics by reference.
    • 8b2a5d2 : MIPS: Followup to r154606. Expand list of accepted MIPS target features in the MipsTargetInfoBase::setFeatureEnabled() routine.
    • 241cbe4 : fix GCC version comparison wrt. equal patch suffices (and squash two typos)
    • 30318e6 : Adds a FixedCompilationDatabase to be able to specify tool parameters at the command line.
    • 6403683 : Fix bad typo reported by I-Jui Sung.
    • 2d01f2c : As per John McCall comment: Follow up to r154924: check that we are in a static CMethodDecl to enable the Microsoft bug emulation regarding access to protected member during PTM creation. Not just any static function.
    • 3acf764 : fix display of source lines with null characters
    • 6749dd5 : Nicer display of unprintable source, and fix caret display for non-ascii text
    • 074c191 : Calling setVisibility directly only makes (some) sense when the visibility is explicit.
    • 87162c2 : PR12569: Instantiate exception specifications of explicit instantiations and explicit specializations of function templates appropriately.
    • 9591697 : Revert "Nicer display of unprintable source, and fix caret display for non-ascii text"
    • e1a6eac : add missing parameter index to diag
    • 70712b2 : fix display of source lines with null characters
    • e9a3b76 : Nicer display of unprintable source, and fix caret display for non-ascii text
    • 54881cb : Simplify calls to mergeVisibility* by passing in the LinkageInfo. No functionality change.
    • 76a98be : objective-c modern translation. Correct rewriting of block meta-data of block literals declared inside of extern "C" functions. // rdar://1131490
    • e1430e9 : Typo fix.
    • c661f14 : Switches the JSONCompilationDatabase to use the YAML parser. This will allow us to delete the JSON parser from llvm.
    • 82a9478 : Fix to avoid warning. Also add header, and lincense information.
    • b2d899e : Emulate a MSVC bug where the creation of pointer-to-member to protected member of base class is allowed but only from a static function.
    • 0407a04 : fix a typo
    • 49a110d : Convert vperm2f128 and vperm2i128 intrinsics back to using llvm intrinsics. Unfortunately, these instructions have behavior that can't be modeled with shuffle vector.
    • 7d6c8a1 : Attempt to fix test.
    • 01561d1 : Change ExprEngine::shouldInlineDecl() to be defensive in checking if the CFG of the callee is valid. Fixes rdar://problem/11257631.
    • 26397ed : Fix case where the alignment is overaligned, per Eli's suggestion. rdar://11220251
    • 07d2f56 : Link to a tiny patch to libstdc++-4.7 to work around the chrono issues from the C++ status page.
    • e6975e9 : Implement DR1330 in C++11 mode, to support libstdc++4.7 which uses it.
    • 7fea7c8 : Make sure EmitMoveFromReturnSlot is passing the correct alignment to EmitFinalDestCopy (and thus pass EmitAggregateCopy the correct alignment). rdar://11220251
    • 0ff258b : Typo.
    • 0e97681 : Modern objective-c translator:'self' used inside block literal is imported. // rdar://11259664
    • a9d45a3 : [libclang] Make sure that when we have multiple @class references in the same line, that later ones do not override the previous ones.
    • 43aa1c3 : modern objective-c translator: translation of implicit cast to/from block pointer types. // rdar://11202764 Also, many more modern translator tests.
    • 9a70cdd : [analyzer] Fix a false alarm in SelfInitChecker (radar://11235991). Along with it, fix a couple of other corner cases and add more tests.
    • ffce11b : [analyzer] +comments
    • 5a389f1 : [analyzer] Fixup for a test case.
    • 93a4994 : objective-c modern translator: buildit objc bool type for rewriter project will be BoolTy. // rdar://11231426.
    • 9482a18 : [libclang] Spelling range for a objc category should the category name range, not the class one.
    • 3c6ed1b : Remove support for -fast-math metadata for the moment.
    • 2850376 : Per Richard's comments on r154794, add the checks necessary to handle constant-folding relational comparisons safely in case the user is using -fwrapv or equivalent.
    • e9836a2 : Revert r154749 for now at John McCall's request.
    • 74e2fc3 : Implement the last part of C++ [class.mem]p2, delaying the parsing of exception specifications on member functions until after the closing '}' for the containing class. This allows, for example, a member function to throw an instance of its own class. Fixes PR12564 and a fairly embarassing oversight in our C++98/03 support.
    • 0f90590 : Use ordering and the explicit visibility bit instead of modifying ConsiderGlobalVisibility. No functionality change.
    • 2b5949e : Readd lost "undef BUILTIN" to fix the build.
    • 10e675d : Generate fpmath metadata when -ffast-math. Note that no optimizations are hooked up to this yet.
    • 7ac715f : Hexagon V5(Floating Point) support.
    • 48c2407 : Remove unused method.
    • 60c7707 : Adjust for LLVM name tweaks requested by Chandler.
    • 62d9f11 : Add another constructor to LVFlags and use it to simplify the code a bit.
    • cefc3af : Implement C++11 [expr.prim.general]p3, which permits the use of 'this' in the declaration of a non-static member function after the (optional) cv-qualifier-seq, which in practice means in the exception specification and late-specified return type.
    • 275a850 : Add note to hacking.html that running the test harness directly from the command-line requires making sure the relevant files are generated first. Patch by Matt Fowles, with some minor modifications.
    • a316988 : Make constant evaluation for pointer comparisons work correctly for some uncommon cases. rdar://problem/10962435.
    • 4762a2d : use DEFAULT_SYSROOT
    • e275a18 : The result of the Microsoft __uuidof operator must be considered a global lvalue during constant expression evaluation. Otherwise we would get this error in C++11 mode (because of a recent change): error: non-type template argument of type 'const _GUID *' is not a constant expression
    • 377ecc7 : Propagate alignment on lvalues through EmitLValueForField. PR12395.
    • c5086f0 : Add 'env' in hopes of making this test pass on Windows.
    • b346d2f : Implement the all_lookups_iterator for PCH as a follow-up to r153970. This includes a patch from Matthias Kleine with a regression testcase!
    • 0740a25 : Like for LLVM / shlib, we also provide a SONAME to libclang.so
    • b5491f3 : Change _mm256_permute4x64_epi64 and _mm256_permute4x64_pd to use builtin_shufflevector instead of specific builtins. Old builtins will be removed from llvm now that vpermq/vpermpd are supported by shuffle lowering code.
    • 030c7e9 : Fix tests that weren't actually verifying anything.
    • 6c22939 : Correct indentation
    • 6e67eed : [clang.py] Implement TypeKind.spelling
    • 2d7cb06 : Use MDBuilder to help with metadata creation.
    • b1758c6 : Use forward declarations for ASTDeclContextNameLookupTable and add a missing delete.
    • a9ab209 : Actually, this tree isn't necessarily binary.
    • 398a498 : Recursively delete rewrite rope nodes when tearing down the tree.
    • 5d2d046 : %clang -cc1 - %clang_cc1
    • fe58720 : PR12226: don't generate wrong code if a braced string literal is used to initialize an array of unsigned char. Outside C++11 mode, this bug was benign, and just resulted in us emitting a constant which was double the required length, padded with 0s. In C++11, it resulted in us generating an array whose first element was something like i8 ptrtoint ([n x i8]* @str to i8).
    • 8590d86 : objective-c modern translator: Make metadata definition for protocols static. // rdar://11248048
    • f4dd858 : [analyzer] Add .cxx and .txx as known file extensions to ccc-analyzer.
    • 767f7c7 : Consider visibility attributes last, so that they take precedence. I am working on a cleaner fix, but this gets the case in PR12552 passing.
    • 8fb9fb6 : Replace manual delete[] with OwningArrayPtr.
    • a2189d7 : Don't leak vtable thunks.
    • d306cf7 : Delete late parsed attributes instead of leaking them.
    • 9bb1d34 : Rename "fpaccuracy" metadata to the more generic "fpmath". That's because I'm thinking of generalizing it to be able to specify other freedoms beyond accuracy (such as that NaN's don't have to be respected). I'd like the 3.1 release (the first one with this metadata) to have the more generic name already rather than having to auto-upgrade it in 3.2.
    • 13bb701 : Parser: Don't manage TemplateAnnotationIds in a delayed cleanup pool.
    • bcadf96 : ASTUnit: Don't clone the new DiagnosticConsumer, causing it to get leaked.
    • 342742a : c-index-test: dispose spelling string after use.
    • 34f9dc4 : Directly store TypoResultsMaps in the TypoEditDistanceMap, getting rid of manual deletion.
    • 534986f : Add an AttributedStmt type to represent a statement with C++11 attributes attached. Since we do not support any attributes which appertain to a statement (yet), testing of this is necessarily quite minimal.
    • 9cdd1e3 : Delete the TypoResultsMap when erasing the pointer to it.
    • 38baeab : Don't enter cleanups for unreachable variables. It's impossible to jump into these scopes, and the cleanup-entering code sometimes wants to do some operations first (e.g. a GEP), which can leave us with unparented IR.
    • 653b7cf : modern objective-c translator: Fixes translation of __typeof which is a regression by reverting r154360. // rdar://11233924
    • c6b468e : Avoid string thrashing when we can concatenate them in the final buffer.
    • b889614 : Serialize and deserialize some missing bits from BlockDecl.
    • ba8be8c : Kill the last vestiges of clangIndex
    • 3082846 : Remove clangIndex reference from clang-interpreter CMake build
    • 87e154c : Remove the unused, unmaintained, incomplete 'Index' library.
    • b20c46e : modern objective-c translator: When translating call to 'super' use __rw_objc_super as type of the 'super' meta-data instead of objc_super. // rdar://11239894
    • 88507dd : Make control flow more explicit for rebuilding property reference expressions without their OpaqueValueExprs
    • 1050471 : Remove the -cc1-level option "-pubnames-dump". Such things should stay out of the tree and use the tooling infrastructure.
    • f53bc31 : super and class property reference expressions don't need to be rebuilt. Fixes rdar://problem/11052352.
    • 00000b0 : First set of tests for ARM homogenous aggregates. C only. C++ will follow.
    • eaf856d : Step forward with supporting of ARM homogenous aggregates: - Handle unions - Handle C++ classes
    • 51b9240 : Implement __atomic_fetch_nand and __atomic_nand_fetch to complete our set of GNU __atomic builtins.
    • a1c4f7c : PR12500: Improve the wording of the diagnostic for a redefinition of a name in the wrong namespace scope. Patch by Jonathan Sauer!
    • 5e6c3f0 : Support -Wc++98-compat-pedantic as requested:
    • b3440f5 : all-std-headers.cpp: Include the C++11 headers when building with clang in -std=gnu++11 mode.
    • 7444639 : Fix a trivial oversight with apple-kext static local destructors and add a test case.
    • 95e7aaf : Mention atomics support in the release notes. Thanks to Nico Weber for the suggestion.
    • 97b57a2 : When we're flagging a protected scope to prevent jumps into the shadow of a block expression with non-trivial destructed cleanups, we should flag that in the enclosing function, not in the block that we're about to pop.
    • 9d4e87e : Now that we provide sufficient support for three C11/C++11 atomics implementations, mark the atomics-related parts of the C++11 status page as done. I've not marked 'Strong Compare and Exchange' done, since although we implement supporting builtins, we don't yet produce different code for the weak and strong forms.
    • d555222 : C++11 no longer requires files to end with a newline
    • 2c39d71 : Implement the missing pieces needed to support libstdc++4.7's atomic: __atomic_test_and_set, __atomic_clear, plus a pile of undocumented __GCC_* predefined macros.
    • e2d87bc : objective-c modern translator: beautify rewrite of struct __rw_objc_super; no functionality change.
    • f7728dc : Config.h: Add another definition which the Darwin build (sometimes) uses.
    • 3705084 : Warn on 64-to-32 for source value of x bits where 64 = x 32.
    • 6a86082 : [analyzer] PCH deserialization optimization.
    • 273ed98 : [analyzer] Test case for r154451 (redefining system functions).
    • 262acda : objective-c literals: Issue warning and ignore when BOOL is not of an intergal type when boolean literals are used. // rdar://11231426
    • 7d00065 : s/isAtomicConversion/tryAtomicConversion/g, per Jordy's suggestion.
    • 47bfcca : Fix some i1/i8 confusion within _Atomic(bool) in IR generation, both in general (such an atomic has boolean representation) and specifically for IR generation of __c11_atomic_init. The latter also means actually using initialization semantics for this initialization, rather than just creating a store.
    • 83748e2 : Include lambda capture init expressions in CFG.
    • c02af35 : Add -Wuninitialized test for C++11 lambdas.
    • 55331da : Fix CFGBuilder to not include the body of a LambdaExpr in the CFG of the enclosing function.
    • 10e1629 : MIPS: Initialize MIPS CPU's name by default value. Otherwise MipsTargetInfoBase::getDefaultFeatures() might return an invalid features set with an empty feature name.
    • f7ecc30 : Compute standard conversion sequences for conversions to atomic types. The second and third conversions in the sequence are based on the conversion for the underlying type, so that we get sensible overloading behavior for, e.g., _Atomic(int) vs. _Atomic(float).
    • 9985038 : objective-c numeric literal: type of boolean is that of typedef BOOL if found. // rdar://11231426
    • 5ce2827 : modern objective-c translator. ifdef'out __weak and __block when rewriting. // rdar://11236342
    • 41a7e89 : Fix the signatures for the _mm256_storeu2_* intrinsics. PR12532
    • 9bc0c29 : Changed all direct calls to CompletionConsumer.reset(..) to go call CompilerInstance::setCodeCompletionConsumer instead, in order to change the SkipFunctionBodies flag accordingly. Also fixed setCodeCompletionConsumer to take a reset() to null into account.
    • 6a91d38 : Added a flag to the parser to skip method bodies.
    • f33d549 : There's some code in the PCH reader that looks like it's needlessly complex, but turns out that it's actually needed for C++ modules support. Since simplifying it didn't cause any test failures, I'll add a test for it.
    • ff34d40 : Implement support for 18 of the GNU-compatible __atomic builtins.
    • b92bd4b : These functions too have no prototypes. Audited the rest of Sema for FunctionDecl::Create calls as well.
    • 4f95f64 : Testcase for previous commit.
    • 43443de : static functions have a need for mangled name debug information too. The mangler doesn't like non-prototyped functions so only use a mangled name for prototyped functions.
    • e5bbebb : The copy and destroy helper functions aren't prototyped, don't call them so.
    • 78d5d3b : Implement clang_getDiagnosticCategoryText() to provide a way for a client of libclang to accurately get the diagnostic category name from a serialized diagnostic when the version of libclang used to read the diagnostic file is newer than the clang that emitted the diagnostic file.
    • 104dbf9 : modern objective-c translator. Fixes a mis-translation when of a __block struct object. // rdar://11230308
    • 16aac6f : Add test for a construct we currently reject, constant-evaluating a load from a constant string. Given that gcc doesn't accept this, we should continue to not accept it, even though it was accidentally supported by clang for a brief period.
    • c3fa98f : [analyzer] Another dynamic_cast false positive/negative.
    • 7ea1c56 : [analyzer] dynamic_cast Simplify null value generation.
    • 06868aa : [analyzer] Better test cases for explaining where tracking types of symbolic regions would help.
    • acee1c9 : modern objective-c translator. Fixes a translation bug when first ivar in the list is a bitfield. // rdar://11229770
    • 994d73f : Part of PR10101: after a parse error in a declaration, try harder to find the right place to pick up parsing. In C++, this had a tendency to skip everything declared within headers if the TU starts with garbage.
    • 47f1165 : [libclang] Apparently it's important to build in C89, sigh..
    • d98ef9a : [libclang] Introduce a couple of functions to make it convenient to get at the parameters (and their types) of a function or objc method cursor.
    • eba8cd5 : [libclang] In cxloc::translateSourceRange make sure to handle locations in macro arguments correctly. clang diagnostics can provide fixits inside a macro argument now.
    • 944b562 : Update recently-added test to use new __c11_ form of atomic builtins.
    • fafbf06 : Provide, and document, a set of __c11_atomic_* intrinsics to implement C11's stdatomic.h header.
    • 5d70cfd : Make __atomic_init() (soon to be __c11_atomic_init()) work with non-scalar types.
    • adf7c85 : Clean up last commit as per dgregor's comments.
    • 3a3c9b2 : Allow c++ initialisers to initialise _Atomic fields.
    • 93848e0 : Add a triple to this test.
    • 46853cb : Try to fix the windows buildbots by making this test a little less dependent upon metadata ordering.
    • be6c686 : Enable debug info for objective c implementations that may not have an explicit instance variable.
    • 6ce48a7 : Support C++11 attributes at the start of a parameter-declaration.
    • 9793428 : [libclang] Fix "error: conflicts with new declaration with ‘C’ linkage" that gcc emits but not clang.
    • e722ed6 : [libclang] If displayDiagnostics is set (when calling clang_createIndex), make sure to output the errors that occurred even if we did not get an AST (e.g. because the PCH failed to load).
    • 259052d : [analyzer] Don't crash even when the system functions are redefined. (Applied changes to CStringAPI, Malloc, and Taint.)
    • e1b2abc : AtomicExpr: make ASTStmtReader a friend and remove setters. Also fix saving of an uninitialized Stmt* in serialization of __atomic_init and add a test of atomics serialization.
    • edec2ee : Fix quoting to allow shell expansion to occur for shell variables introduced by the test harness' expansion of %t.
    • 88ec610 : modern objective-c translation: writing container subscripting. // rdar://11203853
    • a2c8d2e : [analyzer] dynamic_cast: Better model cast from a reference.
    • 15f4c98 : [libclang] For clang_getOverriddenCursors make sure to report overridden objc methods for methods in categories of super classes. rdar://11220358
    • e19f86e : [analyzer] Add support for C++ dynamic_cast.
    • 4335a48 : [analyzer] + comments
    • 69a30b8 : When we determine that an initialization sequence failed due to an incomplete type, keep track of the actual type that was incomplete. Otherwise, we might fail to produce a diagnostic. Fixes PR12498.
    • abf65ce : Improve the printing of __PRETTY_FUNCTION__ more provide more information and more closely match GCC's, from Nikola Smiljanic!
    • 316551f : Add a query macro for C++11 N3276, decltype does not require complete return types, from Michel Morin!
    • 50fadd1 : Improve diagnostics in C++11 when a non-type template argument for a non-type template parameter of pointer type is not a constant expression.
    • b2561c7 : This test actually needs label names.
    • 90f5f47 : Include the Objective-C parameter- and return-passing qualifiers when providing code completions for Objective-C method declarations. Fixes rdar://problem/11164498.
    • c078337 : For debug and coverage analysis if we're not optimizing go ahead and emit a relatively empty block for a plain break statement. This enables us to track where we went through a switch.
    • 10ccf12 : Don't include the ':' following code-completion suggestions for 'public', 'private', or 'protected', unless code completion patterns are enabled. Fixes rdar://problem/11189132.
    • e7ea28a : objective-c: remove IsConstProperty as it does not seem to get called any more. Also add an assert in isModifiableLvalue.
    • 0cc9fdb : Add a target triple to test/Index/complete-synthesized.m.
    • 28a83f5 : [code-complete] Introduce CodeCompletionTUInfo which will be used for caching code-completion related strings specific to a translation unit (ASTContext and related data)
    • 4296361 : Rework implementation of null non-type template arguments based on Richard's feedback, to properly catch non-constant expressions and type mismatches. Finishes rdar://problem/11193097.
    • 5915561 : objective-c: add an assertion for property expression enterring IsConstProperty function.
    • 2c6dbd7 : Fix GCC's pedantic return-type warning -- this enum is fully covered.
    • 970b226 : Fix tautological FileCheck by moving the CHECK to an extra line.
    • e58e6f9 : Don't link lib[std]c++ when -nostdlib is specified (Solaris driver).
    • e9b4d98 : Pass -march, -mcpu, -mfpu to linuxtools assembler.
    • 8250016 : Express the number of ULPs in fpaccuracy metadata as a real rather than a rational number, eg as 2.5 rather than 5, 2. OK'd by Peter Collingbourne.
    • 2b124ea : EmitStopPoint already checks if we have debug info.
    • fc65ec8 : Tidy.
    • c56298d : Parsing of C++11 attributes: * Alternative tokens (such as 'compl') are treated as identifiers in attribute names. * An attribute-list can start with a comma. * An ellipsis may not be used with either of our currently-supported C++11 attributes.
    • 6ee326a : Disambiguation of '[[': * In C++11, '[[' is ill-formed unless it starts an attribute-specifier. Reject array sizes and array indexes which begin with a lambda-expression. Recover by parsing the lambda as a lambda. * In Objective-C++11, either '[' could be the start of a message-send. Fully disambiguate this case: it turns out that the grammars of message-sends, lambdas and attributes do not actually overlap. Accept any occurrence of '[[' where either '[' starts a message send, but reject a lambda in an array index just like in C++11 mode.
    • 0e9bf71 : Fix the testcase :-(
    • f1ee687 : objective-c modern translator: rewriting specific implicit casts which is needed to produce good c++ code. // rdar://11202764
    • c515154 : Fix an annoying little bug I found while debugging another LTO issue. Gold requires the -plugin to come before any -plugin-opt options, we were passing them the other way around. With this one can run (for example):
    • 2ca35e6 : Remove -fobjc-default-synthesize-properties as the option to c-index-test.
    • 63f5578 : My original patch missed the virtual-base case for destroying base-class subojects.
    • 12d8d80 : Fix the access check performed as part of the determination of whether to define a special member function as deleted so that it properly establishes an object context for the accesses to the base subobject members.
    • ae7e939 : Author: Daniel Dunbar daniel@zuster.org --- log message follows this test --- [tests] Fixup some tests to work in "CLANG_IS_PRODUCTION" mode.
    • 16dc261 : Implementing a test for the use of PWD to base finding the correct compile commands on, based on an idea by Jordan Rose.
    • e51fe09 : objective-c: remove -fobjc-default-synthesize-properties from the driver. cc1 option remains though to invoke default property synthesis. // rdar://11209719
    • e52e2e6 : objective-c: Remove -fno-objc-default-synthesize-properties as the driver option. // rdar://11209719
    • 4f5b3ac : Fixes a fix to finding the current directory: We currently want to look whether PWD is available - if PWD is available it will get us the non-resolved current path, while fs::current_path will resolve symlinks. The long term fix is to not rely on that behavior any more.
    • 561d622 : Revert r154321, pending more discussion.
    • eb52f86 : Fix bugs found by -Wconstant-conversion improvements currently under review.
    • 649ee3f : Add -fobjc-trace to emit a call before and after each Objective-C message send for hooking in code flow visualisation applications.
    • e257179 : Factor out ARM floating ABI determination to new routine
    • c3cb072 : Make a modern Objective-C runtime the default target for *BSD. Don't yet change this on GNU/Linux, where the GCC runtime still tends to be used.
    • 5081de5 : Wire up -fpie and -fPIE to LLVM's newly added TargetOptions. No test case as we don't currently have any way of dumping target options or otherwise observing this. Another small step toward fixing PR12380. With this we generate TLS accesses using the static model instead of the dynamic model, but we're still generating suboptimal code under the mistaken assumption that the TLS offset might be greater than 2^32, and therefor not viable as an immediate offset of a segment register.
    • 5e219cf : Teach Clang about PIE compilations. This is the first step of PR12380.
    • 9579422 : Rephrase the preprocessor test to directly use CC1 and not bother testing any of the strange driver behavior. We already have some tiny tests for the driver behavior, and I'm going to expand them greatly in the next commit.
    • 65ea45a : FileCheck-ize this test.
    • 49149fe : Don't forget to evaluate the subexpression in a null pointer cast. If we're converting from std::nullptr_t, the subexpression might have side-effects.
    • b0afd5d : ext_reserved_user_defined_literal must not default to Error in MicrosoftMode. Hence create ext_ms_reserved_user_defined_literal that doesn't default to Error; otherwise MSVC headers won't parse.
    • 073a780 : MIPS: Pass -mabi option to the assmbler when compile MIPS targets.
    • a2768be : MIPS: Move code calculates CPU and ABI names to the separate function to reuse this function later.
    • 3be55cd : [Cygwin] Work around to flush stdout in a thread, or stdout in threads won't be flushed at exit.
    • b9abd87 : Fix several problems with protected access control: - The [class.protected] restriction is non-trivial for any instance member, even if the access lacks an object (for example, if it's a pointer-to-member constant). In this case, it is equivalent to requiring the naming class to equal the context class. - The [class.protected] restriction applies to accesses to constructors and destructors. A protected constructor or destructor can only be used to create or destroy a base subobject, as a direct result. - Several places were dropping or misapplying object information.
    • 79c5f95 : test/lit.cfg: Please pass %INCLUDE% to clang.exe on Win32. MS-compatible clang may refer to %INCLUDE%. It fixes r154188.
    • a53ab5c : [driver] In general, the driver claims redundant args and uses the last arg. However, the '-x' option has special handling and wasn't following this paradigm. Fix it to do so by claiming the arg as we parse the '-x' option. rdar://11203340
    • b031eab : Remove "parse error" in favor of more descriptive diagnostics.
    • f7ef931 : more testing of objc's dictionary literal translation.
    • d2008e2 : Implement support for null non-type template arguments for non-type template parameters of pointer, pointer-to-member, or nullptr_t type in C++11. Fixes PR9700 / rdar://problem/11193097.
    • e35abe1 : modern objective-c translation: support for dictionary literals. This concludes // rdar://10803676
    • bd61313 : Rework ExprEngine::evalLoad and clients (e.g. VisitBinaryOperator) so that when we generate a new ExplodedNode we use the same Expr* as the one being currently visited. This is preparation for transitioning to having ProgramPoints refer to CFGStmts.
    • d2953ce : SourceManager: Vectorize ComputeLineNumbers for SSE2.
    • 8491cb2 : MIPS: Provide a correct path to the dynamic linker when build for MIPS 64-bit targets.
    • 83cad45 : Thread safety analysis: downgraded requirement that mutex expressions refer to a lockable type from error to warning.
    • b0f245c : modern objective-c translator: translate array literal expressions. // rdar://10803676
    • 5f0a1c1 : MIPS: Pass -EB/-EL argument to the assembler according to selected endian when compile for MIPS targets.
    • f439e00 : [analyzer] Check that the arguments to NSOrderedSet creation methods are valid ObjC objects.
    • 0121183 : Test for r154189/PR12481
    • 30fa370 : Use atexit when __cxa_atexit isn't available instead of adding a global destructor entry. For some reason this isn't enabled for apple-kexts; it'd be good to have documentation for that.
    • 3f88f68 : Rename GenerateCXXGlobalDtorFunc to GenerateCXXGlobalDtorsFunc.
    • 7f39d51 : Fix a Sema invariant bug that I recently introduced involving the template instantiation of statement-expressions.
    • 40f45ee : Clear environment variables that might affect Clang before running tests.
    • b2f6820 : Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger the warning have been updated to use -Wno-objc-root-class. rdar://problem/7446698
    • aba3f0f : MIPS: Move tests check float ABI macros definitions to the more appropriate place.
    • 9f31437 : Fix using Clang as a cross compiler installed on a host machine and not inside of a sysroot targeting a system+sysroot which is "similar" or "compatible" with the host system. This shows up when trying to build system images on largely compatible hardware as-if fully cross compiled.
    • 6614845 : zext ivar offsets if required (GNU runtimes).
    • cf2fa2f : Fixed scoping error for late parsed attributes in nested classes.
    • 7a52180 : MIPS: Add tests for predefined macros for MIPS targets.
    • 673720d : Fix diagnostic text for r154163.
    • 9df1b96 : Restrict fixit for missing 'class' in template template parameters.
    • 7947bb1 : [analyzer]Fix false positive: pointer might escape through CG*WithData.
    • bf9658c : Point the caret at the error for the 'expected namespace name' diagnostic in a namespace alias declaration.
    • bc1029b : Implement C90 pedantic warning for duplicate declaration specifiers which are duplicated via a typedef. Patch by Tim Northover.
    • ae916a1 : Properly implement the C rules for composite types for qualified pointers in conditionals. Patch by Tim Northover.
    • bf393be : objective-c: Don't warn when a category does not implement a method declared in its adopted protocol when another category declares it because that category will implement it. // rdar://11186449
    • 856183c : Enhance testing a bit to make sure that we're omitting the getter and setter when they're synthesized with the default names.
    • 78af8fd : Only emit the getter and setter names if they're not the default synthesized ones. Reasonable debug info size reduction for objc.
    • 87b9c03 : Make the variant of __builtin_shufflevector that takes the shuffle indexes as a vector actually usable. Patch by David Neto. PR12465.
    • 6fd4505 : Require that all static analyzer issues have a category. As part of this change, consolidate some commonly used category strings into global references (more of this can be done, I just did a few).
    • 9091389 : Move some MIPS target macro definitions from class Mips32TargetInfoBase to the base class MipsTargetInfoBase. These macros are applicable for both 32/64-bits targets.
    • e47029a : Temporary workaround for bug#12457: turn the 'constexpr function never produces a constant expression' error into a DefaultError ExtWarn, so that it can be disabled and is suppressed in system headers. libstdc++4.7 contains some such functions which we currently can't evaluate as constant expressions.
    • 85ff969 : [Lex] Add support for 'user specified system frameworks' (see test case). - Developers of system frameworks need a way for their framework to be treated as a "system framework" during development. Otherwise, they are unable to properly test how their framework behaves when installed because of the semantic changes (in warning behavior) applied to system frameworks.
    • 9ee35f9 : [Lex] HeaderSearch: Introduce a FrameworkCacheEntry structure to hold the FrameworkMap items. - No functionality change.
    • f535a98 : Simplify.
    • a823545 : Improve & simplify diagnostic for missing 'class' in template template parameter.
    • b98b998 : Handle symbolicating a reference in an initializer expression that we don't understand.
    • 04a18c9 : Teach ObjCContainersChecker that the array passed to CFArrayGetValueAtIndex might not be a symbolic value.
    • bb3d20f : Do not crash in the callgraph construction when encountering deleted function definitions. Fixes rdar://problem/11178609.
    • 6b77ce8 : [analyzer] Move stats calculation out of AnalysisConsumer destructor. The ASTConsumer does not get deleted with clang --analyze (for performance reasons), we still want the diagnostics to work.
    • 907344e : [analyzer] Change warding in a path diagnostic: "No method actually called because receiver is nil" - "No method is called because receiver is nil"
    • cd86346 : [analyzer] Add a coverage calculation to FunctionSummaries.
    • 4f4705f : [analyzer] Remove redundant if statement (pointed out by Ted).
    • a85cf39 : Improve diagnostics for invalid use of non-static members / this:
    • 4fd05dc : Add triples to these tests to keep them working on Windows, where wchar_t is only 16 bits wide.
    • f76e7f7 : RelNote improvements made to -Wliteral-conversion by r141955.
    • 69f50e7 : Fix assertions and wrong output from StmtPrinter's string literal printing. String literals (including unicode ones) can contain non-Unicode codepoints if they were written using \x or similar. Write those out using \x, but be careful that the following character can't be misinterpreted as part of the \x escape sequence. Convert UTF-16 surrogate pairs back to codepoints before rendering them.
    • e31b8fb : Enable warn_impcast_literal_float_to_integer by default.
    • 371a0c8 : clang/test/Tooling/clang-check.cpp: Mark it as XFAIL also on cygwin.
    • 5b4bf13 : Allow a conversion from the empty initializer list {} to an std::initializer_listT so long as T is known. This conversion has identity rank.
    • 3953911 : Honor -fno-pic, -fno-PIC, -fno-pie, -fno-PIE.
    • 30fe6ba : [driver] When using the -mfpmath= option, add an error message when trying to enable neonfp on a CPU that doesn't support NEON. rdar://11108618
    • 397f327 : Hardcode a triple to prevent the test failing on targets which don't support __thread.
    • 1209386 : Test commit to check commit access.
    • b4051e7 : Implement C++11 [temp.arg.nontype]'s permission to use the address of an object or function with internal linkage as a non-type template argument.
    • 465a899 : Fix an oversight: don't run ARC optimization cleanup at -O0.
    • f80f2a5 : Whitespace.
    • 9931727 : [driver] Add a static helper function for handling -mfpu= to remove some code duplication. No functional change intended.
    • d624a5b : Reduce variable scope.
    • 7a938fa : [driver] Create a new -mfpmath= option, which is used to control whether clang uses Neon instructions for single-precision FP.
    • 878f850 : objc-arc: provide a warning when 'receiver' of a message is 'weak' in arc mode and opted-in with -Wreceiver-is-weak flag. // rdar://10225276
    • bb811ca : Look through chains of 'x = y = z' when employing silencing heuristics in the DeadStoresChecker.
    • e982cc0 : modern objc translator. Add more rewriter specific option to cc1 with -rewrite-objc. // rdar://11143173
    • 15b7731 : Remove unused argument.
    • 0718952 : Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output.
    • f54486a : Move the computation of the lambda mangling information (mangling number + context) to the point where we initially start defining the lambda, so that the linkage won't change when that information is made available. Fixes the assertion in rdar://problem/11182962.
    • 2d4476d : Install arm_neon.h outside of the default include path.
    • 8e86b2d : objective-c modern translation. Remove commenting out of extern "C". // rdar://11169733
    • e1fde1d : Simplify test a bit now that it's not actually running cc1plus.
    • e23d0b2 : clang/test/Tooling/clang-check.cpp: Mark it as XFAIL mingw,msvc for now.
    • 01b8ca5 : Tooling.cpp: Reorder inclusions according to the conding standards.
    • b175d0f : Tooling.cpp: Don't refer to $ENV{PWD}. Use llvm::sys::fs instead.
    • 9595dae : Don't crash (assert failure) when generating blocks for C++ types with a non-const copy constructor.
    • 92f7409 : Updated release notes for tooling.
    • 29b815c : clangFrontend depends on clangEdit.
    • 43d5aac : Add the dependency on clang-check to clang-test, so clang-check can be integration tested.
    • cb971c6 : Adds a tooling library.
    • c9aa9c0 : Don't actually execute gcc during testing.
    • 6fb522e : Add a testcase for svn r153854.
    • 9033092 : Fix diagnostic typos: "non-template arguments" vs "non-type template arguments". No test updates: we don't appear to have any test coverage for these diagnostics!
    • 5a5a971 : For PR11916: Add support for g++'s __int128 keyword. Unlike __int128_t, this is a type specifier and can be combined with unsigned. This allows libstdc++4.7 to be used with clang in c++98 mode.
    • d280389 : When performing template argument deduction for an initializer list, be sure to perform the argument type adjustments in [temp.deduct.call]p2, e.g., array decay.
    • a9b55a4 : Dependent-sequence initialization of a single element can be direct list-initialization. Loosen an over-eager assertion to fix PR12453.
    • a06642a : [preprocessor] In Preprocessor::CachingLex() check whether there were more tokens cached during the non-cached lex, otherwise we are going to drop them.
    • e14ba2c : When computing the conversion sequence in overload resolution for converting an empty list to a scalar, be sure to initialize the source and destination types so that comparison of conversion sequences will work in case there are multiple viable candidates.
    • 95e3872 : If something already instantiated is reinstantiated as an explicit definition, keep the latter.
    • beeb460 : ErrorUnsupported on array cookies in the MS C++ ABI code; patch by Timur Iskhodzhanov.
    • 73f428c : Enter an expression evaluation context when parsing statement-expressions. Prevents cleanups and such from being claimed by the first full-expression in the block.
    • 8e59838 : Fix dead store warning.
    • 88fc181 : Change BugReporter's usage of IsCachedDiagnostic to only impact pruning diagnostics emitted to the console, and leave it up to PathDiagnosticConsumer to unique reports with the shortest path.
    • 74a1a1f : Silence dead store warning, and fix indentation.
    • 6c656c3 : Remove dead assignment to local variable.
    • 7b156dd : Add feature check "cxx_local_type_template_args" describing support for templates with local template arguments, from Michel Morin! Fixes PR12337.
    • b0d06e2 : Eliminate obvious use-after-free. Fixes PR12433 / rdar://problem/11168333.
    • 173a37a : Remove more redundant lookups. Add a new "all_lookups_iterator" which provides a view over the contents of a DeclContext without exposing the implementation details of the StoredDeclsMap. Use this in LookupVisibleDecls to find the visible declarations. Fixes PR12339!
    • 893a6ea : Don't treat synthesized ivars as being in the base class for the purpose of looking up visible decls.
    • 6d858d9 : Replace the workaround from r153445 with a proper fix.
    • b3f904f : modern objective-c translator: rewriter linkage spec. // rdar://11169733
    • 14e6455 : Correct handling of _Pragma macro inside a macro argument.
    • c8443e5 : Rework ProgramPoint to bit-mangle the 'Kind' into both Data pointers and the LocationContext. After switching to PointerIntPair, it didn't look like a safe assumption to use the lower 3 bits of the LocationContext* field. Thanks to Jordy Rose and Benjamin Kramer for their feedback.
    • e62f048 : [analyzer] Record the basic blocks covered by the analyzes run.
    • 0ea6164 : Add more constraint registers for mips.
    • ea32047 : Change location information for synthesized properties to be at the property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration. Use the current scope location as a separate parameter so that we can match it up better in the line table with the beginning of the scope.
    • 31b5762 : Fix another false positive in RegionStore involving doing loads from symbolic offsets. We still don't properly reason about such accesses, but we shouldn't emit bogus "uninitialized value" warnings either. Fixes rdar://problem/11127008.
    • d9b7955 : Fix potential null dereference in the static analyzer when inlining a call that has already been inlined. Unfortunately I have no test case.
    • f30c0a9 : Reduce static analyzer memory usage by about 4% by packing the ProgramPoing 'Kind' field into the spare bits of other fields.
    • e6af660 : PR10217 diagnostic fix: don't say 'copy constructor' when we mean 'copy assignment operator'.
    • 219c2e2 : Remove windows line endings.
    • 5bdaac5 : Finish PR10217: Ensure we say that a special member was implicitly, not explicitly, deleted in all relevant cases, and explain why.
    • 460ef13 : Correct error recovery when missing 'class' in a template template parameter.
    • e7d0bbf : Silence -Wunused-variable in -Asserts build
    • 0f6931a : PR12438: Profile a reference to a type template parameter by depth and index, not by canonical decl. This only matters for sizeof...(Pack) expressions; in all other cases, we'd profile it as a type instead.
    • 1c931be : Implement DR1402: if a field or base class is not movable, the derived class's move constructor/move assignment operator are not declared, rather than being defined as deleted, so move operations on the derived class fall back to copying rather than moving.
    • 582b395 : Use -rewrite-legacy-objc as clang argument for translating objective-c's fragile abi, Use -rewrite-objc for translating objective-c's modern abi. // rdar://11143173
    • 99d43b4 : Fix build by passing in the needed variable after r153860.
    • c5a89a1 : Basic semantic analysis support for inheriting constructor declarations in dependent contexts.
    • 651f3d4 : Ignore unused --serialize-diagnostics option when using llvm-gcc.
    • 70e24fc : Properly handle explicit constructors in list-initialization. Fixes PR12120.
    • 4a5f724 : Analyzer: Store BugReports directly in a ilist instead of adding another layer of inderection with std::list
    • e2e8768 : Fixed MacroInfo definition range for function like macros with empty body.
    • 6c235bc : Remove unused but set variable.
    • d76e1cd : [arcmt] When fixing the "unassigned init call" ARC error, make sure to do a nil check for the result of the call.
    • d786f1a : [libclang] Fix use-after-free bug when handling attributes indexing info.
    • 86cff60 : modern objective-c translator: writing container literals. wip. // rdar://10803676
    • 34ebe1e : [libclang] Introduce clang_Cursor_getObjCSelectorIndex() function.
    • 50651b9 : Fix a pair of invalidation bugs when emitting protocol definitions in the fragile and non-fragile Mac ObjC runtimes. No useful test case. Fixes rdar://problem/11072576.
    • 355bba7 : Make sure we unique static-local decls across multiple emissions of the function body, but do so in a way that doesn't make any assumptions about the static local actually having a proper, unique mangling, since apparently we don't do that correctly at all.
    • ba1da14 : [libclang] Introduce clang_Cursor_getSpellingNameRange().
    • 6c4c36c : PR10217: Provide diagnostics explaining why an implicitly-deleted special member function is deleted.
    • 0f30a12 : Revert r153723, and its follow-ups r153728 and r153733.
    • 40afb7d : [driver] Create a new L_Group for language options and add the -std= option to said group. Also classify the group as a CompileOnly_Group so that this option does not cause an unused argument warning when used with a link command. rdar://11153013
    • 0f9b18e : modern objective-c translator: writing numeric literals. // rdar://10803676
    • 8b0fa52 : If we encounter a friend class template for which we cannot resolve the nested-name-specifier (e.g., because it is dependent), do not error even though we can't represent it in the AST at this point.
    • d6d7582 : Fix Clang headers installation.
    • 49d26d2 : Do the static-locals thing properly in the face of unions and other things which might mess with the variable's type.
    • 5aeaca3 : Correctly check argument types for some vector macros in smmintrin.h. Put parentheses around uses of vector macro arguments.
    • 62a5c34 : [analyzer]Malloc,RetainRelease: Allow pointer to escape via NSMapInsert.
    • 3bbd8cd : [analyzer] Do not inline functions which previously reached max block count.
    • 29bbd1a : Handle placeholder expressions in an ObjC for-collection loop. The way we handle this implicitly removes the ability to use property l-values in this position, but that's really okay.
    • 26945ad : ItaniumCXXABI.cpp: Don't use nullptr. Clang source tree should be pre-c++11-compatible.
    • 96579c4 : Revert previous commit changing location information to see if this is causing the gdb test failures on the bots.
    • 5228982 : Add _mm_minpos_epu16 to smmintrin.h. Fixes PR12399.
    • 100c649 : Forbid the block and lambda copy-capture of __autoreleasing variables in ARC, under the usual reasoning limiting the use of __autoreleasing.
    • 5629646 : Fix shuffle vector calculation for mm_permute_ps. Fixes PR 12401.
    • 9993cc7 : When emitting a static local variable in C++, handle the case that the variable already exists. Partly this is just protection against people making crazy declarations with custom asm labels or extern "C" names that intentionally collide with the manglings of such variables, but the main reason is that we can actually emit a static local variable twice with the requirement that it match up. There may be other cases with (e.g.) the various nested functions, but the main exemplar is with constructor variants, where we can be forced into double-emitting the function body under certain circumstances like (currently) the presence of virtual bases.
    • 56ea377 : Add a note about a missing optimization in the case of virtual inheritance.
    • 3754f96 : Missing piece of r153720: make sure the vtable pointer is handled correctly.
    • 5fe61c6 : ConstStructBuilder: fix offset math for base classes so it works correctly in general. Found by inspection.
    • 38ac243 : Make sure we perform the relevant implied conversions correctly for ObjC methods with related result types. PR12384.
    • 9ee2002 : Testcase for the previous commit.
    • 7435054 : Change location information for synthesized properties to be at the property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration.
    • 84392d0 : The UTF16 string referenced by a CFString should go into the __TEXT,__ustring section. A 'normal' string will go into the __TEXT,__const section, but this isn't good for UTF16 strings. The __ustring section allows for coalescing, among other niceties (such as allowing the linker to easily split up strings).
    • b085d89 : Add info to ObjCPropertyRefExpr to indicate whether the dot syntax property reference is going to message the setter, the getter, or both.
    • d046952 : [libclang] A MemberRefExpr cursor for a property dot syntax should have as its location the location of the property.
    • 66373dd : [libclang] Have c-index-test output more information about a cursor with -cursor-at:
    • 1ef28db : Extend -Wc++11-narrowing to cover converted constant expressions as well as braced-initializers. rdar://problem/11121178.
    • 4b81e74 : [analyzer] Add a malloc cpp test file.
    • 8322c23 : Fix whitespace.
    • 6903313 : ARM backend knows about cortex-m4. The front end should too.
    • 868e985 : modern objc translator: avoid some duplicate declarations.
    • df8dc86 : Refactor special member function deletion. No functionality change.
    • 882784d : Relax the test slightly so that it should pass on other people's computers.
    • 17c8caf : modern objc translator: additional test.
    • 3a7d69b : Call out to GCC-compatible runtime functions for atomic ops that we can't use LLVM intrinsics for.
    • 2ebb98a : Pass parameters in the correct order when assembling an AtomicExpr.
    • 297976d : modern objective-c translator: fix up assortment of visibility directives for a variety of exported meta-data symbols. // rdar://11144048
    • 649b4a1 : Revert r153613 as it's causing large compile-time regressions on the nightly testers.
    • ecae596 : Go back to using just the selector name for the getter and setter in the property debug info. Any more isn't necessary after all.
    • 16098f3 : Tidy.
    • c0b6dbe : Make ModuleMapParser own its TargetInfo, so it doesn't get leaked.
    • 51c0371 : Add support for objc property decls according to the page at:
    • be5ff2f : unwind.h fix for -fvisibility=hidden users. This fixes firefox build in a system with libunwind installed. Patch by Jeffrey Yasskin!
    • 52f10d5 : Don't try to parse a malformed parameter list after a constructor or operator name as a direct initializer.
    • 9988f28 : Reject 'templatetypename...Ts void f(Ts ...(x));'. Add a special-case diagnostic and a fix-it to explain to the user where the ellipsis is supposed to go.
    • 0fd4a68 : [arcmt] Fix a bug where a property in a class extension, that did not exist in the interface, got its attribute rewritten twice, resulting in 'weakweak' or 'strongstrong'.
    • dde3bdb : Define __LITTLE_ENDIAN__ for le32, since "le" stands for little endian. Add a test for this too.
    • 57cd1b8 : When we can't prove that the target of an aggregate copy is a complete object, the memcpy needs to use the data size of the structure instead of its sizeof() value. Fixes PR12204.
    • b684a42 : Fix typo in my last patch.
    • e7ea4e5 : Install clang++ whenever clang gets installed.
    • f962eb4 : [libclang] Fix CIndexer::isOptEnabled(); not sure what I was thinking there.
    • b47dbcb : [analyzer] Enable retry exhausted without inlining by default.
    • fb02784 : Fix the type of wchar_t on Solaris.
    • a78eca2 : objective-c: Improve diagnostics and provide 'fixit' hint when dictionary index is not of proper type. // rdar://11062080
    • 253955c : [analyser] Stats checker: do not mark a node as exhausted if we will retry without inlining.
    • 64ee9d0 : [analyzer] Refactor: Use Decl when determining if the Block belongs to the root function.
    • a0786c9 : CodeGen/CGDeclCXX.cpp: Twine-ize CreateGlobalInitOrDestructFunction().
    • 6960587 : Unify and fix our checking of C++ [dcl.meaning]p1's requirements concerning qualified declarator-ids. We now diagnose extraneous qualification at namespace scope (which we had previously missed) and diagnose these qualification errors for all kinds of declarations; it was rather uneven before. Fixes rdar://problem/11135644.
    • 1e1e972 : When we form a new function/class template specialization, we first search for the specialization (in a folding set) and, if not found form a *Decl that is then inserted into that folding set. In rare cases, the folding set may be reallocated between the search and the insertion, causing a crash. No test case, because triggering rehashing consistently in a small test case is not feasible. Fixes rdar://problem/11115071.
    • 6488dc3 : Fix suspicious comparison reported by PVS-Studio!
    • 81b5ac3 : [libclang] Rename setBackGroundPriority - setThreadBackgroundPriority.
    • 8e7c48a : [libclang] Fix gcc error.
    • fdc1795 : [libclang] Introduce options to control the priority for the threads that libclang creates.
    • bbca564 : [libclang] Put the CIndexer class in the clang namespace instead of having it at global namespace.
    • 142bcb5 : [libclang] For clang_saveTranslationUnit, if the AST to save has invalid nodes due to compiler errors, use a crash recovery thread to do the AST writing for protection.
    • 82fe6ae : Move the emission of strict enum range metadata behind a flag (the same flag as GCC uses: -fstrict-enums). There is a *lot* of code making unwarranted assumptions about the underlying type of enums, and it doesn't seem entirely reasonable to eagerly break all of it.
    • ba10306 : Introduce a new libclang API to determine the parent context of a code completion item. For example, if the code completion itself represents a declaration in a namespace (say, std::vector), then this API retrieves the cursor kind and name of the namespace (std). Implements rdar://problem/11121951.
    • 2259286 : If we see '(...' where we're expecting an abstract-declarator, that doesn't necessarily mean we've found a function declarator. If the next token is not a ')', this is actually a parenthesized pack expansion.
    • b49a29f : [libclang] Introduce indexing option CXIndexOpt_SuppressWarnings, which disables all compiler warnings.
    • 5594704 : modern objective-c translator: writing objc boolean literals. // rdar://11124775
    • 5903a37 : [analyzer] Add an option to re-analyze a dead-end path without inlining.
    • 14d8381 : [analyzer] Fix a typo.
    • 65552ca : [analyzer] Stats checker: minor interprocedural tweaks.
    • 1f5171e : [analyzer] Stats: Only count the number of times we run path sensitive analyzes.
    • d1f853d : Add better support for $fp and $sp for mips inline asm support.
    • db81d38 : [preprocessor] Handle correctly inclusion directives that have macro expansions, e.g "#include MACRO(STUFF)".
    • e033578 : objective-c modern translator: move all inithooks into a single array // rdar://11124354
    • f78c0f9 : Even more careful consideration of C++11 13.3.3.1p4. Fixes PR12241.
    • 978fc9c : Introduce a -cc1-level option -pubnames-dump, which simply dumps the list of identifiers that that 'public' names at the end of the translation unit, e.g., defined macros or identifiers with top-level names, in sorted order. Meant to support rdar://problem/10921596.
    • 2610f90 : Remove few if-then-else when both branches are the same. pr12357.
    • 3f162c3 : Commit patch reverted in r153454 with the modified test case that I forgot to check in.
    • 9da31cb : Update the ARC specification for several changes made in the last N months. This required a brief soliloquy about change in an uncertainly-versioned world.
    • 5d8388c : Add cross-referencing comments to ParseDirectDeclarator to note that isConstructorDeclaration also needs updating for any extension to the grammar of a direct-declarator.
    • de5b4fb : Change RetainCountChecker to eagerly "escape" retained objects when they are assigned to a struct. This is fallout from inlining results, which expose far more patterns where people stuff CF objects into structs and pass them around (and we can reason about it). The problem is that we don't have a general way to detect when values have escaped, so as an intermediate step we need to eagerly prune out such tracking.
    • 412e0cc : When we see 'Class(X' or 'Class::Class(X' and we suspect that it names a constructor, but X is not a known typename, check whether the tokens could possibly match the syntax of a declarator before concluding that it isn't a constructor. If it's definitely ill-formed, assume it is a constructor.
    • 3f71860 : [driver] Put -cpp-precomp and -no-cpp-precomp under the clang_ignored_f_group. We don't currently support these options. rdar://11120518
    • d3d7d4d : [driver] Testcase for r153469, r153470, and r153478.
    • afc4baa : [driver] Fix unused argument warnings.
    • ec09b3e : [driver] -mkernel implies -fno-common, so claim the arg to avoid an unused argument warning. Part of rdar://11120518
    • 3d26550 : [driver] -mkernel implies -fno-builtin, so claim the arg to avoid an unused argument warning. Part of rdar://11120518
    • 1f4c54d : Forward-declared enumerations are now complete, except for an interaction between unscoped enumerations and class template member specializations, whose behavior is currently under discussion in CWG (and for which there is a preference to not implement the currently-standardized wording).
    • 0724b7c : Add a special-case diagnostic for one of the more obnoxious special cases of unscoped enumeration members: an enumerator name which is visible in the out-of-class definition of a member of a templated class might not actually exist in the instantiation of that class, if the enumeration is also lexically defined outside the class definition and is explicitly specialized.
    • 5432ff2 : [tests] Fix test failure in release mode.
    • 165ce3c : Simplify code, no functionality change.
    • ad11f1c : Revert r153443 "objective-c modern translator: extern "C" exported", it fails in testing.
    • 4cd7edf : [analyzer] Malloc: Allow a pointer to escape through OSAtomicEnqueue.
    • 54edd47 : Test case for r153348.
    • 8cb4a07 : add tbaa metadata to vtable pointer loads/stores
    • 1eb18af : Move CodeCompletionBuilder's chunk adding methods out of line.
    • 0179868 : When diagnosing an invalid out-of-line redeclaration, don't permit typo correction to introduce a nested-name-specifier; we aren't prepared to handle it here. Fixes PR12297 / rdar://problem/11075219.
    • b12dc68 : objective-c modern translator: extern "C" exported symbols. // rdar://11103982
    • a8e0b97 : Canonicalize the declaration we write to a PCH file for an InjectedClassNameType; otherwise, it won't be properly wired to the original (canonical) declaration when it is deserialized. Fixes rdar://problem/11112464.
    • dccb9bb : Driver: Factor string vector push_back into a helper class and optimize it.
    • ecafd30 : ThreadSafetyReporter: Manage diagnostics in a std::list.
    • 38f0df3 : Handle instantiations of redeclarations of forward-declared enumerations within templated functions. Build a redeclaration chain, and only instantiate the definition of the enum when visiting the defining declaration.
    • 4ca93d9 : Delay checking of dependent underlying types for redeclarations of member enumerations in templates until the template is instantiated.
    • b3dcbbd : Since this change is generating a considerable amount of discussion (and possibly even a regression for known bad versions), I'm reverting it.
    • b3656d3 : No longer hard coding paths to the MinGW include directories; using a regular expression instead.
    • 6955da2 : clang/lib/Analysis/CFG.cpp: Get rid of early insertion of placeholder to the map.
    • 9260f61 : clang/lib/Analysis/CFG.cpp: Fix memory leak since r153297.
    • 269dd01 : Bookkeeping.
    • b293f52 : test/Driver/cpath.c: Escape a few args that contain %{pathsep}.
    • 1eff209 : Fix the tabs. Fix the spaces.
    • 560ad31 : Migrate external/clang to CLANG-153220-20120321.
    • 7e42392 : Simplify some users of DenseMap::erase.
    • 790d295 : remove declaration of _objc_empty_vtable no longer used in modern objc translator. // rdar://11105680
    • 74873c4 : Fix copy and pasto.
    • 249cd10 : moderin objc translator: remove 'const' from remaining fields in _class_ro_t metadata. // rdar://11079898
    • c3f8955 : Add back r153360 with a fix for enums that cover all the 32 bit values. Thanks to NAKAMURA Takumi for finding it!
    • 88a569a : Revert r153360 (and r153380), "Second part of PR12251. Produce the range metadata in clang for booleans and".
    • d961ea9 : Don't cast away constness.
    • 539a230 : On i386 the alignment of i64 is 4, not 8.
    • 1fcf4f1 : Bookkeeping in README.android
    • b000fb5 : [analyzer] Tighten up the realloc() failure path note generation...make sure we get the right realloc()!
    • 3bc75ca : [analyzer] Restart path diagnostic generation if any of the visitors change the report configuration while walking the path.
    • 0115349 : [analyzer] Add a clone() method to BugReporterVisitor, so that we'll be able to reset diagnostic generation.
    • 5d5ed59 : [parser] If there are unmatched braces in a function definition, try to recover by returning the statements that we parsed so far, instead of dropping the whole function body.
    • e27af29 : Second part of PR12251. Produce the range metadata in clang for booleans and c++ enums.
    • f602806 : Teach APValue printer to print boolean 0 and 1 as 'false' and 'true'. Fix up some calling code to actually pass in a non-null type, to avoid a crash.
    • e78ec3e : use EP_OptimizerLast instead of EP_ScalarOptimizerLate for ThreadSanitizer
    • fce79eb : Make sure we don't accept an @interface inside another objc container just because there was an attribute in front of it.
    • 30a2805 : [libclang] Make sure we don't crash when trying to index code that managed to insert an @interface as top level decl contained by another @interface.
    • ec5a306 : Revert accidentally-committed www changes (and an unused diagnostic); forward-declared enums aren't /quite/ done yet.
    • 3343fad : When defining a forward-declared enum, don't try to attach the definition to a previous declaration if the redeclaration is invalid. That way lies madness. Fixes a crash-on-invalid reported by Abramo.
    • ad8d8a3 : Add support for MIPS' floating ABIs (hard, soft and single) to clang driver.
    • 2098c1c : Update checker build.
    • 514f2c9 : Avoid applying retain/release effects twice in RetainCountChecker when a function call was inlined (i.e., we do not need to apply summaries in such cases).
    • f102c45 : Remove the vestiges of the C backend.
    • 1af83c4 : Support for definitions of member enumerations of class templates outside the class template's definition, and for explicit specializations of such enum members.
    • ccc6f36 : [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, return from clang_getCursorLocation the start location of the method name.
    • e8018f2 : corrected check::EndOfTranslationUnit checker name and added 'const' to declaration
    • 8c6d360 : [CFG] Cache boolean evaluations of expressions to avoid multiple re-evaluations during construction of branches for chained logical operators.
    • 7608a80 : Remove unused bits.
    • df474ec : modern objc translation of block literal expressions declared at file scope. // rdar://11006566
    • 263e0a6 : Small cleanup.
    • 8ff6059 : Use correct FileCheck regexp.
    • acb5310 : When an MMX output variable is tied to the input variable, we have to implicitly cast the value to x86_mmx. This gives the ASM string the correct call signature. rdar://problem/10919182
    • bce35a2 : line endings
    • e5a8aeb : Make sure we correctly set the alignment for vector loads and stores associated with vector element lvalues. Patch by Kevin Schoedel (with some minor modifications by me).
    • 5aac0b6 : Fix static analyzer crash on code taking the address of a field. Fixes PR 11146.
    • 638e2d3 : [analyzer] Add the stat for the number of successfully explored paths.
    • 749bbe6 : [analyzer] Add stats useful for coverage investigations.
    • 64394e2 : [analyzer] Add inlining awareness to the block coverage computation (Stats Checker).
    • d13c2c2 : modern objc rewriter: until we can translate block literals at global scope properly, issue diagnostics.
    • 0d4cb85 : Fix a comment: kPropertyType = 'T' not 't'. rdar://problem/11095729
    • 2df089d : modern objective-c rewriter: Fix up translation of property attributes. // rdar://11095151
    • 643586f : [PCH] When we are replacing a decl in a chained PCH that is also a DeclContext, make sure to fully load its external lexical and visible declarations before re-writing it.
    • 86029ea : Update front page to indicate that we do, in fact, support some of C++11.
    • 06911d4 : "Teach" RetainCountChecker about dispatch_set_context, which can indirectly free its argument later. Fixes rdar://problem/11059275.
    • 8bd37f1 : Relax the FileCheck assertions in this test a touch. Previously the test relied on an artifact of how the inliner and subsequent passes in clang's -O3 mode happen to treat basic blocks and the labels for the basic blocks. In my work on the inliner, and changed this fundamental assumption, and the label that was being checked on the entry basic block will no longer appear in opt builds. There was no reason to expect the label to always be present anyways, much to my regret.
    • 550f223 : Fix broken CFG when an initializer is a statement expression that starts with a while loop (PR 12325).
    • 564f4c5 : During the instantiation of a class template specialization, that specialization is known to be incomplete. If we're asked to try to complete it, don't attempt to instantiate it again -- that can lead to stack overflow, and to rejects-valids if the class being incomplete is not an error.
    • 9293fff : Simplify DataRecursiveIntBinOpEvaluator::VisitBinOp() a bit and make sure we don't evaluate RHS if LHS could not be evaluated and keepEvaluatingAfterFailure() is false.
    • f5aa3f5 : [analyzer] Malloc: drop symbols captured by blocks.
    • 5cf6b6c : modern objective-c translator: Change declaration of all objc_msgSend unctions to void parameters and void return. // rdar://11094890
    • b778305 : Change the binary operator data recursive evaluator to not stop at the first non-constant value encountered. This allows the evaluator to deduce that expressions like (x 5 || true) is equal to true. Previously, it would visit x and determined that the entire expression is could not evaluated to a constant.
    • 850f1b1 : Remove unused variable, fix indentation.
    • 54faba4 : For enums with no tag name, display its location in the diagnostic instead of displaying ''. // rdar://11082110
    • 9354f6a : fixes the diagnostic issued in // rdar://11069896
    • cde7a1d : Report the natural alignment of unsigned long long, not the preferred alignment. rdar://11054144
    • 1e0c952 : Try to get cpath.c passing on windows, using lit's new ${pathsep} variable.
    • 3d7c44e : [analyzer] Malloc: Utter the name of the leaked variable. Specifically, we use the last store of the leaked symbol in the leak diagnostic. (No support for struct fields since the malloc checker doesn't track those yet.)
    • 27b867e : [analyser] Factor out FindUniqueBinding from RetainCount checker.
    • 046c9e6 : [analyzer] Re-enable the test disabled by r152969. (The fix was committed in r152982.)
    • 57f6d19 : Duplicated code is bad. At least make it consistent.
    • 4e648e4 : Allow void blocks to return witn a void expression in c-mode to match behavior with void functions in c. Issue warning with -pedantic. // rdar://11069896
    • 677a35b : For Darwin, do not let -mcpu override the -arch option. rdar://11059238
    • 4e825df : modern objective-c rewriter: remove 'const' from pointer field declarations in several meta-data. // rdar://11079898
    • 1526f54 : Removed repeated word (of of).
    • 3ef963b : Undo previous patch as I checked more than I intended.
    • 7e725bc : modern objective-c rewriter: remove 'const' from pointer field declarations in several meta-data. // rdar://11079898
    • 260a3e4 : For the annals of subtle but terrible bugs: fix a longstanding bug in vtable layout where virtual methods inherited from virtual bases could be assigned the same vcall adjustment slot if they shared a name and parameter signature but differed in their cv-qualification. The code was already trying to handle this case, but unfortunately used the ordinary type qualifiers (which are always empty here) instead of the method qualifiers. This seems like something that the API should discourage, but I don't know how to carry that principle out in this instance.
    • 247c719 : clang-interpreter/Makefile: [PR12313] Update USEDLIBS to add clangEdit.
    • 20f8939 : RewriteModernObjC.cpp: Don't expose temporary std::string with StringRef. (StringRef)getName() can be used here.
    • 4c7a6c6 : Test case for rdar://problem/11055105, a bug with the instantiation of references to function template parameters in noexcept clauses when the instantiation is forced from a point during parsing when a block is in scope.
    • fde05e1 : Close the paren. // rdar://11076938
    • 451b441 : Update comment.
    • a62c380 : numberWithFloat - numberWithDouble.
    • 12d47cc : modern objective-c translator: insert couple of pragmas for optimization. // rdar://11079898
    • 2498885 : Fixed typo.
    • 62f1234 : Added summary section for Object Literals and Subscripting, which contains the external link.
    • 4b2fe6e : modern objective-c translator: add static function to initialize the class pointer in the category structure. // rdar://11076938
    • 1cd89c4 : More careful consideration of C++11 13.3.3.1p4. Fixes PR12257.
    • ca89371 : Fix the other place where C++98 work for initializer lists was necessary.
    • 452eac1 : more modern objective-c meta-data stuff.
    • ca7f5bd : Fixed typos.
    • 7f919c8 : Link to Objective-C literals documentation.
    • af39ba1 : Objective-C literals documentation.
    • 3739b32 : Don't include FixIts with a null replacement range. Fixes rdar://problem/11040133.
    • fce8009 : Fix a use-after-free in thunk emission. EmitThunk may call RAUW on Init, invalidating the pointer.
    • a03e40c : modern objective-c translator: provide meta-data initialization via functions for certain pointer initialization fields. // rdar://11076938
    • 6181e56 : Debug info: Tighten up uses of plain MDNode pointers which don't survive replaceOperandWith.
    • fd4ce2c : modern objective-c translator: couple of minor changes to how meta-data is declared. // rdar://11076938
    • c407f25 : Test commit.
    • 7cb2a1b : objective-c modern translator: Refactor intername ivar names to one place and use it throughout. Also, change ivar name to avoid name collisions. // rdar://11079366
    • db163c8 : [avx] Define the _mm256_loadu2_xxx and _mm256_storeu2_xxx intrinsics.
    • acd76fe : Add missing bitcast that was breaking Objective-C++ exception typeinfo (GNUstep runtime).
    • d967c6a : Add test case for rdar://problem/10553686, which illustrates RetainCount checker working with inlined C++ template functions.
    • 4cf2253 : Fix crash when querying the CFG reported when using the thread safety analysis on code using multi-dimensional arrays. Fix by DeLesley Hutchins, and reported in PR 12271.
    • 0822c5f : [libclang] Have clang_getCursorExtent() return the range of the main file when the passed cursor is the translation unit cursor.
    • 4bcf3d0 : removed unused code in the modern objc rewriter file.
    • b455686 : LanguageExtensions: Manually word wrap a line to reduce horizontal scrolling.
    • a7d66b5 : line endings
    • 3538f74 : Use a simpler pluralization construct
    • 55261af : modern objective-c translator: fix type of objc_exception_throw declaration and its siblings.
    • 6d2b131 : test/Driver/cpath.c: Mark this as XFAIL:mingw32,win32 for now.
    • 09c5c39 : Fix a regression where ':' in CPLUS_INCLUDE_PATH and friends would no longer separate paths.
    • 3e280b5 : Add the missing compatibility warning for braced initializers as default arguments.
    • 359487b : An error can't be in a warning group.
    • 393f98b : [analyzer] Mark a failed-realloc's result as an interesting symbol between the realloc call and the null check, so we get nicer path notes. Fixes a regression introduced by the diagnostic pruning added in r152361.
    • 4207eda : Turns #import in MS Mode into an error.
    • 07b49a8 : Use character literals for vexing initialization fixit hints.
    • ef94588 : [analyzer] Use a FoldingSet to cache simple RetainSummary instances, rather than explicitly keeping DoNothing and StopTracking summaries and nothing else.
    • 957ff27 : Replace a FIXME with a diagnostic when we can't resolve the nested-name-specifier for a class template declaration. Fixes PR12291.
    • 42acead : Diagnose tag and class template declarations with qualified declarator-ids that occur at class scope. Fixes PR8019.
    • f3aae58 : [analyzer] Unify retain-count summary generation for class and instance methods. No functionality change.
    • 44b8e46 : Kill cocoa::deriveNamingConvention and cocoa::followsFundamentalRule. They are now just simple wrappers around method families, and method decls can cache method family lookups. Also, no one is using them right now.
    • e921b1a : [analyzer] Remove duplicate work on deriving method behavior. No functionality change.
    • 22e2f85 : modern objective-c rewriter: further improvement in writing @synchronized statement; do not call locking expression more than once and support early exits in @synchronized's statement block (such as return).
    • 8fe4525 : StaticAnalyzer: Fix abuse of StringRef in r152962.
    • 8e42f27 : When determining the availability of an enum constant, also consider the availability of the enumeration type itself. Fixes rdar://problem/10996386.
    • 74b7b2b : [analyzer] Don't claim an object was returned with +1 retain count before counting autoreleases. Fixes PR10376.
    • 7a4a9cd : [analyzer] Add test case from PR10794 for using 'new' with Obj-C objects.
    • 9c20b75 : [analyzer] This test is breaking windows bots, make it darwin-specific.
    • 2c085ed : Fix crash on invalid code. I've tried to produce a reduced test case, but when I do the specific crash is hidden. Fixes rdar://problem/11063594.
    • fbd5874 : [analyzer] Shorten the stack hint diagnostic.
    • 2eb2729 : Make the storing variable's name generic.
    • 56a938f : [analyzer] Create symbol-aware stack hints (building upon r152837).
    • 076add6 : [analyzer] +Comments
    • 131579f : [analyzer] Add a statistic for the number of times we reach the max number of steps in the work list.
    • c9b47f9 : Escape % in diagnostic message when compiling LLVM IR.
    • 9ab511c : sink variable into assert
    • 0821263 : When "low alignment" is specified, then set the alignment of the aggregate's store to 1. This allows code-gen to select a more appropriate alignment. If left to zero, an alignment greater than the alignment of the pointer may be selected, causing code-gen to use instructions which require an alignment greater than the pointer guarantees. rdar://problem/11043589
    • b655bf0 : Minor clean up of my last patch.
    • 542125f : modern objective-c translator: write @synchronized. // rdar://11063663
    • b136049 : Suppress macro expansion of NULL in NULL warnings.
    • 9c6fde5 : Skip through transparent contexts when deciding where to add a friend function. This fixes g++.dg/parse/friend5.C.
    • e052bda : After r150615, which tablegens the group of a diagnostic as an index into the *.inc file, all diagnostic *.inc files depend on all other diagnostic *.td files, because a diagnostic group can be introduced at any of the diagnostic *.td files.
    • 4053946 : modern objective-c translator: writing @throw statement.
    • 0961a01 : Warn on flexible array members when in C89 mode, with -pedantic. This fixes PR 4307.
    • e55329d : From Vassil Vassilev: Enable incremental parsing by the Preprocessor, where more code can be provided after an EOF. It mainly prevents the tearing down of the topmost lexer. To be used like this: PP.enableIncrementalProcessing(); while (getMoreSource()) { while (Parser.ParseTopLevelDecl(ADecl)) {...} } PP.enableIncrementalProcessing(false);
    • c5d3e80 : Fix Objective-C compilation-time performance regression introduced in r152608.
    • ce612f5 : Fix analyzer crash on analyzing 'catch' with no condition variable.
    • 5214c7a : test/Driver/linker-opts.c: Mark as XFAIL:cygming, using gcc linker driver. It should be aware of LIBRARY_PATH.
    • 2befa8c : Add test case for rdar://problem/8808566, which is now fixed by inlining support.
    • 1425226 : Based on sage feedback, chang -W#import-pedantic to -Wimport-preprocessor-directive-pedantic.
    • ff99320 : Don't try to create "store atomic" instructions of non-integer types; they aren't supported at the moment. PR12040.
    • 9ace587 : Add warning flag for '#import is a language extension', -W#import-pedantic.
    • 19ebac1 : [arcmt] The hard-coded list of weak-incompatible classes is no longer necessary. rdar://10673816
    • 2af504b : [arcmt] iOS is always safe to use 'weak'. rdar://10950825
    • 220419a : modern objective-c translation: writing @try/@catch/@finally statements.
    • a43ef3e : When a variable has a specified asm name, but isn't using the register storage class, the asm name doesn't specify a register. PR12244.
    • 64f678e : Fix help text.
    • 0950ca0 : Update checker build.
    • 8ec588e : [analyzer] If a metadata symbol is interesting, its region is interesting as well.
    • b122818 : modern objective-c translator: writing @try/@finally statement.
    • fc055f9 : [frontend] Fix how the frontend handles -fno-inline. AFAIK clang now matches the behavior of gcc with respect to the -fno-inline and -fno-inline-functions flags.
    • 7b204d6 : Include full plist output in FileCheck test.
    • 11e35b6 : Include full plist output in FileCheck test.
    • 76b85ac : Do not truncate expected plist output in FileCheck test.
    • d7b8314 : [analyzer] Remove AggExprVisitor, a dead class that assisted in visiting C++ expressions with a "base object", because the CFG is now linearized.
    • 4b911e6 : Support deducing template arguments from nested initializer lists. PR12119.
    • afcd195 : Support '%p' format specifier with block pointers.
    • aea3ece : It was pointed out that a checking version of strdup isn't needed. So much for late-night hacking. :)
    • 368a0d5 : [analyzer] Allow checkers to supply call stack diagnostic hints for the BugVisitor DiagnosticPieces.
    • 2b2bbee : Provide the specific target type in the -Wnull-conversion warning.
    • 4c14881 : modern objective-c translator: rewriting of @catch-stmt.
    • 0f5897b : Document RedeclarableTemplateDecl::getInstantiatedFromMemberTemplate().
    • 62d7fea : [c-index-test] Make it C90 compliant.
    • 13c20a7 : [libclang] A couple of enhancements to c-index-test.
    • 90226ac : Make RecursiveASTVisitor to traverse certain statements using data recursion to avoid a stack overflow with extreme cases.
    • cc2f77a : [Sema] Introduce a data recursive evaluator specific to binary operators.
    • 649dfbc : Remove hacky temporary fix of r151585.
    • 30650eb : modern objective-c translator: please symbols generated for @protocol expression into their own section.
    • cad313b : When laying out an Objective-C object, consult the external source to complete the Decl if it hasn't been completed already.
    • 684944e : fix link
    • abc31ca : [asan] update asan docs: mention CMake problem and to explain the status of MacOS 10.7 and 32-bit Linux
    • e87e851 : Adding in newer MinGW header paths.
    • 1ee9b0f : Add the object size checking support for a few other builtins.
    • bd86ad5 : Fix codegen for vld{3,4}_dup intrinsics.
    • 1d23c42 : Unpluralize -Wfoo-conversions warnings for consistency.
    • 5cfc7d8 : Unrevert r152761 (reverted in r152772) with a fix for the issue which was breaking bootstrap. No test yet: it's quite hard to tickle the failure case. The specific testcase for this wouldn't be useful for testing anything more general than a reintroduction of this precise bug in any case.
    • 95187bd : Reapply r152745 (reverted in 152765) now that compiler-rt is fixed.
    • 7267839 : Revert r152761 "Minor optimization to constant evaluation: don't bother computing expr source...", it breaks bootstrap.
    • 6d96d3a : Small cleanup: move trailing-return-type special-casing into getDeclSpecContextFromDeclaratorContext.
    • 9ca33fd : Revert r152745 as it's breaking the internal buildbots.
    • d75fb49 : Minor optimization to constant evaluation: don't bother computing expr source locations for diagnostics we're not going to emit, and don't track the subobject designator outside C++11 (since we're not going to use it anyway).
    • 878416d : Remove a variable rendered unused by r152750.
    • 0e3c989 : Adding some more specific tests for enum declspec parsing, to prove that it really works.
    • 8fbe385 : [frontend] Add support for disabling the "inline" keyword using -fno-inline-functions.
    • 88f7f75 : modern objective-c translator: section info. and metadata for "non-lazy" class and categories.
    • f1c66b4 : Instantiating a class template should not instantiate the definition of any scoped enumeration members. Later uses of an enumeration temploid as a nested name specifier should cause its instantiation. Plus some groundwork for explicit specialization of member enumerations of class templates.
    • 59e7f4e : '#if 0' out a variable that's only used in other preprocessor-disabled code.
    • 47bfaf1 : Provide -Wnull-conversion separately from -Wconversion.
    • 10cde2f : objective-c modern tranaltor. More section info. for misc. objc meta-data.
    • 3183075 : [analyzer] A fixup to r152734. Always initialize the flag.
    • c0765a0 : No longer defining LP64 in 64-bit builds on platforms which are not LP64.
    • 5a7120c : When emitting a diagnostic about two-phase name lookup, don't do useless qualified name lookups into transparent contexts.
    • d53e877 : Fix dereference of end iterator. Spotted by ASan.
    • 9373937 : [analyzer] Diagnostics: Supply Caller information even if the bug occurs in the callee.
    • de5d946 : objective-c modern translator. Add the _class_ro_t.reserved field for 64bit targets. // rdar://11040024
    • e711d7e : [Analyser] Remove unnecessary recursive visits for ExprWithCleanups and MaterializeTemporaryExpr.
    • 72ff6bb : Remove clang-wpa example, which has been unmaintained for quite a while.
    • f6b8b58 : Minor cleanup in attribute-related diagnostics, from Alexander Kornienko!
    • 84407ba : Parse brace initializers as default arguments. PR12236.
    • e5049d2 : [Analyser] Removes more recursive visitations in ExprEngine that are no longer needed as the CFG is fully linearized.
    • 7059a1c : [Basic] Change DiagnosticBuilder to use a separate status variable to track whether the builder is active. - This may seem superflous, but actually this allows the optimizer to more easily eliminate the isActive() checks needed by the SemaDiagnosticBuilder and DiagnosticBuilder dtors. And by more easily, I mean the current LLVM is actually able to do one and not the other. :)
    • 393eed7 : [Sema] Fix SemaDiagnosticBuilder to be inline. - As with DiagnosticBuilder, it is very important that SemaDiagnosticBuilder be completely inline to ensure that the compiler can rip it apart and sink it to registers.
    • 4ccf737 : Remove trailing whitespace (especially after a \ which should be trailing)
    • 5aed86c : -arch is a darwin-only feature, use -target instead to make the linux buildbots happy again.
    • 1671745 : Add support to mangle templated member function names with template args.
    • 1cdbfd3 : Typo.
    • 9648a9e : objective-c modern rewriter. Do not add _class_ro_t.reserved field. // rdar://11040024
    • 4574c3d : [driver] Clang should report an error for -faltivec on non-ppc. rdar://10963572
    • 3b10cfe : When adding member functions to a class add any specializations of function templates as well.
    • e7591c5 : Add a test case for PR8385.
    • 6cc0969 : [analyser] Refactor shouldInline logic into a helper.
    • fc544e3 : [analyzer] Call enter/exit diagnostic should refer to caller/callee, respectively.
    • 3054f09 : [Basic] Fix up DiagnosticBuilder::{FlushCounts,Emit} to be inline.
    • 4b1f684 : Allow vectors to be constructed from constexpr function arguments in constant expressions.
    • cf3a6c4 : Update test case to use not tool.
    • 2dec85b : [driver] Parse diagnostic args in the driver.
    • b990d03 : [analyzer] Change the order in which we analyze the functions under inlining to be the reverse of their declaration.
    • 7fe8dce : [analyzer] Use BFS over call graph when analysing functions.
    • a2e589e : [analyzer] Refactor CallGraph to use Recursive AST visitor when collecting function Decls.
    • aa56098 : [analyzer] Use recursive AST visitor to drive simple visitation order in AnalysisConsumer.
    • 9852083 : [analyzer] Minor: factor out logic for determining if we should skip a function.
    • b6ee44d : [analyzer] Move the check for parser errors out of the loop over Decls.
    • efe9c0d : Fix the long double to be of width/align 64. Rename va_list_test to powerpc_types and add testing for the (long) double there.
    • 00b4384 : Spelling.
    • cefcbef : [Basic] Make DiagnosticBuilder::{Clear,Emit} protected.
    • 243d7ab : [Basic] Eliminate DiagnosticBuilder::Suppress and matching ctor, this stuff is not used anymore (good thing we are still paying for it!).
    • 06265bd : [Basic] Make DiagnosticBuilder::{isActive,getLocation,getDiagID} protected.
    • 53c83b3 : [Basic] Fix ~Diagnostic() to not call Emit() when there is no diag obj (most commonly when the diag has been copied). - This eliminates a completely spurious call to Emit() which was in Sema::Diag(). Sob.
    • 981e279 : [Basic] Stop using a SmallVector for Diagnostic. This drops Clang binary size by ~%.3/~100k in my build -- simply by eliminating the horrible code bloat coming from the .clear() of the SmallVectorFixItHint, which does a std::~string, etc. - My understanding is we don't ever emit arbitrary numbers of fixits, so I just moved us to using a statically sized array like we do for arguments and ranges.
    • bea6c0a : Remove unused-but-set variable.
    • e3d175d : Long double is just double on FreeBSD/{PPC,PPC64}.
    • e6dd683 : Tweak linkage order for solaris.
    • 9cda03f : Ensure that default arguments are handled correctly in sub scopes. For example:
    • e37f484 : Implement [temp.param]p5: the top-level cv-qualifiers on a non-type template parameter's declaration are ignored when determining the parameter's type.
    • 7c5d28b : PR11850 + duplicates: don't assume that a function parameter pack expansion is at the end of the parameter list.
    • b03a9df : PR11925: A function can't have a variably-modified return type. Not even in C++.
    • 65daef1 : It never makes sense to do a lookup into a LinkageSpecDecl, so assert that we don't, and clean up the places that do it.
    • 1b7f9cb : Fix PR10447: lazily building name lookup tables for DeclContexts was broken. The deferred lookup table building step couldn't accurately tell which Decls should be included in the lookup table, and consequently built different tables in some cases.
    • 4bd2654 : [libclang] When there's a file error when saving the PCH, make sure to clear the error from raw_fd_ostream, otherwise we will crash.
    • 23dde82 : Make the error about assigning to lambda-captured variables clearer, and mention the existence of mutable lambdas.
    • a5f4441 : [Sema] Prefer to use ObjCInterfaceDecl's protocol_begin()/protocol_end() iterators instead of ObjCInterfaceDecl::getReferencedProtocols(), because the iterators are safe to use even if the caller did not check that the interface is a definition.
    • cd707ab : Fix crash at @implementation with a forward reference as base class.
    • 78dae24 : Alternate fix to PR12248: put Sema in charge of special-casing the diagnostic for assigning to a copied block capture. This has the pleasant side-effect of letting us special-case the diagnostic for assigning to a copied lambda capture as well, without introducing a new non-modifiable enumerator for it.
    • 8ce6d21 : [msvc] Honor %INCLUDE%. It should know essential search paths with vcvarsall.bat.
    • c38503b : modern objective-c translator. @try/@catch translation. wip.
    • 29af3c7 : Add new analyzer diagnostic mode where plists can have bugs that span multiple files.
    • e881efe : [analyzer] Include inlining call stack depth in plist output.
    • 3d71715 : Address some of the concerns by Chandler.
    • e8cb554 : Update FIXME.
    • bdb8f3c : Have clang pay attention to the LIBRARY_PATH environment variable.
    • 860d9b7 : C++11 [temp.deduct.call]p6 tweak: when given a set of overlaoded functions that includes an explicit template argument list, perform an inner deduction against each of the function templates in that list and, if successful, use the result of that deduction for the outer template argument deduction. Fixes PR11713.
    • 71930e0 : Make sure we treat variables captured by reference in lambda as modifiable lvalues. Regression from r152491. Fixes PR12248.
    • 9a0b6b4 : [Sema] -Add an invalid objc category to the DeclContext so that it can be serialized -Don't add methods of invalid objc containers to the global method pool. This protects us from trying to serialize a method whose container was not serialized.
    • d8b5ca1 : ObjCBoolLiterals (__objc_yes/__objc_no) behave like C++ booleans (true/false). They are NOT objects.
    • 40a777a : objective-c modern translator: ivar offset symbols will reside in .objc_ivar$B sections. // rdar://11023490
    • 6f42669 : Fix a crash-on-invalid found by -Wlogical-op-parentheses.
    • e45b9b7 : Use ZeroLengthBitfieldAlignment for AAPCS, as well as APCS-GNU.
    • 7796eb5 : Fix parsing of trailing-return-type. Types are syntactically prohibited from being defined here: [] () - struct S {} does not define struct S.
    • 69730c1 : Fix parsing of type-specifier-seq's. Types are syntactically allowed to be defined here, but not semantically, so
    • 0be8fb5 : Fix typo in comment, 'langauge' - 'language'.
    • 1ca052c : objective-c modern abi rewriter: provide section pragmas for statically writter metadata. // rdar://11023490
    • 594f841 : Document the weak-linking behavior of the availability attribute
    • 74d2a9c : Update library dependencies to add clangEdit on c-index-test and c-arcmt-test.
    • 4e4d084 : Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST).
    • 7c02cfe : llvm::SwitchInst Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators.
    • 93a7067 : Document the availability attribute
    • fc55a82 : When template argument deduction is ignoring qualifiers, perform deep structural comparison of non-dependent types. Otherwise, we end up rejecting cases where the non-dependent types don't match due to qualifiers in, e.g., a pointee type. Fixes PR12132.
    • 15dcec7 : cxx_status: No compiler changes are required for 'minimal support for garbage collection'. Keep it in the table to match gcc's table, but mark it N/A.
    • 8e55ed1 : Add a missing 'template' keyword.
    • 3e67814 : [analyzer] Replace a static helper with existing logic. No functionality change.
    • 5a7a5bb : When determining whether an identifier followed by a '' in a member access expression is the start of a template-id, ignore function templates found in the context of the entire postfix-expression. Fixes PR11856.
    • 426d6ca : Fix crash & accepts-invalid for array of arrays of user defined type.
    • dc72dc8 : Updated the test so that it checks for ms-compatibility in addition to ms-extensions.
    • b017ea2 : Adding namespace qualifiers to the visualizers and improving their behavior.
    • 5cc6787 : [clang.py] Implement Cursor.objc_type_encoding
    • 5b31d55 : No longer defining GNUC mode when compiling for Microsoft compatibility. This allows people's cross-platform compiler-specific macros to work properly.
    • bccda48 : Clarify even further that the lambda-to-block-pointer conversion is only available in Objective-C++
    • 1f1988f : [clang.py] Refactor get_tu and get_cursor test helper functions into util.py
    • e5658f0 : PR12225: The requirement that literal operators be namespace-scope functions does not imply that such functions can't be declared at block scope.
    • 09c9a56 : Use VersionTuple to manage macosx versions in the driver. No functionality change.
    • 4e494cf : Simplify code. No functionality change.
    • ce0d897 : objective-c modern rewriter: add __declspec(dllexport) to forward declaration of class metadata when they are defined later.
    • 6991bc5 : objc modern rewriter: Define __OBJC2__ in written file. // rdar://11024543
    • 9b20a90 : Replace a map of boolean values with a set.
    • 2f47c36 : The type of a definition should not increase its visibility. Fixes PR12221.
    • f4b88a4 : Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to track whether the referenced declaration comes from an enclosing local context. I'm amenable to suggestions about the exact meaning of this bit.
    • 1659c37 : Slightly tweak this condition. "isTransparentContext()" was checking whether an enum is scoped or not, which is not relevant here. Instead, phrase the loop in the same terms that the standard uses, instead of this awkward set of conditions that is *nearly* equal.
    • 8d17681 : Could not find this in C99. Perhaps this rule comes from a DR, but in any case please annotate it with a note explaining why this wrong-seeming behaviour is correct.
    • f52757d : Only make a call to a copy constructor elidable if in fact we are doing a copy. Fixes PR12139.
    • a346efa : [Sema] A tag decl that is marked as invalid and is used in a decl-spec, should not impede creating a proper TypeLoc info for the decl-spec.
    • cb00cc4 : Remove the part of test/Sema/pragma-pack-2.c that has irregular "#pragma pack"s.
    • dd2ecee : Unify the BlockDeclRefExpr and DeclRefExpr paths so that we correctly emit loads of BlockDeclRefExprs even when they don't qualify as ODR-uses. I think I'm adequately convinced that BlockDeclRefExpr can die.
    • 89da8cf : Fix the dumping of BlockExprs.
    • e6adea9 : test/Rewriter/rewrite-modern-ivars-2.mm: Add "-triple i386-apple-darwin9".
    • 79a5501 : Fix a use of the C99 PRI format macros not to conflict with C++11 UDLs.
    • 540659e : Make sure the accessors for overridden methods don't return inherited constructors. Fixes PR12219.
    • 117591f : objc modern rewriter: don't export @package ivar symbols.
    • 337e4db : [analyzer] fix regression in analyzer of NOT actually aborting on Stmts it doesn't understand. We registered as aborted, but didn't treat such cases as sinks in the ExplodedGraph.
    • edfac03 : IRgen/ABI/x86_64: Avoid passing small structs using byval sometimes.
    • d1c84d3 : Minor change to my last rewrite patch.
    • e57303c : objc modern rewriter: Mark class and ivar definitions with __declspec(dllexport) // rdar://11023563
    • db762ef : Qualifiers on a canonical array type go on the outermost type, not the innermost type. Fixes PR12142.
    • 0069b84 : Assign APValues by swapping from a temporary. Removes a bunch of unnecessary copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on 403.gcc/combine.c. The performance differences on my constexpr torture tests are below the noise floor.
    • 97c1fd6 : objective-c modern rewriter. More fixes related to rewriting ivars in the modern rewriter.
    • 7acf23f : Teach RetainCountChecker about mixing method families with explicit annotations. Fixes rdar://problem/10824732.
    • 8a4e182 : Document the conversion from a lambda closure type to a block pointer in Objective-C++.
    • 26b75c0 : Improve diagnostics for UCNs referring to control characters and members of the basic source character set in C++98. Add -Wc++98-compat diagnostics for same in literals in C++11. Extend such support to cover string literals as well as character literals, and mark N2170 as done.
    • e7d6ca0 : [Sema] Fix a diag change to include a range that appeared intended, but never actually happened.
    • df42354 : Update comment after r152140. Clarify a bit too.
    • 3fd5f37 : [analyzer] Add support for NoRedundancy inlining mode.
    • a5d531f : CallGraph: Add getNode() method, constify.
    • ba50b3e : Allow serializing an invalid ParmVarDecl and don't set access to public for invalid ParmVarDecls.
    • 8788b22 : Revert r152430 "[AST] Mark ASTContext::getTypeInfo and some friends as LLVM_READONLY.", getTypeInfo() is totally not READONLY, which I should have probably noticed given that I made it so mere hours ago. Oops.
    • feb1f4a : Add a helper to get a CXXConstructExpr from a CXXNewExpr.
    • 216f78b : Improve our semantic error recovery.
    • f9ff587 : [AST] Mark Expr::Ignore*() functions as LLVM_READONLY.
    • 29c6c6e : [AST] Mark ASTContext::getTypeInfo and some friends as LLVM_READONLY.
    • 4f31118 : [AST] Mark Expr::getExprLoc() as LLVM_READONLY.
    • 780249b : [Sema] Remove dead getSourceRange() call, caught by Clang after marking LLVM_READONLY.
    • aa49a7d : [AST/etc] Mark {getSourceRange(),getStartLoc(),getEndLoc()} as LLVM_READONLY. - The theory here is that we have these functions sprinkled in all over the place. This should allow the optimizer to at least realize it can still do load CSE across these calls. - I blindly marked all instances as such, even though the optimizer can infer this attribute in some instances (some of the inline ones) as that was easier and also, when given the choice between thinking and not thinking, I prefer the latter.
    • 69e7692 : Add user-defined literals to release notes.
    • 509fb3e : lldb support: under debugger support flag, when sending message to forward class, and assigning to an 'id' type var, message sends default to 'id'. // rdar"//10988847
    • 96a0014 : [AST/Sema/libclang] Replace getSourceRange().getBegin() with getLocStart(). - getSourceRange().getBegin() is about as awesome a pattern as .copy().size().
    • 3d4144f : [AST/Sema] Add {CXXBaseSpecifier,Declarator,DeclSpec,TypeLoc,UnqualifiedId}::getLoc{Start,End}.
    • 8fbc6d2 : [AST] Define a few more key getLocStart() implementations. - This cuts the # of getSourceRange calls by 60% on OGF/NSBezierPath-OAExtensions.m.
    • 90e25a8 : [AST] Reimplement Stmt::getLoc{Start,End} to dispatch to subclass overloads. - getSourceRange() can be very expensive, we should try to avoid it if at all possible.
    • 396ec67 : [AST] Add {DeclRefExpr,MemberExpr,ImplicitCastExpr}::{getLocStart,getLocEnd} methods. - There are probably a lot more of these worth adding, but these are a start at hitting some of the exprs for which getSourceRange().getBegin() is a poor substitute for getLocStart().
    • 406dac0 : [AST] Add DeclaratioName::getLoc{Start,End} for consistency.
    • 7b14026 : [Basic] Rename LangOptions::NoInline to NoInlineDefine, to make things a bit more obvious.
    • 15debc3 : Harden test for 32 bit platforms, where size_t is unsigned int (not unsigned long).
    • f856264 : -Wformat-non-iso: warn about positional arguments (pr12017)
    • ef9f298 : Fix statement printing for raw and template user-defined literals.
    • 9c1dda7 : User-defined literals are done.
    • 3a5032b : Literal operator suffixes and regular names live in separate namespaces.
    • a9e88b2 : Literal operators can't have default arguments.
    • 36f5cfe : Support for raw and template forms of numeric user-defined literals, and lots of tidying up.
    • 8a26fc1 : Remove accidental binary commit.
    • bc5419a : [AST] Memoize ASTContext::getTypeInfo(). - On -emit-llvm-only of 403.gcc/combine.c, for example, we make 160k calls to getTypeInfo but only ever deal with 680 some distinct types.
    • 5aba3eb : Perform l2r conversions on delete operands before doing type-analysis; otherwise, we just completely do the wrong thing for placeholders.
    • 71cba34 : Make sure we update the static local decl address map when we are forced to rebuild a global because of the initializer. rdar://problem/10957867.
    • 8b42ab7 : Make sure constant emission handles initializer lists with strings correctly. Part of rdar://problem/10957867.
    • 42f42c8 : [AST] NestedNameSpecifier's ctor/dtor are trivial and should be inlined.
    • cd48592 : [AST] Type::isVoidType() is trivial and should be inlined.
    • 3d13c5a : [AST] Reduce Decl::getASTContext() calls. - This function is not at all free; pass it around along some hot paths instead of recomputing it deep inside various VarDecl methods.
    • 76aadc3 : [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. Essentially, a bug centers around a story for various symbols and regions. We should only include the path diagnostic events that relate to those symbols and regions.
    • d95e0b8 : [analyzer] Use call graph to determine order in which functions are analyzed.
    • 6625335 : [analyzer] Rework inlining related command line options. - Remove -analyzer-inline-call. - Add -analyzer-ipa=[none|inlining] - Add -analyzer-inlining-mode to allow experimentation for different performance tuning methods.
    • d277661 : Call Graph: Only the root node is allowed to have an invalid Decl*.
    • e093404 : Remove a test FIXME for a case which is already fixed.
    • 3376277 : Fix a couple of issues with literal-operator-id parsing, and provide recovery for a few kinds of error. Specifically:
    • 1e5bc4f : Don't crash when a statement in a block is ill-formed but introduces cleanups anyway.
    • 49d5174 : When checking the encoding of an 8-bit string literal, don't just check the first codepoint! Also, don't reject empty raw string literals for spurious "encoding" issues. Also, don't rely on undefined behavior in ConvertUTF.c.
    • 188158d : Turn explicit construction of temporaries using initializer list syntax into CXXTemporaryObjectExprs, not just CXXConstructExprs, which have a worrying tendency to vanish. Fixes PR12167.
    • 56757e9 : Untangle getUnderlyingDeclImpl, no functionality change.
    • 2a6dc14 : [utils/FuzzTest] Add '--stop-on-fail' to stop the script on the first failure without reverting the changes.
    • e13edcb : [AST] Clean up NamedDecl::getUnderlyingDecl() change a bit.
    • a50a5cd : Remove stray semi-colon.
    • 7a8c758 : [AST] APValue: Split the fast path of MakeUninit to be inline. - This change seems to be a tiny loss on 403.gcc/combine.c (.2%), but I think it is the right thing to do.
    • 3cb8e2f : [utils/FuzzTest] The help message says that if you don't specify --max-tests "the script will run forever continually picking new tests to run", make it so.
    • 00f1f27 : [utils/FuzzTest] For --filelist the option type is string, not integer.
    • 54e1c41 : [Basic] PartialDiagnostic: Manual split out the cold part of freeStorage(), the hot path will typically profitably get inlined (based on what I see from the users of PartialDiagnostic).
    • 6daffa5 : [AST] Change NamedDecl::getUnderlyingDecl() to inline the fast (and incredibly common) path.
    • 0250393 : Replace MarkVarRequired with a more generic HandleCXXStaticMemberVarInstantiation. Suggested by Argyrios.
    • 4fae2d9 : Also test pr12104 with pch.
    • 701ec8d : Implement -fno-dwarf2-cfi-asm on linux too.
    • 9168830 : Ensure we don't print 123ULL_foo when printing a user-defined integer literal.
    • b453ad3 : Add support for cooked forms of user-defined-integer-literal and user-defined-floating-literal. Support for raw forms of these literals to follow.
    • aae1d8b : Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html
    • 76e035a : [AST] Change Type::isIntegerType to be inlined(). It is very popular.
    • 2fb4ae3 : Implement C++11 [lex.ext]p10 for string and character literals: a ud-suffix not starting with an underscore is ill-formed.
    • 5bc37f6 : Loosen the precondition of isCXXInstanceMember() to simply return "false" for declarations that aren't members of classes. Fixes PR12106.
    • 9df08bb : Spelling.
    • c2bd73b : Sema: Don't emit a gajillion calls to sanity() -- an empty function -- in NDEBUG builds. Sheesh.
    • dd66be7 : User-defined literal support for character literals.
    • ffea6b4 : Fix -Wuninitialized to catch the case of a class being initialized with a call to its own member function.
    • 29f98b4 : [libclang] Fix a crash when serializing a preprocessing record that contains an #include entry that did not resolve to header file.
    • d78ef5b : Streamline BalancedDelimiterTracker, by eliminating the duplicate paren/brace/bracket tracking (the Consume* functions already did it), removing the use of ConsumeAnyToken(), and moving the hot paths inline with the error paths out-of-line.
    • 9ae3a36 : improve on diagnostic when block captures uninitialized block variable. // rdar://10817031
    • 196b8cf : Add a basic CallGraph to Analysis.
    • a34194f : improve on diagnostic and provide a fixit hint when an uninitialized block variable is being called inside the block literal. // rdar://10817031
    • 044e645 : [libclang] Enhance clang_getOverriddenCursors.
    • e286d9b : Workaround module test failures by removing the version info from module hashes.
    • 9ea396a : Remove unnecessary include in ExprObjC.h
    • cbf8209 : Be smarter in discovering list-initialization of temporaries. Fixes PR12182.
    • 8013458 : Correct the documentation to give a legal example of a raw string literal.
    • 9fcce65 : AST representation for user-defined literals, plus just enough of semantic analysis to make the AST representation testable. They are represented by a new UserDefinedLiteral AST node, which is a sugared CallExpr. All semantic properties, including full CodeGen support, are achieved for free by this representation.
    • b65e24a : Test fix-it added in r152198.
    • e816c71 : Add -Wc++11-compat warning for string and character literals followed by identifiers, in cases where those identifiers would be treated as user-defined literal suffixes in C++11.
    • 946e272 : Don't even try to directly emit the value of a DeclRefExpr if that declaration is not usable in a constant expression. ~2.5% speedup on 403.gcc / combine.c.
    • bef35c9 : [PCH] Mark a PCH file with a flag to indicate if the serialized AST had compiler errors or not.
    • 4a90e1a : Correct test from r152189.
    • 9e9c454 : Make sure we consistently canonicalize types when canonicalizing TemplateTemplateParmDecls. PR12179.
    • 458a7fb : objective-c lldb support: don't perform ivar access control check when debugging. // rdar://10997647
    • fddfbdb : More git-svn compatible version string, by request.
    • 485ea8e : The constant folder's diagnosic mechanism is irrelevant for C; don't bother producing a C-only diagnostic.
    • 8ba9a62 : [driver] Don't try to generate diagnostic information for linker crashes. rdar://10993648
    • 8b8d953 : Silence unused variable warnings.
    • e53ac8a : Refactor Clang sema attribute handling.
    • 29293cd : AST: fix build since r152060
    • 047da19 : [AST] VarDecl::hasDefinition() - Early exit if we find a strong definition.
    • 60d302a : [AST] FunctionDecl::getBuiltinID() - Eliminate spurious calls to getASTContext -- which is very much not free -- in the common case.
    • 8e282c3 : Fix horrific CFG bug where '@autoreleasepool' would be put in a dangling block in the CFG.
    • e5de376 : Missing period.
    • 53cb2b4 : Whitespace.
    • ba66c6c : Cleanup (style). Thanks to Argyrios for catching this.
    • 84a9d9e : commit access verified, revert change
    • e49e67e : test commit access
    • 00fd5dd : CMake: Fix build to add clangEdit to USED_LIBS.
    • b82019b : [objcmt] Add a triple to test/ARCMT/objcmt-subscripting-literals.m
    • ce9c831 : Extended the UnknownAnyTy resolver to handle blocks with unknown return types. This allows LLDB to call blocks even when their return types aren't provided in the debug information.
    • 1c31ee8 : get rid of an unsued variable warning.
    • 634a4b1 : [driver] What was implemented in r152130 was actually -fno-inline-functions, not -fno-inline. Part of rdar://10972766
    • 7ba87f3 : Just use memcpy directly, uninitialized_copy requires an algorithm include.
    • 30660a8 : Add new code migrator support for migrating existing Objective-C code to use the new Objective-C NSArray/NSDictionary/NSNumber literal syntax.
    • 2a25396 : Enable default @synthesize by default.
    • 1a45a5f : Add static analyzer support for new NSArray/NSDictionary/NSNumber literals.
    • b3f7542 : And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals.
    • ebcb57a : Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, NSNumber, and boolean literals. This includes both Sema and Codegen support. Included is also support for new Objective-C container subscripting.
    • 9f86af8 : Whitespace.
    • 6e2cdfd : Minor fix for r152130. Put -fno-inline in f_Group.
    • 250008b : [driver] Add support for -fno-inline. rdar://10972766
    • 27949f6 : Undo patch for // rdar://10735698
    • f9aa363 : AST: Move several Type::is...Type() functions to be inline. - These functions are both (a) very commonly called and (b) excellent candidates for CSE in the callers in which they are commonly used. - That isHalfType() is hot makes me sad, but it is trivially when inlined (and a huge waste of time when not!!!). - The extra IsEnumDeclComplete() function is a hack to break the cycle between Type.h and Decl.h, I'm not sure of how to do this more cleanly, but am open to ideas.
    • 81e722e : NamespaceDecl: Call non-virtual method inside virtual method, not the other way round.
    • 9a2105b : objective-c modern translator. Don't ignore unnamed bitfields when rewriting.
    • faa7fac : Use newly introduced const-goodness of TinyPtrVector.
    • 99831e4 : User-defined literals: reject string and character UDLs in all places where the grammar requires a string-literal and not a user-defined-string-literal. The two constructs are still represented by the same TokenKind, in order to prevent a combinatorial explosion of different kinds of token. A flag on Token tracks whether a ud-suffix is present, in order to prevent clients from needing to look at the token's spelling.
    • c1b0f7f : Use TinyPtrVector instead of UsuallyTinyPtrVector.
    • c112b9c : Move clang/Basic/UsuallyTinyPtrVector.h to llvm/ADT/UsuallyTinyPtrVector.h.
    • 097ebb3 : [analyzer] add a diagnostic event when entering a call via inlining, within the callee, and add an edge.
    • 2dd17ab : [analyzer] 'Looping back to the head of the loop' diagnostics are prunable.
    • 792777c : Move include/clang/AST/UsuallyTinyPtrVector.h - include/clang/Basic/UsuallyTinyPtrVector.h and add an erase method to it.
    • 218fce0 : [analyzer] Remove now-unused constant. No functionality change.
    • 257c60f : [analyzer] Fix unnecessary dyn_cast_or_null. No functionality change.
    • 3ebdd85 : Add some doxygen comments.
    • d42236e : [tablegen] Make sure that the code that is determining the order of warning groups is shared to avoid any "misalignment" if indices.
    • e4d653b : Teak CallAndMessageChecker to only warn about uninitialized struct fields in call arguments when the called function is never inlined.
    • 8fbb4e6 : [analyzer] Bump up the size of the functions that should be considered for inlining to 200 BBs.
    • 6a5d30e : Minor refactoring for previous patch for // rdar://10735698
    • 0cc323c : static_assert: Allow any string-literal as the message, not just a character string literal, and adjust the diagnostic code to match. This also causes us to escape any control characters in the message.
    • a99f874 : Teach SimpleSValBuilder that (in the absence of more information) stack memory doesn't alias symbolic memory. This is a heuristic/hack, but works well in practice. Fixes rdar://problem/10978247.
    • 02892a6 : AST/stats: Don't effectively use an out-of-line function to return a static bool. Ugh.
    • 7034fb6 : ASTContext: Don't use nothrow specifications on the new operators for allocating from the ASTContext. - Doing so requires the compiler to generate null checks against the returned result, but the BumpPtrAllocator never returns null pointers. - The optimizer can usually eliminate such checks, but not always, so this gives us tighter codegen in some places. - It would be really nice if we could just use __builtin_unreachable or something to tell the optimizer that the allocator never returns null, but LLVM isn't currently that smart.
    • d38f795 : [analyzer] Time the execution (per each TU) with -analyzer-stats.
    • 3518058 : build/compiler-rt: Stop forcing off -integrated-as for compiler-rt builds.
    • 2835745 : If the element type of an initializer list has a destructor, make sure we check it. Fixes PR12178.
    • abf9d90 : patch to optionally warn for block implementations without explicit return types that return non-void values. // rdar://10735698
    • a187c5c : Add MCRegisterInfo to the MCInstPrinter factory function interface.
    • f420fe3 : [analyzer] False positive in SelfInit - teach the checker about method calls with self as a parameter.
    • fb7f76f : [analyzer] Malloc should assume that ownership is transfered when calling an ObjC method ending with 'NoCopy'.
    • 52c1668 : Avoid double lookup.
    • 12fc4b0 : Properly handle non-canonical underlying types in ASTContext::getUnaryTransformType. This can happen if, for example, an enumeration's underlying type is a typedef.
    • 2bfdad1 : Fix a -Wstring-plus-int warning.
    • 713575a : TargetInfo: create less temporary strings.
    • 234fe65 : Fix a small difference in sema and codegen views of what needs to be output.
    • b3c312c : Fix a bug in the mangler where in 'namespace std { extern "C" {X;} }', X would not be seen to be in ::std::.
    • 2a27818 : [arcmt] -Make sure we don't change to '__weak' a __block variable used as output. -Make sure we don't apply __weak twice.
    • c6c5452 : [preprocessor] Enhance PreprocessingRecord to keep track of locations of conditional directives.
    • bb66066 : [preprocessor] Enhance the preprocessor callbacks:
    • d4f9f9d : More tests for r152012.
    • 5cc2c6e : Lexing support for user-defined literals. Currently these lex as the same token kinds as the underlying string literals, and we silently drop the ud-suffix; those issues will be fixed by subsequent patches.
    • 9d008fd : [clang.py] Return bool from Cursor.__eq__
    • a81d3d4 : Remove a recursive visitation in ExprEngine that is no longer needed because the CFG is fully linearized.
    • 77889c4 : Silence a GCC warning about a set-but-not-used variable in release builds.
    • b4a7b1e : Add tests for [over.literal]. Fix a few bugs which were exposed by the tests.
    • 5bd20ff : From his comment in PR12168, Eli seems confused about the alignment assumptions we're making. We only ignore implicit casts. Add a testcase showing that we get the right behavior with explicit casts.
    • d6e7356 : add a testcase for PR12094 and fix a crash on pointer to incomplete type, reported by Richard Smith.
    • ec92bc7 : Add a pile of tests for unrestricted unions, and advertise support for them.
    • 1aa0be8 : constexpr: Remove APValue/CCValue distinction. It is no longer useful given the resolution of core issue 1454.
    • 7eb7d99 : Remove unused variable.
    • 3fd8087 : Fix Typo in 'objc changes' anchor.
    • 16412ef : Avoid an unnecessary recursive loop between type canonicalization and NNS canonicalization which would (rarely) lead to memory corruption. While I'm here, simplify. Fixes PR12166. Not committing a testcase because it's impossible to reduce it.
    • 7e86783 : [analyzer] do not warn about returning stack-allocated memory when it comes from an ancestor stack frame.
    • 1f73ae2 : Factor bitfields of LangOptions out into a base class in order to make them trivially-copyable. 50KiB reduction in clang binary size.
    • e21dd28 : Frontend: Default to creating output files using temporary files + rename. - This is a more reliable default, as it behaves better on failure and also ensures that we create *new* files (instead of reusing existing inodes). This is useful for other applications (like lldb) which want to cache inode's to know when a file has been rewritten.
    • 12f28ab : Frontend: Don't automatically create missing directories when using temporary files with createOutputFile() - This would otherwise happen as a side effect of llvm::sys::fs::unique_file creating parent directories.
    • 0d95dfc : Thread safety analysis: expand set of expressions that can be used to denote locks.
    • a3ca41f : Reinstate r151879, r151880, reverted in r151922, along with a bugfix for scalar emission of DeclRefExprs to const bools: emit scalar bools as i1, not as i8.
    • 067cc40 : Unbreak the CMake builds following the CallGraph change.
    • ff1e9cc : Add a test for the -Wstring-plus-int fixit note.
    • 190f600 : [analyzer] Rename clang::CallGraph into clang::idx::CallGraph + rename the corresponding files to avoid confusion.
    • 4c55c54 : Adding support for #pragma include_alias in MS compatibility mode. This implements PR 10705.
    • 7ec419a : Issue warning when late-parsed attributes have no declaration.
    • 2287c5e : Make late-parsed attributes follow the conventions of ordinary GNU attributes to a better extent, by allowing them in more places on a declator.
    • 2a35be8 : Thread safety analysis: handle CFG blocks which call functions marked as noreturn.
    • 1cb2d74 : Add -Wstring-plus-int, which warns on "str" + int and int + "str".
    • b0a6615 : objc: When issue diagnostic about deprecated method, also issue the note if it is because message is sent to a forward class declaration in delayed diagnostic. // rdar://10290322
    • 4ba86bc : [analyzer diagnostics] flush locations *before* popping the current path when visiting a CallEnter.
    • 178a9b8 : Fix an ABI problem with ptrdiff_t and intptr_t on PPC32
    • 7d613bf : Move int-pointer conversion warnings behind -Wint-conversions.
    • 5a61e0c : [Sema] Fix crash-on-invalid-code issue:
    • 8235f9c : [analyzer] Bound the size of the functions being inlined + provide command line options for inlining tuning.
    • f4c3db1 : PR12094: Set the alignment of memory intrinsic instructions based on the types of the pointer arguments.
    • a0e005b : Change diagnostic test for my last patch. // rdar://10961370
    • c169e08 : Revert r151879, r151880, "PR12145: Avoid emitting loads of constexpr variables in contexts where there" and "Fix buildbot: make this test less dependent on the value names in the produced IR."
    • edd1cae : Use tabs instead of spaces.
    • f8e5d4c : clang -v support for separate clang.git and llvm.git, patch by Andrew Trick.
    • b4f0bd6 : Add the Solaris support directory to the header search when using libc++.
    • 1658133 : Ensure that we instantiate static reference data members of class templates early, since their values can be used in constant expressions in C++11. For odr-use checking, the opposite change is required, since references are odr-used whether or not they satisfy the requirements for appearing in a constant expression.
    • 0524171 : Fix buildbot: make this test less dependent on the value names in the produced IR.
    • a3cac5b : PR12145: Avoid emitting loads of constexpr variables in contexts where there is no odr-use of the variable. Go slightly beyond what the standard requires for variables of reference type.
    • 77d0944 : [analyzer diagnostics] Change CompactPathDiagnostic to recursively compact diagnostics in calls into macro pieces. Also fix handling of macros within calls in the HTMLDiagnostics.
    • e853bb3 : c/objc: problem originally reported as an objective-c bug. But it is in the underlying c part of clang. clang crashes in IRGen when passing an incomplete type argument to variadic function (instead of diagnosing the bug). // rdar://10961370
    • 48a8cd9 : add documentation for -f[no-]thread-sanitizer and -f[no-]address-sanitizer to docs/UsersManual.html
    • cc2c4b2 : Teach the analyzer to just ignore CXXBindTemporaryExpr. There's nothing special to do with it, since destructors are represented explicitly in the CFG.
    • f15e114 : Moving tagging of '__experimental_modules_import' IdentifierInfo out of IndentifierTable::get() and into IdentifierTable's constructor.
    • 8c72a7d : Make CodeGenFunction::EmitBlockCopyAndAutorelease actually do what its name says.
    • 3d32bb0 : Update test for llvm assembly output change. Also add a fixme that this shouldn't be relying on assembly emission.
    • 278f1f8 : [analyzer] Turn inlining on by default for better testing exposure.
    • 3c93122 : Add a flag -fthread-sanitizer. This flag enables ThreadSanitizer instrumentation committed to llvm as r150423. The patch includes one test for -fthread-sanitizer and one similar test for -faddress-sanitizer. This patch does not modify the linker flags (as we do it for -faddress-sanitizer) because the run-time library is not yet committed and it's structure in compiler-rt is not 100% clear. The users manual wil be changed in a separate commit.
    • 32ad2ee : Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules, and don't have time to push it forward in the near future.
    • b3d7275 : [analyzer] Fix a regression introduced in malloc with attributes, introduced in r151188.
    • ad8de51 : Reapply r151702 with a small fix for a failure to cut and paste correctly.
    • 88530d5 : Fix the isReferenced bit on parameters in a couple of edge cases. PR12153.
    • 3638fab : Remove test/Sema/many-logical-ops.c since it fails in linux variants.
    • b2c60b0 : Move llvm/ADT/SaveAndRestore.h - llvm/Support/SaveAndRestore.h.
    • dca1761 : StmtProfiler: Add a null check for child statements.
    • 8a5e7fd : Implement double underscore names support in __has_attribute
    • f9b6f2c : Avoid examining the AST from the parser, and simplify somewhat.
    • 10285d9 : Revert r151800, which was committed without review and has correctness issues.
    • 701e336 : Fixing a buildbot complaint about nested templates.
    • 7abe166 : Implements support for #pragma include_alias in ms compatibility mode. Fixes PR10705.
    • 6454a02 : Added support for parsing declspecs on enumerations. Fixes PR8783
    • 23f0267 : Implement "optimization" for lambda-to-block conversion which inlines the generated block literal for lambdas which are immediately converted to block pointer type. This simplifies the AST, avoids an unnecessary copy of the lambda and makes it much easier to avoid copying the result onto the heap.
    • 5e4e58b : Reject 'a = {0} = {0}' rather than parsing it as '(a = {0}) = {0}'. Also improve the diagnostics for some attempts to use initializer lists in expressions.
    • 1d9f4c1 : Correct an example of a feature name to actually use a feature name rather than an attribute name. Patch by Michel Morin!
    • f6e88d7 : Fix regression from llvm-gcc where we should NOT emit a warning about __attribute__((NSObject)) on a property declaration. This is needed to have retain properties for non-object pointers. Fixes rdar://problem/10930507.
    • 3edf02f : [analyzer] Diagnostics - do not try to cleanup the path with macros, it will be done by the general cleanup later on. A Patch by Ted.
    • 3f01c8a : Tighten type-checking a bit to make it clearer how BuildCXXMemberCallExpr is used.
    • 07a4b04 : Move suport for redefining operator keywords from -fms-extensions to -fms-compatibility.
    • 7251674 : Change if...else if...else if... to a switch.
    • 62ff528 : [analyzer] when scanning FIDs in a PathDiagnostic, correctly recurse calls and macros.
    • f4fb07e : Allow operator keywords to be #defined in ms-ext mode.
    • bab0d39 : Test for my last patch. // rdar://10267155.
    • 77bfb8b : objective-c: provide fixit hint when atomic property does not have matching user defined setter/getter and a warning is issued. In this case, a fixit note is displayed. // rdar://10267155
    • fd81978 : Fix a couple -Wuninitialized warnings from gcc. Reported by David Greene.
    • 8d6ff02 : Serialization: Switch over to using the native SmallVector based BitstreamWriter ctor.
    • 75a96d0 : I referenced the incorrect rdar in my previous commit (r151745). Add the correct radar number to the test case for tracking purposes. rdar://10551066
    • 3f3335d : Allocate TargetLibraryInfo for the CodeGen passes. Otherwise, it's instantiated by the BAA pass, which uses the default TargetLibraryInfo constructor. Unfortunately, the default TargetLibraryInfo constructor assumes all library calls are available and thus ignores -fno-builtin. rdar://10947759
    • 1aa4b9f : Reverting test commit
    • f62a2b6 : Test commit. Please ignore
    • ca23eb2 : [analyzer] Malloc: A pointer might escape through CFContainers APIs, funopen, setvbuf.
    • 956ecbd : Revert r151702, "Add support for handling captured variables in lambda debug info.", which broke some -O0 -g tests.
    • 41d476d : Add -C when linking on Solaris so that the error messages are understandable by actual humans.
    • 51ad9cd : Tentatively fix PR12117. The test case from the bug now passes, and all existing tests still pass, but there may still be corner cases.
    • 16f1f71 : Reapply r151638 and r151641.
    • 4fafeb6 : Remove a recursive visitiation in ExprEngine that is no longer needed because the CFG is fully linearized.
    • 28cd22d : [analyzer] Tweak the UnreachableCode checker to not warning about unreachable default blocks. Patch by Cyril Roelandt!
    • 72b8b1e : A couple minor bug-fixes for template instantiation for expressions which are sometimes potentially evaluated.
    • 5840dd9 : [driver] Emit an error when trying to use ARC on macosx earlier than 10.6
    • 0a0714d : Add support for handling captured variables in lambda debug info. This currently doesn't handle capturing the 'this' pointer for any enclosing class.
    • 441b3bb : Add some iterators for grabbing lambda expression contexts.
    • c07b18e : Formatting.
    • ac62601 : Make the odr-use logic work correctly for constant-expressions. PR12006.
    • b732fce : Sema/ObjC: Override search can generate a large search list, bump the base size of the SmallPtrSet way up to avoid commonly reallocating the buffer size. - I didn't see a good argument against it, so I bumped the limit to cover the max size we see during parsing Cocoa.h.
    • c52d905 : ASTWriter: Cache some DenseMaps we use repeatedly. - This reduces our total # of allocations building a PCH for Cocoa.h by almost a whopping 50%. - A SmallPtrMap would be cleaner, but since we don't have one yet...
    • 13e6cb0 : clang/test/Analysis/stats.c: Fix up r151656.
    • f41e875 : clang/test/Analysis/stats.c: Mark this as XFAIL: mingw32.
    • b093955 : Parse: Change PragmaPackHandler to use the preprocessor allocator.
    • 8e0913d : objective-c modern translator. Fixes misc. bug in writing the ivar offset symbol.
    • fc399c7 : Remove stray semi-colon.
    • c60ccf5 : Make sure list-initialization of arrays works correctly in explicit type conversions. PR12121.
    • f76b897 : [libclang] Add a test I forgot to commit.
    • 33d5b31 : [PCH] Include a darwin-only PCH test on Cocoa.h.
    • 32a9a75 : Revert r151638 because it causes assertion hit on PCH creation for Cocoa.h
    • 2422e82 : Single- and zero-element initializer lists to scalars are list-initializations. Fixes PR12118.
    • 56d8fd0 : [analyzer diagnostics] Refactor filtration for PathDiagnosticConsumers that don't support cross-file diagnostics into a common place. Currently enable this filtration for Plist diagnostics as well.
    • c89f4b0 : [analyzer diagnostics] start prototyping stripping PathDiagnostics of unnecessary cruft caused by path inlining.
    • 15f8777 : Modern objective-c translator. rewriting ivars of aggregate type.
    • e7e0168 : [analyzer] Leaks should be uniqued by the allocation point in the closest function context (RetainCountChecker).
    • c568543 : Prefer bitcast+GEP over ptrtoint+sub+inttoptr: it's semantically equivalent here, and generally nicer to the optimizer.
    • 212000e : [analyzer] Retain release: drop the line number info from the leak message.
    • c299428 : [analyzer] Stats: Add the stats about remove dead bindings, correct the test.
    • 670326f : [driver] Add support for -g2 and -ggdb debug flags. rdar://10947759
    • 7dbefe1 : Add -lm by default on Solaris.
    • d706a8d : It turns out -fno-cxa-atexit just produces broken code, so disable it on Solaris and we'll ship a __cxa_atexit implementation...
    • bf359c9 : Un-break clang based on r151638 - What was meant to be a trivial variable name change went horribly wrong and I forgot to retest afterwards.
    • fbcf040 : Correctly track tags and enum members defined in the prototype of a function, and ensure they are properly scoped.
    • f911242 : [AST] When we @synthesize a property with a user-defined ivar name, make sure to record the source location of the ivar name. [libclang] When indexing @synthesized objc methods, report the @implementation as the lexical container.
    • 792db26 : [libclang] When indexing an objc property, also provide information about the getter/setter objc method entities that the property is associated with.
    • d7c15a6 : [AST] Associate the getter/setter methods to a property of a objc class extension. [libclang] Index the getter/setter methods of a property of a objc class extension.
    • 165329c : Some more Solaris fixes. Now successfully building libc++ on Solaris with clang (and linking clang against it).
    • 85fdea0 : Remove stray semi-colons.
    • cd7a099 : Basic coverage test for conversion-to-block-pointer for lambda expressions.
    • 721aa37 : [analyzer] Leaks should be uniqued by the allocation point in the closest function context (Keychain API).
    • 07d39a4 : [analyzer] Fix Malloc False Positive (PR 12100)
    • cae40c4 : Implement IRGen for the retain-autorelease in the lambda conversion-to-block-pointer outside of ARC. Testcases coming up soon.
    • 4c62b55 : [analyzer] teach analyzer about ObjC literals, thus trimming out a false positive with the malloc() checker involving comparing literal addresses to nil.
    • 033d300 : Re-enable the Darwin ARM integrated assembler.
    • 7752d29 : [analyzer] Leaks should be uniqued by the allocation point in the closest function context.
    • e2133c8 : Fix a test case that was added in r151570. The redirect of output was broken so no testing was actually done. Further, the commands produce no output. The redirection has been fixed and the test has been disabled.
    • e739a29 : [analyzer] Don't generate an explicit ExplodedNode for StringLiterals; have the SVal lazily generated from Environment::getSVal().
    • 062a82c : Hack in a loud error for PR12086. Better than a silent miscompile.
    • c1b66e6 : When evaluating integer expressions include a check for sub-expressions depth and error if we exceed a max value, to make sure we avoid a stack overflow.
    • 3306ec1 : After numerous requests, have Objective-C 'method declared here' notes mention the actual method. This looks better within an IDE, where text isn't always regurgitated in the presentation of a warning. Fixes radar 10914035.
    • adfb535 : Implement a FIXME for conversion sequence distinction. Should fix PR12092.
    • 8ec5ce2 : Fix documentation typo.
    • 81fb169 : [analyzer] Add -analyzer-stats, which hooks up LLVM stats tracking.
    • 92b670e : Fix a couple bugs in the way we handle array indexes in array bounds checking. Specifically, make sure we don't ignore explicit casts in indexes, and make sure we use unsigned extension/comparisons on indexes. Fixes rdar://problem/10916006.
    • d45d361 : Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h" to make it more widely available.
    • 0d8ab2e : Convert initializer lists to temporaries in CreateBuiltinBinOp. Allows assignment of init lists to built-in types and resolves PR12088.
    • fce4715 : Add missing code for compound literals of complex type. rdar://problem/10938628
    • d411a4b : Revert testing code I committed by mistake in r151464.
    • 361ae9a : Just drop the bitfield from ExtProtoInfo, this struct isn't even heap allocated so it doesn't hurt.
    • 1ebae62 : Speculatively attempt to work around a hypothetical but unreproduced MSVC issue in r151494.
    • 07d1642 : Test case for r151429/r151430, which ensures llvm.lifetime intrinsics are not being emitted at -O0, but are emitted when optimizations are enabled.
    • 1b1a507 : Serialize InitListExpr's initializesStdInitializerList bit, so it's not left uninitialized.
    • af3db7d : ObjcInterfaceTypes are also complete types for the type cache.
    • ae93daa : Make this test a bit more robust for debug info changes.
    • 79363f5 : Ensure that we delete default constructors in the right cases. Don't delete the default constructor of a union if it has a const member with no user-provided default constructor.
    • d8e4dac : Fix decltype crash-on-invalid, if we don't find a matching ')' for an ill-formed decltype expression.
    • dbe01bb : Tests for r151508.
    • c56ab43 : Half of PR12088: parse braced-init-lists on the RHS of assignment operators.
    • e75f330 : [clang.py] Test Cursor.__ne__
    • d162cf1 : Reorder members to save padding.
    • bb8a897 : Move CharacterLiteral, FloatingLiteral and UnaryExprOrTypeTraitExpr flags over into Stmt.
    • 9121932 : Make clever use of padding to shrink IntegerLiterals.
    • 0840f23 : Bit pack StringLiteral.
    • bbf4b22 : Reduce padding in MemberExpr.
    • 3654c69 : CompoundLiteralExpr: Pair a bool with a pointer.
    • a72c352 : Shuffle members of DesignatedInitExpr to avoid padding.
    • 0e2e13f : Bit pack ExtProtoInfo.
    • a6c1068 : Move FullSourceLoc::dump into the .cpp file, the used attribute made us emit this into every TU that includes SourceLocation.h.
    • 5ed7dd6 : Okay, makes sense to change all the occurences to match clang.EXE.
    • f58b388 : Allow any file extension for the clang binary in the linux-header-search test.
    • ea7c1e2 : Don't assert when trying to diagnose why a class with a constructor template is non-trivial.
    • 2229d57 : Add the critical crtbegin.o files necessary for any of the tests in r151482 and r151484 to work. Sorry about the fallout...
    • 079d2bb : A follow-up to r151482 which added support for powerpc and powerpc64 Debian multiarch libraries, this should in theory add support for those platform's header search rules. I don't have a system to check this with, so review appreciated. I've added the corresponding tests referring to the debian multiarch tree.
    • 9a561d5 : Ensure that we delete destructors in the right cases. Specifically: - variant members with nontrivial destructors make the containing class's destructor deleted - check for a virtual destructor after checking for overridden methods in the base class(es) - check for an inaccessible operator delete for a class with a virtual destructor.
    • 155c54c : Add support for PPC and PPC64 multiarch toolchains on Debain.
    • 03f6878 : Make sure we don't try to produce a definition of an implicitly-deleted function
    • 8818955 : Update release notes and language extensions pages to note that support for generalized initializers is available.
    • e653ba2 : Special members which are defaulted or deleted on their first declaration are trivial if the implicit declaration would be. Don't forget to set the Trivial flag on the special member as well as on the class. It doesn't seem ideal that we have two separate mechanisms for storing this information, but this patch does not attempt to address that.
    • 2fa975c : Revert r151460 as it is not enough to address the issue.
    • faf4ef6 : Richard Smith pointed out that there already is a proposal for init list mangling.
    • 8ed2091 : When evaluating integer expressions handle logical operators outside VisitBinaryOperator() to reduce stack pressure for source with huge number of logical operators.
    • d1dc3aa : Initializer lists are now supported.
    • 19b1a6e : CodeGen support for global variables of type std::initializer_listX.
    • babcf9d : Fix crashers on unexpected std::initializer_list layouts. Found by inspection.
    • b76ffc5 : Better mangling for new-expressions. Also, although we can't mangle arbitrary initializer lists yet (we will need this), turn the crash into a controlled error.
    • f186879 : Temporarily revert r151288: ARM: enable the integrated assembler by default for Darwin.
    • ee7a198 : CMake: install libclang.dll to $CMAKE_INSTALL_PREFIX/bin.
    • 13a140c : ArrayRef'ize various functions in the AST/Parser/Sema.
    • 5297d71 : Accept __has_feature(__feature__) as a synonym for __has_feature(feature) (and likewise for __has_extension). Patch by Jonathan Sauer!
    • d390de9 : Fix r151443 to only apply C++11's exception for non-static data member access in cases where we would otherwise disallow the access, and add a -Wc++98-compat diagnostic for this C++11 feature.
    • 2c8aee4 : PR11956: C++11's special exception for accessing non-static data members from unevaluated operands applies within member functions, too.
    • 7a9f492 : Fix assertion (too few Diag arguments) when diagnosing a deleted operator delete
    • dfefb84 : Teach CXXRecordDecl::hasIrrelevantDestructor to check the base classes and data members for deleted or user-provided destructors.
    • f5cd5cc : Fix a regression from r151117: ADL requires that we attempt to complete any associated classes, since it can find friend functions declared within them, but overload resolution does not otherwise require argument types to be complete.
    • 9875962 : Prevent llvm.lifetime intrinsics from being emitted at -O0. rdar://10921594
    • 64bee65 : Work-in-progress for lambda conversion-to-block operator. Still need to implement the retain+autorelease outside of ARC, and there's a bug that causes the generated code to crash in ARC (which I think is unrelated to my code, although I'm not completely sure).
    • e1d4330 : Don't record nested macro expansions in the preprocessing record, it can only bring pain when dealing with preprocessor abuse (see: boost).
    • e571578 : RetainCountChecker: don't adjust the retain count when analyzing a ReturnStmt unless we are in the top-level call frame. We can do more later, but this makes the checker self-consistent (and fixes a crash).
    • 63787f0 : [arcmt] GC migrator: don't try to remove redundant __strong, it does more harm than good.
    • a66eccb : Improve the diagnostic in ARC mode when a conditional with an Objective-C type and void* is used. rdar://problem/10486347.
    • bcf38f2 : Trying to increase my Ohloh ranking with trivial tweaks
    • d08d599 : Bugfix: bogus warning -- "invalid use of non-static data member", when a class is forward declared, and the reference to the data member in question does not occur within a method body.
    • 4a59bc2 : Simplify check per Eli's comment
    • 9b42afd : Add test for C++ DR899.
    • 3cd89ad : [analyzer] Malloc: reason about the ObjC messages and C++.
    • ed878af : Implement C++11 [over.match.copy]p1b2, which allows the use of explicit conversion functions to initialize the argument to a copy/move constructor that itself is the subject of direct initialization. Since we don't have that much context in overload resolution, we end up threading more flags :(.
    • 5a13d4d : Fix a stupid mistake in r151133. Reported to me by Joerg Sonnenberger.
    • 61dab36 : Remove FIXME: as Eli points out, the behavior here is now correct.
    • a98a285 : For the purposes of building LLVM types, a forward-declared enumeration type with a fixed underlying type is complete. Fixes rdar://problem/10916155.
    • c7b5543 : Back out __decltype warning from r151377: we should either warn on all the GNU __keywords or none of them.
    • a08c2fb : Make helper static.
    • 359c89d : When checking whether a reference to a variable is an ICE, look at the type of the declaration, not at the type of the DeclRefExpr, since within a lambda the DeclRefExpr can be more const than the declaration is.
    • f329527 : Minor modern rewriter bug showed up during testing against a large project.
    • 221c27f : C++11 [class.ctor]p5 says that A defaulted default constructor for a class X is defined as deleted if [...] - X is a union and all of its variant members are of const-qualified type.
    • 62348f0 : Fix comment: correct predicate name, reformat comment.
    • 69015c2 : Change the text of a FIXME.
    • 7c4a619 : [libclang] Add a triple to the test.
    • 1e409d8 : cxx_status: Consistently refer to C++11 as "C++11", not as "C++'11" nor as "C++0x". Use "C++98" to refer to C++98, not "C++". Add heading for C++98 support section.
    • a5ec58d : cxx_status: extended sizeof has been essentially complete for some time. As agreed on IRC, any remaining issues are best dealt with as bugs.
    • 33eb59a : test for writing modern ivar of struct type.
    • 39304fa : __decltype is a GNU extension, not a C++11 extension.
    • ca61bf3 : more objective-c modern translator ivar tests.
    • ec79d87 : Two minor, related fixes for template instantiation with blocks: - Make sure that the block expression is instantiation-dependent if the block is in a dependent context - Make sure that the C++ 'this' expression gets captured even if we don't rebuild the AST node during template instantiation. This would also have manifested as a bug for lambdas.
    • 0d6e22a : objc modern translator. Fixes writing of block pointer ivar access.
    • ff80afc : [analyzer] Run remove dead bindings before each call.
    • e55b03a : [analyzer] We were silently stopping exploring the path after visiting 'return;' statement!
    • a0889a8 : Use -no-integrated-as only on ARM. The X86 and X86-64 integrated as have been the default for clang for some time now and can handle compiler-rt.
    • 0fd7f4d : Revert r151357. That unreachable is reachable...
    • 770dc03 : Silence gcc warnings pointing out that CharByteWidth could be used uninitialized. While there, restyle this function! No functionality change.
    • 28e4702 : Sink variable into assert
    • f6cfe8b : Remove some trivial uses of hasTrivialCopyConstructor() and hasTrivialMoveConstructor().
    • 5d86f61 : Kill a spurious use of hasTrivialDefaultConstructor()
    • 4ca8ac2 : Implement a new type trait __is_trivially_constructible(T, Args...) that provides the behavior of the C++11 library trait std::is_trivially_constructibleT, Args..., which can't be implemented purely as a library.
    • 59950d3 : Make PathDiagnosticBuilder sensitive to varying LocationContexts, thus fixing a bug in the inlining diagnostics where the wrong location could be used.
    • 5b03c17 : Remove stray path in test file.
    • 2042fc1 : Reapply r151317, but when computing the PathDiagnostic profile and size keep into account the nested structure. Also fix a problem with how inlining impacted Plist diagnostics, and adjust some ranges in the Plist output due to richer information.
    • 2fffbc7 : Fix test for non-block-default platforms.
    • 68fbb3e : Revert r151317 - Rework PathDiagnostics creation.. - to appease buildbots.
    • 8cceefa : [PCH] When keeping track of top-level decls for "targeted deserialization" make sure we don't mistake ParmVarDecls for top-level decls.
    • 4970ef8 : Rework PathDiagnostic creation so that call stacks are captured by a nested PathDiagnosticCallPiece.
    • 729d5c4 : Add an ivar test for modern objc abi translator.
    • 862d735 : Make test works with FileCheck.
    • 577fb5b : Reapply r151172 - Unwind path cleanup for array new list initializers - with a test case that only runs on debug builds.
    • aa5ab26 : Handle "#pragma GCC visibility" in a few more places. Switch over "#pragma pack" to use the same handling that gcc does. Fixes rdar://problem/10871094 and rdar://problem/10893316.
    • 8b9414e : Modernize some code which processes CastExprs to use CastKinds. No intended functional change.
    • d708bac : [analyzer] KeyChainAPI: unique the leaks by allocation site. (Very similar to the previous change in malloc.)
    • f64bc20 : objective-c++: Type of an objc string literal is NSString, not 'id'. // rdar://10907410
    • 9428772 : Turned on support for __declspecs: noreturn, noinline, nothrow and naked in MS compatibility mode.
    • 97df54e : Pull the OpaqueValueExpr's source expression into its constructor, so that we can correctly compute value-dependence of the OVE.
    • 0227ade : Update test for r151288
    • d649586 : ARM: enable the integrated assembler by default for Darwin.
    • ca8e36e : [analyzer] Malloc: unique leak reports by allocation site.
    • 5588244 : [analyzer] Add CString checks to the release notes.
    • 644af7b : [libclang] Make sure that all top-level decls in a @implementation are marked as such.
    • cd42724 : Test is fixed.
    • c78446e : XFAIL test until I figure out how to make test pass on different platforms.
    • d184e53 : * tgmath_logb.patch implements the missing logb function (see C99 standard 7.22, paragraph 5). * tgmath_fabs_complex.patch corrects the return types for the complex fabs functions. These must be non-complex float/double/long double (see C99 standard 7.22, paragraph 4 and 7.3.8.1). Patch contributed by Kristof Beyls.
    • 00ff5a9 : Change test again so it passes in build-bot until I can figure out what is going on.
    • d8316db : fix test for patch in r151268.
    • eb2f220 : Actually remove the duplicated elements from the vector.
    • ac37150 : objective-c default synthesis. classes which adopt protocol properties must still auto synthesize those propeties which have been redeclared in the class. // rdar://10907410
    • f28ded5 : Fix indentation
    • 09315f3 : Note that lambda expressions are available in the release notes for 3.1
    • 887ddf3 : Replace a use of hasTrivialDefaultConstructor() with the appropriate isTrivial() call.
    • 8c43dcc : Replace some DenseSets with SmallPtrSets. Apart from the "small" optimization, the current implementation is also a denser.
    • d0e49e5 : Unique CXXBasePath decls with the SmallVector/pod_sort/std::unique idiom instead of employing a wasteful std::set.
    • a789416 : Replace the std::map in the init list checker with a DenseMap to reduce malloc thrashing.
    • c22adbd : PR12067: When emitting an evaluated constant structure in C++11 mode, don't forget the vptrs.
    • b11e525 : Seriously, are injected-class-names that hard?
    • 25d0a0f : Provide the __is_trivially_assignable type trait, which provides compiler support for the std::is_trivially_assignable library type trait.
    • 46e021e : Clang supports lambdas.
    • 860097c : Two fixes to how we compute visibility:
    • c101411 : Tweak C++ status table: - Apparently, SVN is yellow - Note that initializer lists are "in progress"
    • 7c07e96 : Clang now supports lambda expressions.
    • 5c89c39 : Try to handle qualifiers more consistently for array InitListExprs. Fixes rdar://problem/10907510, and makes the ASTs a bit more self-consistent.
    • d81e961 : Update parser's disambiguation to cope with braced function-style casts in C++11, and with braced-init-list initializers in conditions. This exposed an ambiguity with enum underlying types versus bitfields, which we resolve by treating 'enum E : T {' as always defining an enumeration (even if it would only successfully parse as a bitfield). This appears to be g++ compatible.
    • 47611c8 : Turned on support for __declspec(deprecated) in MS compatibility mode.
    • 0d389b8 : [analyzer] Invalidate the region passed to pthread_setspecific() call.
    • a596442 : Tweak release note comments for checker build.
    • 6408994 : Update checker build to checker-261.
    • b45cfea : Add a quick TODO.
    • fdc5d56 : Fold debug scope emission into the cleanup scope.
    • 709296d : another test for modern ivar access rewrite.
    • 4d8b797 : Revert r151172: Unwind path cleanup for array new list initializers.
    • 12932a0 : more tests for modern objc translator.
    • cd376a1 : Improve placement of clang crash diagnostics section.
    • 87cb5be : [analyzer] Malloc cleanup: - We should not evaluate strdup in the Malloc Checker, it's the job of CString checker, so just update the RefState to reflect allocated memory.
    • 8a988c3 : Revert part of r148839 and keep DefaultTargetTriple in the form adjusted by -target and similar options. As discussed in PR 12026, the change broke support for target-prefixed tools, i.e. calling x86_64--linux-ld when compiling for x86_64--linux. Improve the test cases added originally in r149083 to not require execution, just executable files. Document the hack with appropiate FIXME comments.
    • b211a4b : Add clang crash diagnostic info and associated flags to Clang user manual.
    • 2775b93 : Update set-xcode-analyzer to work with Xcode repackaging in Xcode 4.3
    • 61b83c0 : Add new driver warning from r151174 to a warning group. Please let me know if this isn't the appropriate grouping.
    • 72c88f1 : modern objc translator. more writing of modern ivar access abi.
    • 2dd17a1 : [driver] Add a warning for when -mcpu= is specified without an argument. There are likely many other OPT_xxxx_EQ options that could/should be added here. rdar://10704648
    • 5b38a0f : Doug's review comments.
    • 0f5a193 : Unwind path cleanup for array new list initializers.
    • 9203647 : CodeGen for array new list initializers. Doesn't correctly clean up in the face of exceptions yet.
    • b734e24 : Teach overload resolution to prefer user-defined conversion via a lambda closure type's function pointer conversion over user-defined conversion via a lambda closure type's block pointer conversion, always. This is a preference for more-standard code (since blocks are an extension) and a nod to efficiency, since function pointers don't require any memory management. Fixes PR12063.
    • 33deb35 : Fix parsing and processing initializer lists in return statements and as direct member initializers.
    • 7651742 : Warn about non-standard format strings (pr12017)
    • 341785e : More ArrayRef-ification of methods.
    • 4fe5be0 : ArrayRef-icize the function arguments.
    • 795b100 : Use an ArrayRef when we can instead of passing in a SmallVectorImpl reference.
    • 428c620 : Throw away stray CXXDefaultArgExprs. Fixes PR12061.
    • d77177a : In -fdelayed-template-parsing mode, reenter every scope when late parsing a templated function; (Not just the template parameter scope as previously). Also enter the scope stack in the correct order.
    • 0635aa7 : Accept braced-init-lists in conditions, and, in passing, dramatically improve the diagnostic for using a parenthesized direct-initializer in a condition.
    • b1e3f32 : Make sure null initialization in arrays works correctly with ARC types. rdar://problem/10907547.
    • ac1303e : Generate an AST for the conversion from a lambda closure type to a block pointer that returns a block literal which captures (by copy) the lambda closure itself. Some aspects of the block literal are left unspecified, namely the capture variable (which doesn't actually exist) and the body (which will be filled in by IRgen because it can't be written as an AST).
    • e9ee382 : Improve diagnostics a bit for bad member initializers, and fix an obscure bug involving packs. Fixes PR12049.
    • de40d3b : test/CodeGenCXX/thiscall-struct-return.cpp: Relax expressions for -Asserts.
    • 60a1fa4 : [analyzer] Malloc checker: mark 'strdup' and 'strndup' as allocators.
    • 6c60c8d : Adding support for Microsoft's thiscall calling convention. Clang side of the patch.
    • d9ab7bb : [analyzer] Malloc: fix another false positive. , when we return a symbol reachable to the malloced one via pointer arithmetic.
    • 5fdadf4 : [analyzer] Change naming in bug reports "tainted" - "untrusted"
    • e0d92a4 : [libclang] Index the field references of a designated initializer, rdar://10906206
    • 76f3f69 : Implement C++11 [expr.call]p11: If the operand to a decltype-specifier is a function call (or a comma expression with a function call on its right-hand side), possibly parenthesized, then the return type is not required to be complete and a temporary is not bound. Other subexpressions inside a decltype expression do not get this treatment.
    • e43fe99 : Fix typo correction of template arguments to once again allow type names.
    • 2639ac6 : Provide a way to disable auto-generation of preprocessed files during clang crash. This can speedup the process of generating a delta reduced test case. rdar://10905465
    • 5731778 : modern objc translator: fixes a bug where a class declaration with not any implementation in tu was not being translated.
    • e7b3fa7 : objective-c modern translator. accessing ivars using modern abi - wip.
    • f775c7b : Make sure Stmt::dump() is included in libclang.
    • fccfb62 : In the conflict between C++11 [expr.prim.general]p4, which declares that 'this' can be used in the brace-or-equal-initializer of a non-static data member, and C++11 [expr.prim.lambda]p9, which says that lambda expressions not in block scope can have no captures, side fully with C++11 [expr.prim.general]p4 by allowing 'this' to be captured within these initializers. This seems to be the intent of non-static data member initializers.
    • 51e47df : Fix a crash in the diangostic code in EvalConstant. PR12043.
    • 2789d8e : No need to go to object file, -emit-llvm is sufficient to see if clang itself crashes.
    • e3bab98 : Skip testing the crtbegin.o, and resume using a single variable for the prefixes. It seems only crtbegin.o uses the strange formatting.
    • 6ce2341 : Clean up, add some documentation, and make this test return to checking the linker toolchainness a bit more thoroughly. It used to work this way, but hit buildbot issues. Hopefully subsequent fixes have addressed those problems, but I'll be watching the bots.
    • 977ea78 : Don't crash on attempts to synthesize an invalid property. rdar://problem/10904479
    • c95d01f : Redirect the output to /dev/null. This prevents the output from cluttering up the build enviroment.
    • b09ab8c : Only pop the expression evaluation context corresponding to a lambda expression after we've finished the function body of the corresponding function call operator. Otherwise, ActOnFinishFunctionBody() will see the (unfinished) evaluation context of the lambda expression itself. Fixes PR12031.
    • e38fa18 : Don't assume that a valid expression for the first part of a for-statement is non-null when diagnosing a broken attempt to write a for-range-statement.
    • f57c413 : When calling a non variadic format function(vprintf, vscanf, NSLogv, …), warn if the format string argument is a parameter that is not itself declared as a format string with compatible format.
    • f4b7de1 : Improve our handling of lambda expressions that occur within default arguments. There are two aspects to this:
    • f18a87b : Allow linux builds to take advantage of libunwind to get unwind.h if that's installed.
    • b5f2c41 : Also mark Type's dump() as 'used' to make it available in libclang.
    • a7b07fd : Remove comma from end of enum to silence build warning.
    • 0ee7d94 : Mark a few 'dump' methods as 'used' to make sure they are included in libclang and useable while debugging.
    • 5878cbc : Implement non-internal linkage for lambda closure types that need a stable mangling, since these lambdas can end up in multiple translation units. Sema is responsible for deciding when this is the case, because it's already responsible for choosing the mangling number.
    • 702afbc : Remove svn:eol-style on the test I just added.
    • 450301e : Add a test case for r150976.
    • 552e299 : Implement name mangling for lambda expressions that occur within the initializers of data members (both static and non-static).
    • c9e0f92 : Adding a test case for the working-directory fix
    • 7f9b1d9 : Have ScanReachableSymbols reported reachable regions. Fixes a false positive with nested array literals. rdar://problem/10686586
    • ccc1b5e : Implement name mangling for lambda expressions that occur within the default arguments of function parameters. This simple-sounding task is complicated greatly by two issues:
    • ef78446 : Emit the exact size for the invariant intrinsics.
    • 3620547 : [analyzer] + a couple more malloc tests.
    • 9c1e1bd : [analyzer] Make KeyChainAPI checker inlining-aware.
    • ee06539 : Make RequireLiteralType work correctly with incomplete array types. PR12037.
    • a4c29b6 : [PCH] Recover gracefully if the ASTReader detects that a file is different from the one stored in the PCH/AST, while trying to load a SLocEntry.
    • ff23488 : Fix a constexpr FIXME: When implicitly instantiating the primary template for an explicit specialization of a function template, mark the instantiation as constexpr if the specialization is, rather than requiring them to match.
    • e86b9ea : Formatting.
    • 50933e5 : Make PreprocessorOptions::DetailedRecordIncludesNestedMacroExpansions false by default.
    • cd285d0 : objc IRGen: force CSE of load of ivar offsets by setting the 'invariant.load' metadata tag onto those loads. // rdar://10840980
    • a19581a : [analyzer] Make Malloc aware of inter-procedural execution + basic tests.
    • 9747b53 : [analyzer] Testing: These checkers are not experimental anymore.
    • bb2a686 : [analyzer] Turn on by default the Malloc Checker and a couple of CString checks:
    • fa07ab5 : Make sure that we set up the right declaration contexts when creating and introducing the lambda closure type and its function call operator. Previously, we assumed that the lambda closure type would land directly in the current context, and not some parent context (as occurs with linkage specifications). Thanks to Richard for the test case.
    • af30029 : modern objc translator. Finish off first cut of the modern meta-data translation by commenting out private ivar declarations in user source. Also, added several tests.
    • ee18803 : When we resolve the type of an 'auto' variable, clear out the linkage of that variable; it will need to be recomputed with the resolved type.
    • be580e5 : Make test case less sensitive to metadata numbering.
    • 9e8c92a : Basic support for name mangling of C++11 lambda expressions. Because name mangling in the Itanium C++ ABI for lambda expressions is so dependent on context, we encode the number used to encode each lambda as part of the lambda closure type, and maintain this value within Sema.
    • 86211df : Remove the type retaining from the clang frontend. This is now handled by the caching and rauw. Also fix one cache that wasn't being added to highlighted by this patch. Update all testcases accordingly.
    • 917bc8d : Make forward declarations for objective-c types use the new temporary forward declaration nodes. Fixes a problem building Chrome.
    • 8261345 : [clang.py] Format and add documention for Type
    • 0e1f4f8 : [clang.py] Add tests for Type.is_volatile_qualified and Type.is_restrict_qualified
    • 826fce5 : [clang.py] Implement Type.argument_types()
    • 7eb691a : [clang.py] Implement Type.__eq__ and Type.__ne__
    • 83bc276 : Deserialize the direct-initialization range of a "new" expression properly. Previously, we deserialized it but failed to set the corresponding member in CXXNewExpr. Fixes rdar://problem/10893600.
    • 1367c9b : Fixing the working-directory option so that it stores the proper directory.
    • c93dc78 : Basic: import IntrusiveRefCntPtr into clang namespace
    • 345032a : Add 3dNOW intrinsic header to x86intrin.h, conditioned on __3dNOW__ to match the behavior of GCC. Also add a test for these intrinsics, which apparently have *zero* tests. =[ Not surprisingly, Clang crashed when compiling these.
    • 19562c9 : ObjCMessageExpr: Don't leave SelLocsKind uninitialized when the send is implicit.
    • 2b28bf1 : Set the location of the template keyword when allocating a new TemplateIdAnnotation.
    • 607098c : Make the regular expressions in this test more narrow to ensure we're actually matching the write substrings, and stop looking for a leading '/' to try and finish fixing darwin and other hosts.
    • d2aea12 : objective-c modern translator: comment out private ivars declared in class extension and implementation.
    • 31cc38c : [clang.py] Implement Type.is_function_variadic
    • 772291a : Emit a warning when list-initializing a std::initializer_list member.
    • 4b45d7f : Harden test against for operator new(unsigned int).
    • 972edf0 : Make heap-allocation of std::initializer_list 'work'.
    • 924db71 : Make std::initializer_list member initializers 'work'.
    • 24fe798 : Refuse to compile global std::initializer_lists instead of doing completely the wrong thing.
    • af130fd : Get recursive initializer lists to work and add a test. Codegen of std::initializer_list is now complete. Onward to array new.
    • bac5cf4 : Add a testcase for using objects with list-constructors, and fix a Sema crash by repeating an old hack.
    • 25e640a : Add a testcase to show that temporaries from the initializer list are destroyed correctly.
    • b859d50 : Add a testcase for start+end implementations of std::initializer_list.
    • d2231c9 : Fix a crash for nested initializer list initialization. Still does the wrong thing in CodeGen, in that it never destructs anything.
    • e8e92b9 : Remove dead code.
    • 49c6039 : Don't check for /lib and /usr/lib.
    • ab1cc02 : Our handling of variables in FileCheck looks really broken on windws. Just give up on matching the path prefix for the libraries.
    • 5bbc966 : Add an extra CHECK line to make sure TOOLCHAIN2 matches just the path prefix.
    • 8c28fc0 : Looks like we use forward slashes for header search but back slashes for libraries on windows. Use two variables to make this test pass.
    • fb50ebf : Try to match the linker being named ld.exe. Second try at fixing the windows bots.
    • 358030c : Don't assume a path starts with a /. Should fix the windows bot.
    • 0e65959 : Implement a -gcc-toolchain command line option that does the same as configure's --with-gcc-toolchain. The configure option is now just a default value for the command line one.
    • 99c06be : Teach analyzer that blocks with no captures are globals. Fixes rdar://problem/10348049.
    • 8602401 : Implement constant expression support for __real__ and __imag__ on lvalue complex numbers. Treat complex numbers as arrays of the corresponding component type, in order to make std::complex behave properly if implemented in terms of _Complex T.
    • e215ba1 : Fix crash in analyzer diagnostic generation involving subexpressions of OpaqueValueExpr not appearing in the ParentMap. Fixes rdar://problem/10797980.
    • a979712 : Teach analyzer about NSAutoreleasePool -allocWithZone:. Fixes rdar://problem/10640253.
    • 5550a2f : Add analyzer test for using of C++ references with ObjC object pointers, reported in rdar://problem/10569024.
    • dfb80de : Fix wrong-code bug: __imag on a scalar lvalue should produce a zero rvalue, rather than an lvalue referring to the scalar.
    • b673a41 : Adopt ExprEngine and checkers to ObjC property refactoring. Everything was working, but now diagnostics are aware of message expressions implied by uses of properties. Fixes rdar://problem/9241180.
    • b8197bc : Default to not using __cxa_atexit on Solaris.
    • d41854a : Remove a debugging line accidentally left in the last commit.
    • 5f3c163 : Implement #pragma redefine_extname.
    • 65005eb : Add -Wstrncat-size and -Wempty-body to release notes.
    • 8b1d32b : Remove unused but set variable.
    • 999713e : Rewrite variable capture within lambda expressions and blocks, eliminating a bunch of redundant code and properly modeling how the captures of outside blocks/lambdas affect the types seen by inner captures.
    • 6893284 : Unify our computation of the type of a captured reference to a variable; it was previously duplicated, and one of the copies failed to account for outer non-mutable lambda captures.
    • b78ae97 : Fix a problem in the GCC testsuite, exposed by r150557. Compound literals are represented as prvalues in C++; don't be fooled into thinking they're global lvalues.
    • e61eb04 : Add a bunch of missing calls to DiagnoseSentinelCalls. rdar://problem/10885993.
    • e698a5c : Change wording of warning about using __bridge casts in non-ARC.
    • 213d70b : Diagnose uses of deleted destructors and inaccessible defaulted destructors.
    • 7d5088a : Initial refactoring of 'ShouldDeleteSpecialMember', in preparation for providing decent diagnostics. Finish the work of combining all the 'ShouldDelete' functions into one. In unifying the code, fix a minor bug where an anonymous union with a deleted default constructor as a member of a union wasn't being considered as making the outer union's default constructor deleted.
    • 7acebfb : Fix comment.
    • 7ff0c5d : Add in a caching mechanism so that forward declarations are replaced with full types if they exist.
    • 1486d2c : Formatting.
    • 51b2f6b : Remove UpdateCompletedType from the debug info emission. We now emit less than complete types on purpose on occasion and so our caches aren't useful for this kind of lazy emitting.
    • 6e94f6c : Remove redundant check.
    • 3133f79 : Have conjured symbols depend on LocationContext, to add context sensitivity for functions called more than once.
    • d8a8a3b : [analyzer] Malloc Checker more tests.
    • f0dfc9c : [analyzer] Fix another false positive in the Malloc Checker, by making it aware of CString APIs that return the input parameter.
    • 998e275 : [analyzer] Generalize function name checking in CString checker. (Ex: It was not treating __inline_strcpy as strcpy. Will add tests that rely on this later on.)
    • cf4c60f : modern objc translator: postpone writing of class definitions until the end when all their ivars are known then.
    • 8c00a1b : modern objc writer: more work for category metadata rewrite and some cleanup.
    • 00a8c3f : Don't emit optimization-specific intrinsic at -O0.
    • 6118612 : modern objc translator: category metadata related patch.
    • 48fad49 : On Solaris, define some standard macros that the Solaris headers require in order to not be broken (by Solaris standards).
    • d267b3f : De-nest tentative parsing to disambiguate lambdas from designators; no functionality change.
    • 1f27805 : Don't allow non-empty ParenListExprs as array-new initializers.
    • 32cf1f2 : Basic code generation support for std::initializer_list.
    • bf8ca00 : [clang.py] Implement Type.element_count
    • 8605760 : [clang.py] Implement Type.element_type
    • abb9432 : The clang half of r150794: after the construction of a global or static const variable ends, if the variable has a trivial destructor and no mutable subobjects then emit an llvm.invariant.start call for it. globalopt knows to make the variable const when evaluating this.
    • 1e009d5 : Index "12" holds the vtable, not "9".
    • a9b21d2 : Bug fix: do not emit static const local variables with mutable members as constants.
    • e15c712 : When performing IRGen on a global, emit it as a constant if: 1) It has a const-qualified type, and 2) It has no mutable members, and 3) It has no dynamic initialization, and 4) It has trivial destruction. Remove the unnecessary requirement that the type be POD. This allows us to mark all constexpr objects with no mutable members as 'constant'.
    • bd64520 : Only add 'const' to the type of variables captured in a lambda when we're capturing it by value in a non-mutable lambda.
    • b3f323d : Disambiguate between C++11 lambda expressions and C99 array designators in the parser. In the worst case, this disambiguation requires tentative parsing just past the closing ']', but for most cases we'll be able to tell by looking ahead just one token (without going into the heavyweight tentative parsing machinery).
    • f3908f2 : Make sure all remaining parts of the constant evaluator are aware that an array can be represented by an LValue, and use that to simplify the code a little.
    • de5d3c7 : Whether an argument is required (in contrast with being an optional argument passed through the variadic ellipsis) potentially affects how we need to lower it. Propagate this information down to the various getFunctionInfo(...) overloads on CodeGenTypes. Furthermore, rename those overloads to clarify their distinct purposes, and make sure we're calling the right one in the right place. This has a nice side-effect of making it easier to construct a function type, since the 'variadic' bit is no longer separable.
    • a345edb : Block expressions always have a prototyped function type; expose this in the AST accessor and micro-optimize it very slightly.
    • 84fa9cd : Add a castAsU accessor to CanQualT.
    • 27dd7d9 : Rework the Sema/AST/IRgen dance for the lambda closure type's conversion to function pointer. Rather than having IRgen synthesize the body of this function, we instead introduce a static member function "__invoke" with the same signature as the lambda's operator() in the AST. Sema then generates a body for the conversion to function pointer which simply returns the address of __invoke. This approach makes it easier to evaluate a call to the conversion function as a constant, makes the linkage of the __invoke function follow the normal rules for member functions, and may make life easier down the road if we ever want to constexpr'ify some of lambdas.
    • 92dc035 : Tests for the fixits which Doug added in r150727.
    • 85b29a4 : Reject continue/break statements within members of local functions nested within loop and switch statements, by teaching Scope that a function scope never has a continue/break parent for the purposes of control flow. Remove the hack in block and lambda expressions which worked around this by pretending that such expressions were continue/break scopes.
    • ce582fe : PR12012: Fix a regression in r150419 where we would try (and fail) to zero-initialize class types with virtual bases when constant-evaluating an initializer.
    • df79567 : objective-c translator. More stuff for modern meta-data.
    • 9965dea : Reapply r150631:
    • 22cfaf5 : Elide copy construction in new expressions. PR11757.
    • 3336353 : Avoid infinite mutual recursion in DiagnoseInvalidRedeclaration.
    • ad901a6 : [analyzer] MallocChecker: more tests.
    • febdc32 : [analyzer] Malloc Checker: Clean up bug naming: - Rename the category "Logic Error" - "Memory Error". - Shorten all the messages.
    • fe57160 : [analyzer] Malloc Checker: Make the diagnostic visitor handle the case of failing realloc. + Minor cleanups.
    • ebc6af1 : Pacify gcc's -Wreturn-type
    • eeabf38 : fix the property list metadata name.
    • c9ecec4 : Improve recovery for lambda expressions that have 'mutable' or a trailing return type but not a '()'. Recover by inserting the parentheses. Thanks to Xeo on IRC for the example.
    • 3f77c7b : modern objective-c translator: write the root class meta-data.
    • 7bdc152 : Lambda closure types are always considered to be like "local" classes, even if they are not within a function scope. Teach template instantiation to treat them as such, and make sure that we have a local instantiation scope when instantiating default arguments and static data members.
    • 449d4f0 : Make sure we still reject static data members in anonymous unions in C++11.
    • bdd4c84 : Add checker visitation hooks in ExprEngine::Visit() for common no-op expressions. To be used later.
    • 2ac58b7 : Revert "Move ExplodedNode reclaimation out of ExprEngine and into CoreEngine. Also have it based on adding predecessors/successors, not node allocation. No measurable performance change."
    • b9c64d8 : C++11 allows unions to have static data members. Remove the corresponding restriction and add some tests.
    • 437ee81 : Move ExplodedNode reclaimation out of ExprEngine and into CoreEngine. Also have it based on adding predecessors/successors, not node allocation. No measurable performance change.
    • 626719b : Minor cleanup to node data structures in ExplodedGraph. No functionality change.
    • a76879e : Tweak the comment on the 'q' length modifier again.
    • 6ade343 : modern objc translator: meta-data generation for first part of class meta-data.
    • c7b55fc : Fix this test to work with and without Asserts mode.
    • 3c15c43 : Update comment as per Joerg's comment on r150697.
    • 8f70bda : In Objective-C++, allow the keyword 'class' to be used as a property name for dot syntax, e.g., NSObject.class or foo.class. For other C++-keywords-as-method-names, use message send syntax. Fixes rdar://problem/10794452.
    • f11641a : If code completion patterns are not enabled, use simpler else/else if completions that don't insert braces. Fixes rdar://problem/10764168.
    • ae1b4af : Add fixits for ARC casting errors for implicit conversions as well. rdar://10289283
    • dd5756c : Minor fix to template instantiation, which properly instantiates dependent attributes on static members of templatized classes.
    • 634b293 : Thread safety analysis: Don't check for lockable on undefined types.
    • 2f13bec : Thread-safety analysis: Disable checking inside constructors, destructors, lock, and unlock functions
    • 4bda3ec : Thread-Safety: added support for 'this' as a lock expression.
    • c24a233 : Allow thread safety attributes on function definitions. For compatibility with gcc, clang will now parse gcc attributes on function definitions, but issue a warning if the attribute is not a thread safety attribute. Warning controlled by -Wgcc-compat.
    • 32addd5 : Format string analysis: give 'q' its own enumerator.
    • d1ac03e : Tweak link order on Solaris so that global ctors work.
    • bd45d25 : Proper checking of list-initializers for array new expressions.
    • 2aed8b8 : Revert "Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself.""
    • 1548d14 : Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself." It leads to a compiler crash in the Bullet benchmark.
    • 5f688f4 : Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself.
    • 13ca534 : Fix test to not depend upon metadata numbers.
    • b1612cb : test/CodeGenObjC/arc-no-arc-exceptions.m: Disable it at -Asserts for now.
    • a2d7dfa : Shift Microsoft enum extensions from -fms-extensions to -fms-compatibility, so -fms-extensions doesn't affect enum semantics in incompatible ways. rdar://problem/10657186.
    • 21f6ed9 : Initial implementation of IRGen for the lambda conversion-to-function-pointer operator.
    • 5a0917d : [analyzer] Diagnostics: Ensure that the default end of diagnostic path piece can always be generated.
    • ac59300 : [analyzer] Malloc Checker: Give up when a pointer escapes into a struct.
    • 74e1ad9 : constexpr tidyups: * Fix bug when determining whether && / || are potential constant expressions * Try harder when determining whether ?: is a potential constant expression * Produce a diagnostic on sizeof(VLA) to provide a better source location
    • 0460651 : Add a few minor items to the 3.1 release notes.
    • c874ca1 : Fix the RecursiveASTVisitor to not traverse C++ default parameters twice.
    • 348ab1a : Fix test for r150648.
    • bd89f8c : Start of IRGen for lambda conversion operators.
    • 3973acc : Use the new method for specifying garbage collection metadata in the module.
    • f8490ee : [libclang] Do index statements inside a type source info. rdar://10872758
    • f6e2e02 : Implicitly define a lambda's conversion functions (to function pointers and block pointers). We use dummy definitions to keep the invariant that an implicit, used definition has a body; IR generation will substitute the actual contents, since they can't be represented as C++.
    • b49bd27 : Teach clang to add metadata tags to calls and invokes in ObjC with -fno-objc-arc-exceptions. This will allow the optimizer to perform optimizations which are only safe under that flag.
    • 9f02d6d : Mark the parenthesized array member initialization diagnostic as DefaultError, and move it out of -Wgnu so that -Wno-gnu leaves it enabled. As requested by Eli.
    • 45fb995 : Start off release notes for clang 3.1 with reference to C11 anonymous structs and unions, and C++11 generalized constant expressions.
    • ba83c95 : objc-arc: For arc's ivar layout, treat __unsafe_unretained ivars as unscanned. // rdar://10832643
    • 64a0430 : Revert "Add a completed/incomplete type difference. This allows us to have"
    • 9a68d45 : Add a completed/incomplete type difference. This allows us to have partial types for contexts and forward decls while allowing us to complete types later on for debug purposes.
    • 3ad02aa : Silence a valgrind warning, and remove an unused var.
    • 0f163e9 : Support GCC's bug^Wextension allowing class array members to be initalized by a parenthesized braced-init-list in the base/member initialization list.
    • 2d4d7fd : Improve typo correction involving nested name specifiers.
    • c2956e5 : Lambda closure types have a conversion function to a block pointer with the same parameter types and return type as the function call operator. This is the real answer to
    • 4339bb3 : objective-c translator: fixes an obscure rewriting bug which attempted to rewrite the same meta-data twice.
    • c25d1c9 : Factor the construction of the lambda-to-function-pointer conversion function declaration into a separate function. No functionality change
    • 6c44886 : Provide common include for all diagnostic headers.
    • d49cb20 : Store the warning option corresponding to a diagnostics as an index into the option table instead of storing the name.
    • ceb1565 : Remove the unuseful -fdiagnostics-show-name
    • e4e68d4 : When overload resolution picks an implicitly-deleted special member function, provide a specialized diagnostic that indicates the kind of special member function (default constructor, copy assignment operator, etc.) and that it was implicitly deleted. Add a hook where we can provide more detailed information later.
    • b622959 : Add some Solaris include paths and fix a -lgcc_eh that apparently should be -lgcc_s.
    • d226e5c : Tweak comment above DiagGroup"all".
    • 87c5150 : A little more lambda capture initialization diagnostics cleanup
    • 4773654 : Introduce a new initialization entity for lambda captures, and specialize location information and diagnostics for this entity.
    • badb6cd : Fix copy-and-paste error in comment
    • 793cd1c : Specialize noreturn diagnostics for lambda expressions.
    • 0bcc3d8 : Fix silly precedence error.
    • 4e88df7 : Specialize the diagnostic complaining about conflicting types of return statements within a lambda; this diagnostic previously referred to blocks.
    • 81f3bff : Implement code completion support for lambda capture lists.
    • 31c4690 : First pass at Solaris toolchain support. This version compiles and links hello world on Solaris 11 for both x86 and x86-64 using the built-in assembler and Solaris (not GNU) ld, however it currently relies on a hard-coded GCC location to find crtbegin.o and crtend.o, as well as libgcc and libgcc_eh.
    • d5f55dc : Convert ad-hoc `int array[expr ? -1 : 1]' assertions in test/SemaCXX/nullptr.cpp to static_assert
    • be6126a : Make -Wformat fix-its preserve original conversion specifiers.
    • 37ce010 : If a static data member of a class template which could be used in a constant expression is referenced, defined, then referenced again, make sure we instantiate it the second time it's referenced. This is the static data member analogue of r150518.
    • 83587db : Implement DR1454. This allows all intermediate results in constant expressions to be core constant expressions (including pointers and references to temporaries), and makes constexpr calculations Turing-complete. A Turing machine simulator is included as a testcase.
    • 1d6cc6a : [analyzer] Malloc checker: make a bit safer.
    • 5677eaf : Fix typo in r150549.
    • 4d4e5c1 : Split reinterpret_casts of member pointers out from CK_BitCast; this is general goodness because representations of member pointers are not always equivalent across member pointer types on all ABIs (even though this isn't really standard-endorsed).
    • 011d8b9 : Implement indexing support for lambdas in libclang (both kinds), as well as improving the RecursiveASTVisitor's walk of lambda expressions.
    • f1c1d9a : modern objective-c translator: start writing the main class meta-data.
    • f66035e : [analyzer] Add the Malloc checker to the list of tested checkers.
    • ebc1d32 : [analyzer] Malloc Checker: Add another false positive as a todo test.
    • 40add29 : [analyzer] Malloc Checker: add support for reallocf, which always frees the passed in pointer on failure.
    • b16ce45 : [analyzer] Malloc Checker: add support for valloc + minor code hardening.
    • 69f811d : Extend all-std-headers.cpp to include C++11 headers when building in C++11 mode. Conditionally include headers which older STL implementations don't provide.
    • b5216aa : Advertize support for constexpr.
    • 65967ec : I hereby declare that all remaining constexpr issues are bugs, not unimplemented features. :)
    • 26f2cac : constexpr: evaluation support for nullptr comparisons.
    • c6889e7 : Implement C++ core issue 974, which permits default arguments for lambda expressions. Because these issue was pulled back from Ready status at the Kona meeting, we still emit an ExtWarn when using default arguments for lambda expressions.
    • 57b9c4e : If a constexpr function template specialization is referenced, and then the template is defined, and then the specialization is referenced again, don't forget to instantiate the template on the second reference. Use the source location of the first reference as the point of instantiation, though.
    • 58d2dbe : [libclang] Indexing: only index implicit template instantiations via an opt-in indexing option.
    • 625bb56 : Generalize -Wempty-body: warn when statement body is empty (closes: PR11329)
    • 66c4040 : [analyzer] Make Malloc Checker optimistic in presence of inlining. (In response of Ted's review of r150112.)
    • 9050e3a : Remove recusive expression visitation in ExprEngine::VisitIncrementDecrementOperator().
    • 70488e2 : Pending clear answer from WG21 on whether core issue 903 is intended to apply to C++11 or just C++17, restrict the set of null pointer constants in C++11 mode back to those which were considered null in C++98.
    • a91ac5b : Remove recursive visitation in ExprEngine for UO_Not, UO_Minus, UO_LNot.
    • 224c489 : Remove recursive visitation in ExprEngine for UO_Deref, UO_AddrOf, and UO_Extension.
    • c1e08dc : Remove ExprEngine recursive visitation of unary UO_Imag operation.
    • 0193166 : Further remove some recursive visitiation in ExprEngine that is no longer needed because the CFG is fully linearized.
    • 53393f2 : Check the return type of lambda expressions.
    • 1d0c9a8 : PR11650: Implement resolution of core issue 1301. Value initialization can't be used to construct an object of union type with a deleted default constructor (plus fixes for some related value-initialization corner cases).
    • 75d8ba3 : Warn about non-int main() results in GNU C mode instead of erroring.
    • 0a52534 : more objective-c translator for modern abi. metadata for protocol definitions used on class qualifiers.
    • a736524 : Implement support for lambda capture pack expansions, e.g.,
    • 63aae82 : Use several weighted factors to determine typo candidate viablity.
    • 9d66504 : Simplify and robustify lambda PCH test
    • 9d36f5d : Implement AST (de-)serialization for lambda expressions.
    • 90af4e2 : more modern objc translator. Focusing on metadata for methods.
    • cc8a945 : include clang's config.h unconditionally (v2)
    • 14c5982 : Use a simpler (and more efficient) pattern to pad vectors.
    • 3164c14 : Fix crash-on-invalid for 'operator int[]()' in C++11.
    • 7b8290f : Fix use-after-free introduced by me being an idiot.
    • df33a35 : Remove useless if statement.
    • 8656855 : Add a coverage test for lambda expression IRGen.
    • 7473b1c : Implement new DiagnosticsRenderer that packages notes retrieved by clang_getDiagnosticSetFromTU() as child diagnostics of primary diagnostics. By using the DiagnosticRenderer, these Diagnostics now match with those generated for serialized diagnostics.
    • 8be51ea : Refactor DiagnosticRenderer and SDiagsRenderer to have some functionality pulled into DiagnosticNoteRenderer, and common DiagnosticRenderer that assumes that all custom diagnostic messages are notes. Also extend DiagnosticRenderer to work with StoredDiagnostics in preparation for subsequent changes.
    • 6700d67 : Add helper methods to StoredDiagnostic.
    • eb273b7 : Fix another issue introduced by the proposed wording for core issue 1358: since the instantiation of a constexpr function temploid is now always constexpr, a defaulted constexpr function temploid is often ill-formed by the rule in [dcl.fct.def.default]p2 that an explicitly-defaulted constexpr function must have a constexpr implicit definition. To avoid making loads of completely reasonable code ill-formed, do not apply that rule to templates.
    • b74ed08 : Implement IRGen of lambda expressions which capture arrays.
    • 0bdb5aa : Refactor out new function EmitInitializerForField from EmitMemberInitializer. The new function will be used to initialize the fields of lambda expressions.
    • b276bd9 : [analyzer] Malloc Checker: realloc: add dependency between the symbols in realloc map.
    • d764437 : Simple test ensuring that we perform direct initialization when copy-capturing in lambdas
    • d5387e8 : Link together the call operator produced from transforming a lambda expression with the original call operator, so that we don't try to separately instantiate the call operator. Test and tweak a few more bits for template instantiation of lambda expressions.
    • e76872e : Mark the cxa_guard_{abort,acquire,release} functions nounwind.
    • 7ca4850 : Deal with a horrible C++11 special case. If a non-literal type has a constexpr constructor, and that constructor is used to initialize an object of static storage duration such that all members and bases are initialized by constant expressions, constant initialization is performed. In this case, the object can still have a non-trivial destructor, and if it does, we must emit a dynamic initializer which performs no initialization and instead simply registers that destructor.
    • 5ad3af9 : Add a subgroup of -Wreturn-type, -Wreturn-type-c-linkage.
    • dfca6f5 : Introduce support for template instantiation of lambda expressions. This is mostly a simple refact, splitting the main "start a lambda expression" function into smaller chunks that are driven either from the parser (Sema::ActOnLambdaExpr) or during AST transformation (TreeTransform::TransformLambdaExpr). A few minor interesting points:
    • 07e5288 : modern objc translator. More ivar rewrite work.
    • db64923 : objc modern translator. ivar offset symbols.
    • 30838b9 : [analyzer] Malloc Checker: realloc: correct the way we are handing the case when size is 0.
    • 5189035 : Add a script that produces a list of all diagnostics that are defined in Diagnostic*.td files but not used in sources.
    • 684a8e4 : Remove unused diagnostics from include/clang/Basic/Diagnostic*.td files.
    • 20ff0e2 : Don't route explicit construction via list-initialization through the functional cast code path. It sometimes does the wrong thing, produces horrible error messages, and is just unnecessary.
    • 43a1b00 : Sink variable into assert
    • 164d6f8 : objective-c translator: more rewriting of ivar types into a c-type which closely matches the objective-c type.
    • c563891 : When generating diagnostic information due to a clang failure, allow multiple -arch options if the're all the same.
    • c8bb3be : [analyzer] Malloc checker: rework realloc handling:
    • 7ae282f : Split the storage of lambda information between the LambdaExpr and the CXXRecordDecl in a way that actually makes some sense: - LambdaExpr contains all of the information for initializing the lambda object, including the capture initializers and associated array index variables. - CXXRecordDecl's LambdaDefinitionData contains the captures, which are needed to understand the captured variable references in the body of the lambda.
    • 9daa7bf : Keep track of the set of array index variables we use when we synthesize a by-copy captured array in a lambda. This information will be needed by IR generation.
    • 3b66d7b : Remove empty directories left behind by git-svn.
    • 908a595 : Don't allocate unused storage for captures/capture initializers in lambda expressions
    • da8962a : Move the storage of lambda captures and capture initializers from LambdaExpr over to the CXXRecordDecl. This allows us to eliminate the back-link from the closure type to the LambdaExpr, which will simplify and lazify AST deserialization.
    • e88a71f : Add back in the code to create forward decls using temporary mdnodes.
    • a765b9f : Testcase for previous commit.
    • 42e75da : Temporarily walk back a few of my recent debug info limiting changes while reworking how we handle wanting to emit only parts of structures.
    • 63d7ed8 : StaticAnalyzer/Core: fix MSVC build
    • 36d5927 : drop more llvm:: prefixes on SmallString
    • 1e4c01b : drop more llvm:: prefixes on OwningPtr
    • 8944675 : examples/analyzer-plugin: hook up to build
    • 4ee01ef : Fix typo in PrintfConversionSpecifier::isDoubleArg()
    • 86c3ae4 : Update constexpr implementation to match CWG's chosen approach for core issues 1358, 1360, 1452 and 1453. - Instantiations of constexpr functions are always constexpr. This removes the need for separate declaration/definition checking, which is now gone. - This makes it possible for a constexpr function to be virtual, if they are only dependently virtual. Virtual calls to such functions are not constant expressions. - Likewise, it's now possible for a literal type to have virtual base classes. A constexpr constructor for such a type cannot actually produce a constant expression, though, so add a special-case diagnostic for a constructor call to such a type rather than trying to evaluate it. - Classes with trivial default constructors (for which value initialization can produce a fully-initialized value) are considered literal types. - Classes with volatile members are not literal types. - constexpr constructors can be members of non-literal types. We do not yet use static initialization for global objects constructed in this way.
    • 9b338a7 : Delete a simplistic helper function now that llvm::Triple can provide this functionality.
    • 0b17b9a : more of rewriting ivar types.
    • 9ecb72a : Move -Wdangling-else under -Wparentheses to be backwards compatibile with GCC.
    • 6d9ef30 : Implement the standard decltype() semantics described in C++11 [dcl.type.simple]p4, which treats all xvalues as returning T&&. We had previously implemented a pre-standard variant of decltype() that doesn't cope with, e.g., static_astT&&(e) very well.
    • f8af982 : Within the body of a lambda expression, decltype((x)) for an id-expression 'x' will compute the type based on the assumption that 'x' will be captured, even if it isn't captured, per C++11 [expr.prim.lambda]p18. There are two related refactors that go into implementing this:
    • 6dc00f6 : Proper initializer list support for new expressions and type construct expressions. Array new still missing.
    • 215e4e1 : Lambdas have a deleted default constructor and a deleted copy assignment operator, per C++ [expr.prim.lambda]p19. Make it so.
    • 3a45c0e : Change the way we store initialization kinds so that all direct inits can distinguish between list and parens form. This allows us to correctly diagnose the last test cases from litb.
    • 168319c : Employ DirectList initialized entities to properly sort through some initialization edge cases.
    • 8275fc0 : Fix broken link. I believe this has been broken for at least 7 months.
    • 9335df3 : Fix the rewriter that broke with r149987.
    • 5b9cc5d : Represent C++ direct initializers as ParenListExprs before semantic analysis instead of having a special-purpose function.
    • ecfcd56 : Drive-by fix of incorrect diagnostic, and a test case for said diagnostic. The double error is unfortunate, but I really don't see an alternative whose effort is worth it.
    • 56a0428 : Fix parsing new expressions using init lists. Probably still do the wrong thing in cases involving array new. Show that many cases using initializer list constructors work, in that they parse and pass semantic analysis.
    • 15d0ae1 : [analyzer] Malloc Checker: reduce false negatives rate by assuming that a pointer cannot escape through calls to system functions. Also, stop after reporting the first use-after-free.
    • 0860cd0 : [analyzer] Malloc Checker: Report a leak when we are returning freed memory. (As per one test case, the existing checker thought that this could cause a lot of false positives - not sure if that's valid, to be verified.)
    • da04677 : [analyzer] Malloc checker: Leak bugs should be suppressed by sinks. Resolves a common false positive, where we were reporting a leak inside asserts
    • 4fb5487 : [analyzer] MallocChecker: refactor/improve the symbol escape logic.
    • 8f1fed0 : objective-c translator. more modern abi stuff, focusing on ivar related meta-data.
    • f2e4dfc : Implement core issue 5: a temporary created for copy-initialization has a cv-unqualified type. This is essential in order to allow move-only objects of const-qualified types to be copy-initialized via a converting constructor.
    • 8327118 : Make sure to try instantiating a templated type which is used in an _Atomic before complaining that it's incomplete.
    • b141b28 : [analyzer] New checker for assignment of non-0/1 values to Boolean variables.
    • 9135930 : Implement warning for non-wide string literals with an unexpected encoding. Downgrade error for non-wide character literals with an unexpected encoding to a warning for compatibility with gcc and older versions of clang. rdar://problem/10837678.
    • d747efa : Begin refactoring to use the newly added triple predicates for simplicity. Also addresses a FIXME, although not one that could be observed.
    • cec5ebd : Basic support for referring to captured variables from lambdas. Some simple examples seem to work. Tests coming up soon.
    • 668165a : Make sure Sema creates a field for 'this' captures. (Doug, please double-check that this is correct.)
    • b70a3ba : [libclang] For a reference of an implicit template instantiation just give a reference for the instantiation decl. Also test that its location is correct after previous commit.
    • 734bd6e : For class template implicit instantiation, also update its location to point to the pattern template that it came from, otherwise we had this situation:
    • 41105ad : const-qualify CXXRecordDecl::getCaptureFields.
    • 8e9314f : Add simple semantic test for C++11 [expr.prim.lambda]p16, which covers recursive capture. This is far more interesting for IRgen.
    • f0459f8 : Implement C++11 [expr.lambda.prim]p13, which prohibits lambdas in default arguments if in fact those lambdas capture any entity.
    • a63b422 : objc translator: more modern metadata stuff.
    • b089c4d : Set UserLabelPrefix and MCountName correctly for DragonFly BSD. Patch by Sascha Wildner.
    • a73cdcb : Support all null pointer literals in format strings.
    • ae93295 : objctive-c translator: modern metadata for ivars. wip.
    • fc30829 : Have the driver pass CPU and target feature information to cc1as.
    • 911d717 : [libclang] Indexing API: fully index using decls and directives.
    • 6d96836 : [libclang] Indexing API: Fully index implict template instantiations.
    • 409e245 : Add ArrayRef goodness in MultiplexASTMutationListener.
    • 1da95db : Update MultiplexASTMutationListener with the missing methods from ASTMutationListener.
    • ad133ea : [libclang] Encode the template specialization parameters of a function specialization in its USR string.
    • e3d8e73 : Enhance checking for null format string literal to take into account __null. Fixes rdar://problem/8269537.
    • 3ac109c : Allow implicit capture of 'this' in a lambda even when the capture default is '=', and reword the warning about explicitly capturing 'this' in such lambdas to indicate that only explicit capture is banned.
    • 67b2c55 : Add test from [expr.prim.lambda]p12, which deals with odr-use and nested captures. We currently don't get odr-use correct in array bounds, so that bit is commented out while we sort out what we need to do.
    • b555971 : Don't introduce a lambda's operator() into the class until after we have finished parsing the body, so that name lookup will never find anything within the closure type. Then, add this operator() and the conversion function (if available) before completing the class.
    • d37b360 : PR11684, core issue 1417:
    • dcd2851 : Test cleanup: prefer static_assert to handmade alternative.
    • 1067d05 : Loosen the test from r150238 a bit to make some of our bots happy.
    • eefb3d5 : Track whether a function type has a trailing return type as type sugar. Use this to pretty-print such function types better, and to fix a case where we were not instantiating templates in lexical order. In passing, move the Variadic bit from Type's bitfields to FunctionProtoType to get the Type bitfields down to 32 bits. Also ensure that we always substitute the return type of a function when substituting explicitly-specified arguments, since that can cause us to bail out with a SFINAE error before we hit a hard error in parameter substitution.
    • 09aaaa4 : --lies.
    • 93e2fa4 : Add a lambda example from the working draft.
    • a6ce20e : Fix function prolog codegen whe coerce-to type is a struct.
    • 73d9092 : Add various tests for captures and the reaching scope of the lambda expression. Implement C++11 [expr.prim.lambda]p12's requirement that capturing a variable will odr-use it.
    • ef7d78b : Implement the conversion to a function pointer for lambda expressions, per C++ [expr.prim.lambda]p6.
    • 4d8d22b : Extend CXXRecordDecl with a function that determines the mapping from the variables captured by a lambda to the fields that store the captured values. To be used in IRgen.
    • 864b1cf : Update to new resolution for DR1458. When taking the address of an object of incomplete class type which has an overloaded operator&, it's now just unspecified whether the overloaded operator or the builtin is used.
    • b880609 : Remove stray semi-colon.
    • 0337241 : Move -Wswitch from -Wmost to -Wall, consitent with GCC.
    • d6cf912 : Revert r145999. This turned out to be a bad idea. Unfortunately, 'id' is used so profusely in many APIs and large codebases that this made the deprecated warning trigger happy to the point of not being useful.
    • 572ae0a : Make sure we convert struct layout pragmas to attributes for class templates the same way we do for non-template classes. rdar://problem/10791194.
    • f8b1c31 : [analyzer] MallocChecker: add a list of false positives based on running the checker over postgres and sqlite.
    • e9ef562 : [analyzer] MallocChecker Cleanup - harden against crashes, fix an error (use of return instead of continue), wording.
    • 42e9a35 : objc translator: mode modern abi stuff.
    • a4dc693 : Remove evil const_cast that's not needed anymore.
    • 3e78b19 : Switching to using dyn_cast_or_null, and fixing line endings in the test case.
    • 3964e62 : Use SmallVector when we can instead of std::vector.
    • 10520d7 : [analyzer] Proactively avoid inlining vararg functions and blocks until we properly support them.
    • bb3d14e : objc: If a method is not implemented in the category implementation but has been declared in its primary class, superclass, or in one of their protocols, no need to issue unimplemented method. // rdar://10823023
    • 7badd24 : Make sure a variable with a C++ direct initializer triggers jump scope checking. Fixes PR10620 / rdar://problem/9958362 .
    • 8f79e3f : examples/analyzer-plugin/: unbreak build
    • 3d9000d : cmake: create a relative symlink to clang, not absolute
    • a34e921 : Class objects passed by value follow the same rules as structure objects. Double fields of by-value class objects should be passed in floating point registers.
    • f94d392 : Kill the brief and full explanation fields from StaticDiagInfoRec. They were unused and wasted space for nothing.
    • da54ff3 : Fix bugs in function MipsABIInfo::returnAggregateInRegs. Functions returning class objects follow the same rules as those returning struct objects.
    • a0c2b21 : Don't allow deduction of a lambda result type from an initializer list; it is not an expression.
    • 8e4bc1e : [libclang] Add a libclang test I neglected to commit.
    • 91d521d : [PCH] Add a PCH test.
    • 8d9bd65 : Tests for C++ [expr.prim.lambda]p5. We already implement all of these semantics.
    • bf020bb : Getting Started: Add a missing "cd ../..".
    • e7d923d : Updated information on how to perform command line testing on Windows when built from MSVC.
    • 7fb4900 : Remove unused fun.
    • 54042f1 : Implement return type deduction for lambdas per C++11 [expr.prim.lambda]p4, including the current suggested resolution of core isue 975, which allows multiple return statements so long as the types match. ExtWarn when user code is actually making use of this extension.
    • 760b37b : Restore the appropriate lexical declaration context for a lambda's function call operator (to the lambda class). This allows us to IRgen calls to simple (non-capturing) lambdas, e.g.,
    • b326ca8 : Remove the "unsupported" error for lambda expressions. It's annoying, and rapidly becoming untrue.
    • 7e545d9 : Add a test for the non-aggregaticity of lambda types per C++11 [expr.prim.lambda].
    • e2c5913 : Implement C++ [expr.prim.lambda]p2, which bans lambda expressions in unevaluated operands. Be certain that we're marking everything referenced within a capture initializer as odr-used.
    • 621fc4b : [PCH] Add some comments, per Ted's request.
    • 44d2dbd : Fix ASTReader::FinishedDeserializing().
    • 3b8e197 : Don't cache the artificial type for the this pointer, there's no difference in the qual type. This is a workaround for the fact that the type isn't artificial but the this decl is, however, we don't have any way of representing it in the current metadata. For now, however, just don't cache the full type.
    • f8c17b7 : [analyzer] MallocChecker: address a diagnostic "fixme".
    • 30ecfad : DR1359: A constexpr constructor does not need to initialize an empty struct or empty union. This still rejects anonymous member structs or unions which only contain such empty class types, pending standard wording defining exactly what an empty class type is.
    • ff3b9fd : [analyzer] Add custom path diagnostic to the Malloc Checker.
    • cdfec5e : [analyzer] MallocChecker cleanup, more tests.
    • 53a8b97 : [PCH] Set the DeclContext before doing any deserialization, to make sure internal calls to Decl::getASTContext() by Decl's methods will find the TranslationUnitDecl without crashing due to a parent declaration context still deserializing.
    • b9da557 : Correct comment Clang C++ use in production.
    • f8823e7 : Use RAII object for cleanups.
    • 4c5d8af : Refactor lambda IRGen so AggExprEmitter::VisitLambdaExpr does the right thing.
    • b4e5e28 : CWG issue 1405: mutable members are allowed in literal types, but can't undergo lvalue-to-rvalue conversions in constant expressions.
    • 0ca7e8b : Attempting to initialize a union member that does not exist no longer crashes.
    • c6a6369 : Basic IRGen for LambdaExprs with captures.
    • b30be29 : A tiny bit more lambda IRGen.
    • cdd1c2e : Fix a typo in the LambdaExpr class.
    • 18fe084 : Implement capture-by-copy for arrays in lambdas.
    • 4bbb850 : [PCH] Avoid using Decl::setAttrs() and Decl::setLexicalDeclContext() from the ASTReaderDecl directly; they internally call Decl::getASTContext() which may crash if a declaration context parent is still deserializing.
    • 5e058eb : Don't complain about the lack of a constructor for a lambda expression. They are constructed in different ways
    • 20f87a4 : When we create a non-static data member in the closure object for a capture, make sure we actually add the field.
    • 1f9a5db : Factor the logic for capturing variables in a lambda into its own function; it's going to get longer soon. No functionality change.
    • 630d5ff : Along the error path for lambdas, mark the lambda class as invalid and finalize it
    • dcffcbf : Fix yet one more test
    • 2c0bf24 : Adding support for warning when a non-C compatible user-defined type is returned from an extern "C" function.
    • 7f99f43 : Fix tests for r150123
    • 503384f : Various interrelated cleanups for lambdas: - Complete the lambda class when we finish the lambda expression (previously, it was left in the "being completed" state) - Actually return the LambdaExpr object and bind to the resulting temporary when needed. - Detect when cleanups are needed while capturing a variable into a lambda (e.g., due to default arguments in the copy constructor), and make sure those cleanups apply for the whole of the lambda expression.
    • 91c2a11 : [analyzer] MallocChecker: implement pessimistic version of the checker, which allows values to escape through unknown calls.
    • 231361a : [analyzer] Split the MallocChecker into two versions - pessimistic and optimistic.
    • af84f8f : Remove explicit delete of PathDiagnosticMacroPiece, as it is now reference counted.
    • e0adbd8 : last piece of metadata to complete modern metadata for protocol definitions.
    • 6d2f0f5 : Minor comment fix
    • e2a7ad0 : Factor C++11 lambda expressions implementation into a separate file. No functionality change.
    • 1e3767a : When computing the type of a local variable reference within a lambda, only add 'const' for variables captured by copy in potentially evaluated expressions of non-mutable lambdas. (The "by copy" part was missing).
    • 76e3da5 : When completing a lambda expression, make sure to check and attach the body of the lambda to the function call operator.
    • b319e02 : [analyzer] MallocChecker: convert from using evalCall to post visit of CallExpr.
    • da9624a : More rewriting of objective-c moderin abi metadata. All protocol related metadata is close to completion.
    • 66b0eba : Fixing hex floating literal support so that it handles 0x.2p2 properly.
    • af2771b : CodeGen: Move EHPersonality from CGException.h into the cpp file, it has no other users.
    • 2fd5983 : Implement DR1458: Taking the address of an object of incomplete class type is not a constant expression, because we can't tell whether the complete class type will have an overloaded operator&.
    • cfa8e65 : Remove vperm2f* and vperm2i builtins. Same effect can be achieved with builtin_shufflevector.
    • 3f83d0d : Add more testing for r149776.
    • 925d8e7 : Implement the agreed resolution to DR1457: a signed left shift of a 1 bit into the sign bit doesn't have undefined behavior, but a signed left shift of a 1 bit out of the sign bit still does. As promised to Howard :)
    • 31a3702 : A little bit of lambda IRGen.
    • 10c57a8 : Remove vpermilp* builtins. Same effect can be achieved with builtin_shufflevector.
    • 1a2b8e2 : Move -Wcovered-switch-default out of -Wswitch (and -Wall), and make it an opt-in warning.
    • 802e024 : Change PathDiagnosticPieces to be reference counted (simplifying their management), and introduce 'PathPieces' as a common container for PathDiagnosticPieces.
    • eb2303c : Refactor pieces of PathDiagnostic into its own data structure. No functionality change.
    • 59a839c : Make sure template argument deduction is consistently performed in an unevaluated context.
    • 7b318d1 : [libclang] Indexing: When suppressing references, suppress references of bases in C++ classes. rdar://10768707
    • 9caf440 : Constify the getClassName routine and variables that come out of it, and then use it for forward decl names.
    • 526cdfb : Do not return records with non trivial destructors or copy constructors in registers.
    • 46e7547 : [libclang] For CXXOperatorCallExprs, give a valid source location to the DeclRefExpr that is referencing the member function, so we can index the referenced function.
    • 82848c2 : modern objc rewriter: mode metadata stuff. wip.
    • d85bf9d : Only complain about __strong __strong id, not __strong SomeStrongTypedef or __strong __typeof__(some.strong.thing).
    • 200fa53 : Revise the SplitQualType interface to make it its own thing instead of a typedef of std::pair. This slightly improves type-safety, but mostly makes code using it clearer to read as well as making it possible to add methods to the type.
    • 531b1a9 : Whitespace.
    • 2f764a9 : Use the new forward declaration scheme for records. Also add more caching of results after we create them.
    • 53bc518 : Remove tabs.
    • fd5a5f5 : If a struct needs to be laid out, and it has not been completed yet, then complete it if possible. This fixes some assertion failures encountered by LLDB.
    • da35eac : modern objc abi rewriter: mode protocol metadata for modern objc abi.
    • dfaee49 : Fix indentation and an 80-column violation.
    • 2837a2f : non-literal strftime format string is not unsafe.
    • d089008 : [libclang] Do not index implicit C++ member functions. rdar://10769813
    • d7a3e2c : Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line.
    • 77e4bca : objc rewriter: modern metadata for protocol decls. wip.
    • 3f22509 : In r149662, setDiagnosticMapping was modified to not allow warnings mapped to MAP_ERROR to be remapped to MAP_WARNING. These new APIs are being added to allow the diagnostic mapping's "no Werror" bit to be set, and potentially downgrade anything already mapped to be a warning.
    • 6bd17d2 : Make use of const-correct ParseCommandLineOptions
    • 52aabaf : Implements support of format_arg attribute on C++ member.
    • 7fb8630 : Remove tabs.
    • 693fcaa : Emit debug info for properites that are not backed by an ivar.
    • 64cb63a : objc rewriter: start supporting modern objective-c abi in objective-c rewriter. wip.
    • 849639d : Make parsing of objc @implementations more robust.
    • b534a9e : Hex literals without a significand no longer crash the lexer. Fixes bug 7910
    • a59d20b : Print NamedDecls directly to a raw_ostream where possible.
    • f978059 : Switch the ObjC*Decl raw_stream overloads to take a reference, for consistency with NamedDecls.
    • 01d0801 : Introduce basic ASTs for lambda expressions. This covers: - Capturing variables by-reference and by-copy within a lambda - The representation of lambda captures - The creation of the non-static data members in the lambda class that store the captured variables - The initialization of the non-static data members from the captured variables - Pretty-printing lambda expressions
    • 1e01ac4 : Use SmallVector instead of std::vector.
    • bb02855 : Use 'ArrayRef' instead of 'std::vector&' for passed-in arguments.
    • 13562a1 : Calculate the .size() of the vector once.
    • 9085030 : Reserve a moderate amount of space for the back-end arguments.
    • 11e70d7 : Fix a bug in semantic analysis involving anonymous structs and flexible arrays.
    • 04ca252 : Fix a couple of nasty bugs involving negative enum constants. rdar://problem/10760113.
    • 2ea020c : Update test case.
    • a3b9fa2 : Make FunctionDecl::doesDeclarationForceExternallyVisibleDefinition use the same logic as FunctionDecl::isInlineDefinitionExternallyVisible to figure out whether to emit a definition. Based on work by Anton Yartsev.
    • a6215b9 : Create PathDiagnosticCallEnter and PathDiagnosticCallExit, to remark calls in PathDiagnostics from other events. This will have potential uses later.
    • 5de4fdb : Tweak BugReporter extensive diagnostics to not add edges between function calls.
    • b9201d2 : Quote name of function in path diagnostics.
    • bb3d997 : Remove the unused TypoCorrectionConsumer::MaxEditDistance.
    • 2872c8d : Filter a few more options not recognized by gcc. rdar://problem/10814020
    • 88ce85f : Add C11 FLT_TRUE_MIN and friends. rdar://problem/10812837.
    • 5730076 : [analyzer] Allow each CString check to be enabled/disabled separately.
    • cf6511b : Bump up the initial vector size to avoid having to grow the vector more often.
    • 8b41868 : simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule.
    • e91e0ae : tidy up code, make the common case (1-byte strings) come first
    • 0cf3d47 : Add basic BugReporter support for CallEnter/CallExit. WIP.
    • 0a29422 : Misc improvements to the diagnostic when a variable is odr-used in a context that is not allowed to capture variables.
    • f9ea953 : Use a more efficient container for these values. Also reserve space when using a std::vector.
    • 35f18a5 : Use a SmallVector instead of std::vector. This improves compilation time in 445.gobmk by ~1.7%.
    • fd3e5ef : Don't recalculate the size of the array each time through the for-loop.
    • e97c58d : Minor comment clarification.
    • 56ff283 : Fix a minor regression from my potentially-evaluated expression changes.
    • 362ed2a : Relax valid location check. This fixes a clang crash while emitting debug info for properties that are synthesized by the compiler by default.
    • d79ed43 : build wide strings with ConstantDataArray, just because we can.
    • 812234b : improve the code that handles IR generation of byte-sized string literals to avoid allocating an std::string.
    • 66581d4 : Added source location for the template keyword in DependentTemplateSpecializationTypeLoc nodes (DTSTLoc).
    • 0b23971 : use cheaper llvm APIs for various bits of IR generation.
    • 6ef016f : simplify code and smallvectorize.
    • 5b6a3dd : Canonicalize the base class used in the nested-name-specifier of a generated assignment operator.
    • 210386e : Fix the result of VarDecl::checkInitIsICE so it is consistently accurate in C++11 mode. PR11928.
    • b4a3ef7 : Tweak format string checking to work with %@ and ObjC toll-free bridging. rdar://problem/10814120
    • fd8fed9 : Added MSVC visualizers for PointerIntPair and PointerUnions.
    • b822f72 : Rewrite the debug action handling to take -verify into account. Add a quiet option for dwarfdump and move it out of NDEBUG only. Still requires an option as we don't want this on by default.
    • 1c79dc4 : Update the command line here and update the comment, we're just going to leave this as a debug only option for now.
    • 38a4291 : Removed redundant location info from ElaboratedTypeLoc / DependentNameLoc / DependentTSTLoc. Uniformed names referencing elaborated keyword. No intended functionality changes.
    • b918d6b : objc: fixes a problem in block type comparison involving enums with underlying type explicitly specified (feature which is on by default in objective-c). // rdar://10798770
    • 5f3c7fa : Let an ivar directly refer property TAG.
    • afe55fb : - Turn the other distribution checks into range compares. - Turn openSUSE version parsing into a StringSwitch - Add an entry for Fedora release 16 (Verne)
    • 55d23c9 : Added location for template keyword in TemplateSpecializationTypeLoc. In the process removed some naming ambiguities.
    • 668ecd9 : Consolidate the ubuntu detection logic a bit, add an entry for Ubuntu 12.04 aka precise pangolin.
    • 9d9922a : Fixed instantiation of DependentScopeDeclRefExpr.
    • 5bbc385 : Move instantiateTemplateAttribute into the sema namespace, make helpers static.
    • 4cf96bb : Test for r149855.
    • 5fa5608 : Fix vector splat casts to cast element to the appropriate vector element before inserting into the vector. Fixes PR11930.
    • 41576d4 : Implement name mangling for scalar value initialization. Reported on IRC by Xeo.
    • e6cc51d : Invalid O levels on the command line no longer have a confusing error.
    • 96ad633 : [clang.py] Implement Type.is_pod
    • 2d10680 : [clang.py] Change type - Type
    • eb9ff2e : [clang.py] Implement Cursor.enum_type
    • 28d939f : [clang.py] Implement Cursor.underlying_typedef_type
    • 250d217 : [clang.py] add TypeKind.VECTOR
    • eb13634 : [clang.py] Add CursorKind.{is_translation_unit, is_preprocessing, is_unexposed}
    • 64e7bdc : [clang.py] Implement Cursor.hash
    • ea40382 : [clang.py] Expose diagnostic category and option info to Python binding
    • 7485833 : [clang.py] Implement __eq__ and __ne__ on SourceLocation and SourceRange
    • b919815 : Fix a typo (builting - builtin).
    • 6496bd1 : Move operator overload out of line. Calling operator on a forward declared type doesn't seem to work on MSVC.
    • b11a7fd : Fixing a warning in MSVC (this is also a test commit)
    • d79093a : constexpr: Implement DR1358: An instantiation of a constexpr function which can't produce a constant expression is not ill-formed (so long as some instantiation of that function can produce a constant expression).
    • 9401069 : reapply the patches reverted in r149477, which enable ConstantDataArray.
    • f7ccbad : Basic: import SmallString into clang namespace
    • 6f42b62 : Basic: import OwningPtr into clang namespace
    • 7af19b8 : Try to fix Benjamin's r149781 on MSVC.
    • 9ec7197 : constexpr: Fix implementation of DR1311: check for volatile qualifiers in lvalue-to-rvalue conversions on the source type of the conversion, not the target type (which has them removed for non-class types).
    • eac1f67 : Preserve alignment for Neon vld1_lane/dup and vst1_lane intrinsics.
    • a3cb144 : Skip freebsd driver test when ppc32/ppc64 targets are not configured.
    • 6cd03db : A useful approximation of initializer list constructors.
    • 96715b2 : Factor out the actual overload resolution from TryConstructorInitialization, since it needs to be used again for list constructor resolution.
    • 08ae369 : Don't unwrap initializer lists before calling TryConstructorInitialization, instead doing a little more work inside. This should make finding initializer list constructors easier, as well as fix one place where the ({}) vs {} issue was probably poorly handled.
    • a4e6453 : Remove an unused and unimplemented function prototype.
    • 9e0393d : Also, these objc++ rewriter tests are meant to run in NeXt's fragile-abi mode.
    • dcc8e3f : These tests are intended to run in NeXt's legacy objective-c abi (fragile-abi). Make this explicit since default is now nonfragile-abi.
    • 90feede : Some compilers do require Diagnostic.h to be present here.
    • 2e033a7 : Don't include Diagnostics.h twice when it's required zero times.
    • 8fe83e1 : Move a method from IdentifierTable.h out of line and remove the SmallString include.
    • fdd1560 : Remove Diagnostic.h include from Preprocessor.h.
    • 00bd44d : Move various diagnostic operator overloads out of line and remove includes of Diagnostic.h.
    • ef9b60f : Move Storage and StorageAllocator out of the PartialDiagnostic class so we can forward declare them.
    • c6c090d : StaticAnalyzer: Remove FixIts from PathDiagnosticPieces.
    • 282e7e6 : In C++11 mode, when an integral constant expression is desired and we have a value of class type, look for a unique conversion operator converting to integral or unscoped enumeration type and use that. Implements [expr.const]p5.
    • f39aec1 : Don't allow a value of a scoped enumeration to be used as the first bound for an array new expression. This lays some groundwork for the implicit conversion to integral or unscoped enumeration which C++11 ICEs undergo.
    • e59ec3d : [analyzer] Make sure Containers OutOfBounds checker does not crash on undefined arguments, when CF functions are called with wrong number of arguments.
    • a506586 : Disallow constexpr main.
    • 0b458fd : Fix a rejects-valid in C++11: array new of a negative size, or overflowing array new, is well-formed with defined semantics of throwing (a type which can be caught by a handler for) std::bad_array_new_length, unlike in C++98 where it is somewhere nebulous between undefined behavior and ill-formed.
    • 5b66405 : Unbreak failing test added in r149738.
    • 9ec9ce1 : ArrayRef goodness in MultiplexConsumer, no functionality change.
    • 272afe4 : Remove unused field from FixItRecompile.
    • 507a8a3 : Don't warn on use of default allocator with an over-aligned type when the allocator is given the pointer to allocate into.
    • e839806 : Fix ASTMerge tests that I broke in my previous commit.
    • 893242f : autoconf: update config header
    • 52a3888 : [analyzer] Turn on by default two checkers: - osx.coreFoundation.containers.IndexOutOfBounds - osx.cocoa.SelfInit
    • 4f502fb : [analyzer] fixup to the previous commit.
    • 1efcc42 : [analyzer] Minor cleanups to the ObjCSelfInitChecker. (Also renames in other ObjC checkers to create one category of checks.)
    • 1c59408 : Fixed some testsuite problems introduced by my last commit. Sorry for the outage.
    • 279114c : Comment mystery code.
    • 1206f73 : Revert r149721. chapuni tells me akyrtzi already fixed the test by adding a triple, and the typedef makes things worse on windows.
    • b3ca263 : Use variable in place of multiple CI.getFrontendOpts() calls and use a bit of ArrayRef goodness. No functionality change.
    • 1a0d92f : New test case.
    • 50a9a12 : Clang has existing support for debuggers that want to provide "po"-like functionality which treats the result of an expression implicitly as "id" (if it is not otherwise known) and prints it as an Objective-C object.
    • 693a70d : Create new tag for the property. This is a work in progress.
    • 1836db0 : [libclang] Stick to the silly notion that a forward class/protocol declaration is a reference. rdar://10749990
    • 0cc5d40 : Suppress the used-but-not-defined warning for static data members while I look into a rather nasty bug in the new odr-use marking code.
    • 5ba73e1 : constexpr: The recent support for potential constant expressions exposed a bug in the implementation of libstdc++4.6, where numeric_limitsint::min() is defined as (int)1 31, which isn't a constant expression. Disable the 'constexpr function never produces a constant expression' error inside system headers to compensate.
    • c08c88c : Update tests so that they don't rely upon LLVMDebugVersion number.
    • f42f85c : Make _mm_cmpgt_epi8 immute to -funsigned-char.
    • 798d14f : Try to get test passing on windows.
    • cefc7b2 : Make explicit captures which cause implicit captures work correctly.
    • b942cb2 : Implement implicit capture for lambda expressions.
    • 285c607 : Make sure that the layout-override parser grabs the size, not the data size. Otherwise, we can end up with bogus layouts.
    • b70126a : When a pack expansion occurs in the template argument list of an alias template without a corresponding parameter pack, don't immediately substitute the alias template. This is under discussion in the C++ committee, and may become ill-formed, but for now we match GCC.
    • 23a4ddf : Add a triple to test/SemaObjC/format-strings-objc.m to make it pass in windows hosts.
    • acbabf1 : Don't warn about anonymous struct/union in C11.
    • 8fbbae5 : Implement support for a pack expansion into a fixed-length template. Such pack expansions can easily fail at template instantiation time, if the expanded parameter packs are of the wrong length. Fixes rdar://problem/10040867, PR9021, and the example that came up today at Going Native.
    • 09e9cf0 : [analyzer] Testing: add automated reference results reset.
    • 71fd6cc : Fix -ftrap-function fallout from llvm r145714. rdar://problem/10799325
    • a83f4d2 : Change Lexer::makeFileCharRange() to have it accept a CharSourceRange instead of a SourceRange, and handle the case where the range is a char (not token) range.
    • cbf46a0 : Change the fixed array of FixitHints to a SmallVector to lift off the limit on the number of fixits.
    • 8deabc1 : Move isSentinelNullExpr() from Sema to ASTContext to make it more widely available.
    • d603bd1 : Further downgrade -Warc-bridge-casts-disallowed-in-nonarc to a warning (not mapped to an error). We can consider mapping it back to an error later.
    • 2e51562 : Thread safety analysis: * When we detect that a CFG block has inconsistent lock sets, point the diagnostic at the location where we found the inconsistency, and point a note at somewhere the inconsistently-locked mutex was locked. * Fix the wording of the normal (non-loop, non-end-of-function) case of this diagnostic to not suggest that the mutex is going out of scope. * Fix the diagnostic emission code to keep a warning and its note together when sorting the diagnostics into source location order.
    • aacde71 : Thread safety analysis: at a CFG join point between a block terminating in a 'continue' and another block, prefer the lockset from the other block, and diagnose the 'continue' block as being the end of a loop.
    • 41f4431 : C++ 5.2.10p2 has a note that mentions that, subject to all other restrictions, a cast to the same type is allowed so long as it does not cast away constness.
    • 3c0e80e : Refactor capture in blocks to use new-style capture hooks. Start adding a bit of the code for lambdas. The only visible changes are that we use the C++11 odr-used rules to figure out when a variable is captured, and type-checking in lambdas is slightly more accurate.
    • 7a0a31c : [frontend] Don't allow a mapping to a warning override an error/fatal mapping. rdar://10736625
    • d67d0cc : Note whether a lambda is mutable in the LambdaScopeInfo; this information will be necessary to handle references to captured variables.
    • 0507280 : Make error about using bridge casts in non-ARC mode a warning that is default mapped to an error. This is to ease the transition of large apps moving from non-ARC to ARC.
    • afdb041 : Do not show macro expansion in strncat warnings, which can be defined as a builtin.
    • 4cc9b10 : objc: Issue diagnostic when receiver type is a forward class declaration and it is treated as of 'id' type resulting in multiple method lookup. // rdar://10686120
    • 353300c : Replace the old --with-cxx-* configure options with a single --with-gcc-toolchain that just uses the new toolchain probing logic. This fixes linking with -m32 on 64 bit systems (the /32 dir was not being added to the search).
    • 773303a : Rename -dependency-graphviz to -dependencncy-dot
    • d2cce13 : Add some code to accurately perform odr-used marking for variables per the C++11 rules.
    • ad7eff2 : Further enhance comment for property in continuation class.
    • 245da28 : unnecessary include of TargetMachine.h?
    • 83db10e : Initialize the user defined conversion function to null if this is an aggregate initialization from an initializer list.
    • 59c9c72 : Use -isystem rather than relying on -isysroot to work consistently
    • ff2a0ec : objc: comment the code which allows narroing of property object type in continuation class.
    • 0d3b87c : Yet more data from failing buildbots...
    • e235183 : objective-c: When redeclaraing in continuation class a 'readonly' property to 'readwrite', also allow redeclaration of property type to a narrowring object type. // rdar://10790488
    • ee21277 : Drop -verify to get better diagnostics from failing buildbots. Plus, we don't need it here
    • 2f04f18 : Back out my heinous hack that tricked the module generation mechanism into using non-absolute system includes (foo)...
    • 4f7dcdb : Pacify gcc's -Wreturn-type
    • 6a9a6d2 : Pass the SourceMgr to the MCContext for cc1as.
    • 89651ea : Move the code that sets the AddressSafety attribute into CodeGenModule::SetLLVMFunctionAttributesForDefinition().
    • 3a5aca8 : r149587 reverted
    • 13f9f2f : Fix for PR10657 (http://llvm.org/bugs/show_bug.cgi?id=10657) extern inline case considered
    • 5f2987c : Split Sema::MarkDeclarationReferenced into multiple functions; the additional entry points are needed to implement C++11 odr-use marking correctly. No functional change in this patch; I'll actually make the change which fixes the odr-use marking in a followup patch.
    • f196a90 : [analyzer] Fix a false positive in the CFArrayCreate check that surfaces the the code like this (due to x and &x being the same value but different size):
    • f15fda0 : constexpr: * support the gcc __builtin_constant_p() ? ... : ... folding hack in C++11 * check for unspecified values in pointer comparisons and pointer subtractions
    • c69a181 : Introduce a -cc1 option "-dependency-graphviz" that determines header dependencies and outputs them in GraphViz format.
    • c645ddf : objc: don't crash if primary class is missing and continuation class is declaring ivars. // rdar://10752081
    • 34ff062 : Change the check for constant-conversion with width-1 bitfields so it doesn't suppress quite as many cases. Based off a testcase in the gcc testsuite.
    • f2462be : back out r149504
    • 34a2c42 : Per discussion on cfe-dev, remove '#error' and '#warning' from diagnostic text.
    • f83a615 : objc2: add __has_feature(objc_default_synthesize_properties). // rdar://10770497
    • 271ce54 : r149474 went a bit too far when combined with type caching. If we want a full type go ahead and emit it if we currently only have a forward declaration.
    • 20039ae : Reject mismatched "#pragma GCC visibility push" and "#pragma GCC visibility pop".
    • 52b6236 : Look for declaration of CFBridgingRetain/CFBridgingRetain before changing the diagnostic. Also use correct spelling for both.
    • 873488a : make: fix installation of generated header files
    • eafa50b : cmake: don't install config.h (v2)
    • ef81e0f : Remove duplicated comment.
    • af79088 : Fix comment.
    • 3f405d3 : cmake: revert r149496
    • ac32ff9 : Make sure that imported definitions get completed before we add anything into the corresponding DeclContext. Co-hacked with Sean; fixes rdar://problem/10768928.
    • 5b41936 : libclang: Mark clang_Cursor_isNull with CINDEX_LINKAGE to make it available on windows.
    • 7f3a458 : [libclang] Make sure we don't ever leave a StoredDiagnostic associated with a SourceManager that has already been deleted, rdar://10768346.
    • a28c1df : Add missing dependency to unbreak the CMake build
    • dccaa23 : size() == 0 - empty().
    • 84aac9a : [analyzer] Fix a crash in CheckerContext::isCLibraryFunction for C++ declarations with special names.
    • c36bedc : Add a new compiler warning, which flags anti-patterns used as the size argument in strncat.
    • b710dfe : Diagnose the restriction on default arguments in C++11 [expr.prim.lambda]p5.
    • a1f2114 : Introduce the lambda scope before determining explicit captures, which cleans up and improves a few things: - We get rid of the ugly dance of computing all of the captures in data structures that clone those of CapturingScopeInfo, centralizing the logic for accessing/updating these data structures - We re-use the existing capture logic for 'this', which actually works now.
    • ac4e5b7 : [analyzer] Testing: add 2 new checkers to the buildbot script.
    • 93b7750 : test/Driver/target.c: Relax expression for "gcc.exe" on win32.
    • 69d3b4f : include clang's config.h unconditionally
    • 9dc01f5 : test/Modules/compiler_builtins.m: Appease Cygwin to add -D__need_wint_t.
    • 8c8840d : test/Modules/compiler_builtins.m: Mark this as XFAIL:win32. MS limits.h provides size_t.
    • 04f7a88 : autoconf: add private config.h to clang
    • f9b6e97 : cmake: don't install config.h
    • 36579d4 : Frontend: fix comment typos
    • 15efc4d : constexpr: check for overflow in pointer subtraction.
    • ab14ae2 : Compatability fix for SwitchInst refactoring.
    • 5d3a4bb : Revert r149363 which was part a series of commits that were reverted in llvm commit 149470. This fixes test/CodeGen/PR3589-freestanding-libcalls.c.
    • c221411 : Remove redundant checks in CXXRecordDecl::isCLike(), as suggested by Sebastian.
    • 0086a5b : For pass-by-value record arguments to functions emit a forward decl instead of the entire class definition.
    • 7b48a29 : constexpr: overflow checking for integral and floating-point arithmetic.
    • b223d8c : When providing code completions for a switch over a scoped enumeration type, be sure to add the qualifier for the enumeration type.
    • 8398cbf : constexpr: Unlike other incomplete types, 'void' cannot possibly be completed as a literal type. Disallow it as the return type of a constexpr function declaration.
    • b04035a : constexpr: require 'this' to point to an object in a constexpr method call.
    • b02e462 : constexpr: add support for comparisons of pointer-to-members.
    • 93962e5 : Improve checking of explicit captures in a C++11 lambda expression: - Actually building the var - capture mapping properly (there was an off-by-one error) - Keeping track of the source location of each capture - Minor QoI improvements, e.g, highlighing the prior capture if there are multiple captures, pointing at the variable declaration we found if we reject it.
    • ee625af : Fix crash on invalid in microsoft anonymous struct extension.
    • fe9b559 : Diagnose attempts to explicitly capture a __block variable in a lambda.
    • 48b68a0 : Use the new Triple::getMacOSXVersion function in another place.
    • 8f1e656 : Fix an assertion failure in isMacOSXVersionLT for IOS targets.
    • 16e46dd : Make the callback object to Sema::CorrectTypo mandatory.
    • 4ac3809 : Extend for-range temporary cleanups codegen test to catch the bug which Eli fixed in r149440.
    • 7eb82f0 : objc-arc: In various diagnostics mention CFBridgingRetain/CFBridgingRelease calls instead of __bridge_retained/__bridge_transfer casts as preferred way of moving cf objects to arc land. // rdar://10207950
    • 3df6130 : constexpr: Treat INT_MIN % -1 as undefined behavior in C++11. Technically, it isn't, but this is just a (reported) defect in the wording.
    • d29975f : Make sure we call MaybeCreateExprWithCleanups for the sub-expression of an indirect goto.
    • c6c14e5 : A couple minor fixes to template instantiation for for-range loops.
    • 4c5ffb3 : Use new Triple::getMacOSXVersion function.
    • 9c7aed3 : arc migrator: twik previous patch to exclude user provided explicit type cast. // rdar://10521744
    • 2908ffb : arc migrator: Do not attempt to migrate to bridge casts which cancel out each other. Leave it alone so users can take a look (unmigrated code forces error diagnostic). // rdar://10521744
    • eb7b9eb : Split compiler builtin module into "stdlib" builtins and "intrinsic" builds, and bring mm_alloc.h into the fold. Start playing some tricks with these builtin modules to mirror the include_next tricks that the headers already perform.
    • 200abfb : Remove extraneous whitespace.
    • 1085377 : Fix more fallout from the introduction of "macosx" and "ios" triples.
    • e00575f : [analyzer] Add checks for common anti-patterns in strncat. (Since this is syntax only, might be a good candidate for turning into a compiler warning.)
    • 393b979 : [analyzer] Change the warning to suggest 'strlcat/strlcpy' as replacements for 'starcat/strcpy' instead of 'strncat/strncpy'.
    • 588e83b : Fix 80-column violation.
    • 289e31f : Revert r149359. This was a hack to a problem with an easy workaround, and it doesn't feel like general solution.
    • 56e68b7 : Pacify gcc's -Wreturn-type.
    • 29254f4 : Support @compatibility_alias at run time (GNUstep Runtime)
    • 2831092 : fix a crash on:
    • 220947b : FormatCheckers should emit all diagnostics using EmitFormatDiagnostic().
    • 7da1f46 : Format string warnings: don't a.k.a. wchar_t with wchar_t.
    • 54a7e3f : [CFG] Removed unused local variable.
    • 003eff6 : Don't zero terminate the bitmap twice.
    • 82f2858 : constexpr: the result of a relational operator between pointers to void is unspecified unless the pointers are equal; therefore, such a comparison is not a constant expression unless the pointers are equal.
    • ff8f9ec : ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead.
    • fdba182 : Don't warn about -Wshorten-64-to-32 in unreachable code. Fixes rdar://problem/10759934. Apparently this is a common idiom in Linux (among other places).
    • 0692a19 : Make a bunch of local functions 'static'.
    • f492cb1 : enhance some optimization logic to handle ConstantDataSequential as well as ConstantArray.
    • 789f9b6 : constexpr: catch a collection of integral undefined behaviors: -INT_MIN and INT_MIN / -1 Shift by a negative or too large quantity Left shift of negative value Overflow in left shift
    • a5888f6 : Reapply r149311 which I reverted by mistake.
    • 1d16f0f : Revert r149083 which is not the direction we're going in the Clang driver based on discussions with Doug Gregor. There are several issues: 1) The patch was not reviewed prior to commit and there were review comments. 2) The design of the functionality (triple-prefixed tool invocation) isn't the design we want for Clang going forward: it focuses on the "user triple" rather than on the "toolchain triple", and forces that bit of state into the API of every single toolchain instead of handling it automatically in the common base classes. 3) The tests provided are not stable. They fail on a few Linux variants (Gentoo among them) and on mingw32 and some other environments.
    • b9b0f6f : Revert r149311 which failed to compile.
    • 6e1d2ea : Fix "long double" and __SIZE_TYPE__ on powerpc, now with test fix.
    • 395f1c0 : constexpr: remove integral conversion overflow checking introduced in r149286. As Eli points out, this is implementation-defined, and the way we define it makes this fine.
    • 339b907 : Let %S, %ls, %C match 16bit types in NSStrings.
    • c9674be : Clean up switch in Expr::CanThrow. No functional change.
    • 841c96a : Minor refactor within ExplodedGraph::reclaimRecentlyAllocatedNodes(). No functionality change.
    • be4dc94 : Convert checker over to using ProgramStateRef.
    • f20f46c : fix test.
    • 72e9306 : Convert ProgramStateRef to a smart pointer for managing the reference counts of ProgramStates. This leads to a slight memory improvement, and a simplification of the logic for managing ProgramState objects.
    • 23111dc : Convert more uses of 'const ProgramState *' to 'ProgramStateRef' (and related cleanups).
    • 3128fa1 : Revert r149285, it breaks test/Preprocessor/init.c.
    • 3c52d36 : test for a v-table dispatch that consumes an argument. twik to support the test case. // rdar://10444476
    • f72fccf : constexpr: disallow signed integer overflow in integral conversions in constant expressions in C++11.
    • acd8c51 : Fix "long double" and __SIZE_TYPE__ on powerpc.
    • 8f7d64b : Remove tgmath.h from the module map for now, because it currently causes a cyclic module dependency due to its inclusion of math.h and complex.h. I'll take another shot at it later.
    • 3c267e6 : objc-arc: Perform null check on receiver before sending methods which consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. In this patch, the null path releases consumed argument. // rdar://10444474
    • 7fc8003 : [analyzer] Rename the checker as per Ted's comment. Remove the reference from the driver.
    • ce3aa39 : Disable "non literal format string" for NSString that result from a macro expansion. This is to prevent diagnostic when using NSLocalizedString or CFCopyLocalizedString macros which are usually used in place of NS and CF strings literals.
    • 304e6f1 : [analyzer] Make osx.cocos.CFContainersSyntax a default checker.
    • ba0e318 : Fix typo spotted by Sebastian. Thanks!
    • 0c8731a : Per discussion on cxx-abi-dev, don't drop leading zeroes from the mangling of floating-point literals. I just went ahead and reimplemented toString() here; if someone wants to generalize the library routine to do this, or feels strongly that we should be post-processing, please feel free.
    • 013b366 : SmallBitVectorize the deduced parameter set.
    • e29cdeb : Fix yet another issue introduced when renaming '-ccc-host-triple' to '-target'. The original flag was part of a flag group that marked it as driver-only. The new flag didn't ever get equivalent treatment. This caused the '-target' flag to get passed down to any raw GCC invocation. Marking it as a driver option fixes this and PR11875.
    • 30c5f14 : Remove long dead code for handling vector shift by immediate builtins.
    • 34269df : Update on format attribute handling. - Remove the printf0 special handling as we treat it as printf anyway. - Perform basic checks (non-literal, empty) for all formats and not only printf/scanf.
    • 79a64c7 : Remove custom handling for cmpsd/cmpss/cmppd/cmpps builtins. The builtins are now in IntrinsicsX86.td.
    • f8495d6 : Cleanup 3dnow builtin handling. Most of them were already handled by LLVM connecting intrinsics and builtins in IntrinsicsX86.td.
    • af5f550 : [analyzer] Add index out of bounds check for CFArrayGetArrayAtIndex.
    • e727d21 : Introduce TargetInfo::hasFeature() to query various feature names in each of the targets. Use this for module requirements, so that we can pin the availability of certain modules to certain target features, e.g., provide a module for xmmintrin.h only when SSE support is available.
    • 89f4283 : Simplify code by using the new getAggregateElement method that got added recently. This also conveniently gets clang ready for a change about to land in mainline.
    • dc58aa7 : Thread a TargetInfo through to the module map; we'll need it for target-specific module requirements.
    • add5adb : CMake: Promote the testing targets out of folders on IDE.
    • ebb1004 : Just disable the compiler-builtins module test on MSVC for now
    • 8101c7f : Teach tgmath.h to only include complex.h if it's available.
    • 0fcba56 : Try to get useful diagnostics out of the failing MSVC builders
    • e5c9e09 : Alternate fix to the modules failures that doesn't require us to tweak tgmath.h
    • 5ad2649 : If there's no math.h, then tgmath.h should just be empty
    • fe225e4 : Temporary disable the -verify on this test in the hope of getting some useful output from the buildbots
    • 3e80d8a : Introduce a module map for (some of) the compiler-supplied headers. The remaining headers require more sophisticated requirements; they'll be handled separately. Part of rdar://problem/10710060.
    • 4e1524b : revert r149184
    • 52f1272 : Switch over to LLVM's file-level locking facility
    • c6d626b : Update line numbers. Sigh
    • a007431 : Also require a proper shell
    • 85ae12d : Ensure that we clean up after a failed module build and cope with the results in libclang.
    • c5b2e58 : Implement code completion support for module import declarations, e.g.,
    • e434ec7 : Rework HeaderSearch's interface for getting a module from a name and for getting the name of the module file, unifying the code for searching for a module with a given name (into lookupModule()) and separating out the mapping to a module file (into getModuleFileName()). No functionality change.
    • 8f95cb3 : Test module lookup within a subdirectory of a normal include directory.
    • 77fe6cd : When emitting an ARC epilogue that looks like a return of 'self', kill the retain from the return site.
    • f48f796 : Get a little bit smarter about killing off the ReturnValue alloca in the presence of straight-line cleanups. This is a simple but important case, particularly for ARC.
    • 4188760 : Complain about attempts to use 'protected' visibility on targets like Darwin that don't support it. We should also complain about invalid -fvisibility=protected, but that information doesn't seem to exist at the most appropriate time, so I've left a FIXME behind.
    • de2fdc2 : objc-arc: Perform null check on receiver before sending methods which consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. // rdar://10444474
    • a49a283 : Make the __builtin_c[lt]zs builtins target independent.
    • 9f1c49c : Use defined-at-zero behavior for CLZ/CTZ builtins on PowerPC.
    • c35fb7d : StaticAnalyzer: Move ObjC- and CXX-specific methods out of line so checkers that don't care about the language don't have to pull in all the headers.
    • bd2b6f0 : Added tests for template keyword presence.
    • 82e6411 : DiagnosticsEngine::setMappingToAllDiagnostics() does not need to return bool, caught by Chad.
    • 394f7b6 : Allow the external AST source to provide a layout without specifying the alignment (because it's not encoded in DWARF). In this case, make an educated guess at the alignment.
    • 5faf5d3 : Remove the "C" in "implicitly declaring C library function" diagnostic because all functions are not C functions (i.e. NSLog).
    • a1f1fad : Introduce module attributes into the module map grammar, along with a single attribute ("system") that allows us to mark a module as being a "system" module. Each of the headers that makes up a system module is considered to be a system header, so that we (for example) suppress warnings there.
    • e4b9276 : Added source location for the template keyword in AST template-id expressions.
    • 69d5384 : Remove redundant checks.
    • fad03b7 : Avoid redundant NNS qualification in constructor/destructor names.
    • 8b4f2b7 : Add test for -Wno-everything.
    • 11583c7 : Due to a bug, -Wno-everything works like -Weverything. Fix the bug by having -Wno-everything remap all warnings to ignored.
    • 97a9cf3 : In FixItRecompile::BeginInvocation() reset the diagnostics before executing the original action.
    • cff9f26 : Reimplement (de-)serialization of Objective-C categories to eliminate the direct serialization of the linked-list structure. Instead, use a scheme similar to how we handle redeclarations, with redeclaration lists on the side. This addresses several issues: - In cases involving mixing and matching of many categories across many modules, the linked-list structure would not be consistent across different modules, and categories would get lost. - If a module is loaded after the class definition and its other categories have already been loaded, we wouldn't see any categories in the newly-loaded module.
    • 6895a64 : Be sure to emit delayed diagnostics after parsing the declaration of a for-range variable. Fixes PR11793.
    • 745f514 : constexpr: Implement the [dcl.constexpr]p5 check for whether a constexpr function definition can produce a constant expression. This also provides the last few checks for [dcl.constexpr]p3 and [dcl.constexpr]p4.
    • 30ae84c : In FixItRecompile::BeginInvocation(), check the return value of BeginSourceFile().
    • ba4be25 : Placate gcc's -Wreturn-type
    • a5fde15 : test/Driver/prefixed-tools.c: Disable this on win32 hosts, msvc and mingw.
    • 5701e97 : test/Driver/prefixed-tools.c: Fix newline at end-of-file.
    • 0fa0638 : Turn off implicit truncation warning for compound assignment to bitfields; it might be reasonable in some cases, but it clearly doesn't make sense in some cases, like the included testcase.
    • 71d9d5c : Teach ccc-analyzer about -fobjc-abi-version.
    • 3a643af : Make the bitfield implicit truncation warning slightly more aggressive, and make the printed warning a bit more accurate. The new behavior matches gcc's -Wconversion. rdar://problem/10238797.
    • 1bd9137 : Remove the ToolTriple logic in NetBSD, which was completely broken by the recent refactoring. All interesting NetBSD release have a GNU as version on i386 that supports --32, so don't bother with the conditional setting of it.
    • 8b30a93 : Make clz/ctz builtins defined for zero on ARM targets. rdar://10732455
    • 66de97f : Remove obviously incorrect branch.
    • 34144f6 : Keep track of the original target the user specified before normalization. This used to be captured in DefaultTargetTriple and is used for the (optional) $triple-$tool lookup for cross-compilation. Do this properly by making it an attribute of the toolchain and use it in combination with the computed triple as index for the toolchain lookup.
    • 8bef823 : Change references to 'const ProgramState *' to typedef 'ProgramStateRef'.
    • bbdfad5 : objc-arc: introduce -no-finalize-removal which in gc mode, leaves "finalize' behind and in arc mode, does not include it. This allows the migrated source to be compiled in both gc and arc mode. // rdar://10532441
    • e8c904f : Don't suppress access-control or invalid-type diagnostics from a declarator just because we were able to build an invalid decl for it. The invalid-type diagnostics, in particular, are still useful to know, and may indicate something about why the decl is invalid.
    • b9cd498 : Try harder to get X7 defined
    • 4fe19b5 : Change HasMutableFields to HasOnlyCMembers and consider that a tag inside another tag does not break C-like-ness. rdar://10756831
    • ed0cc22 : Don't separately serialize the list of instance variables in an Objective-C class. The AST reader just throws away this data anyway!
    • a2a5028 : Force layout of more of the unions and structures in this test
    • 4196363 : objc: 'id' and block pointer compare in mergeTypes is made symmetrical. // rdar://10734265
    • 5fe3122 : AST/ExprConstant.cpp: Silence a warning on ms cl.exe. "bool" does not prefer to be compared to integer.
    • 1366392 : Suppress any warnings from this test. They aren't interesting, and they end up in the same output file as the layout stuff. There may even be a race condition which is causing this output to confuse the FileCheck in some cases. I actually don't know how on earth the parsing of the layout file even works given that there are diagnostics in the middle of it. ;]
    • 453dbcb : Extend the ExternalASTSource interface to allow the AST source to provide the layout of records, rather than letting Clang compute the layout itself. LLDB provides the motivation for this feature: because various layout-altering attributes (packed, aligned, etc.) don't get reliably get placed into DWARF, the record layouts computed by LLDB from the reconstructed records differ from the actual layouts, and badness occurs. This interface lets the DWARF data drive layout, so we don't need the attributes preserved to get the answer write.
    • 5b78a24 : Use createRecordFwdDecl here since that's what we're doing.
    • 1c081d9 : Revert previous patch unifying all of the C++ record prep in one area, the gdb testsuite complains too much about the ordering of items printed, even if the offsets in the debug info are correct.
    • f8de042 : Fix a minor bug in r148582, which made -ccc-host-triple into an alias option. I'm not adding a testcase because -ccc-host-triple is slated to be removed, but clang crashes if you try to use -ccc-host-triple without this fix.
    • 3ee8c91 : Remove another duplicated variable.
    • f2e4cd7 : constexpr: evaluate (bool)&x as true when x is a local variable or a temporary.
    • 98b940b : Remove the headers now that ::close() is not used.
    • c8af910 : In FixItRewriteToTemp::RewriteFilename don't try to close the file descriptor with close(); return it instead.
    • f81263f : [analyzer] The CFContainer test should only be run on x86_64.
    • 0277039 : Rewrite/FrontendActions.cpp: Tweak to unbreak msvc.
    • c01dfc1 : Revert r148249: "Make the auto-detection hack for the iOS simulator set the target triple correctly."
    • b4ab843 : Improve efficiency of Sema::MaybeBindToTemporary by working with the canonical type directly and adding a fast path for the common case that the type is directly a RecordType.
    • 95b68f9 : Simplify {Record,Enum}Type::classof.
    • e26198c : Adjust CLANG_BUILD_EXAMPLES to mean whether the examples are built by default, rather than whether they may be built at all.
    • 516bbd4 : Use function pointers, rather than references, to pass Destroyers around, in the process cleaning up the various gcc/msvc compiler workarounds.
    • 24466d8 : Add missing include of unistd.h
    • e41b041 : Add an additional testcase for a lambda with implicit void return type.
    • 8ec2bc8 : Post link to checker-260, which is checker-259 with some experimental checks enabled.
    • 84b007f : Refactor to share code for handling return statements between lambda expressions and block literals. As it turns out, almost all the logic can be shared.
    • 61d679a : Introduce 3 new fixit options:
    • 7a776be : fix to go along with an llvm change: VMCore now returns an UndefValue when asking for a ConstantStruct with all undef elements.
    • 8dc0506 : Enable several checkers under --analyze for general testing.
    • de983d8 : Tidy and remove some unused variables.
    • 426fc94 : Fix our handling of #pragma GCC visibility. Now the lexer just produces a token and the parser is the one responsible for activating it. This fixes problem like the one pr11797 where the lexer and the parser were not in sync. This also let us be more strict on where in the file we accept these pragmas.
    • 027cb30 : Collect this information together. No reason to have it split.
    • 6faa554 : Refactor into its own function.
    • 24248e3 : Reintroduce r148981 with significantly improved regression test. Now it both actually tests what it wants to, doesn't have bogus and broken assertions in it, and is also formatted much more cleanly and consistently. Probably still some more that can be improved here, but its much better.
    • 46e39e3 : StaticAnalyzer/Checkers: Fix CMake build.
    • cbd2733 : [analyzer] Add an AST checker that checks for a common pitfall when using CFArrayCreate & family.
    • e7cff2c : objc: allow block pointer matching 'id' type when they show up as argument types of two block pointers. // rdar://10734265
    • ceccab9 : Slight refactoring; catch yet another case where we were missing an lvalue-to-rvalue conversion.
    • 26f0e4e : arc migrator: Added an option to the migrator unused yet.
    • bac3413 : Rework flushing of diagnostics to PathDiagnosticConsumer. Now all the reports are batched up before being flushed to the underlying consumer implementation. This allows us to unique reports across analyses to multiple functions (which shows up with inlining).
    • 01f276d : Don't stack-allocate an IntegerLiteral which can be referred to after the current method returns. PR11744, part 2.
    • 10afce3 : Revert r148981 because it fails test/Driver/freebsd.c
    • 55fc7e2 : Add some ABI tweaks for i386-pc-win32 triple so that we return structs in an MSVC-compatible way. Patch by Joe Groff.
    • 0f12507 : Improve the error message slightly for files that aren't using the expected UTF-8 encoding. Patch by Seth Cantrell.
    • 457a377 : Fix a crash involving a multi-dimensional dependent VLA. PR11744.
    • d2e7090 : Post open source analyzer build checker-259.
    • d9b02e7 : constexpr: add support for anonymous struct and union members in literal types.
    • 51cb75a : Clean up comment.
    • d081baa : Try to unbreak the FreeBSD toolchain's detection of 32-bit targets inside a 64-bit freebsd machine with the 32-bit compatibility layer installed. The FreeBSD image always has the /usr/lib32 directory, so test for the more concrete existence of crt1.o. Also enhance the tests for freebsd to clarify what these trees look like and exercise the new code.
    • 3943b1c : Allow typo correction to be disabled in BuildOverloadedCallExpr variant.
    • 1621e75 : Restore a tiny bit of functionality that I completely overlooked in the Linux toolchain selection -- sorry folks. =] This should fix the Hexagon toolchain.
    • cd78e61 : Avoid correcting unknown identifiers to types where types aren't allowed.
    • ada4fa7 : [driver] Do emit the diagnostics when CompilerInvocation::CreateFromArgs() fails.
    • 60a09dc : Add custom callback object for typo correction in BuildRecoveryCallExpr.
    • d1bb4ae : When we're substituting into a function parameter pack and expect to get a function parameter pack (but don't due to weird substitutions), complain. Fixes the last bit of PR11848.
    • 00646ba : The Linux pattern of adding all the search paths that exist doesn't seem to suit the FreeBSD folks. Take them back to something closer to the old behavior. We test whether the /usr/lib32 directory exists (within the SysRoot), and use it if so, otherwise use /usr/lib.
    • 32f88be : Remove the 'ToolTriple' concept from the NetBSD toolchain along with my gross hack to provide it from my previous patch removing HostInfo. This was enshrining (and hiding from my searches) the concept of storing and diff-ing the host and target triples. We don't have the host triple reliably available, so we need to merely inspect the target system. I've changed the logic in selecting library search paths for NetBSD to match what I provided for FreeBSD -- we include both search paths, but put the 32-bit-on-64-bit-host path first so it trumps.
    • 0671555 : Delete still more remnants of the now dead HostInfo. The janitoring will continue until cleanliness improves.
    • 18d7f3a : Delete the driver's HostInfo class. This abstraction just never really did anything. The two big pieces of functionality it tried to provide was to cache the ToolChain objects for each target, and to figure out the exact target based on the flag set coming in to an invocation. However, it had a lot of flaws even with those goals: - Neither of these have anything to do with the host, or its info. - The HostInfo class was setup as a full blown class *hierarchy* with a separate implementation for each "host" OS. This required dispatching just to create the objects in the first place. - The hierarchy claimed to represent the host, when in fact it was based on the target OS. - Each leaf in the hierarchy was responsible for implementing the flag processing and caching, resulting in a *lot* of copy-paste code and quite a few bugs. - The caching was consistently done based on architecture alone, even though *any* aspect of the targeted triple might change the behavior of the configured toolchain. - Flag processing was already being done in the Driver proper, separating the flag handling even more than it already is.
    • 3366ef0 : Add some really minimalist freebsd testing trees and use them in the freebsd test so that it's behavior isn't dependent on the filesystem of the host running the tests. This should revive the build bots at least. The tests and the trees still need a lot of love to make them as useful and easy to maintain as linux-ld.c.
    • e98e5b5 : Add support for const pointer to literal-objc string as format attribute.
    • 4d7ff6e : Switch the ToolChain types to all store a Driver reference rather than a HostInfo reference. Nothing about the HostInfo was used by any toolchain except digging out the driver from it. This just makes that a lot more direct. The change was accomplished entirely mechanically. It's one step closer to removing the shim full of buggy copy/paste code that is HostInfo.
    • 56576f7 : test/CodeGen/avx-builtins.c: Fix more for -Asserts.
    • edf5a7b : Fixup r148926, for -Asserts.
    • 08386a9 : Remove the TargetTriple object that I added to the Driver recently. This helped stage the refactoring of things a bit, but really isn't the right place for it. The driver may be responsible for compilations with many different targets. In those cases, having a target triple in the driver is actively misleading because for many of those compilations that is not actually the triple being targeted.
    • ea04285 : Have FreeBSD use even more of the same smarts as Linux is now using for adding search paths. Add them only when they exist, and prefix the paths with the sysroot. This will allow targeting a FreeBSD sysroot on a non-FreeBSD host machine, and perhaps more importantly should allow testing the FreeBSD driver's behavior similarly to the Linux tests with a fake tree of files in the regression test suite.
    • 6f75cc3 : Switch FreeBSD to just include both '/usr/lib32' and '/usr/lib' in the search paths for 32-bit targets. This avoids having to detect which is expected for the target system, and the linker should DTRT, and take the 32-bit libraries from the first one when applicable. Thanks to Roman Divacky for sanity checking this.
    • fc52f75 : Switch the Linux C++ standard library header search logic over to use the GCC installation's multiarch suffix now that it is exposed.
    • 1c6f04a : Make a major refactoring to how the GCC installation detection works.
    • 007baa9 : Re-enable test that was broken by r148919
    • cf2362b : Fix -fmacro-backtrace-limit=0 to show the entire macro backtrace.
    • 3b6b61e : disable this test for now.
    • 2ce8842 : reapply r148902:
    • 9eb10cc : fix broken testcase.
    • 2c0c745 : Fix a crash for an edge case of the GNU ?: extension.
    • 8c9fe20 : Fix r148920 to what I actually meant to commit.
    • e0dbedf : Add missing check for placeholders.
    • 2ee2ac2 : Represent 256-bit unaligned loads natively and remove the builtins. Similar change was made for 128-bit versions a while back.
    • 00b4657 : In TreeTransformDerived::TransformBlockExpr, call ActOnBlockError for errors, patch by Dmitri Gribenko.
    • af521da : Revert 148902 which was part of 148901 which was reverted in r148906.
    • c0536c8 : Fix PR11848: decree that an alias template contains an unexpanded parameter pack iff its substitution contains an unexpanded parameter pack. This has the effect that we now reject declarations such as this (which we used to crash when expanding):
    • 5d613b5 : Refactor the record decl forward declaration code a bit.
    • a70e246 : Typo.
    • 9ddc624 : use the new ConstantVector::getSplat method where it makes sense.
    • 443aac9 : With a little more work in the tentative parse determining whether a statement is a declaration-stmt or an expression, we can discern a subset of cases where the user erred in omitting the typename keyword before a dependent type name. Fixes PR11358!
    • 8efca6b : Introduce a generation number for selector lookups in the global method pool, so that we don't perform the same lookups into the same PCH/module file repeatedly.
    • 568991b : Only try to import a definition if there is an definition to import.
    • 3add9f0 : Make sure we correctly treat __is_convertible_to as an unevaluated context. PR11833.
    • dea8ba2 : Fix test on cygwin (where va_list expands to a different type)
    • 0d266d6 : Whenever Sema attempts to look in the global method pool, try to load additional data from the external Sema source. This properly copes with modules that are imported after we have already searched in the global method pool for a given selector. For PCH, it's a slight pessimization to be fixed soon.
    • 43d1251 : Add "multiple format attributes" support on block.
    • 5ac4b69 : Rework the external Sema source's ReadMethodPool() so that it doesn't return pre-built lists. Instead, it feeds the methods it deserializes to Sema so that Sema can unique them, which keeps the chains shorter.
    • 9d0064e : Reduce peak memory usage of the static analyzer on sqlite3 (when using inlining) by 30%.
    • b5c6bab : arc migrator: Provide infrastructure to add options specific to migrator. Use its first option to warn migrating from GC to arc when NSAllocateCollectable/NSReallocateCollectable is used. // rdar://10532541
    • 44fae52 : Factor out the addition of a method into the global method pool, and teach it to always add the new method at the *end* of the list rather than as the second element in the list.
    • e6ca97f : Fix NSLog format string checking for %@.
    • d814eaf : Switch PerformImplicitConversion over to use DefaultLvalueConversion for lvalue-to-rvalue conversion.
    • 1acbe5e : Replace a hack to handle NSLog/NSLogv in sema by declaring them as Library Builtins.
    • 9bc4fc4 : Remove trailing slash in front of header name of ObjC builtins.
    • 2c3038e : [analyzer] Add the HTML file to the SATest diagnostic diff. (Uses the functionality which has been in CmpRuns long before.)
    • ab2d46e : [analyzer] Testing: make diagnostic diffs more informative (add diagnostic message).
    • c15707d : [libclang] In clang::getCursorKindForDecl() don't return "UnexposedDecl" for forward references of classes and protocols, this breaks libclang API usage.
    • 9d24c2c : Teach scanf/printf checking about '%Ld' and friends (a GNU extension). Fixes PR 9466.
    • 32d4abf : Force triple on these tests to pacify the windows tester.
    • fca84b2 : Add a new warning, -Wover-aligned, which detects attempts to use the default allocator to construct an object which declares more alignment than the default allocator actually provides. Fixes PR9527!
    • 8908879 : Fix one of the (larger) FIXMEs where we were misusing the Driver's idea of the target triple to stand in for the "host" triple.
    • a5ee634 : Small code cleanup/simplification in Sema::ClassifyName.
    • 98c16b8 : [libclang] When calling clang_getCursorReferenced on a class or protocol forward reference, do give an interface or protocol cursor back, don't give an 'UnexposedDecl' one.
    • 466f45a : objc: Issue a generic diagnostic assigning to an objc object in any abi mode.
    • b9ac30c : [analyzer] Add more C taint sources/sinks.
    • fa5be91 : Address one part of the FIXME I introduced my switching the triple inside of GCCInstallation to be a proper llvm::Triple. This is still a touch ugly because we have to use it as a string in so many places, but I think on the whole the more structured representation is better.
    • 71efba0 : The following patch adds __attribute__((no_address_safety_analysis)) which will allow to disable address safety analysis (such as e.g. AddressSanitizer or SAFECode) for a specific function.
    • 5d84bb4 : At least within these classes, consistently spell 'GCC' as 'GCC'. I can't read Java-style 'Gcc' acronyms. ;]
    • 58f2b29 : Start hoisting the logic for computing the target triple into its own function. The logic for this, and I want to emphasize that this is the logic for computing the *target* triple, is currently scattered throughout various different HostInfo classes ToolChain factoring functions. Best part, it is largely *duplicated* there. The goal is to hoist all of that up to here where we can deal with it once, and in a consistent manner.
    • ecd7b04 : Promote the extension warning for attempts to catch a reference or pointer to incomplete type from an ExtWarn to an error. We put the ExtWarn in place as part of a workaround for Boost (PR6527), but it (1) doesn't actually match a GCC extension and (2) has been fixed for two years in Boost, and (3) causes us to emit code that fails badly at run time, so it's a bad idea to keep it. Fixes PR11803.
    • cd0d56a : When importing a RecordDecl as a DeclContext, make sure that we pull in the definition as well.
    • 7b383e4 : objc: issue error if assigning objects in fragile-abi too. // rdar://10731065
    • 5602f7e : Teach the AST importer about redeclaration chains for Objective-C classes and protocols, implementing lazy-import semantics for both.
    • 5d5051f : Only mark an IdentifierInfo as having changed since deserialization when it actually has changed (and not, e.g., when we've simply attached a deserialized macro definition). Good for ~1.5% reduction in module file size, mostly in the identifier table.
    • 1ea742b : On Darwin, use the system's unwind.h whenever it is available. Clang's unwind.h isn't ready for prime time. Fixes rdar://problem/10733587.
    • 4a04d0b : Remove HostInfo::useDriverDriver(). This was only used in two places inside the innards of the Driver implementation, and only ever implemented to return 'true' for the Darwin OSes. Instead use a more direct query on the target triple and a comment to document why the target matters here.
    • 91e6076 : Hoist the targeted triple object into an actual object in the Driver. The Driver has a fixed target, whether we like it or not, the DefaultTargetTriple is not a default. This at least makes things more honest. I'll eventually get rid of most (if not all) of DefaultTargetTriple with this proper triple object. Bit of a WIP.
    • f211662 : Support decltype in member initializers.
    • 5e089fe : Support decltype as a simple-type-specifier.
    • 495f42a : Add a test for a diagnostic special case added in r148439, as requested by Francois Pichet.
    • 2dd52e3 : Reword/rename -Wswitch-unreachable-default.
    • e1d82de : Improve -Wswitch-enum diagnostic message.
    • 23661d3 : Revert various template unreachability code I committed accidentally.
    • a9bb955 : More fixes/tests.
    • 25f4c19 : Test for the previous commit/crash.
    • 7154c03 : Support undefined dependent bases.
    • 36b7c63 : Simple hack to do unreachable code analysis on template patterns.
    • 7514f31 : Rename Sema::isNullExpr() - Sema::isSentinelNullExpr() which is more descriptive.
    • 0259042 : Make driver tests more resilient to output trees containing symlinks -- the tests are making assertions about the name of the clang binary, so we should ensure that the name is as stable as possible.
    • 69b26d6 : In CXXRecordDecl::isCLike(), also check for PODness.
    • e42670b : objective-c: Ignore with warning forward class declaration whose name matches a typedef declaring an object type. // rdar://10733000
    • 8f675e4 : Make sure the integer type used to align the vaarg address is the same as the type of pointers.
    • f96708d : fixes location of "availability" attribute so warning is displayed at its line. // rdar://10711037
    • a8536c0 : Ignore return type if its size is zero.
    • f75823f : Remove extraneous ';'.
    • b832f6d : Minor fixups for auto deduction of initializer lists.
    • 05b7846 : [libclang] For: @implementation I(cat) suppress subsequent references to 'I'.
    • 4f1813e : Introduce Sema::isNullExpr() that contains the checks that Sema::DiagnoseSentinelCalls() does.
    • 438ee1f : In CorrectTypo, use the cached correction as a starting point instead.
    • f5249f5 : [asan] document the need for -fno-optimize-sibling-calls
    • 092acb0 : Fix a typo: _MM_FLUSH_ZERO_OFF has the wrong value. rdar://10716672
    • 277b156 : Introduce CXXRecordDecl::isCLike() that is true if the class is C-like, without C++-specific features.
    • 145f7b2 : [libclang] Index C++ template specializations, rdar://10732708
    • 55fa1d9 : [libclang] Index namespaces in C++ qualified lookup of members, rdar://10732798
    • 8818d45 : [libclang] Index C++ constructor initializers, rdar://10732164
    • 7f6cf97 : Improve Lexer::getImmediateMacroName to take into account inner macros of macro arguments.
    • f5cd27d : Handle pseudo-object expressions (and any other placeholder expression) when code-completing member access expressions. Fixes rdar://problem/10717172.
    • f96241d : Add -Wnarrowing as an alias for -Wc++11-narrowing, for better GCC compatibility.
    • f3c82c5 : Downgrade C++11 narrowing conversion errors to warnings default-mapped to an error, so that users can turn them off if necessary. Note that this does *not* change the behavior of in a SFINAE context, where we still flag an error even if the warning is disabled. This matches GCC's behavior.
    • 1db772b : Add support for -fno-optimize-sibling-calls. Currently only implemented in the X86 backend in LLVM.
    • 2d757ec : Add a source range to the ms path. Spotted by David Blaikie.
    • df1be86 : In microsoft mode, downgrade pseudo-destructors on void from error to warning.
    • 413c2c9 : Rename -Wswitch-enum-redundant-default to -Wswitch-redundant-default.
    • 585d779 : Implement -Wswitch-enum correctly.
    • c14ec5a : Convert file from 60% unix 40% dos line endings to 100% unix line endings.
    • 2897660 : Eli says this should check MicrosoftMode instead.
    • afcc96a : In ms mode, a move assignment operator shouldn't mark a copy ctor as deleted.
    • 8c38206 : Make sure the AST correctly represents lvalue-to-rvalue conversions where appropriate.
    • 9366750 : Fix -Wswitch to warn about out of bounds enum cases even when there's a default
    • adabbca : Move -Wswitch-enum to -Wswitch
    • 6b6fb4f : In Microsoft Mode, disable the C++11 strict integral conversion rules for enumerator that were introduced with r148439. Otherwise MSVC headers won't compile in C++ 11 mode.
    • 31ceb61 : Add -Wswitch-enum-redundant-default.
    • f3c1ca6 : lib/Frontend/InitHeaderSearch.cpp: [Cygwin] Add 4.5.3.
    • b4f90c2 : [Cygwin] Abandon Cygwin-1.5 and g++-3. Use g++-4.3 and higher on Cygwin-1.7.
    • 665b002 : [analyzer] It's possible to have a non PointerType expression evaluate to a Loc value. When this happens, use the default type.
    • b3381f6 : Use the new installheaders makefile target in libcxx.
    • 3fc809d : Remove redundant argument.
    • 3bfd6d7 : [analyzer] Make VLA checker taint aware.
    • 416de51 : Add an assertion that our use-marking actually covers all uses of a variable. The assertion doesn't cover quite as much as it should, but it's a good start, at least.
    • 78a5424 : Fix some comments relating to ExpressionEvaluationContexts. Get rid of a couple of uses of ConstantEvaluated which don't make sense.
    • 65ba948 : Fix code so that a SkipUntil will ignore semicolons when skipping a function body. This keeps the brace count accurate to prevent additional errors. Also, moved the caret from the brace to the function name.
    • 8c345c0 : [analyzer] Unbreak the static analyzer bot. Regression from r148558.
    • be25db9 : Add obvious missing call to MarkDeclarationReferenced.
    • 71b8fb5 : Make clang's AST model sizeof and typeof with potentially-evaluated operands correctly, similar to what we already do with typeid.
    • 2f72ec9 : arg migrator: change all "assign" of object properties to "strong" when migrating from GC. // rdar://10532449
    • c8dc135 : Fix the code completion string for variadic macros with more than one argument, which was broken and very ugly (and even had a test case to make *sure* it was broken and ugly). Fixes rdar://problem/10609117.
    • e424844 : add tests for wide character encodings
    • e03b2b3 : Handle thread safety attributes on functions with separate definitions and declarations.
    • 23323e0 : Delayed template instantiation of late-parsed attributes.
    • 7b9ff0c : Instantiate dependent attributes when instantiating templates.
    • ef1440b : The 'l' length modifier makes sense with the scanlist conversion specifier.
    • c4f4d5d : Testcase for PR11345.
    • 4ddca8a : When adding types to the context chain for record types, just emit a forward declaration unless we already have a type. We can fill it in later if it's actually used.
    • 3575c45 : Remove unnecessary and incorrect redirection of stderr.
    • 9ec60df : rename -ccc-host-triple into -target
    • ce506ae : Tighten format string diagnostic and make it a bit clearer (and a bit closer to GCC's).
    • 3026348 : More dead code removal (using -Wunreachable-code)
    • 18932a0 : Add ability to specifiy 'restrict' on parameters of builtins, and correct this oversight for scanf functions.
    • 3eaaa99 : Per PR 11814, use Monospace instead of Andale Mono.
    • 02019f7 : [analyzer] Add taint awareness to DivZeroChecker.
    • 86f9601 : arc migrator: replace "retain" attribute with "strong" which have same semantics in mrr as well as arr. // rdar://10688312
    • afb51af : [analyzer] Tweak the buildbot script to include the experimental taint checker and correct the checker enabling setting.
    • c891666 : use llvm:Attributes instead of unsigned
    • d9806c9 : Enhance Lexer::makeFileCharRange to check for ranges inside a macro argument expansion, in which case it returns a file range in the location where the argument was spelled.
    • 74fe661 : Replace a dubious use of SmallVectorImpl with a proper copy.
    • eabcf7e : Fix broken unit test
    • 1f6b2b5 : Extract the (InputKind, std::string) pair used to describe inputs to the front end into its own class, FrontendInputFile, to make it easier to introduce new per-input data. No functionality change.
    • b7ff74a : Localize variable, remove unused assignment.
    • dc370c1 : Remove unused variables.
    • a8180e5 : Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes rdar://problem/10146347.
    • b63d8d8 : Implement checker that looks for calls to mktemps and friends that have fewer than 6 Xs. Implements rdar://problem/6336672.
    • 76a5424 : Turn 'SecuritySyntaxChecker' into a "meta" security checker for insecure APIs. Now multiple checks are exposed as separate checkers, but CheckerManager only creates one Checker object.
    • 0b28928 : [libclang] Fix crash when indexing attributes, rdar://10702250.
    • ef331b7 : Remove PotentiallyPotentiallyEvaluated, and replace it with a much simpler and less error-prone way of handling the relevant cases. Towards marking of whether a declaration is used more accurately.
    • 2bf8fd8 : [analyzer] Add socket API as a source of taint.
    • be97b7e : [analyzer] Skip casts when determining taint dependencies + pretty printing.
    • 461af1e : [analyzer] Add a utility method that allows to find the macro name used at the given location.
    • 3352ea9 : [analyzer] Cleanup of Symbol dump methods.
    • 315ff36 : [analyzer] www: A minor cleanup to the dev manual.
    • eb96af8 : Further testing for instantiation of out-of-line constexpr static data member template definitions.
    • 796c1a1 : An instantiation of a constexpr static data member in a class template is constexpr.
    • fcaf27e : Extend the error of invalid token after declarations to include fixits for !=, %=, ^=, &=, *=, -=, |=, /=, =, =, =, and = to =.
    • 65eccf0 : Silence set-but-unused warning.
    • e64d903 : Introduce Lexer::getSourceText() that returns a string for the source that the given source range encompasses.
    • 11b652d : Introduce Lexer::makeFileCharRange() that accepts a token source range and returns a character range with file locations.
    • 69bda4c : For Lexer's isAt[Start/End]OfMacroExpansion add an out parameter for the macro start/end location.
    • 19d5aea : Add unit testing for Lexer.
    • f5f18bf : Extend unwind.h with the ARM unwinder interface.
    • b0f9dd2 : A few style changes. Change CheckVectorLogicalOperands to pass params by ref. Add another test case.
    • bcdd7d9 : Remove the now-unused CorrectTypoContext enum.
    • 8ef7b20 : constexpr: converted constant expression handling for enumerator values, case values and non-type template arguments of integral and enumeration types.
    • d6c7c67 : Change the error when a '+=' follows a declaration to suggest a fixit to '=' instead of just suggesting a ';'.
    • 8e87490 : Use -Wdeprecated-objc-isa-usage for option to issue deprecated usage of 'isa'. // rdar://8290002
    • 43e875d : Convert SemaDecl.cpp to pass callback objects to CorrectTypo.
    • 057df20 : Optimize unqualified/global name lookup in modules by introducing a generational scheme for identifiers that avoids searching the hash tables of a given module more than once for a given identifier. Previously, loading any new module invalidated all of the previous lookup results for all identifiers, causing us to perform the lookups repeatedly.
    • c2a8d6c : Refactor: Pull getImmediateMacroName() out of DiagnosticRenderer and into Lexer and Preprocessor; making it widely available.
    • 556b1d0 : objc: deprecate direct usage of 'isa' of objc objects in favor of usage of api's intended for. // rdar://8290002
    • 64554ba : In the driver, -fmodules enables modules for C/Objective-C but one also needs -fcxx-modules to enable modules for C++/Objective-C++.
    • 7748cbc : Add and update tests for character literals
    • 5393e21 : stop claiming unicode escape sequences are too long in strings, because they never are
    • 79f0a82 : Fix char literal types in C
    • be77352 : Improves support for Unicode in character literals
    • 7d6a7c0 : test svn commit access
    • 4798f8d : Convert DiagnoseEmptyLookup to use correction callbacks.
    • 4c3fc9b : Move narrowing conversion detection code from SemaInit to SemaOverload, ready for it to be used in converted constant expression checking, and fix a couple of issues: - Conversion operators implicitly invoked prior to the narrowing conversion were not being correctly handled when determining whether a constant value was narrowed. - For conversions from floating-point to integral types, the diagnostic text incorrectly always claimed that the source expression was not a constant expression.
    • 8013afe : Add testcase for r148375!
    • 9bc291d : Make PotentiallyPotentiallyEvaluated contexts work correctly when referencing a class field from outside an instance method.
    • f6b5637 : Fix a string over-run detected by ASAN.
    • 40b993a : A call to strlen is not a constant expression, even if we're treating it as a builtin.
    • 6b3014b : The value of a case statement is a potentially evaluated context. Found by inspection.
    • 7cdfe29 : [analyzer] Refactor: prePropagateTaint - TaintPropagationRule::process().
    • 4e46221 : [analyzer] Taint: warn when tainted data is used to specify a buffer size (Ex: in malloc, memcpy, strncpy..)
    • 9b0c749 : [analyzer] Taint: add taint propagation rules for string and memory copy functions.
    • 9392d4e : Constify FunctionDecl::getmemoryFunctionKind().
    • 22afacc : Fix special king of typo.
    • 93c878e : Fix a couple issues where we didn't correctly delay diagnostics in PotentiallyPotentiallyEvaluated contexts. In preparation for making sizeof() PotentiallyPotentiallyEvaluated.
    • 303b4f9 : output body of folded case again.
    • 985df1c : Folding away unreachable case statement. patch (slightly revised) by Aaron Ballman.
    • 65a1e67 : Make sure to initialize ExternalProtocolPtrTy
    • 87eaf72 : objc-arc: when 'assign' attribute is unspecified, rely on property's type for its life-time to avoid bogus warning with -Warc-unsafe-retained-assign. // rdar://10694932
    • 98d3606 : Add Sema::isInitListConstructor. This will be needed for upcoming work.
    • 62b7cfb : Auto deduction support for std::initializer_list, including for-range support. This means you can now write:
    • 84760e3 : Template argument deduction for std::initializer_list arguments from initializer lists.
    • bb95e51 : Rename the first of 11 DeduceTemplateArguments overloads.
    • fe59228 : Basic overloading support for std::initializer_list.
    • 2b916b8 : Sema support for initialization of std::initializer_list from initializer lists.
    • 395e04d : Add Sema::isStdInitializerList, which will be necessary for the upcoming operations.
    • 9bc23ba : fix for PR11655 changes i64 alignment from 64 to 32 for powerpc-darwin
    • 0af8049 : Disable -Wduplicate-method-match by default. rdar://problem/10663536
    • f7b2d8b : Add __builtin_labs and __builtin_llabs, to complete the set of __builtin_*abs. Patch by Ruben Van Boxem.
    • e7aa62d : Remove constant member pointer support from Expr-based constant emission now that APValue-based constant emission knows how to emit member pointers.
    • 8788491 : Correctly resolve an overload set passed to an overloaded operator=. PR11784.
    • 7d580a4 : Enable constant evaluation of implicit calls to constexpr conversion operators.
    • a8398ea : Enable the new ObjC ARC autorelease pool elimination pass.
    • b29b12d : When initializing a catch variable in ARC, be sure to emit retains or whatever else is required for the initialization instead of assuming it can be done with a simple store.
    • 29c3f81 : Fix a couples of issues in format strings checking. PR 10274: format function attribute with the NSString archetype yields no compiler warnings PR 10275: format function attribute isn't checked in Objective-C methods
    • 56ca8a9 : Rework the way in which we (de-)serialize the declarations corresponding to TagType and ObjCInterfaceType. Previously, we would serialize the definition (if available) or the canonical declaration (if no definition was available). However, this can end up forcing the deserialization of the definition even through we might not want to yet.
    • 6b81b0d : objc: fixes a bug where struct used inside an objc class was not being exported to parent decl context resulting in bogus mismatch warning later on. // rdar://10655530
    • 7fe90f3 : [libclang] Make sure Preprocessor is set in ASTUnit during indexing.
    • 4c86fdb : Don't eagerly deserialize the 'Protocol' type when initializing code generation for Objective-C; it may not be needed.
    • 3efe999 : When collecting all of the redeclarations of a declaration loaded from a module file, be sure to also add the first (potentially canonical) declarations to the chain. This isn't guaranteed to occur because the first declaration is not listed in the stored redeclaration chain.
    • a6ea10e : Delay the creation of the built-in Objective-C class 'Protocol' by moving it from a "special type" to a predefined declaration, as we do for id, Class, and SEL.
    • c876946 : Treat -Wformat=0 as an alias for -Wformat.
    • 9fdefb3 : Re-add an over-zealously removed break.
    • 312ede8 : Remove dead comments as per Chandler's feedback to r148292
    • 7530c03 : Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it)
    • 561d3ab : Remove unnecessary default cases in switches over enums.
    • 5e192a7 : [libclang] Make clang_getCursorCompletionString not depend on the ASTUnit having a Sema.
    • ea8c59a : Introduce a CodeCompletionResult::CreateCodeCompletionString() that does not depend on Sema, it accepts an ASTContext and a Preprocessor.
    • 6fc9e1d : Introduce a static Sema::MarkDeducedTemplateParameters() that only depends on an ASTContext.
    • 55693fb : Revert r148271; this requires more thought.
    • 58219e7 : Change the behavior of the lvalue-to-rvalue conversion for varargs in PotentiallyPotentiallyEvaluated contexts so that we model it in a sane way in most cases, and give up for the edge case which hopefully doesn't matter too much.
    • 883692e : Improve diagnostics for dangling '}'.
    • 0a151a1 : Use Builtin ID as the return value for FunctionDecl::getMemoryFunctionKind().
    • 022b3f4 : [analyzer] Taint: generalize taint propagation to simplify adding more taint propagation functions.
    • 0b7febd : Add new line.
    • 4f692c2 : Add support for OpenCL 1.1 logical operations.
    • cf7c14c : Add some calls to MarkDeclarationReferenced, towards a point where every declaration which is used is marked as used.
    • 100d041 : Make the auto-detection hack for the iOS simulator set the target triple correctly. Getting the target triple wrong mostly appears to work, but messes up in subtle cases; for example, we incorrectly conclude that fwrite is actually named fwrite$UNIX2003. Also shuffles around the auto-detection code a bit to try and make it a bit more reliable. Fixes rdar://problem/10664848.
    • 7c9719b : Another test for 148243 non-constant-folded-switch containing a constant-folded switch.
    • c268832 : A little more elaborate test for r148243
    • 9e9650c : Patch for r148243 which was left behind.
    • d66715d : Fixes a crash during constant folding of a switch and case statement which has an unscoped case inside it. Patch by Aaron Ballman
    • 7a7ee30 : Some improvements to the handling of C11 atomic types:
    • 52e4c60 : Refactor variables unused under non-assert builds.
    • c23f857 : Now that deserializing a definition of a C++ class/Objective-C class/Objective-C protocol suffices get all of the redeclarations of that declaration wired to the definition, we no longer need to record the identity of the definition in every declaration. Instead, just record a bit to indicate whether a particular declaration is the definition.
    • cc32b44 : When deserializing the definition of a C++ class/ObjC class/ObjC protocol, record the definition pointer in the canonical declaration for that entity, and then propagate that definition pointer from the canonical declaration to all other deserialized declarations. This approach works well even when deserializing declarations that didn't know about the original definition, which can occur with modules.
    • 2171bf1 : Completely re-implement (de-)serialization of redeclaration chains, again. The prior implementation was very linked-list oriented, and the list-splicing logic was both fairly convoluted (when loading from multiple modules) and failed to preserve a reasonable ordering for the redeclaration chains.
    • 3419d7c : Tweak markup.
    • da90c77 : added descriptions of vector extensions, info about vector literals and vector operations.
    • 665a8dc : Fix ALL the markup.
    • ae9f85b : Two variables had been added for an assert, but their values were re-computed rather than the variables be re-used just after the assert. Just use the variables since we have them already. Fixes an unused variable warning.
    • fa16125 : decltype(e) is type-dependent if e is instantiation-dependent. Scary but true. Don't consider decltype(e) for an instantiation-dependent, but not type-dependent, e to be non-type-dependent but canonical(!).
    • 244ee7b : Pedantic diagnostic correction: in C++, we have integral constant expressions, not integer constant expressions. In passing, fix the 'folding is an extension' diagnostic to not claim we're accepting the code, since that's not true in -pedantic-errors mode, and add this diagnostic to -Wgnu.
    • 28c1ce7 : constexpr: casts to void* are allowed in constant expressions, don't set the designator invalid. (Since we can't read the value of such a pointer, this only affects the quality of diagnostics.)
    • 750dc2b : Change linkage computation so it doesn't depend on FunctionDecl::isExternC or VarDecl::isExternC, and instead queries what it actually cares about: whether the given declaration is inside an extern "C" context. Fundamentally, figuring out whether a function/variable uses C linkage requires knowing the linkage, and the logic in FunctionDecl::isExternC and VarDecl::isExternC was getting it wrong. Given that, fix FunctionDecl::isExternC and VarDecl::isExternC to use much simpler implementations that depend on the fixed linkage computation.
    • 1136ef0 : Use a smaller vector than SmallVector.
    • 9e2822b : Clear ImplicitConversionSequence the obvious way which turns out to be less fragile.
    • 314f554 : Give OverloadCandidateSet the responsibility for destroying the implicit conversion sequences so we don't get double frees when the vector reallocates.
    • 47b1d96 : objc: disallow __block attribute on method params.
    • 448ce0f : Reorder initializers, make use of the whole array.
    • 7268c8b : Move the inline array to the end.
    • 527610d : Destroy OverloadCandidates before taking away the underlying memory.
    • a54fbf2 : Replace a using declararion with a typedef in the hope of satisfying GCC
    • ef96ee0 : De-virtualize getPreviousDecl() and getMostRecentDecl() when we know we have a redeclarable type, and only use the new virtual versions (getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don't have that type information. This keeps us from penalizing users with strict type information (and is the moral equivalent of a "final" method).
    • 09dd379 : Pool allocate ImplicitConversionSequences.
    • 0e6a16f : OverloadCandidateSet: Stop exposing SmallVector internals
    • f785a7d : Introduce Decl::getPreviousDecl() and Decl::getMostRecentDecl(), virtual functions that provide previous/most recent redeclaration information for any declaration. Use this to eliminate the redundant, less efficient getPreviousDecl() functions.
    • 9fcbf2d : Revert accidental commit
    • 8a8950b : Add a FIXME for mutation of the common pointer of a RedeclarableTemplateDecl. It is not clear that it's worth delaying the allocation of said pointer
    • 7c99bb5 : Reimplement RedeclarableTemplateDecl in terms of RedeclarableRedeclarableTemplateDecl, eliminating a bunch of redeclaration-chain logic both in RedeclarableTemplateDecl and especially in its (de-)serialization.
    • 170fd49 : Remove a redundant word.
    • 2d6a567 : constexpr irgen: Add irgen support for APValue::Struct, APValue::Union, APValue::Array and APValue::MemberPointer. All APValue values can now be emitted as constants.
    • 8568ee7 : [analyzer] Taint: add system and popen as undesirable sinks for taint data.
    • db4d7a5 : [libclang] If CXIndexOpt_IndexFunctionLocalSymbols is enabled, also index parameters.
    • 093ecc9 : Remember if a type has its visibility set explicitly or implicitly. With that, centralize the way we merge visibility, always preferring explicit over implicit and then picking the most restrictive one. Fixes pr10113 and pr11690.
    • abac441 : Fix 80-column violation.
    • 2249074 : [libclang] Add CXIndexOpt_IndexFunctionLocalSymbols indexing option to indicate that one wants indexing callbacks for function-local symbols as well.
    • 952626a : Create host clang++ by soft-linking to clang
    • 91534a3 : (Implicit) parameters deserialized as part of a function type must not get added to the identifier chains as part of deserialization, because they should not be visible to name lookup.
    • dd9d645 : Progress towards making isUsed() reflect whether a declaration is odr-used; don't set isUsed for local variables which are referenced in unevaluated contexts. Make other code use isReferenced() (which basically indicates that a declaration isn't dead) where appropriate.
    • f6c17a4 : Fix a silly mistake in ComplexExprEvaluator::ZeroInitialization. rdar://problem/10691092.
    • f8ec8c9 : Convert SemaTemplate*.cpp to pass a callback object to CorrectTypo.
    • 117c456 : Make sure to consider non-DeclContext scopes properly when finding multiple name lookup results in C/Objective-C. Fixes a regression a caused in r147533, found by Enea Zaffanella!
    • a8c6fea : When inferring a module for a framework, first determine whether that framework is actually a subframework within a top-level framework. If so, only infer a module for the top-level framework and then dig out the appropriate submodule.
    • d9b859a : Move identification of memory setting and copying functions (memset, memcmp, strncmp,..) out of Sema and into FunctionDecl so that the logic could be reused in the analyzer.
    • 31cbe68 : Revert r148138; it's causing test failures.
    • e4c7f90 : Convert SemaExprMember.cpp to pass a callback object to CorrectTypo, improving the typo correction results in certain situations.
    • 43115d4 : remove assertions in the Hexagon backend specific clang driver
    • edd4f3c : rename -ccc-host-triple into -target
    • 9606a57 : rename DefaultHostTriple into DefaultTargetTriple
    • e401415 : Refactor for clarity.
    • fdf187c : Reinstate test case accidentally reverted by r148028
    • 3a110f7 : Don't infer a submodule for a framework's private header, at least for now.
    • 704e732 : Remove --hash-style from link command on Android.
    • eb66673 : CodeInit was replaced by StringInit.
    • 3534050 : PR11754: Reject non-static constexpr member functions in classes with virtual base classes.
    • 89e6e85 : A base subobject type doesn't make sense for unions; don't try to compute it. Based on patch by Yin Ma. Fixes PR11751.
    • 9ec0ef3 : constexpr is allowed on static member functions of non-literal classes. Per report on cfe-dev.
    • 059d578 : A few minor improvements to error recovery trying to access member of a function. In particular, this restores the cool error recovery for the example from http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html , which regressed a few months back.
    • f037541 : Don't crash while trying to diagnose a function declared at block scope with an incomplete return type.
    • 2f4d88f : Fix up the calls to CorrectTypo in Sema*ObjC.cpp to use callback objects, and add a basic CorrectionCandidateCallback template class to simplify the fixups.
    • a150fa3 : Revert previous commit. Something has gone wonky with my local configuration
    • d30630f : When inferring a module map for a framework, add the 'private' requirement to headers under PrivateHeaders. We don't want to build them as part of the module (yet).
    • b71d157 : [analyzer] Unwrap the pointers when ignoring the const cast.
    • 71d2909 : [analyzer] Taint: when looking up a binding, provide the type.
    • ce8ef16 : [analyzer] RegionStoreManager::getBinding() should not crash when looking up value at a CodeTextRegion even when the type is not provided.
    • dba241d : [analyzer] Fix a typo in a warning message.
    • 9baf39d : objc parsing. Fixes a crash when parsing array initialization inside a class implementation with parse errors. // rdar://10633434
    • 7984de3 : Improve 0-argument -Wvexing-parse diagnostic by adding notes with fix-its:
    • 83be12c : Recommit r148056 with fixes to deal with weirdness with bitfields in unions.
    • cd7a21b : Revert r148056 while I investigate failures.
    • b030b19 : Revert accidental commit.
    • a179682 : Make sure adding a field to a struct never reduces its size. PR11745.
    • 3d33622 : Adjust set of default checkers.
    • 0c6b8e3 : If an ObjCMessageExpr is implicit, there are no source locations for the selector identifiers.
    • 3b4b047 : Convert SemaCXXScopeSpec.cpp to pass a callback object to CorrectTypo, improvng the typo correction results in certain situations.
    • f2b4f7b : objc: do not warn when converting to a const id qualfied by its list of protools. // rdar://10669694
    • b29d3e7 : Revert 148045 to fix the bots.
    • 9f141c4 : Add a SONAME to the libclang library. Patch by Sylvestre Ledru.
    • 425d631 : Convert SemaInit.cpp to pass a callback object to CorrectTypo.
    • 0849ade : [analyzer] fix inlining's handling of mapping actual to formal arguments and limit the call stack depth. The analyzer can now accurately simulate factorial for limited depths.
    • ec78916 : constexpr: initialization of a union from an empty initializer-list should zero-initialize the first union member. Also fix a bug where initializing an array of types compatible with wchar_t from a wide string literal failed in C, and fortify the C++ tests in this area. This part can't be tested without a code change to enable array evaluation in C (where an existing test fails).
    • 37969b7 : scanf: parse the 'm' length modifier, and check that the right arguments are used with that and the 'a' length modifier.
    • 1d7049a : In Objective-C++, actually compute the base type of a member access expression for an Objective-C object or pointer type, so that we don't attempt to treat the member name as a template. Fixes rdar://problem/10672501.
    • 28058d1 : scanf analysis: the 'a' length modifier is valid with a scanlist
    • 6de0b48 : scanf analysis: don't bail out after successful parse of scanlist
    • b4218a3 : test/Driver/debug-options*.c: Tweak r147819 to split out another cc1as-sensitive test. gcc driver is invoked for assembling on cygming.
    • d135641 : Revert accidentally-committed file in r148020.
    • 61e6162 : Allow constant-folding of references which were formed in a manner not permitted in a constant expression, for compatibility with g++.
    • 746f5bc : Add IsImplicit field in ObjCMessageExpr that is true when the message was constructed, e.g. for a property access.
    • d8b4216 : [arcmt] The migrator tests for the buildbot in http://lab.llvm.org:8011/builders/clang-native-mingw32-win7/ are messed up, XFAIL does not help. Waiting until DISABLE is supported..
    • 1437425 : [analyzer] Rename Store::Retrieve() - getBinding().
    • 1fb826a : [analyzer] Add taint transfer by strcpy & others (part 1).
    • e9c8760 : Fix test case committed in r147986.
    • 121c67d : Formatting.
    • 7c9b2fd : Formatting.
    • cc66254 : Take into account the pointer to an aggregate that is passed as a hidden argument when Offset is initialized.
    • 2afd23d : Call CodeGenTypes::ConvertType to get LLVM::Type*. Remove function MipsABIInfo::GetFloatingPointTy.
    • ed0b31f : Fix some edge cases with C++ casts and placeholder expressions.
    • 3306f96 : objective-c: fixes a regression in looking up names in class extensions and categories by recent refactoring of objc class ASTs. // rdar://1066654
    • 5b7254c : Appease -Wnon-virtual-dtor
    • 72b8f78 : Extend test-case as requested by Eli
    • ec3bd72 : Improve the diagnostic when trying to redefine a typedef with a variably-modified type.
    • dc98cd0 : Fix the caching in CorrectTypo so that other non-keyword identifiers are still added if the cached correction fails validation.
    • 3efd348 : minor refactoring to improve compile-time performance.
    • 7d5e694 : Add initial callback object support to Sema::CorrectTypo.
    • 015f608 : objc-arc: evaluate 'readonly' property with no known life-time to that of its backing 'ivar's lifetime. // rdar://10558871
    • de8facc : constexpr: fix typo resulting in move constructors sometimes not being implicitly marked constexpr when they should be.
    • 463f136 : More tests for ARM FPU features.
    • 35dd732 : Fix -mfpu parsing on ARM.
    • 8844f45 : clang/test/CodeGen/vla-4.c: Relax expression for -Asserts.
    • 5ff53b2 : Fixed VLA code generation.
    • 3e97758 : "This change adds alloca/valloc checks to UnixAPIChecker. It includes a small refactoring for the common *alloc functions as well as a few tiny wibbles (adds a note to CWE/CERT advisory numbers in the bug output, and fixes a couple 80-column-wide violations.)"
    • cb28b48 : test/Driver/debug-options-as.c: Mark this as XFAIL:cygwin.
    • c0004df : C11 allows typedefs to be redefined. Implement this in C11 mode, and downgrade the default-error warning to an ExtWarn in C90/99. rdar://problem/10668057
    • 983d835 : Revert changes to lib/Driver in r147917; I didn't mean to commit this.
    • 97a72c3 : Add elidable CXXConstructExpr as block-level expr. It converts an lvalue to a rvalue, which is a useful step during AST evaluation.
    • b69b42c : Start refactoring code for capturing variables and 'this' so that it is shared between lambda expressions and block literals.
    • 52f220d : Typo in test.
    • 256ef64 : Remove '#if 0' from ExprEngine::InlineCall(), and start fresh by wiring up inlining for straight C calls. My hope is to reimplement this from first principles based on the simplifications of removing unneeded node builders and re-evaluating how C++ calls are handled in the CFG. The hope is to turn inlining "on-by-default" as soon as possible with a core set of things working well, and then expand over time.
    • 806054d : Do placeholder conversions on array bounds in both declarators and new-expressions.
    • 9db0a5e : Remove switch/case statements and call GetFloatingPointTy() instead to get the floating point type.
    • 6d1080f : Flatten float complex arguments. N32/64 requires float complex arguments be passed in floating point registers.
    • 9659d59 : Remove space.
    • 31dfd64 : Add field IsIEEE in FloatingLiteral to distinguish between different 128-bit floating point formats.
    • 6731074 : When something goes wrong in type-checking a namespace definition, make the namespace declaration invalid
    • b43550b : Add support for the androideabi environment to our triple support, and for the arm-linux-androideabi triple in particular.
    • 6e6f93a : objc-arc: fixes a crash when trying to find out retaining cycle ownership of property sent to 'super'. // rdar://10640891
    • 02577ff : Remove a set, but unused variable. Found with GCC's warning.
    • d3e29ef : [analyzer] Testing infrastructure: Flush output after every print statement.
    • 91ee4a7 : Contrary to the other BSDs, NetBSD followed the ELF ABI for structure passing on i386 and does not use registers.
    • f660f4b : Make PathDiagnosticLocation more resilient to null Stmt pointers.
    • 5660aa6 : Add definitions for AMD's bobcat (aka btver1)
    • 5c65e4f : Enable POPCNT and LZCNT with sse4a.
    • 448f68d : Factor the repetitive cpu macro definition into a helper function.
    • 1bf7a3f : The `-fwritable-strings' flag doesn't make the backing store strings of all CFStrings writable.
    • 7ead5c7 : Implement the missing pieces of Evaluate for _Complex types. With that complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex-in-C++. (Specifically, make _Complex types literal types, and don't warn for _Complex int.)
    • 610a60c : PR11724: Implement evaluation for constexpr defaulted trivial union copy/move constructors. These are a special case whose behavior cannot be modeled as a user-written constructor.
    • 15e17ae : Per John's comment, it makes sense to ask isLambda on any CXXRecordDecl; make sure that's safe. Get rid of a check which is now unnecessary in Sema::getFunctionLevelDeclContext().
    • 510037b : [arcmt] XFAIL on mingw.
    • bdad7a2 : Update C++11 scoped enumeration support to match the final proposal: - reject definitions of enums within friend declarations - require 'enum', not 'enum class', for non-declaring references to scoped enumerations
    • 8f0a403 : Add -g to the cc1as flags only if we're dealing with an original source file. Otherwise -g -save-temps will error out on the compile of any .c file.
    • 46d2a5c : Remove extraneous braces.
    • 20abee6 : objc++: patch for IRgen for atomic properties of c++ objects with non-trivial assignment/copy functions. Also, one additional sema check. // rdar://6137845
    • d18840d : Don't crash with -Wlarge-by-value-copy and a dependent type. PR11726.
    • 1c94c16 : Extend the diagnostic for a ',' at the end of a declaration where a ';' was intended to cover C++ class definitions.
    • d1d512a : Fix "note" of a duplicate explicit instantiation definition following a specialization.
    • a33fd39 : Insert padding before unaligned long double arguments.
    • 4ba3fd4 : Move the piece of code up that skips the padding argument. Without this change, padding insertion will not work if the coerced type is not a structure.
    • 80a5b27 : Restore some parts of this test which were accidental reverted in r147649. Thanks to David Blaikie for pointing this out.
    • 1c3875d : When deserializing an anonymous namespace from a module, do not attach the anonymous namespace to its parent. Semantically, this means that the anonymous namespaces defined in one module are distinct from the anonymous namespaces defined in another module.
    • 0fdc09f : Implement merging of namespace-scope declarations across modules, so that we can merge, for example, two occurrences of
    • c6c8e0e : Implement redeclaration merging for namespaces defined in distinct modules. Teach name lookup into namespaces to search in each of the merged DeclContexts as well as the (now-primary) DeclContext. This supports the common case where two different modules put something into the same namespace.
    • c02d62f : Always allow redefinition of typedefs when modules are enabled. This is important because it's fairly common for headers (especially system headers) to want to provide only those typedefs needed for that particular header, based on some guard macro, e.g.,
    • 753a200 : Made unknown builtin diagnostic remappable.
    • b08cfb3 : objc++: more atomic property api code for c++ object properties. wip.
    • 2215eef : Remove unused variable.
    • 0b536f3 : Remove unused include of VectorExtras.h.
    • 9bc6fb6 : Pack UsingDecl more.
    • b6e5fe3 : objc++: More codegen stuff for atomic properties of c++ objects with non-trivial copies. // rdar://6137845
    • c5bdc55 : [analyzer] Fix use-after-free in HandleTranslationUnit.
    • 06284c1 : Fixed TypeofExpr AST and code generation.
    • f5c9f9f : Switch NamespaceDecl from its own hand-rolled redeclaration chain over to RedeclarableNamespaceDecl, so that we benefit from the improveed redeclaration deserialization and merging logic provided by RedeclarableT. Otherwise, no functionality change.
    • 72899c3 : More lambda work: semantic analysis of capturing 'this'. It's a bit complicated, but we have to be careful about when exactly captures are marked given PotentiallyPotentiallyEvaluated contexts. (Actually, it's not 100% correct yet, but it's close enough for the moment.)
    • 9f03b62 : [analyzer] Add basic format string vulnerability checking.
    • b004a49 : [arcmt] Disable tests in mingw, no idea why they are failing there.
    • e81d7e9 : Lambdas: semantic analysis of explicit captures.
    • 3070e13 : [analyzer] Remove CallEnterNodeBuilder and simplify ExprEngine::processCallEnter().
    • f0cc208 : Add field PaddingType to ABIArgInfo which specifies the type of padding that is inserted before the real argument. Padding is needed to ensure the backend reads from or writes to the correct argument slots when the original alignment of a byval structure is unavailable due to flattening.
    • 242384d : Correctly enqueue successors in ExprEngine::processCallExit().
    • 894212e : [analyzer] Remove CallExitNodeBuilder, and have ExprEngine::processCallExit() do the work manually. This is a nice simplification.
    • d87a0cd : Suppress -Wunused-value within macros from system headers.
    • cd93b96 : objc++: more code gen stuff for atomic property api, currently turned off. // rdar://6137845 Also, fixes a test case which should be nonatomic under new API.
    • 5eca482 : [analyzer] Make the entries in 'Environment' context-sensitive by making entries map from (Stmt*,LocationContext*) pairs to SVals instead of Stmt* to SVals.
    • 0782ef2 : During name lookup, use redecl_iterator to walk over the redeclaration chain to determine whether any declaration of the given entity is visible, eliminating the redundant (and less efficient) getPreviousDeclaration() implementation.
    • d97927d : Revert r147664; it's breaking clang regression tests.
    • 0774ba7 : Fix uninitialized variable warning.
    • 52a27f5 : Revert r147655; it's breaking the compiler_rt build on OSX.
    • b4fa418 : Thread safety analysis: added support for trylock attribute.
    • b37d2b5 : Added LocalVariableMap
    • 42378be : __FLT_EVAL_METHOD__ should be 1 on NetBSD/i386, since it defaults to "double" rounding.
    • e317302 : objc++: some declarations related to atomic properties of c++ object types with non-trivial assignment copy. Not used yet. // rdar://6137845
    • 2d5f095 : Silence GCC warnings.
    • e683fd9 : [asan] mention -fno-omit-frame-pointer in the docs
    • 303aae9 : When inferring a submodule ID during module creation, look up the include stack to find the first file that is known to be part of the module. This copes with situations where the module map doesn't completely specify all of the headers that are involved in the module, which can come up when there are very strange #include_next chains (e.g., with weird compiler/stdlib headers like stdarg.h or float.h).
    • f46ca24 : [analyzer] Correct the c++-analyzer symlink
    • 46cd218 : Stash Decl's TopLevelDeclInObjCContainer and ModulePrivate bits into the two unused lower bits of the NextDeclInContext link, dropping the number of bits in Decl down to 32, and saving 8 bytes per declaration on x86-64.
    • b4e85ed : C++11 generalized constant expressions: implement checking and diagnostics for pointer-arithmetic-related undefined behavior and unspecified results. We continue to fold such values, but now notice they aren't constant expressions.
    • f143ffc : Introduce a "Hidden" bit into Decl, to track whether that declaration is hidden from name lookup. The previous hack of tweaking the ModulePrivate bit when loading a declaration from a hidden submodule was brittle.
    • 9b8b20f : Teach DeclContext deserialization to pay attention to endianness, from David Fang and Takumi Nakamura. Fixes many PCH failures on PowerPC.
    • 843cc5a : If we are compiling with -fno-builtin then don't do constant folding of builtins.
    • 092beef : Fix the mangling of class template arguments in a particular dependent case. Thanks to Jason Merrill for pointing this out.
    • 1a5d355 : Improvements to the uninitialized variable warning: Check if the constructor call is elidable or if the constructor is trivial instead of checking if it is user declared.
    • 906a7e1 : More lambda work. Fixes a minor bug Richard pointed out, makes lookup for lambda parameters work correctly, recording more information into the AST.
    • 2f0e88a : David Blaikie and Chandler would like us to diagnose
    • e0e7c99 : [analyzer] c++-analyzer should be a symlink.
    • a772b86 : [analyzer] Update the docs to reflect that gcc is not the only default compiler option.
    • dd40b84 : [analyzer] scan-build: If we are on MacOS, use clang as the default compiler.
    • f5c5f89 : [analyzer] Skip --serialize-diagnostic when running scan-build.
    • 1d7bcf4 : Tweak to r147599 for PR10828: Move the check from the parser into sema, and use the Semantic Powers to only warn on class types (or dependent types), where the constructor or destructor could do something interesting.
    • a0b2ba1 : Minor refactoring of sentinel warning on blocks. Add a test for this warning.
    • 84e4986 : objc++: sythesize a helper function to be used for copying atomic properties of c++ objects with non-trivial copy assignment in setters/getters. Not yet used. // rdar://6137845
    • ce52bb3 : Fix a memory leak of PragmaNamespaces, rdar://10611796.
    • 5930a4c : Address Richard's review comments on r147561 (Evaluate support for address-of-label differences).
    • 5d1f496 : Always allocate an extra 8 bytes for a deserialized declaration, since some code in Clang expects 8-byte alignment of declarations.
    • 71207fc : After further discussion, rename attribute 'objc_disable_automatic_synthesis' to 'objc_requires_property_definitions'.
    • 6aeaa60 : Tweak the fix to PR8977: an empty expression-list represents value initialization, not default initialization. Fixes PR11712.
    • 1c7946a : Don't seed the ASTWriter's declaration - ID mapping with the IDs of each deserialized declaration, since that information is already available in each declaration.
    • b6b60c1 : When we deserialize a declaration from a module file, allocate extra storage for the global declaration ID. Declarations that are parsed (rather than deserialized) are unaffected, so the number of declarations that pay this cost tends to be relatively small (since relatively few declarations are ever deserialized).
    • 1e68ecc : When creating declarations that are deserialized from an module file, go through a central allocation routine Decl::AllocateDeserializedDecl(). No actual functionality change (yet).
    • b8c879a : When loading an AST file, set SourceManager::MainFileID to the main file of the AST file, as suggested by Tom Honermann.
    • cb7709c : PR10828: Produce a warning when a no-arguments function is declared in block scope, when no other indication is provided that the user intended to declare a function rather than a variable.
    • ec9ea72 : More lambda work. Tweak the Sema interface slightly. Start adding the pieces to build the lambda class and its call operator. Create an actual scope for the lambda body.
    • edb9459 : [driver] Add support for passing -lazy_framework/-lazy_library to the linker. rdar://10630328
    • b6cc6d7 : Change casting slightly to avoid warnings about casting away const.
    • 447af24 : When we're performing name lookup for a tag, we still allow ourselves to see hidden declarations because every tag lookup is effectively a redeclaration lookup. For example, image that
    • 79430e9 : Minor cleanup; no functional change.
    • 39afcaf : Sanity checks in SourceManager::getFileEntryForID() and SourceManager::getFileEntryForSLocEntry() to make sure we do not crash. rdar://10594186
    • 7307643 : The value of a const weak variable is not an integer constant.
    • c634f50 : If we already have a definition for a top-level module that we deserialized from a module file, don't bother parsing a new definition
    • c3953aa : Fixes a code gen bug for setter code for a property of c++ object reference type with trivial copy constructor. This causes an assert crash and bad code gen. when assert is off. // rdar://6137845
    • 752769f : When generating includes for all of the headers we found in an umbrella directory, skip includes for any headers that are part of an unavailable module.
    • 273c3a3 : [analyzer] Add another tests to taint tester.
    • eb31a76 : [analyzer] Be less pessimistic about invalidation of global variables as a result of a call.
    • f063a3b : [analyzer] Correct the error message in the testing infrastructure.
    • 22f18fd : Rename attribute 'objc_suppress_autosynthesis' to 'objc_disable_automatic_synthesis'.
    • e3659a7 : Fix 80 col violations.
    • 0ad93a3 : Fix test on Release builds.
    • b7a7819 : Store the submodules of a module in source order, as they are stored in the module map. This provides a bit more predictability for the user, as well as eliminating the need to sort the submodules when serializing them.
    • e5e42ae : Test case for my previous patch.
    • da611a7 : objc: When issuing warning for missing synthesis for properties in classes declared with objc_suppress_autosynthesis attribute, pinpoint location of the said class in a note.
    • 6563928 : Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such differences in Expr::isConstantInitializer.
    • 08f7760 : fix test on -Asserts builds.
    • 44a2399 : implement rdar://10639962 by keeping track of increased alignment information even in subscripting operations.
    • 00b64f3 : Add missing #endif in documentation.
    • fe40bf8 : Support __has_attribute for objc_suppress_autosynthesis which is automatic with proper spelling :).
    • d2d2088<