aboutsummaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2017-02-03 14:12:32 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2017-02-03 14:12:32 +0100
commit3babd253e1d194549294c282e1b0c60097b26b07 (patch)
treef6a4ed3152aafdac8474350c31a9e7a5fcdb20c6 /driver
parent47c82de6010935d11c3d64f6d06c2061c34dc091 (diff)
downloadcompcert-3babd253e1d194549294c282e1b0c60097b26b07.tar.gz
compcert-3babd253e1d194549294c282e1b0c60097b26b07.zip
Refactor the classification of attributes
Introduce Cutil.class_of_attribute to return the class of the given attribute: one among Attr_type attribute related to types (e.g. "aligned") Attr_struct attribute related to struct/union/enum types (e.g. "packed") Attr_function attribute related to function types (e.g. "noreturn") Attr_name attribute related to variable and function declarations (e.g. "section") Attr_unknown attribute was not declared Cutil.declare_attribute is used to associate a class to a custom attribute. Standard attributes (const, volatile, _Alignas, etc) are Attr_type. cfronted/C2C.ml: declare the few attributes that CompCert honors currently. cparser/GCC.ml: a bigger list of attributes taken from GCC, for reference only.
Diffstat (limited to 'driver')
-rwxr-xr-xdriver/Driver.ml1
1 files changed, 1 insertions, 0 deletions
diff --git a/driver/Driver.ml b/driver/Driver.ml
index 3219b7b7..9d5ed3b3 100755
--- a/driver/Driver.ml
+++ b/driver/Driver.ml
@@ -540,6 +540,7 @@ let _ =
| _ -> assert false
end;
Builtins.set C2C.builtins;
+ Cutil.declare_attributes C2C.attributes;
CPragmas.initialize();
parse_cmdline cmdline_actions;
DebugInit.init (); (* Initialize the debug functions *)