Macros (including both preprocessor and coprocessor kinds, and both hygienic and unhygienic), goto, parameterized types (especially GADTs; what restrictions apply depend on the program language), inline assembly code (and perhaps also inline C, SQL, LLVM, or whatever is applicable to the particular programming language in use), pattern matching, currying, byte arrays, lambda functions, range limited types (for purposes of program optimization), conditional compilations (by use of macros), evasive and non-evasive exceptions, setjmp/longjmp, compile-time calculations and assertions, zero-length arrays, non-Unicode mode, better bit manipulation operators, having enough ropes to hang yourself and also a few more just in case, etc.
(Note, however, there are different program languages for different uses, and some things may be not applicable, or only partially applicable, to some kind of programming languages, I think.)