The attached patch adds support for the TI's CodeComposer Studio assembly syntax to the assembler. This mode is enabled by specifying the new -mccs flag I added. I needed to change the comment_chars, line_comment_chars and line_separator_chars arrays at runtime (depending on the command line options), so I removed the 'const' specifier from their declaration. I propagated this change to all the architectures, but only tested ARM (please help with the rest). I think that the ability to change the content of such arrays at runtime could be helpful in other future cases as well. All tests passed including the new one I added to test this new mode. I could not test the other architectures since I'm not sure the best configure options to build them. Is there a way to make them all for testing purposes? Thanks. 2014-02-27 Daniel Gutson gas/ * read.h (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-arm.c (codecomposer_syntax): New flag that states whether the CCS syntax compatibility mode is on or off. (asmfunc_states): New enum to represent the asmfunc directive state. (asmfunc_state): New variable holding the asmfunc directive state. (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. (s_ccs_ref): New function that handles the .ref directive. (asmfunc_debug): New function. (s_ccs_asmfunc): New function that handles the .asmfunc directive. (s_ccs_endasmfunc): New function that handles the .endasmfunc directive. (s_ccs_def): New function that handles the .def directive. (tc_start_label_without_colon): New function. (md_pseudo_table): Added new CCS directives. (arm_ccs_mode): New function that handles the -mccs command line option. (arm_long_opts): Added new -mccs command line option. * config/tc-arm.h (LABELS_WITHOUT_COLONS): New macro. (TC_START_LABEL_WITHOUT_COLON): New macro. (tc_start_label_without_colon): Added extern function declaration. * config/tc-aarch64.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-alpha.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-arc.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-avr.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-bfin.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-cr16.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-cris.c (line_comment_chars): Removed const modifier. (line_separator_chars): alike. * config/tc-crx.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-d10v.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-d30v.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-dlx.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-epiphany.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-fr30.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-frv.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-h8300.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-hppa.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-i370.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-i386.c (line_comment_chars): Removed const modifier. (line_separator_chars): alike. * config/tc-i860.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-i960.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-ia64.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-ip2k.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-iq2000.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-lm32.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-m32c.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-m32r.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-m68hc11.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-m68k.c (line_comment_chars): Removed const modifier. (line_separator_chars): alike. * config/tc-mcore.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mep.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-metag.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-microblaze.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mips.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mmix.c (line_comment_chars): Removed const modifier. (line_separator_chars): alike. * config/tc-mn10200.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mn10300.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-moxie.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-msp430.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-mt.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-nds32.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-nios2.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-ns32k.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-openrisc.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-or32.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-pdp11.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-pj.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-ppc.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-rl78.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-rx.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-s390.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-score.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-sh.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-sparc.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-spu.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tic30.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tic4x.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tic54x.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tic6x.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tilegx.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-tilepro.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-v850.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-vax.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-xc16x.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-xgate.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-xstormy16.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-xtensa.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-z80.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. * config/tc-z8k.c (comment_chars): Removed const modifier. (line_comment_chars): alike. (line_separator_chars): alike. gas/doc/ * as.texinfo: added documentation for the -mccs command line option.