30.2 Revision C (August 2025)

  • Updates throughout to remove dsPIC33A DSC content. (Refer to Revision B for added dsPIC33A content that has been removed.) This content may now be found in the MPLAB® XC-DSC C Compiler User’s Guide for dsPIC33A DSC (DS-50003918.)
  • Document name changed to MPLAB® XC-DSC C/C++ Compiler User’s Guide for dsPIC33C/E/F and dsPIC30 DSC.
  • Examples using dsPIC30 devices have been updated to use dsPIC33C/E/F devices.
  • 1.2. Conventions Used in This Guide: Table 1-1 last row [DD] updated.
  • 1.4. List of Interesting Symbols: New section added.
  • 4.5.12. How Do I Know What Code the Compiler Is Producing?: Space removed from Wa option.
  • 4.5.14. How Do I Learn Where Variables and Functions Have Been Positioned?: Replaced “global symbols” with “externally visible symbols.”
  • 5.6.4. xc-dsc-ld (DSC Linker): In 5.6.4.1. General, Table 5-8:
    • Use Local Stack: Description updated.
    • Remove unused sections: Description and Command Line updated.
    • Fill value for upper byte of data: Command Line updated.
  • 6.6.1.16. -mpa, 6.6.1.17. -mpa=n, 6.6.1.18. -mno-pa: Combined into one section.
  • 6.6.9.10. -Wl,option: Added text about not using spaces.
  • 6.6.11.10. -fstack-usage: Added this new option.
  • 9.10.8. mode (mode): Fixed width integer types used.
  • 9.10.28. xcdsc_obfuscate: Added Variable Attribute.
  • 11.2.3.2. The C Stack Usage: Figure 11-2, Figure 11-3, and Figure 11-4 have been updated.
  • 11.3. Variables in Program Space: Content updated and some content used in 11.3.1 and 11.3.2.
  • 11.14. Memory Models: Reorganized Table 11-1.
  • 14.1.2.28. xcdsc_obfuscate: Added Function Attribute.
  • 14.2. Function Size Limits: Content added.
  • 14.7. Function Call Conventions: Table 14-1. updated.
  • 14.7.1. Function Parameters and 14.7.2. Return Value: Contents of sections updated
  • 22.2. Environment: ISO 5.1.2.1 and ISO 5.1.2.3 updated.
  • 22.5. Integers: Integer types added to Table 22-2. ISO 6.3.5 removed.
  • 22.6. Floating Point: -fno-short-double behavior added to Table 22-3.
  • 22.9. Structures, Unions, Enumerations and Bit-Fields: ISO 6.5.2.2 content added.
  • 22.13. Preprocessing Directives: Pragma added to Table 22-4.
  • 28.2. Built-In Function Descriptions:
    Functions AddedFunctions UpdatedFunctions Removed
    28.2.8. __builtin_btg_32

    28.2.1. __builtin_ACCL, __builtin_ACCH, __builtin_ACCU

    28.2.30. __builtin_fmax

    28.2.31. __builtin_fmax_excess

    28.2.32. __builtin_fmaxv_excess

    28.2.28. __builtin_fbcl_16

    28.2.33. __builtin_flim_excess

    28.2.34. __builtin_flimv_excess

    28.2.33. __builtin_fmin

    28.2.34. __builtin_fmin_excess

    28.2.35. __builtin_fminv_excess

    28.2.29. __builtin_ff1l, __builtin_ff1r

    28.2.30. __builtin_ff1l_16

    28.2.31. __builtin_ff1r_16

    28.2.57. __builtin_mulss

    28.2.58. __builtin_mulsu

    28.2.59. __builtin_mulus

    28.2.60. __builtin_muluu

    28.2.36. __builtin_lac_16

    28.2.66. __builtin_pwrsav

    28.2.40. __builtin_mac_16

    28.2.77. __builtin_section_begin, __builtin_section_end

    28.2.78. __builtin_section_size

    28.2.42. __builtin_max

    28.2.43. __builtin_max_excess

    28.2.44. __builtin_maxv_excess

    28.2.45. __builtin_min

    28.2.46. __builtin_min_excess

    28.2.47. __builtin_minv_excess

    28.2.52. __builtin_mpy_16

    28.2.54. __builtin_mpyn_16

    28.2.56. __builtin_msc_16

    28.2.67. __builtin_repeat_nop

    28.2.70. __builtin_sac_16

    28.2.73. __builtin_sacr_16

    28.2.74. __builtin_sat_abs_s16

    28.2.75. __builtin_sat_add_s16

    28.2.76. __builtin_sat_sub_s16

    28.2.89. __builtin_tblrdhb

    28.2.91. __builtin_tblrdlb

    28.2.93. __builtin_tblwthb

    28.2.95. __builtin_tblwtlb